移動平均クロスオーバー戦略


作成日: 2023-11-06 17:01:53 最終変更日: 2023-11-06 17:01:53
コピー: 0 クリック数: 618
1
フォロー
1617
フォロワー

移動平均クロスオーバー戦略

概要

移動平均を横断する戦略は,異なる周期の移動平均を計算し,それらの間の交差を買い売りシグナルとして利用し,技術分析の戦略の1つである.この戦略は,高速移動平均,中速移動平均と遅速移動平均の交差を組み合わせて取引シグナル判断を行い,市場ノイズを効果的にフィルターし,トレンドを識別することができる.

戦略原則

この策略は,3つの異なる周期の移動平均を計算する: 34周期EMA,89周期EMA,および200周期EMA.策略は,まず,これらの3つの移動平均の値を計算し,それから,異なる周期の移動平均を異なる色と粗線で描画し,明確に識別する.

戦略の取引シグナル判断は,異なる移動平均線の交差に基づいて行われます. 急速移動平均線が中速移動平均線を上方から横切るときは,買入シグナルを生成し,急速移動平均線が中速移動平均線を下方から横切るときは,売出シグナルを生成します. これは,より積極的な取引戦略に属します.

過剰なノイズをフィルターするために,戦略はスロー移動平均を導入した. 速い移動平均が同時に遅い移動平均を横切るときにのみ,本当の買出信号が誘発される. 例えば,速い移動平均が同時に中速線と遅い移動線を横切るときにのみ,購入信号が誘発される. これは,大きなトレンドが起こるときにのみ取引を保証する.

戦略的優位性

  • 多周期移動平均を使用することで,市場騒音を効果的にフィルターし,大きなトレンドの転換を識別できます.
  • 急速移動平均は市場の変化に敏感で,中速移動平均は安定し,遅速移動平均は偽突破をフィルターし,この3つが組み合わせてトレンドの転換点を識別することができる.
  • EMAアルゴリズムによる移動平均の計算により,最新の価格に敏感になり,早期に反応するトレンドの転換が可能である.
  • グラフは,異なる移動平均を直観的に表示し,交差点から入場と出場を明確に判断します.
  • 戦略は柔軟で,異なる市場環境に適応するために移動平均周期を調整できます.

戦略リスク

  • 移動平均は遅滞しており,取引信号の生成が遅れる可能性があります.
  • 市場動向が強い場合,移動平均は無効になり,過剰な取引信号が生じます.
  • 移動平均の周期設定が不適切で,取引頻度やリスクが増加する可能性があります.
  • 大盤の突発的な出来事により,急激な波動が生じ,移動平均は誤った交差を起こす.
  • 取引費が高い市場は,この高周波戦略には適さない.

戦略の最適化

  • 異なる移動平均周期の組み合わせを評価し,最適なパラメータを見つけます.
  • 波動性指数 (Volatility Indexなど) を加え,大波動の時には取引を一時停止する.
  • ストカスティック・オシレータなどの超買超売指標を組み合わせて,極端なポイントで買入を避ける.
  • 試合開始のタイミングを最適化し,重要な移動平均の調整テストを待つ.
  • 適応性のある移動平均を用いて,周期的動態の調整を可能にし,市場の変化に柔軟に対応する.

要約する

移動平均線横断戦略は,異なる時間周期の移動平均線の関係を見て,市場トレンドの転向買出点を判断する典型的な技術分析戦略である.この戦略は,同時に,快速または遅い3つの移動平均線を採用し,その交差状況を観察する.この戦略は,傾向を敏感に捉え,偽信号を効果的にフィルターすることができる.パラメータを最適化することで,市場環境に柔軟に適応することができる.しかし,具体的には,移動平均線の遅れなどの問題を考慮する必要がある.全体的に言えば,この戦略は,シンプルで,路線が明確で,実物分析で最適化されている.

ストラテジーソースコード
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="EMA 34, 89, 200 e cruzamento das EMA", overlay=true)

// Input options
fastMALen = input(title="Fast MA",  defval=34)
midMALen  = input(title="Medium MA",  defval=89)
slowMALen = input(title="Slow MA",  defval=200)

// Calculate values
fastMA = ema(close, fastMALen)
midMA  = ema(close, midMALen)
slowMA = ema(close, slowMALen)

// Plot values
plot(series=fastMA, color=yellow,
     title="Fast MA", linewidth=3, trackprice=false)
plot(series=midMA, color=red,
     title="Mid MA", linewidth=4, trackprice=false)
plot(series=slowMA, color=white,
     title="Slow MA", linewidth=5)

// Highlight crossovers
longCondition = crossover(ema(close, 34), ema(close, 200)) 
if (longCondition)
    strategy.entry("COMPRA FINAL", strategy.long)

longCondition1 = crossover(ema(close, 34), ema(close, 89)) 
if (longCondition1)
    strategy.entry("COMPRA INICIAL", strategy.long)

shortCondition = crossunder(ema(close, 34), ema(close, 200))
if (shortCondition)
    strategy.entry("VENDE FINAL", strategy.short)
    
shortCondition1 = crossunder(ema(close, 34), ema(close, 89))
if (shortCondition1)
    strategy.entry("VENDE INICIAL", strategy.short)