
Chiến lược này được gọi là chiến lược theo dõi xu hướng dựa trên chỉ số ADX và MACD, sử dụng chỉ số xu hướng trung bình ((ADX) để xác định hướng và cường độ của xu hướng và kết hợp với tín hiệu đa điểm của chỉ số tập trung trung trung trung bình di động ((MACD) để thực hiện giao dịch theo xu hướng. Chiến lược này sẽ thiết lập vị trí đa điểm hoặc trống khi ADX cho thấy có xu hướng mạnh và MACD phát đi tín hiệu giao dịch.
Chiến lược này đánh giá hướng và cường độ của xu hướng thị trường bằng cách tính ADX và đường cong + DI, -DI. Khi đường cong + DI đi qua đường cong -DI, đó là thị trường đa đầu, và khi đường cong + DI đi qua đường cong -DI, đó là thị trường đầu không.
Cụ thể, các tín hiệu giao dịch của chiến lược này có logic như sau:
Tín hiệu đa đầu: khi đường chênh lệch của +DI> -DI và MACD đi qua đường tín hiệu từ dưới lên Tín hiệu đầu trống: khi -DI> +DI và đường chênh lệch của MACD đi từ trên xuống đường tín hiệu
Theo logic này, chiến lược này có thể nắm bắt thời gian đầu vào tốt hơn trong một xu hướng mạnh mẽ.
Ưu điểm lớn nhất của chiến lược này là nó xem xét cả hai yếu tố là định hướng và chọn thời gian vào, cho phép các nhà giao dịch tìm thấy điểm vào tốt hơn khi thị trường có xu hướng mạnh mẽ, điều này làm tăng đáng kể sự ổn định và lợi nhuận của hệ thống.
Ngoài ra, chiến lược này cũng giới thiệu logic dừng lỗ. Chiến lược này sẽ chủ động dừng lỗ khi lỗ lỗ vượt quá giá dừng lỗ mà người dùng đã xác định. Điều này cũng là điểm nổi bật của chiến lược.
Mặc dù chiến lược này có một số ưu điểm, nhưng cũng có một số rủi ro cần lưu ý:
Các tín hiệu giao dịch bao gồm ADX và MACD có thể bị mất hiệu lực hoặc tạo ra tín hiệu sai trong một số tình huống thị trường, dẫn đến tổn thất không cần thiết;
Giá dừng lỗ được xác định bởi người dùng có thể bị phá vỡ, gây ra tổn thất lớn hơn dự kiến;
Trong thị trường đảo ngược, chiến lược có thể tạo ra quá nhiều giao dịch không hiệu quả và chi phí giao dịch.
Để giảm thiểu những rủi ro này, khuyến nghị tối ưu hóa các thiết lập tham số của ADX và MACD và thực hiện các chiến lược quản lý tiền nghiêm ngặt, đồng thời điều chỉnh logic dừng lỗ để phù hợp với các tình huống thị trường khác nhau.
Chiến lược này có thể được tối ưu hóa:
Có thể giới thiệu nhiều chỉ số hơn để tạo ra tín hiệu giao dịch mạnh hơn, ví dụ như giới hạn giao dịch kết hợp với chỉ số biến động;
Các tham số của ADX và MACD có thể được tự động tối ưu hóa thông qua các phương pháp học máy;
Có thể thiết lập một cơ chế dừng lỗ thích ứng để giá dừng lỗ theo dõi động thái biến động của thị trường.
Bằng cách này, chúng tôi hy vọng sẽ tăng thêm sự ổn định và lợi nhuận của chiến lược này.
Nhìn chung, chiến lược theo dõi xu hướng dựa trên chỉ số ADX và MACD, với các lợi thế như đánh giá hướng xu hướng, tìm thời gian nhập cảnh tốt nhất và thiết lập logic dừng lỗ, là một hệ thống giao dịch đáng xem xét. Với các tham số được tối ưu hóa và kiểm soát rủi ro, chiến lược này có thể thu được lợi nhuận đầu tư tốt.
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TUE ADX/MACD Confluence V1.0", overlay=true)
showsignals = input(true, title="Show BUY/SELL Signals")
showcandlecolors = input(true, title="Show Candle Colors")
length = input(14, title="ADX Length")
smoothing = input(10, title="ADX Smoothing")
macdsource = input(close, title="MACD Source")
macdfast = input(12, title="MACD Fast Length")
macdslow = input(26, title="MACD Slow Length")
macdsignal = input(9, title="MACD Signal Length")
colorup = input(color.green, title="Up Candle Color")
colordown = input(color.red, title="Down Candle Color")
/////////////////////////////////////////////////////////////////////////////////////////////// ADX AND MACD CALC
[diplus, diminus, adx] = ta.dmi(length, smoothing)
[macdline, signalline, histline] = ta.macd(macdsource, macdfast, macdslow, macdsignal)
//////////////////////////////////////////////////////////////////////////////////////////////TRADE CALC
longcheck = diplus > diminus and macdline > signalline
shortcheck = diminus > diplus and signalline > macdline
int trade = 0
//Open from nothing
if trade == 0 and longcheck
trade := 1
else if trade == 0 and shortcheck
trade := -1
//Reversal
else if trade == 1 and shortcheck
trade := -1
else if trade == -1 and longcheck
trade := 1
//Keep status quo until crossover
else
trade := trade[1]
//////////////////////////////////////////////////////////////////////////////////////////////PLOT
colors = longcheck ? colorup : shortcheck ? colordown : color.white
plotcandle(open, high, low, close, color = showcandlecolors ? colors : na)
plotshape(trade[1] != 1 and trade == 1 and showsignals, style=shape.labelup, text='BUY', textcolor=color.white, color=color.green, size=size.small, location=location.belowbar)
plotshape(trade[1] != -1 and trade == -1 and showsignals, style=shape.labeldown, text='SELL', textcolor=color.white, color=color.red, size=size.small, location=location.abovebar)
///////////////////////////////////////////////////////////////////////////////////////////// ALERTS
// Add Stop Loss
stopLossPrice = input(100, title="Stop Loss Price")
if trade == 1
strategy.entry("Long", strategy.long)
if trade == -1
strategy.entry("Short", strategy.short)
if trade == 1 and close < close[1] - stopLossPrice
strategy.close("LongExit")
if trade == -1 and close > close[1] + stopLossPrice
strategy.close("ShortExit")