Chiến lược Breakout Spread Dual EMA là một chiến lược theo xu hướng. Nó sử dụng hai đường EMA với các khoảng thời gian khác nhau và thực hiện giao dịch khi có sự chênh lệch đủ lớn giữa hai EMA để nắm bắt hướng xu hướng. Chiến lược này hoạt động tốt trên các thị trường có xu hướng xu hướng mạnh.
Chiến lược sử dụng EMA nhanh (EMA ngắn hạn) và EMA chậm (EMA dài hạn) cho các tín hiệu giao dịch.
Tính toán EMA nhanh và EMA chậm.
Khi EMA nhanh vượt qua EMA chậm, và chênh lệch giữa hai EMA vượt quá ngưỡng, mua dài.
Khi EMA nhanh vượt qua dưới EMA chậm, và chênh lệch giữa hai EMA vượt quá ngưỡng, đi ngắn.
Khi giá phá vỡ dưới đường EMA nhanh, đóng các vị trí dài.
Khi giá vượt qua EMA nhanh, đóng các vị trí ngắn.
Bằng cách này, nó sử dụng sự trơn tru của EMA để xác định hướng xu hướng và EMA để xác định thời gian chính xác.
Các rủi ro có thể được giảm thông qua điều chỉnh EMA, ngưỡng chênh lệch và đặt dừng lỗ.
Chiến lược Breakout Spread EMA kép là một chiến lược theo xu hướng hiệu quả nhưng đơn giản. Nó có thể kiếm được lợi nhuận tốt trong các thị trường xu hướng nhưng cần các thông số thích hợp. Với tối ưu hóa và quản lý rủi ro, nó có thể tận dụng đầy đủ điểm mạnh của nó. Một chiến lược xu hướng đáng để nghiên cứu và áp dụng.
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-24 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("2-EMA Strategy", overlay=true, initial_capital=100, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075) diffMinimum = input(0.95, step=0.01) small_ema = input(13, title="Small EMA") long_ema = input(26, title="Long EMA") ema1 = ema(close, small_ema) ema2 = ema(close, long_ema) orderCondition = ema1 > ema2?((ema1/ema2)*100)-100 > diffMinimum:((ema2/ema1)*100)-100 > diffMinimum longCondition = close > ema1 and ema1 > ema2 if (longCondition and orderCondition) strategy.entry("Long", strategy.long) shortCondition = close < ema1 and ema1 < ema2 if (shortCondition and orderCondition) strategy.entry("Short", strategy.short) strategy.close("Short", when=close > ema1) strategy.close("Long", when=close < ema1) plot(ema(close, small_ema), title="EMA 1", color=green, transp=0, linewidth=2) plot(ema(close, long_ema), title="EMA 2", color=orange, transp=0, linewidth=2)