ダブルEMAスパンブレイクアウト戦略


作成日: 2023-10-25 12:43:59 最終変更日: 2023-10-25 12:43:59
コピー: 0 クリック数: 637
1
フォロー
1617
フォロワー

ダブルEMAスパンブレイクアウト戦略

概要

双EMA跨度突破策は,傾向を追跡する策である.これは,異なる周期の2つのEMA平均線を使用し,両EMA線の間に十分な跨度が形成されたときに取引を行い,トレンドの方向を捕捉する.この策は,傾向が比較的強い市場に適用される.

戦略原則

この戦略は,高速EMA線 (小周期EMA線) と遅いEMA線 (大周期EMA線) を使って取引信号判断を行う.具体的論理は:

  1. EMAの速さと遅さを計算する.

  2. 速いEMAの上に遅いEMAを横断し,二つのEMA線間の距離が設定の値を超えると,多めにします.

  3. 速速EMAが遅速EMAの下を通過し,2つのEMA線間の間隔が設定の値を超えると空白する.

  4. 価格が急激なEMAから再び下落すると,平仓を多頭位にします.

  5. 価格が急速なEMAを再び破るとき,平仓は空頭になります.

このように,EMAの滑らかさを利用してトレンドの方向性を識別し,EMA間隔の突破を組み合わせて,具体的な入場タイミングを決定する. 走勢が強くなるほど,シングルのチャンスが大きくなる.

戦略的優位分析

  • EMAのトレンドトラッキング機能を利用して,トレンドを効果的に追跡できます.
  • EMA間隔の突破は,入場時刻を判断し,波動時の偽信号を効果的にフィルターします.
  • 異なる周期EMAの組み合わせを使用すると,トレンド取引の逆転を一定程度に減らすことができます.
  • 条件が合理的に設定された場合,トレンドの状況でより良いリターンを得ることができます.

戦略的リスク分析

  • EMA自身は価格変化に遅れて反応し,転換点を逃している可能性がある.
  • 傾向が弱い状況では効果が悪い
  • 震災の際には 損なわれやすい
  • EMAパラメータの不適切な設定は,偽信号を過剰に誘導する可能性があります.

EMAパラメータの組み合わせを調整し,跨度値と止損位置を調整することでリスクを減らすことができます.

戦略最適化の方向性

  • EMAの周期パラメータの組み合わせを最適化
  • 異なるEMA間隔の値をテストする
  • ストップ・ロスの最適化
  • フィルタリング信号を追加する
  • パラメータを調整し,最適なパラメータの組み合わせを見つける

要約する

双EMA跨度突破戦略は,全体的に比較してシンプルで実用的なトレンド追跡戦略である.それは,トレンド状況で効果的に利益を得ることができるが,合理的なパラメータ設定が必要である.パラメータ最適化とリスク管理によって,この戦略の優位性を十分に発揮することができる.これは,深入な研究と適用に値するトレンド戦略である.

ストラテジーソースコード
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("2-EMA Strategy", overlay=true, initial_capital=100, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)

diffMinimum = input(0.95, step=0.01)

small_ema = input(13, title="Small EMA")
long_ema = input(26, title="Long EMA")

ema1 = ema(close, small_ema)
ema2 = ema(close, long_ema)


orderCondition = ema1 > ema2?((ema1/ema2)*100)-100 > diffMinimum:((ema2/ema1)*100)-100 > diffMinimum

longCondition = close > ema1 and ema1 > ema2
if (longCondition and orderCondition)
    strategy.entry("Long", strategy.long)

shortCondition = close < ema1 and ema1 < ema2
if (shortCondition and orderCondition)
    strategy.entry("Short", strategy.short)
    
strategy.close("Short", when=close > ema1)
strategy.close("Long", when=close < ema1)
    
plot(ema(close, small_ema), title="EMA 1", color=green, transp=0, linewidth=2)
plot(ema(close, long_ema), title="EMA 2", color=orange, transp=0, linewidth=2)