Это комбинационная стратегия торговли, основанная на простых скользящих средних (SMA). Она использует перекресток 9-дневной и 21-дневной линий SMA в качестве сигналов покупки и продажи. Когда краткосрочная SMA пересекает длинную SMA снизу, генерируется сигнал покупки. Когда краткосрочная SMA пересекает длинную SMA сверху, генерируется сигнал продажи.
Основная логика этой стратегии заключается в использовании двух линий SMA с различными параметрами - 9-дневной SMA, представляющей краткосрочную тенденцию, и 21-дневной SMA, представляющей долгосрочную тенденцию. Когда краткосрочная линия тренда пересекается выше долгосрочной линии тренда снизу, это указывает на то, что рынок меняется от нисходящего тренда к восходящему, генерируя сигнал покупки. Когда краткосрочная линия пересекается ниже долгосрочной линии сверху, это сигнализирует о переходе от восходящего тренда к нисходящему, генерируя сигнал продажи.
Ключевые сигналы, на которые опирается эта стратегия, это
Возможные улучшения:
В целом, это довольно традиционная и простая система перекрестного скрещивания двойных скользящих средних. Его легко понять и реализовать с относительно простым выбором параметров. Он может эффективно отслеживать изменения между краткосрочными и долгосрочными тенденциями. Однако необходимо решать такие проблемы, как ложные сигналы, эмпирически выбранные параметры, посредственная производительность в условиях высокой волатильности. Следует рассмотреть соответствующие оптимизации, улучшения и комбинации вместе с надежными методами контроля рисков.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bitboy Strategy", overlay=true) // Define MAs SlowMA = ta.sma(close, 9) FastMA = ta.sma(close, 21) // Plot MAs plot1 = plot(SlowMA, color=color.new(color.red, 0), title="Slow MA") plot2 = plot(FastMA, color=color.new(color.green, 0), title="Fast MA") // Plot MA Ribbon fill(plot1, plot2, color=FastMA > SlowMA ? color.rgb(233, 21, 21, 50) : color.new(#1de223, 45)) // Define buy/sell conditions longCondition = ta.crossover(SlowMA, FastMA) shortCondition = ta.crossunder(SlowMA, FastMA) // Strategy commands for buy/sell if longCondition strategy.entry("Long", strategy.long) if shortCondition strategy.entry("Short", strategy.short) // Plot buy/sell signals (for visualization) plotshape(longCondition, location=location.belowbar, color=color.rgb(18, 230, 25, 37), style=shape.labelup, text="Buy", textcolor=color.white) plotshape(shortCondition, location=location.abovebar, color=color.rgb(239, 23, 23, 40), style=shape.labeldown, text="Sell", textcolor=color.white)