Chiến lược này được đặt tên là
Chiến lược này tính toán các đường ADX và +DI, -DI để đánh giá hướng và cường độ xu hướng thị trường. Khi đường +DI vượt qua trên -DI, đó là xu hướng tăng; khi -DI giảm xuống dưới +DI, đó là xu hướng giảm. Ngoài ra, khi đọc ADX trên 20, nó chỉ ra xu hướng đủ mạnh. Chiến lược sau đó lấy giá trị chênh lệch của chỉ số MACD (macdline) và đường tín hiệu (đường tín hiệu) làm tín hiệu mua và bán, để thực hiện các giao dịch theo xu hướng.
Cụ thể, logic tín hiệu giao dịch là:
Tín hiệu dài: +DI > -DI và đường chênh lệch MACD băng qua trên đường tín hiệu
Tín hiệu ngắn: -DI > +DI và đường chênh lệch MACD băng qua dưới đường tín hiệu
Với logic này, chiến lược có thể nắm bắt thời gian nhập khẩu tối ưu trong các xu hướng mạnh.
Ưu điểm lớn nhất của chiến lược này là nó xem xét cả phán đoán xu hướng và lựa chọn thời gian nhập cảnh, cho phép các nhà giao dịch tìm ra các điểm nhập cảnh tương đối tốt khi có một thị trường hướng mạnh mẽ. Điều này cải thiện đáng kể sự ổn định và lợi nhuận của hệ thống.
Ngoài ra, một logic dừng lỗ cũng được thực hiện. Nó sẽ cắt giảm lỗ một cách tích cực nếu lỗ vị trí vượt quá giá dừng lỗ được xác định bởi người dùng. Đây cũng là điểm nổi bật của chiến lược.
Mặc dù chiến lược có một số ưu điểm, vẫn có những rủi ro cần phải nhận thức được:
Các tín hiệu giao dịch bao gồm ADX và MACD có thể thất bại hoặc đưa ra tín hiệu sai trong một số tình huống thị trường nhất định, gây ra 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ị xâm nhập, dẫn đến tổn thất vượt quá mong đợi.
Quá nhiều giao dịch không hiệu quả có thể xảy ra trên các thị trường khác nhau, tiêu thụ chi phí giao dịch.
Để giảm thiểu những rủi ro này, việc tối ưu hóa các thông số của ADX và MACD được khuyến cáo, cũng như thực hiện các quy tắc quản lý tiền chặt chẽ.
Vẫn còn chỗ để cải thiện về chiến lược này:
Có thể giới thiệu thêm các chỉ số để tạo ra các tín hiệu giao dịch mạnh hơn, ví dụ như kết hợp chỉ số biến động để giới hạn giao dịch.
Các thông số ADX và MACD có thể được tự động tối ưu hóa thông qua máy học.
Một cơ chế dừng lỗ thích nghi có thể được thiết lập để theo dõi động biến động thị trường.
Các phương pháp này có thể giúp cải thiện thêm sự ổn định và lợi nhuận của chiến lược.
Tóm lại, Chiến lược theo xu hướng dựa trên chỉ số ADX và MACD có những ưu điểm trong việc xác định hướng xu hướng, tìm thời gian nhập khẩu tối ưu, thiết lập logic dừng lỗ v.v., làm cho nó trở thành một hệ thống giao dịch đáng kể. Với các thông số điều chỉnh và kiểm soát rủi ro thích hợp, nó có khả năng thu về lợi nhuận đầu tư tốt. Nhưng các nhà giao dịch vẫn nên thận trọng với các rủi ro tiềm ẩn và theo dõi chặt chẽ môi trường thị trường đang thay đổi. Với việc theo dõi và nâng cao hệ thống, chiến lược có tiềm năng đạt được alpha bền vững.
/*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")