この戦略の目的は,20期指数関数移動平均値 (EMA) と20期単純な移動平均値 (SMA) のクロスオーバーを観察することによって,潜在的なトレンド逆転点を特定することです.クロスオーバーの方向性に基づいて,ロングまたはショートに行くことを決定します.
この戦略は,ta ライブラリからクロスオーバーとクロスアンダー関数を利用し,移動平均クロスオーバーを検出します.
この戦略は,移動平均値の傾向を追跡する能力とクロスオーバーイベントの信号生成を組み合わせ,以下の利点があります.
この戦略には次のリスクもあります
解決策:
この戦略は,次の側面でも改善できます.
この戦略は比較的シンプルで,全体的に実践的であり,移動平均クロスオーバー理論を通じて潜在的なトレンド逆転点を特定する.しかし,戦略をより堅牢で,信頼性があり,自動化するために,追加の指標,ダイナミックパラメータ,ストップ損失,アルゴリズム取引などを通じて改善の余地もあります.要約すると,定量的な取引を開始するための良いテンプレートを提供します.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA-SMA Crossover Strategy", overlay=true) // Define the length of the moving averages emaLength = 20 smaLength = 20 // Calculate moving averages emaValue = ta.ema(close, emaLength) smaValue = ta.sma(close, smaLength) // Buy condition buyCondition = ta.crossover(emaValue, smaValue) and close > emaValue // Short sell condition sellCondition = ta.crossunder(emaValue, smaValue) and close < emaValue // Exit conditions for both Buy and Short sell exitBuyCondition = ta.crossunder(emaValue, smaValue) exitSellCondition = ta.crossover(emaValue, smaValue) // Strategy logic if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) if (exitBuyCondition) strategy.close("Buy") if (exitSellCondition) strategy.close("Sell") // Plot the moving averages plot(emaValue, color=color.blue, title="20 EMA") plot(smaValue, color=color.red, title="20 SMA")