Chiến lược này chỉ thực hiện nhiều hoạt động, sử dụng ATR để xây dựng kênh, lọc các tín hiệu phá vỡ giả của đường trung bình EMA, theo đuổi giao dịch đa đầu ổn định. Chiến lược này thuộc loại theo dõi xu hướng.
Nguyên tắc chiến lược:
Tính trung bình n chu kỳ của EMA, đại diện cho xu hướng trung và dài hạn.
Tính toán ATR n chu kỳ, xây dựng đường dẫn phạm vi lên xuống đường ray.
Khi giá từ dưới lên phá vỡ kênh trên đường ray, thực hiện nhiều thao tác.
Khi giá từ trên xuống phá vỡ đường dẫn xuống đường, hãy đặt nhiều lần.
Thiết lập ATR Channel có thể lọc các đột phá giả nhỏ hoặc ngắn hạn.
Những lợi thế của chiến lược này:
Sử dụng ATR channel judgment để tăng độ tin cậy của nhiều tín hiệu.
Chỉ cần làm nhiều hơn, bạn có thể giảm bớt sự khó khăn trong việc đưa ra quyết định và giảm bớt rủi ro.
Các tham số được tối ưu hóa đơn giản, dễ dàng đối phó với các loại thị trường khác nhau.
Rủi ro của chiến lược này:
Chỉ cần làm nhiều hơn là không thể kiếm được lợi nhuận.
EMA và ATR đều có vấn đề về sự chậm trễ, thời gian nhập cảnh không tốt.
Trong một thị trường chấn động lâu dài, rất khó để có được tín hiệu liên tục.
Nói tóm lại, chiến lược này là một chiến lược theo dõi xu hướng đơn giản, có thể đạt được kết quả tốt hơn trong các trường hợp đa đầu, nhưng cần cảnh giác với sự chậm trễ và biến động liên tục.
/*backtest
start: 2020-09-11 00:00:00
end: 2021-04-17 00:00:00
period: 7d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len = input(21, minval=1, title="Length")
price = sma(close, 2)
average = ema(close, len)
diff = atr(len)
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level)
bear_cross = crossover(bear_level, price)
strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
plot(price, title="price", color=green, transp=50, linewidth = 4)
plot(average, title="average", color=red, transp=50, linewidth = 4)
a1 = plot(bull_level, title="bull", color=red, transp=50, linewidth = 1)
a2 = plot(bear_level, title="bear", color=red, transp=50, linewidth = 1)
fill(a2, a1, color=red, transp=95)