2つのEMAクロスオーバー取引戦略

作者: リン・ハーンチャオチャン開催日:2023年9月19日 19:36:03
タグ:

概要

ダブル EMAクロスオーバー・トレーディング戦略は,異なる長さの2つの EMAのクロスオーバーを使用して市場のトレンドを決定し,取引を行うトレードです.このシンプルで直接的な戦略は,中長期のトレンドを効果的に追跡することができ,スウィングトレーダーに非常に適しています.

戦略の論理

この戦略は,主に短期および長期EMAの値とクロスオーバーを使用してトレンド方向を決定する.まず短期EMA (例えば13期) と長期EMA (例えば26期) を計算し,その後,2つのEMA間のパーセントクロスオーバーを計算する.短時間EMAが長時間EMAよりも高く,クロスオーバーが限界値 (例えば5%) よりも大きい場合,上昇傾向を示し,長時間EMAを下回し,クロスオーバーが限界値よりも大きい場合,下降傾向を示し,短時間EMAを下回ると取引が終了する.

鍵となる論理は

  1. 短期および長期の EMA を計算する
  2. ショート EMA がロング EMA の上または下にあるかを確認する
  3. 2つのEMA間のクロスオーバーを計算する割合
  4. 長期または短期取引のトレンド方向を決定する
  5. 価格がショート EMA を越えた場合,取引を閉じる.

この戦略は,中期から長期間のトレンドを効果的に追跡し,トレンドが変化するときに方向を切り替えることができます.クロスオーバーの値はまた,トレンドでない期間中に不必要な取引を避けます.

利点

  • 長期的傾向を追跡するためにシンプルで効果的です
  • EMA は 短期 的 な 市場の 騒音 を フィルタリング する 助け に なり ます
  • 設定可能な EMA 期間と柔軟性のクロスオーバー 限界値
  • クロスオーバースロージルは,トレンドが強いときにのみ取引を保証します.
  • ストップ・ロスのEMA短期間ブレイクがリスク管理に役立つ

リスクと緩和策

  • トレンド逆転前には退場できない 引き上げが大きい
  • 値動きの範囲で 打ち上げられる
  • 適正なEMA期間と,各ツールの値を設定する必要性

リスクは以下によって軽減できます.

  1. 早期離脱のトレンド逆転信号を識別するためのフィルターを追加する
  2. トレンドフィルタールールの増やし,トレード範囲限定のアクションを避ける
  3. 各ツールの EMA 期間と値の最適化

増進 の 機会

戦略は以下のような分野において強化できる:

  1. 最適なEMA期間と値を見つけるためにバックテストによるパラメータ最適化

  2. トレンドフィルタリング MACD,ボリンジャーバンドなどの追加指標を使用して,ウィップソーを避ける

  3. 損失を制限するためのストップストップやタイムベースのストップのようなストップストップ戦略

  4. ストップ・ロスを移動してヒット後に部分利益をロックすることで利益を取ること

  5. 機械学習を用いた定量的な最適化 パラメータとフィルターを自動調整する

  6. 負債の引き上げを低減し,安定性を高める非関連戦略との組み合わせによるポートフォリオの最適化

パラメータ最適化,より良いフィルター,ストップ損失,利益占い,定量およびポートフォリオ最適化により 戦略はより堅牢で適応性があり 科学的に有効になります

結論

ダブルEMAクロスオーバーはスウィング取引に適したシンプルで直接的なトレンドフォロー戦略である.中長期トレンド取引に理想的なトレンド方向を決定するには2つのEMAのみが必要である. 戦略はパラメータチューニング,より良いフィルター,ストップ損失,および他の定量的な最適化により強化され,より堅牢になる. 実行し最適化しやすいため,推奨されるトレンドトレード戦略である.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-08-23 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)

もっと