2/20 指数関数移動平均戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-19 17:02:20
タグ:

概要

この戦略は,2/20指数的な移動平均線に基づいています.価格は平均線を突破したとき,長または短ポジションに入ります. 移動平均線のトレンドフォロー機能とブレイクアウト取引のトレンド逆転機能を組み合わせ,短期および中期トレンドの両方を把握することを目指します.

戦略の論理

この戦略は20期指数関数移動平均をベンチマークラインとして使用する.最新のキャンドルスタイクの高値または低値がベンチマークラインを突破すると,潜在的なトレンド逆転をシグナルする.前のキャンドルの逆転点は現在の閉値よりも低い場合は,ロングに行く.前のキャンドルの逆転点は現在の閉値よりも高い場合は,ショートに行く.

具体的には,この戦略は,現在のキャンドルの高値,低値を計算し,以前のキャンドルの閉値と比較して逆転信号を特定し,逆転点をプロットする.逆転点が前の閉値よりも高くなった場合,それは長行する.逆転点が低くなった場合,それは短行する.長/短信号は20日間のEMAを基準基準基準として生成され,傾向の方向性を特定する.逆転点と閉値の間のトレンド比較が逆転のタイミングを決定する.

利点分析

  • 中長期の傾向と短期の機会の両方を把握する傾向の追跡と傾向の逆転を組み合わせます
  • 指数関数移動平均は 短期的な市場の騒音をフィルタリングします
  • 収束価格と逆転点を比較することで,逆転を正確に特定できます
  • 異なる製品と時間枠に非常に柔軟性がある

リスク分析

  • 株式指数先物には非常に高いレバレッジがあり,この戦略には非常にリスクがあります.
  • 誤ったブレイクやウィップソーに易感性があり,損失をもたらす
  • 調整可能なパラメータが少ない限られた最適化空間
  • 資産の選択とポジションのサイズ付けのために他の指標を必要とします

解決策:

  • 機械学習を使用して移動平均パラメータを最適化
  • 正確なブレイクアウトを確認するためにボリュームなどの他の指標を追加します.
  • この戦略を明確にトレンドで取引する,市場を範囲を回避する
  • 損失を制限するために厳格なリスク管理規則を適用する

オプティマイゼーションの方向性

この戦略は,次の側面で改善できます.

  1. 移動平均のパラメータを最適化し,期間を調整するか,ダブル移動平均を追加します
  2. ブレイクアウト信号をフィルターに音量のようなフィルターを追加
  3. リスクを制御するためにストップ・ロスの戦略を組み込む
  4. マシン学習モデルを追加して 傾向と突破確率を予測する
  5. ダイナミックに調整する適応パラメータを考慮
  6. 最適なエントリーポイントを見つけるために感情分析を組み合わせる
  7. ポジションサイズ戦略を最適化します.例えば固定分数,マルティンゲールなど.

パラメータ最適化,指標コンボ,リスク管理などによって,戦略の安定性と信頼性が向上し,取引リスクが低下します.

概要

概要すると,この単純な戦略は単一の指標に依存し,パラメータや市場状況に敏感になり,最適化スペースが限られている.他の戦略を補完するために最もよく使用されます.しかし,逆転を捕捉する概念は有益で,より洗練されたブレイクアウトシステムに組み込めることができます.適切なフィルター,リスク管理,強度向上により,この戦略は安定性を向上させる全体的な戦略ポートフォリオの構成要素として機能することができます.


/*backtest
start: 2022-09-12 00:00:00
end: 2023-09-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/11/2016
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
////////////////////////////////////////////////////////////
strategy(title="Strategy 2/20 Exponential Moving Average", overlay = true)
Length = input(20, minval=1)
xPrice = close
xXA = ema(xPrice, Length)
nHH = max(high, high[1])
nLL = min(low, low[1])
nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
pos = iff(nXS > close[1] , -1, iff(nXS < close[1] , 1, nz(pos[1], 0))) 
if (pos == 1) 
    strategy.entry("Long", strategy.long)
if (pos == -1)
    strategy.entry("Short", strategy.short)	    
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
//plot(nXS, color=blue, title="XAverage")


もっと