
Chiến lược này là chiến lược theo xu hướng kết hợp chỉ báo Triple Supertrend với Đường trung bình động hàm mũ (EMA). Bằng cách thiết lập ba đường siêu xu hướng có độ nhạy khác nhau và một đường EMA để nắm bắt xu hướng thị trường, có thể đạt được sự xác nhận đa chiều về xu hướng. Chiến lược này sử dụng ATR (Phạm vi trung bình thực) để tính toán các mức hỗ trợ/kháng cự động và xác định hướng xu hướng cũng như tín hiệu giao dịch dựa trên mối quan hệ vị trí giữa giá và từng đường.
Chiến lược này chủ yếu bao gồm các thành phần cốt lõi sau:
Thị trường biến động có thể dẫn đến giao dịch thường xuyên và làm tăng chi phí giao dịch. Giải pháp: Bạn có thể thêm bộ lọc tín hiệu hoặc kéo dài chu kỳ trung bình động.
Có thể có độ trễ trong giai đoạn đầu của sự đảo ngược xu hướng. Biện pháp đối phó: Có thể đưa ra các chỉ báo động lượng để hỗ trợ cho việc phán đoán.
Cơ chế xác nhận nhiều lần có thể bỏ lỡ một số cơ hội kiếm lợi nhuận. Biện pháp đối phó: Các điều kiện xác nhận có thể được điều chỉnh phù hợp theo đặc điểm thị trường.
Đây là chiến lược theo dõi xu hướng với logic chặt chẽ và tính ổn định cao. Thông qua việc sử dụng phối hợp nhiều chỉ báo kỹ thuật, độ tin cậy của tín hiệu được đảm bảo và khả năng kiểm soát rủi ro cũng đạt được tốt. Các thông số của chiến lược có thể điều chỉnh được và có thể được tối ưu hóa theo các điều kiện khác nhau của thị trường. Mặc dù có độ trễ nhất định, nhưng vẫn có thể đạt được sự cân bằng tốt giữa rủi ro và lợi nhuận thông qua quá trình tối ưu hóa hợp lý.
/*backtest
start: 2024-12-19 00:00:00
end: 2024-12-26 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supertrend EMA Strategy", overlay=true)
// Input Parameters
ema_length = input(50, title="EMA Length")
supertrend_atr_period = input(10, title="ATR Period")
supertrend_multiplier1 = input.float(3.0, title="Supertrend Multiplier 1")
supertrend_multiplier2 = input.float(2.0, title="Supertrend Multiplier 2")
supertrend_multiplier3 = input.float(1.0, title="Supertrend Multiplier 3")
// Calculations
emaValue = ta.ema(close, ema_length)
[supertrend1, SupertrendDirection1] = ta.supertrend(supertrend_multiplier1, supertrend_atr_period)
[supertrend2, SupertrendDirection2] = ta.supertrend(supertrend_multiplier2, supertrend_atr_period)
[supertrend3, SupertrendDirection3] = ta.supertrend(supertrend_multiplier3, supertrend_atr_period)
// Plot Indicators
plot(emaValue, title="EMA", color=color.blue, linewidth=2)
plot(supertrend1, title="Supertrend 1 (10,3)", color=(SupertrendDirection1 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line)
plot(supertrend2, title="Supertrend 2 (10,2)", color=(SupertrendDirection2 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line)
plot(supertrend3, title="Supertrend 3 (10,1)", color=(SupertrendDirection3 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line)
// Entry Conditions
long_condition = (SupertrendDirection1 == -1 and SupertrendDirection2 == -1 and SupertrendDirection3 == -1 and close > emaValue)
short_condition = (SupertrendDirection1 == 1 and SupertrendDirection2 == 1 and SupertrendDirection3 == 1 and close < emaValue)
// Exit Conditions
long_exit = (SupertrendDirection3 == 1)
short_exit = (SupertrendDirection3 == -1)
// Execute Strategy
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
if (long_exit)
strategy.close("Long")
if (short_exit)
strategy.close("Short")