Эта стратегия представляет собой динамическую тенденцию, следующую за системой, основанной на двойных скользящих средних, объединяющей перекрестные сигналы от быстрых и медленных скользящих средних с фильтрующей линией для оптимизации времени входа, достижения стабильных торговых результатов посредством надлежащего управления деньгами и контроля рисков.
Стратегия использует 11-периодические и 31-периодические простые скользящие средние (SMA) в качестве основной сигнальной системы, с 5-периодической скользящей средней в качестве фильтра. Долгие входные сигналы генерируются, когда быстрая линия (SMA11) пересекает над медленной линией (SMA31) и цена превышает среднюю фильтрацию. Позиции закрываются, когда быстрая линия пересекает ниже медленной линии. Стратегия реализует управление рисками посредством фиксированного размещения позиций.
Стратегия строит относительно прочную тенденцию, следующую за системой через несколько скользящих средних. Хотя она имеет некоторые врожденные ограничения, стабильность и рентабельность могут быть еще больше повышены посредством соответствующей оптимизации и улучшений. Трейдерам рекомендуется корректировать параметры на основе конкретных рыночных условий при реализации стратегии в живой торговле.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Nifty 30m SMA Crossover Long', overlay=true) start = timestamp(2020, 1, 1, 0, 0) end = timestamp(2024, 12, 31, 0, 0) SlowSma = ta.sma(close, 31) FastSma = ta.sma(close, 11) FilterSma = ta.sma(close, 5) plot(SlowSma, title='Sma 31', color=color.new(color.green, 0)) plot(FastSma, title='Sma 11', color=color.new(color.red, 0)) plot(FilterSma, title='Filter Sma 5', color=color.new(color.black, 0)) // strategy LongEntry = FastSma > SlowSma and close > FilterSma LongExit = FastSma < SlowSma MyQty = 10000000 / close // // Plot signals to chart // plotshape(not LongExit and strategy.position_size > 0 and bIndicator, title='Hold', location=location.abovebar, color=color.new(color.blue, 0), style=shape.square, text='Hold', textcolor=color.new(color.blue, 0)) // plotshape(LongExit and bIndicator and strategy.position_size > 0, title='Exit', location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, text='Sell', textcolor=color.new(color.red, 0)) // plotshape(LongEntry and strategy.position_size == 0 and bIndicator, '', shape.arrowup, location.abovebar, color.new(color.green, 0), text='Buy', textcolor=color.new(color.green, 0)) // plotshape(not LongEntry and strategy.position_size == 0 and bIndicator, '', shape.circle, location.belowbar, color.new(color.yellow, 0), text='Wait', textcolor=color.new(color.black, 0)) if time >= start and time < end strategy.entry('Enter Long', strategy.long, qty=1, when=LongEntry) strategy.close('Enter Long', when=LongExit)