Chiến lược giao dịch hội tụ theo hướng động lực Ergotic

Tác giả:ChaoZhang, Ngày: 2024-02-02 10:51:11
Tags:

img

Tổng quan

Đây là một chiến lược giao dịch định lượng được thiết kế dựa trên chỉ số kỹ thuật được mô tả trong cuốn sách Momentum, Direction and Divergence của William Blau. Chiến lược này tập trung vào ba khía cạnh chính - động lực, hướng và sự khác biệt, bằng cách tính toán các chỉ số động lực giá của cổ phiếu, xác định hướng xu hướng thị trường và tìm sự khác biệt giữa giá và các chỉ số để phát hiện cơ hội giao dịch.

Chiến lược logic

Chỉ số cốt lõi của chiến lược này là TSI Ergotic, và công thức tính toán của nó là như sau:

Val1 = 100 * EMA(EMA(EMA(price change, r), s), u)   

Val2 = EMA(EMA(EMA(absolute value of price change, r), s), u))  

Ergotic TSI = If Val2 != 0, Val1/Val2, else 0

trong đó r, s, u là các tham số làm mịn. Chỉ số này phản ánh tỷ lệ thay đổi giá đối với giá trị tuyệt đối của thay đổi giá, thuộc về chỉ số dao động động. Sau đó chúng tôi tính trung bình di chuyển EMA của TSI Ergotic như đường tín hiệu. Đi dài khi TSI băng qua đường tín hiệu và đi ngắn khi nó băng qua dưới.

Phân tích lợi thế

Những lợi thế chính của chiến lược này là:

  1. Khả năng nắm bắt các xu hướng thay đổi giá
  2. lọc tốt biến động giá
  3. Đặc điểm phân kỳ tương đối tốt
  4. Cài đặt tham số linh hoạt để điều chỉnh làm mịn

Phân tích rủi ro

Có một số rủi ro trong chiến lược này:

  1. Các tín hiệu sai có thể xảy ra tại các điểm đảo ngược xu hướng
  2. Cài đặt tham số không phù hợp có thể bỏ lỡ cơ hội giao dịch hoặc tăng tín hiệu sai
  3. Các thông số cần được điều chỉnh thích hợp để phù hợp với các sản phẩm và môi trường giao dịch khác nhau Nguy cơ có thể được kiểm soát bằng cách tối ưu hóa các tham số, kết hợp các chỉ số khác để xác nhận và đặt dừng lỗ.

Hướng dẫn tối ưu hóa

Chiến lược này có thể được tối ưu hóa trong các khía cạnh sau:

  1. Kiểm tra các đầu vào giá khác nhau, chẳng hạn như mở, đóng, giá trung bình, v.v.
  2. Điều chỉnh giá trị tham số r, s, u để tìm kết hợp tham số tối ưu
  3. Thêm các chỉ số hoặc bộ lọc khác để xác nhận thêm tín hiệu
  4. Thiết lập các điểm dừng lỗ và cơ chế thoát

Kết luận

Chiến lược này tích hợp các cân nhắc về sự thay đổi động lực, phán đoán xu hướng và các tính năng phân kỳ. Nó có thể nắm bắt hiệu quả các cơ hội xu hướng. Với tối ưu hóa tham số, lọc tín hiệu và các phương pháp kiểm soát rủi ro, hiệu suất chiến lược tốt có thể đạt được. Nhìn chung, chiến lược được thiết kế hợp lý và đáng nghiên cứu và thực hành thêm.


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 13/12/2016
// r - Length of first EMA smoothing of 1 day momentum        4
// s - Length of second EMA smoothing of 1 day smoothing      8    
// u- Length of third EMA smoothing of 1 day momentum         6  
// Length of EMA signal line                                  3
// Source of Ergotic TSI                                      Close
//
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to 
// read this book. His book focuses on three key aspects of trading: momentum, 
// direction and divergence. Blau, who was an electrical engineer before becoming 
// a trader, thoroughly examines the relationship between price and momentum in 
// step-by-step examples. From this grounding, he then looks at the deficiencies 
// in other oscillators and introduces some innovative techniques, including a 
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies 
// of ADX and offers a unique approach to help define trending and non-trending periods. 
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Ergotic TSI Strategy Backtest")
r = input(4, minval=1)
s = input(8, minval=1)
u = input(6, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
xPrice = close
xPrice1 = xPrice - xPrice[1]
xPrice2 = abs(xPrice - xPrice[1])
xSMA_R = ema(ema(ema(xPrice1,r), s),u)
xSMA_aR = ema(ema(ema(xPrice2, r), s),u)
Val1 = 100 * xSMA_R
Val2 = xSMA_aR
xTSI = iff (Val2 != 0, Val1 / Val2, 0)
xEMA_TSI = ema(xTSI, SmthLen)
pos = iff(xTSI > xEMA_TSI, 1,
	   iff(xTSI < xEMA_TSI, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xTSI, color=green, title="Ergotic TSI")
plot(xEMA_TSI, color=red, title="SigLin")

Thêm nữa