
Эта стратегия представляет собой систему отслеживания тренда, основанную на нескольких технических индикаторах. Она объединяет скользящую среднюю тенденцию, RSI перекупленности и перепроданности и индикаторы волатильности ATR для повышения успешности и прибыльности транзакций посредством многомерного анализа рынка. Основная логика стратегии заключается в подтверждении направления тренда посредством пересечения краткосрочных и долгосрочных EMA, использовании индикатора RSI для фильтрации ложных прорывов и, наконец, объединении ATR для динамической корректировки времени удержания для достижения точного понимания тенденция.
Стратегия использует 20-дневную и 50-дневную скользящие средние EMA в качестве основной основы для оценки тренда. Когда краткосрочная EMA пересекает долгосрочную EMA снизу вверх, подтверждается восходящий тренд; в противном случае подтверждается нисходящий тренд. На основе подтверждения тренда вводится индикатор RSI для оценки перекупленности и перепроданности. Когда RSI ниже 30 и входит в диапазон перепроданности и находится в восходящем тренде, срабатывает длинный сигнал; когда RSI выше 70 и входит в зону перекупленности и находится в нисходящем тренде, срабатывает длинный сигнал; Когда , срабатывает короткий сигнал. В то же время индикатор ATR используется для измерения волатильности рынка. Сделки выполняются только тогда, когда ATR превышает установленный порог, чтобы избежать торговли в рыночной среде со слишком низкой волатильностью.
Эта стратегия создает относительно полную торговую систему посредством комплексного анализа трех измерений: тренда скользящей средней, перекупленности и перепроданности RSI и волатильности ATR. Основное преимущество стратегии заключается в перекрестной проверке нескольких индикаторов, что позволяет эффективно снизить влияние ложных сигналов. Еще многое предстоит сделать для оптимизации стратегии за счет оптимизации параметров и совершенствования механизма контроля рисков. При использовании в реальной торговле трейдерам рекомендуется корректировать параметры в соответствии с конкретной рыночной средой и строго соблюдать меры контроля рисков.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("High Win Rate BTC Strategy", overlay=true)
// 参数设置
emaShortLength = input(20, title="Short EMA Length")
emaLongLength = input(50, title="Long EMA Length")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
atrLength = input(14, title="ATR Length")
atrThreshold = input(1.0, title="ATR Threshold")
holdBars = input(5, title="Hold Bars")
// 计算指标
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
// 趋势确认
uptrend = emaShort > emaLong
downtrend = emaShort < emaLong
// 入场条件
longCondition = uptrend and close > emaShort and rsi < rsiOverbought and atr > atrThreshold
shortCondition = downtrend and close < emaShort and rsi > rsiOversold and atr > atrThreshold
// 出场条件
var int holdCount = 0
if (strategy.position_size > 0 or strategy.position_size < 0)
holdCount := holdCount + 1
else
holdCount := 0
exitCondition = holdCount >= holdBars
// 执行交易
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (exitCondition)
strategy.close_all()
// 绘制指标
plot(emaShort, color=color.blue, title="Short EMA")
plot(emaLong, color=color.red, title="Long EMA")
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI")