移動平均クロスオーバー戦略は,異なる期間の移動平均値のクロスオーバーを使用して市場傾向の方向性を決定し,買い売りシグナルを生成するトレンドフォロー戦略である.この戦略は,判断を行うために3期期と50期のシンプルムービング平均値 (SMA) のクロスオーバーを使用する.短期SMAが長期SMAを超えると,それは買うことへの上昇信号とみなされる.短期SMAが長期SMAを下回ると,それは売るための下落信号とみなされる.
この戦略は,3期および50期間の単純な移動平均を計算する. 3日間のSMAが50日間のSMAを超えると,短期トレンドが上昇し,購入信号が生成される. 3日間のSMAが50日間のSMAを下回ると,短期トレンドが下落し,販売信号が生成される.不要な取引を減らすために,40日間の中間SMAも追加されます. 3日間のSMAが40日間のSMAを下回ると,迅速なストップ損失のために販売信号もトリガーされます.
この戦略の鍵は,市場変動を異なる段階に分けるために,異なる期間の移動平均値を使用することです. 3 日SMAは最短期のトレンドを表し,50 日SMAは中期トレンドを表し,それらのクロスオーバーは,異なる時間軸にわたる価格変化を把握できる短期および中期トレンドの変換を表します.このマルチタイムフレーム分析を通じて,市場のターニングポイントをかなり正確に判断できます.
明確なモメンタムクロスオーバーと明示的なシグナル.異なる期間のSMAのクロスオーバーは,短期および中期トレンドの変化を効果的に決定し,軽微な市場の変動による干渉を回避することができます.
SMA3がSMA40を下回ることで 迅速なストップ損失は損失を軽減し リスクを制御します
シンプルで明快な戦略論理,実行が簡単です 指標や信号ルールは直接実行できます
市場状況や取引手段に合わせて SMA パラメータを調整する柔軟性
偽信号を避けるため,他の技術的または基本的指標を組み合わせの検証に組み込むことができる.
SMAのクロスオーバー信号が頻繁に発信される場合,横向市場やトレンドではない市場では過剰取引が起こり,コストが上昇する可能性があります.
SMAは遅滞性があり,価格がすでに理想レベルから大幅に動いた後に信号が来る可能性があります.
固定されたSMAパラメータはすべての市場条件に適合しない可能性があり,最適化が必要である.
単一の指標に頼ることで 戦略は失敗に易くなります
最適なパラメータの組み合わせを見つけるために SMA 期間を最適化します.
ストカスティックやMACDのような振動器を追加して 信号を検証し 誤った信号を回避します
ポジションのサイズとストップロスを 市場の状況の変化に基づいて調整する.
収入やニュースなど 基本的指標を追加してみてください
大量のブレイクを入力してください
移動平均クロスオーバー戦略は,異なる期間のSMAを横断することによって短期および中期トレンドの変化を判断し,トレンドフォローアクションをとる. シンプルで直接的なトレンドフォロー戦略である. 利点は明確な論理と実装の容易さである. パラメータ最適化とコンボ検証を通じてパフォーマンスを向上させることができる. しかし,SMA自体は遅滞性があり,正確にターンを取ることができない. 主要なトレンドでトレンドフォローのために主要な指標と組み合わせて使用することが推奨される.
/*backtest start: 2022-10-10 00:00:00 end: 2023-10-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Geduldtrader //@version=4 strategy("MA Crossover", overlay = true) start = timestamp(2009,2,1,0,0) sma50 = sma(close, 50) sma40 = sma(close, 40) sma3 = sma(close, 3) plot(sma50,title='50', color=#00ffaa, linewidth=2) plot(sma3,title='3', color=#2196F3, linewidth=2) long = crossover(sma3,sma50) neut = crossunder(close,sma50) short = crossunder(sma3,sma40) if time >= start strategy.entry("Long", strategy.long, 10.0, when=long) strategy.close("Long", when = short) strategy.close("Long", when = neut) plot(close)