この戦略は,30日,60日,200日間の単純な移動平均値の黄金十字とデッドクロスに基づいて取引信号を生成する.短期移動平均値が長期移動平均値を超えると,購入信号が生成される.短期移動平均値が長期移動平均値を下回ると,販売信号が生成される.この戦略は,トレンドフォローと移動平均値クロスオーバーの利点を組み合わせ,長期的なトレンドとターニングポイントの両方を把握する.
この戦略は,30日,60日,200日という3つのシンプルな移動平均を異なる時間帯で採用している. 30日線は短期トレンドを表し,200日線は長期トレンドを表し,60日線は基準として機能する. 短期トレンド線が長期トレンドラインを横切ると,市場は統合から上昇傾向へ移行し,買い信号を生成する. 短期トレンドラインが長期トレンドラインを下回ると,上昇傾向が統合に移り,売り信号を生成する.
戦略ではリスクをコントロールするために40ポイントのストップロスを設定し,ポジションに入ると利益を確保するために40ポイントのテイクロスを設定します.
この戦略の利点は以下の通りです.
トレンドフォローとインスタント・シグナルのメリットを組み合わせて,長期的トレンドと短期的取引ポイントの両方を考慮します.
クロスオーバー信号は明確で,過剰な重複信号は避けられます.
合理的なストップ・ロストとテイク・プロフィートの設定は,取引毎の損失を効果的に制御します.
シンプルで明快な論理で 分かりやすく実行できます
広く適用される成熟し安定した移動平均技術
リスクもあります:
短期ストップ・ロスは破られ,完全に損失を回避することができません.
金十字と死十字の信号は 偽の脱出だと判明します
市場の整合中に合理的なストップ・ロストとテイク・プロフィートを設定するのは難しい.
パラメータ選択は,期間設定のようなもので,戦略のパフォーマンスに影響を与える主観性があります.
この戦略は,次の側面から強化され最適化することができます.
ストップ・ロスのメカニズムを改善し,ストップ・ロスの遅れ,変化率の調整等を活用し,リスクを低減する.
より多くの期間をテストし,最適な期間の組み合わせを見つけることで,パラメータ選択を最適化します.
資本管理を通じて全体的な収益性を最適化するために ポジションサイズルールを追加します
偽のブレイクをフィルタリングする モメントインジケーターを組み込む
優れた戦術を見つけるために 機械学習モデルとビッグデータの使用を増やすことです
この記事では,移動平均金十字と死亡十字をベースとした取引戦略を紹介しています. 30 日,60 日,200 日移動平均のクロスオーバーを取引信号として取り,トレンドフォローとタイミング選択を組み合わせます.合理的なストップ損失とテイク・プロフィートセットアップは,取引損失を効果的に制御します.しかし,ウィップソーや偽ブレイクなどのリスクは残っています.ストップ損失方法の改善,パラメータ最適化,資本管理などの複数の側面から戦略を向上させ,より安定して利益を得ることができます.
/*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")