この戦略は20期単動平均 (SMA) と21期指数動平均 (EMA) を計算し,プロットし,価格変動ゾーンを視覚化するためにそれらの間の色を埋めます.価格が20期SMAを超えると購入信号を生成し,価格が21期EMAを下回ると販売信号を生成します.この戦略には,トラッキングストップ損失および利益を取ること機能もあります.
二重移動平均クロスオーバー戦略の核心理念は,高速移動平均と遅移動平均の間のクロスオーバーを取引信号として利用することです.20期SMAは価格変化により速く反応し,21期EMAはわずかに遅れているがよりスムーズです.短期および長期トレンドが一貫しているとき,すなわち2つの移動平均が上下交差すると,トレンドが強化され,取引決定がより利益を得ることが可能性が高いことを示します.
閉じる価格が20期SMAを超えると,短期と長期の両方が上昇傾向にあることを示します.21期EMAを下回ると,短期と長期の両方が下落傾向にあることを示します.出口シグナルはエントリーシグナルとは反対です.例えば,価格が20期SMAを下回ると,ロングポジションを閉じる.価格が21期EMAを下回ると,ショートポジションを閉じる.
また,このフィールテクニックは,2つの移動平均値の間の色をフィールして,市場動向を判断するのに役立つ視覚指標を形成するために使用されます.
二重移動平均のクロスオーバー戦略には以下の利点があります.
この戦略にはいくつかのリスクもあります:
上記のリスクに対処するために,以下の措置が可決されます.
戦略は以下の点で改善できる:
この戦略は,高速および遅い移動平均間のクロスオーバーを使用してトレンド変化を特定し,対応する長期および短期的な決定を下します. シンプルさ,直感性,実装の容易さなどの利点がありますが,いくつかのリスクも伴います. リスクはパラメータ最適化,フィルター追加,手動監督などによって軽減され,パフォーマンスは向上できます. 戦略は大きな拡張性があり,深く研究および適用に値します.
/*backtest start: 2024-01-27 00:00:00 end: 2024-02-26 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BMSB Breakout Strategy", shorttitle="BMSB Breakout", overlay=true) source = close smaLength = 20 emaLength = 21 sma = ta.sma(source, smaLength) ema = ta.ema(source, emaLength) outSma = request.security(syminfo.tickerid, timeframe.period, sma) outEma = request.security(syminfo.tickerid, timeframe.period, ema) smaPlot = plot(outSma, color=color.new(color.red, 0), title='20w SMA') emaPlot = plot(outEma, color=color.new(color.green, 0), title='21w EMA') fill(smaPlot, emaPlot, color=color.new(color.orange, 75), fillgaps=true) // Definir condiciones para la estrategia de compra y venta buyCondition = ta.crossover(close, outSma) sellCondition = ta.crossunder(close, outEma) // Entrada larga (compra) y salida corta strategy.entry("Long", strategy.long, when=buyCondition and not na(sellCondition)) strategy.close("Short", when=buyCondition) // Entrada corta (venta) y salida larga strategy.entry("Short", strategy.short, when=sellCondition and not na(buyCondition)) strategy.close("Long", when=sellCondition) // Puedes ajustar la configuración de la estrategia y los valores predeterminados según tus preferencias plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal") plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")