この戦略は,二重移動平均値に基づいたモメンタン・トレンド・フォロー・システムで,迅速な移動平均値と遅い移動平均値からのクロスオーバー・シグナルとフィルターラインを組み合わせ,エントリータイミングを最適化し,適切なマネーマネジメントとリスク管理を通じて安定した取引結果を達成します.
ストラテジーは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)