ダブルEMAスパン取引戦略


作成日: 2023-09-19 19:36:03 最終変更日: 2023-09-19 19:36:03
コピー: 0 クリック数: 738
1
フォロー
1617
フォロワー

概要

双EMA跨度取引戦略は,2つの異なる期限のEMAの跨度比を計算して市場トレンドを判断し,取引を行うトレンドフォロー戦略である.この戦略はシンプルで直接で,中長線トレンドを効果的に追跡することができ,中長線トレンドトレーダーに非常に適しています.

戦略原則

この戦略は,主に2つのEMAの数値の大きさとそれらの間の間隔に基づいてトレンドの方向を決定する.戦略は,まず,短期EMAと長期EMAを計算し,典型的な構成は13サイクルと26サイクルのEMAである.その後,二つのEMAの間の間隔のパーセントを計算し,短期EMAが長期EMAより高く,幅が設定の値 (例えば5%) より大きい場合は,トレンドアップとして判断され,多取引を行う.短期EMAが長期EMAより低く,幅が設定の値より大きい場合は,トレンドダウンとして判断され,空売りを行う.価格が再び下落したり,短期EMAを突破したりするときは,ポジションを平準化する.

この戦略の核心的な論理は:

  1. 短期EMAと長期EMAを計算する
  2. 短期EMAが長期EMAより高いか低いかを判断する
  3. 設定した値よりも,両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)