
Chiến lược theo dõi xu hướng hội tụ trung bình chuyển động kép (Dual Moving Average Convergence Trend Tracking Strategy) bằng cách tính toán các đường trung bình di chuyển nhanh, đường trung bình di chuyển chậm và đường trung bình di chuyển siêu chậm, kết hợp với chỉ số MACD để xác định hướng xu hướng giá, để thực hiện giao dịch theo dõi xu hướng. Làm nhiều khi đường trung bình chuyển động nhanh xảy ra giao thoa vàng, làm trống khi giao thoa chết.
Chiến lược này bắt đầu bằng cách tính toán các đường trung bình di chuyển nhanh 12 ngày, đường trung bình di chuyển chậm 26 ngày và đường trung bình di chuyển siêu chậm 200 ngày. Khi đường trung bình di chuyển nhanh vượt qua đường trung bình di chuyển chậm, giao điểm vàng là bắt đầu thị trường bò; khi đường trung bình di chuyển nhanh từ trên xuống vượt qua đường trung bình di chuyển chậm, giao điểm chết là bắt đầu thị trường gấu.
Trong khi đó, chiến lược này kết hợp với MACD để xác định hướng xu hướng. MACD bao gồm đường nhanh, đường chậm và cột MACD. Trên đường nhanh là tín hiệu đa đầu khi vượt qua đường chậm và dưới là tín hiệu đầu không. Kết hợp với tín hiệu giả qua đường trung bình lâu dài, chỉ khi đường nhanh vượt qua đường chậm, cột MACD được điều chỉnh bằng cách tiêu cực, và giá lên trung bình di chuyển 200 ngày, tín hiệu đa đầu được phát ra.
Bằng cách xác nhận kép hệ thống đường trung bình chậm và MACD, tránh các tín hiệu giả do chỉ số duy nhất, đảm bảo chỉ nhập vào khi xu hướng bắt đầu.
Hệ thống đường trung bình nhanh và chậm và MACD được xác nhận kép, tránh phá vỡ giả và đảm bảo chỉ nhập vào khi xu hướng bắt đầu.
Trình lọc trung bình di chuyển 200 ngày để tránh giao dịch sai trong thời kỳ biến động.
Có cài đặt Stop Loss để hạn chế tổn thất tối đa.
Các tham số có thể được tùy chỉnh, chẳng hạn như chiều dài đường trung bình di chuyển, cân bằng nước dừng, thích ứng với các giống khác nhau.
Các chiến lược của họ rất rõ ràng, đơn giản, dễ hiểu và tối ưu hóa.
Chiến lược theo dõi xu hướng dài hạn, không thể nắm bắt cơ hội ngắn hạn.
Hiệu quả theo dõi phụ thuộc vào thiết lập tham số, tham số không đúng sẽ không thể bắt được xu hướng chính xác.
Việc thiết lập vị trí dừng lỗ không đúng có thể quá thoải mái hoặc quá căng, dẫn đến sự mất mát mở rộng hoặc dừng lỗ sớm.
Cần phải chịu một số áp lực tài chính.
Tối ưu hóa các tham số chiều dài của đường trung bình di chuyển để tìm các tham số kết hợp tốt nhất.
Thêm các chỉ số khác để hỗ trợ các tín hiệu phán đoán, như chỉ số KDJ.
Tối ưu hóa chiến lược dừng lỗ, như thu hẹp dừng lỗ, theo dõi dừng lỗ và nhiều cách khác.
Điều chỉnh tham số trung bình di chuyển theo giống và chu kỳ giao dịch.
Số lượng kết hợp có thể lọc các tín hiệu giả như số lượng giao dịch.
Chiến lược theo dõi xu hướng thu hẹp hai đường bằng cách tính toán xu hướng bằng cách tính toán nhiều hệ thống đường bằng và sử dụng MACD để lọc tín hiệu chỉ số, lợi thế của nó là ý tưởng hoạt động đơn giản, rõ ràng, rủi ro có thể kiểm soát được, phù hợp để theo dõi xu hướng. Chiến lược này có thể được cải thiện bằng nhiều cách khác nhau như tối ưu hóa tham số, tối ưu hóa chiến lược dừng lỗ và các chỉ số phụ trợ. Đây là một chiến lược theo dõi xu hướng đáng khuyên.
/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Trend Strategy", shorttitle="TSTrend Strategy", overlay=true)
// Trend Strategy
// If the inverse logic is true, the strategy
// goes short. For the worst case there is a
// max intraday equity loss of 50% filter.
// Input
source = input(close)
fastLength = input(12, minval=1, title="MACD fast moving average")
slowLength=input(26,minval=1, title="MACD slow moving average")
signalLength=input(9,minval=1, title="MACD signal line moving average")
veryslowLength=input(200,minval=1, title="Very slow moving average")
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Moving Averages?")
switch3=input(true, title="Enable Background Color?")
// Calculation
fastMA = sma(source, fastLength)
slowMA = sma(source, slowLength)
veryslowMA = sma(source, veryslowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal
// Colors
MAtrendcolor = change(veryslowMA) > 0 ? green : red
trendcolor = fastMA > slowMA and change(veryslowMA) > 0 and close > slowMA ? green : fastMA < slowMA and change(veryslowMA) < 0 and close < slowMA ? red : blue
bartrendcolor = close > fastMA and close > slowMA and close > veryslowMA and change(slowMA) > 0 ? green : close < fastMA and close < slowMA and close < veryslowMA and change(slowMA) < 0 ? red : blue
backgroundcolor = slowMA > veryslowMA and crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA ? green : slowMA < veryslowMA and crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA ? red : na
bgcolor(switch3?backgroundcolor:na,transp=80)
barcolor(switch1?bartrendcolor:na)
// Output
F=plot(switch2?fastMA:na,color=trendcolor)
S=plot(switch2?slowMA:na,color=trendcolor,linewidth=2)
V=plot(switch2?veryslowMA:na,color=MAtrendcolor,linewidth=4)
fill(F,V,color=gray)
// Strategy
buyprice = low
sellprice = high
cancelLong = slowMA < veryslowMA
cancelShort = slowMA > veryslowMA
if (cancelLong)
strategy.cancel("MACDLE")
if crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA
strategy.entry("MACDLE", strategy.long, stop=buyprice, comment="Bullish")
if (cancelShort)
strategy.cancel("MACDSE")
if crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA
strategy.entry("MACDSE", strategy.short, stop=sellprice, comment="Bearish")
// maxIdLossPcnt = input(50, "Max Intraday Loss(%)", type=float)
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)