
Chiến lược này là một chiến lược theo dõi xu hướng đường dài được xây dựng dựa trên đường trung bình EMA và RSI, ATR. Chiến lược sử dụng EMA nhanh để tạo ra tín hiệu gai vàng, kết hợp với EMA đường dài để xác định hướng xu hướng, sử dụng RSI và ATR để lọc đối chín, để theo dõi xu hướng đường dài.
Chiến lược này nói chung là một chiến lược theo dõi xu hướng đường dài với EMA là cốt lõi, đồng thời giới thiệu các chỉ số RSI và ATR để hỗ trợ, có thể xác định hướng xu hướng tốt hơn và lọc tiếng ồn. Bằng cách tối ưu hóa các tham số, chiến lược này có thể áp dụng cho nhiều giống hơn, có thể có hiệu quả tốt trong môi trường xem đường dài.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Strategy with Trend Filter", overlay=true)
// Параметры EMA
shortEmaLength = input(20, title="Short EMA")
longEmaLength = input(50, title="Long EMA")
trendEmaLength = input(200, title="Trend EMA")
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
trendEma = ta.ema(close, trendEmaLength)
// Параметры RSI
rsiLength = input(14, title="RSI Length")
rsi = ta.rsi(close, rsiLength)
// Параметры ATR
atrLength = input(14, title="ATR Length")
atr = ta.atr(atrLength)
// Логика для сигналов покупки и продажи с фильтром по тренду
buySignal = ta.crossover(shortEma, longEma) and close > trendEma
sellSignal = ta.crossunder(shortEma, longEma) and close < trendEma
// Вход в сделки
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell", strategy.short)
// Выход из сделок на основе EMA пересечений
exitBuySignal = ta.crossunder(shortEma, longEma)
exitSellSignal = ta.crossover(shortEma, longEma)
if (exitBuySignal)
strategy.close("Buy")
if (exitSellSignal)
strategy.close("Sell")
// Визуализация EMA
plot(shortEma, color=color.blue, title="Short EMA")
plot(longEma, color=color.red, title="Long EMA")
plot(trendEma, color=color.green, title="Trend EMA")
// Отдельная панель для RSI и его визуализация
plot(rsi, title="RSI", color=color.purple, linewidth=2)
// Отдельная панель для ATR и его визуализация
plot(atr, title="ATR", color=color.orange, linewidth=2)