この戦略は,金貨のクロスバイとデッドクロスセール量的な取引を実施するために,XAUUSD (金貨) の30日間のシンプル移動平均 (MA30) と200日間のシンプル移動平均 (MA200) のクロスオーバーを計算する.この戦略は,自動的なポジション閉じるためのストップ損失と取利益価格を設定する.
この戦略の主な指標はMA30とMA200である.MA30がMA200を超えると,買い信号が生成される.MA30がMA200を下回ると,売り信号が生成される.これらのクロスは
具体的には,この戦略は,MA30とMA200を計算するためにtaライブラリを使用します. ta.crossoverとta.crossunder関数は,交差するかどうかを判断します. 上向き交差 (ゴールドクロス) が起こると,longCondition値は true に設定されます. 下向き交差 (デッドクロス) が起こると,shortCondition値は true に設定されます.
オーダー実行では,ロングとショートトレードにそれぞれ40,000ポイントのストップ・ロストとテイク・プロフィート価格が設定されています.これはXAUUSDの4,000ポイントの価格変化に対応します.価格がストップ・ロストまたはテイク・プロフィートをトリガーすると,オーダーは自動的にポジションを閉じます.
また,ヘッジメカニズムは戦略に確立されている.現在のポジションが長ければ,次のデッドクロスシグナルが直接ポジションを平ら化し,それを逆転させる.現在のポジションが短ければ,次のゴールドクロスシグナルも直接平ら化し,ポジションを逆転させる.これはトレンド逆転中に大きな損失を回避する.
これは非常にシンプルで直感的なトレンドフォロー戦略です.以下の利点があります:
この戦略にはいくつかのリスクがあります:
これらのリスクは,パラメータの最適化,ストップ損失レベルの調整,逆信号のフィルタリングなどによって管理できます.
戦略はいくつかの方法で最適化できます.
パラメータ調整,フィルター追加,位置サイズ設定などにより戦略の安定性が向上します
これはシンプルで実用的な移動平均クロスオーバー戦略である. 市場サイクルに準拠し,自動ストップ損失/利益出口とヘッジメカニズムを通じてリスクを制御する. 理解し,実装しやすく,複数の製品とタイムフレームに適用できる.さらなる最適化によりリスク/リターンプロフィールが向上する. 全体的に推奨される定量的な取引戦略である.
/*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("Estrategia de Cruce de Medias Móviles", overlay=true) // Medias móviles ma30 = ta.sma(close, 30) ma60 = ta.sma(close, 60) ma200 = ta.sma(close, 200) // Cruce de medias móviles crossoverUp = ta.crossover(ma30, ma200) crossoverDown = ta.crossunder(ma30, ma200) // Señales de compra y venta longCondition = crossoverUp shortCondition = crossoverDown // Ejecución de órdenes if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("Cover", "Buy", stop=close - 40.000, limit=close + 40.000) if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("Cover", "Sell", stop=close + 40.000, limit=close - 40.000) // Plot de las medias móviles plot(ma30, color=color.blue, title="MA 30") plot(ma60, color=color.orange, title="MA 60") plot(ma200, color=color.green, title="MA 200") // Condiciones para cerrar la posición contraria if (strategy.position_size > 0) if (crossoverDown) strategy.close("Buy") if (strategy.position_size < 0) if (crossoverUp) strategy.close("Sell")