移動平均を横切る戦略

作者: リン・ハーンチャオチャン,日付: 2023年11月6日 17:01:53
タグ:

img

概要

交差移動平均戦略は,異なる期間の移動平均を計算し,その交差を取引信号として使用する.これは技術分析戦略に属している.この戦略は,取引信号を判断するために高速,中間,遅い移動平均を組み合わせ,市場のノイズを効果的にフィルタリングし,トレンドを特定することができます.

戦略の論理

この戦略は, 34 期間の EMA, 89 期間の EMA, 200 期間の EMA の 3 つの移動平均値を計算します.まず,これらの 3 つの MA を計算し,明確な識別のために異なる色と線幅でプロットします.

取引シグナルは,異なるMA間のクロスオーバーに基づいて生成される.高速MAが中間MAを超えると,購入シグナルが起動し,高速MAが中間MAを下回ると,販売シグナルが起動する.これは攻撃的な取引戦略に属します.

過剰なノイズをフィルタリングするために,この戦略は緩やかなMAも採用している.高速MAが緩やかなMAを同時に横切るときのみ,実際の買取と販売信号が起動する.例えば,高速MAが中間および遅いMAの両方の上を横切るときのみ,購入信号が生成される.これは重要なトレンド変化が発生するときにのみ取引が起こることを保証する.

利点

  • 騒音をフィルタリングし 大きなトレンド変化を識別します
  • 速いMAは敏感で,中程度のMAは安定し,遅いMAは偽のブレイクをフィルターします.このコンボはトレンド逆転をよく識別します.
  • MAを計算するために EMA を使用し,最近の価格により重みを付け,傾向の変化によりうまく反応します.
  • 異なるMAをクロスオーバーで明確に表示し,シグナルを簡単に識別できます
  • 柔軟な戦略で,異なる市場環境に合わせて MA 期間を調整できます.

リスク

  • MAには遅延があり 信号生成が遅れる可能性があります
  • 強烈な傾向は,MAsを覆し,過剰な信号を生む可能性があります.
  • 適正なMAP期間設定は,取引頻度とリスクを増加させる可能性があります.
  • 極端な波動は,誤ったMAクロスオーバーを引き起こす可能性があります.
  • 高い手数料の市場は,このような高周波戦略には適さない.

改良

  • 最適なパラメータを見つけるために,異なるMA期間の組み合わせを評価する.
  • 大きな変動が起きたときに取引を一時停止させるため 変動指数などを追加します
  • ストカスティック・オシレーターなどと組み合わせると,極端な買い/売りを避ける.
  • 入る前に MA の鍵の引き下げを待つことで 入るタイミングを最適化します
  • 柔軟性を高めるため,適応型MAsを使用して,期間を動的に調整します.

結論

交差移動平均戦略は典型的な技術分析戦略である.市場逆転点を決定するために,異なる時間枠のMA間の関係を観察する.高速,中等,遅いMAの同時使用は,トレンドに迅速に対応し,偽信号を効果的にフィルターすることができます.適切なパラメータチューニングにより,異なる市場環境に柔軟性があります.それでも,MAの遅れの問題は考慮する必要があります.全体として,戦略は直感的な論理を持ち,ライブ市場で検証および最適化する価値があります.


/*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)


もっと