EMAダイバージェンス平均回帰戦略

EMA 均值回归 背离 底部买入 价格波动
作成日: 2025-03-26 15:34:19 最終変更日: 2025-03-26 15:34:19
コピー: 1 クリック数: 411
2
フォロー
319
フォロワー

EMAダイバージェンス平均回帰戦略 EMAダイバージェンス平均回帰戦略

概要

これは,平均回帰原理に基づく取引戦略で,価格と50周期指数移動平均 ((EMA)) の間の顕著な偏差を利用して取引機会を決定する.この戦略は,価格がEMAの大幅な底を下回った価格を購入し,価格がEMAの上方に戻ったときに販売することで利益を得ることを目的として,特に高波動性のある市場のために設計されています.この戦略は,価格とEMAの間のパーセントの差を主に追跡し,特定の値を超えると取引信号を誘発します.

戦略原則

この戦略の核心的な論理は,価格が短期的に平均値から逸脱する可能性があるが,長期的には平均値に戻る傾向にあるという平均回帰理論に基づいています.具体的には,戦略は50サイクルEMAを価格の参照平均として使用し,価格が平均値より大幅に下回った場合 (<10%以上) を買取の機会として捉えます.価格がEMAを上回り,利益がある場合,販売シグナルを誘発します.計算方法は次のとおりです.

  1. 50周期EMAを基準として使用
  2. 価格とEMAの偏差の割合を計算するdiff_perct = ((ema20 - close) / ema20) * 100
  3. EMAから最大値の偏差の割合を計算します.diff_perct2 = ((high - ema20) / ema20) * 100
  4. したdiff_perct > 10価格がEMAより10%以下であるとき (つまり,価格がEMAより10%以下であるとき) は,買取シグナルを誘発する.
  5. したdiff_perct2 > 0(つまり,最大値がEMAより高く) 現在の取引収益が1より大きいとき,セールシグナルをトリガーします.

戦略的優位性

  1. 明確な入学条件: 戦略は,具体的な価格の値からの偏差を設定し,明確な入場信号を提供し,主観的な判断の干渉を減らす.
  2. 市場過度に反応するこの戦略は,過度のパニックや下落の機会を捉えるためであり,その時には資産価格が過小評価されることがよくあります.
  3. 自動実行戦略は完全に自動化され,リアルタイムで操作を停止し,感情的な干渉を軽減します.
  4. 資金管理の柔軟性資金運用の柔軟性を高めるため,固定単位ではなく,現金配分方式を使用する.
  5. シンプルで分かりやすい戦略の論理は単純で,理解しやすく,調整しやすい.
  6. リスク管理売り上げは,既に利益がある場合にのみ引き起こすことで,既得利益を保護する.

戦略リスク

  1. トレンドリスク価格の上昇は,下落の激しいトレンドの中で,EMAから離れ続け,逆戻りしない可能性があり,継続的な損失を招く”引き継ぎ”現象を引き起こします.
  2. パラメータ感度偏差値:10%は,すべての市場条件に当てはまらない可能性があり,低波動性のある環境ではトリガーが難しい可能性があり,高波動性のある環境では過度に頻繁に取引される可能性があります.
  3. リスクの抑制の欠如: コードには明示的な止損設定がなく,市場の悪化が続くと大きな損失を引き起こす可能性があります.
  4. EMAの精度に依存する策略: EMAが価格の有効平均基準であると仮定するが,これは特定の市場条件下では成立しないかもしれない.
  5. 流動性のリスク: 流動性の低い市場では,注文を売り買いする際に,滑り落ちたり,完全に実行できないリスクがある.
  6. 固定利益率: 収益値は,異なる市場変動率の下の適応的調整を考慮せずに固定値1に設定されている.

最適化の方向

  1. 値からの動態:10%の固定偏差の値を近期変動に基づく動的値に変更する.例えば,ATR (=Average True Range) を使って入場条件を調整する.
  2. 損失防止の強化:時間または価格に基づくストップ条件を導入します.例えば,最大保有時間または最大許容される損失比率を設定します.
  3. 多周期確認: より長い周期 (日線や周線など) を組み合わせたトレンド判断,主要トレンドが逆転する時に入場を避ける.
  4. 積み重なった倉庫と平仓: 一度にすべてのポジションを確立したり平仓したりするのではなく,段階的に購入し,分量で販売することを実現し,リスクを分散させる.
  5. フィルタリング条件を追加フィルタリング条件としてRSIやMACDなどの技術指標を追加し,取引信号の質を向上させる.
  6. EMAサイクルに適応する: 固定50サイクルではなく,自己適応のEMAサイクルを使用し,変化する市場条件に戦略を適応させてください.
  7. 回測最適化: 市場周期や条件の異なる範囲で,最適のパラメータの組み合わせを特定する.

要約する

この50周期EMAと平均値の逆転戦略は,技術分析に基づく自動取引システムで,価格と平均線との顕著な偏差を捕捉して取引機会を探している.この戦略は,シンプルで直感的で,波動性の多い市場環境に適しているが,特に強烈なトレンド市場では,一定のリスクも存在している.ストップダメージメカニズム,ダイナミックパラメータの調整,および複数の指標の確認などの最適化措置を追加することで,戦略の安定性と収益性を大幅に向上させることができる.理想的には,この戦略は,単独ではなく,より総合的な取引システムの一部として,協力的に使用することができる.

ストラテジーソースコード
/*backtest
start: 2024-03-26 00:00:00
end: 2025-03-25 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("SUIBTC 2H - EMA dip public",overlay=true,initial_capital=100,default_qty_value=100, default_qty_type = strategy.cash,process_orders_on_close=false,calc_on_every_tick=false)


BuyTrigger = input.bool(false)
SellTrigger = input.bool(false)

src = input(open, title="Source")
offset = input.int(title="Offset", defval=5, minval=-500, maxval=500)

ema20 = ta.ema(close, 50)
plot(ema20, title="ema20", color=color.yellow, linewidth=3)




diff_perct = ((ema20 - close) / ema20) * 100
diff_perct2 = ((high -  ema20) / ema20) * 100





if ( diff_perct > 10)   
    BuyTrigger := true 

if(  diff_perct2 > 0 and strategy.openprofit > 1)
    SellTrigger := true 
    

    

notInTrade = strategy.position_size <= 0
inTrade = strategy.position_size > 0


timeSinceLastTrade_ms = time - strategy.opentrades.entry_time(0)


if (BuyTrigger and notInTrade )
    strategy.order("long", strategy.long , oca_name = 'audusdt' , when = BuyTrigger ,limit = open, comment = "buy: SUIBTC EMA Dip")
 
if (SellTrigger and inTrade )
    strategy.close(id="long" , qty_percent = 100,  comment = "sell: SUIBTC EMA Dip")