双 EMA 価格変動戦略

作者: リン・ハーンチャオチャン,日付: 2024-02-26 13:52:41
タグ:

img

概要

ダブルEMA価格スウィング戦略は,異なる期間の2つのEMA間の差を計算することによって,市場の感情と勢いを判断する.差値が0を超える場合は上昇信号である.0を下回る場合は下落信号である.

この戦略はシンプルで使いやすいもので,EMA差によって市場の勢いと方向を判断する.しかし,いくつかの遅れがあり,ターニングポイントを間に合うように捉えることができない.

原則

双 EMA 価格振動戦略の核心指標は,二つの EMA の違いを表す絶対価格振動器である APO である.その式は:

APO = EMA(short period) − EMA(long period)

具体的には,この戦略における APO は以下のように計算されます.

xShortEMA = ema(close price, LengthShortEMA)  

xLongEMA = ema(close price, LengthLongEMA)

xAPO = xShortEMA − xLongEMA

短期のEMAと長期のEMAは,それぞれ短期のEMAと長期のEMAのサイクル長さを表しています.

APOのいくつかの重要な判断規則:

  1. 0以上のAPOの上昇は上昇信号です.
  2. APOが0を下回るということは下落の信号です.
  3. ポジティブなAPOは,現在の上昇状態を示します.
  4. 負のAPOは,現在の熊の状態を示します.

市場情勢とエントリータイミングをAPOのリアルタイム値に基づいて決定する.

利点分析

双 EMA 価格変動戦略は,以下の主な利点があります.

  1. 指数関数移動平均を使用することで,価格データを効果的に平滑させ,ノイズ影響を減らすことができます.
  2. APO指標は,価格動向と市場動向の両方を判断するために,2つのEMAを組み合わせています.
  3. 戦略信号は単純で明確で 簡単に決定され実行できます
  4. 調整可能な EMA サイクルは,異なる品種と取引スタイルに適応します.
  5. リバーシブル・シグナルはリバース・トレードとショート・トレードに適用される.

リスク分析

双 EMA 価格変動戦略には,主に次のリスクもあります.

  1. EMA自身も遅れており,価格の転換点を間に合わない.
  2. デフォルトパラメータはすべての品種に適用されない可能性があります,パラメータは最適化する必要があります
  3. 頻繁な信号は誤った信号を生む傾向があります
  4. ストップ・ロスを決定できず, ポジションを開いた後に利益を得られない.
  5. 遅延がある 恐らく最適なタイミングを逃した

単一の損失を減らすために合理的なストップロスを適用し サイクルを調整するためのパラメータを最適化し 他の指標を組み合わせてシグナルをフィルターし 戦略の安定性を向上させることで これらのリスクに対処し 軽減することができます

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

二重EMA価格変動戦略は,次の側面で最適化することができる:

  1. 最適な測定値を見つけるために,長さ5から60のテスト組み合わせをEMAサイクルパラメータを最適化
  2. MA,KDJ,MACDなどの他の指標を追加してフィルター条件を設定し,偽信号を避ける
  3. Bollinger Bands,KD を使って,合理的なストップ・ロスを決定し,利益を取ります.
  4. 価格傾向を判断するためにトレンドインデックスを組み合わせ,トレンドに反する取引を避ける
  5. 取引量インジケーターを追加して,取引量サポートのシグナルを確保します.
  6. トランザクションと取引頻度を減らすため再入国条件を設定する

結論

概要すると,ダブルEMA価格スウィング戦略は,2つのEMA間のAPO差を計算することによって市場情勢を判断する.戦略信号はシンプルで実用的であるが,いくつかの欠点もある.パラメータチューニング,フィルターを追加,ストップ設定などにより最適化することができます.初心者にとって使いやすい,拡張の可能性も高い.量子取引の学習者が勉強し適用するのに適しています.


/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/05/2017
// The Absolute Price Oscillator displays the difference between two exponential 
// moving averages of a security's price and is expressed as an absolute value.
// How this indicator works
//    APO crossing above zero is considered bullish, while crossing below zero is bearish.
//    A positive indicator value indicates an upward movement, while negative readings 
//      signal a downward trend.
//    Divergences form when a new high or low in price is not confirmed by the Absolute Price 
//      Oscillator (APO). A bullish divergence forms when price make a lower low, but the APO 
//      forms a higher low. This indicates less downward momentum that could foreshadow a bullish 
//      reversal. A bearish divergence forms when price makes a higher high, but the APO forms a 
//      lower high. This shows less upward momentum that could foreshadow a bearish reversal.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Absolute Price Oscillator (APO) Backtest", shorttitle="APO")
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xPrice = close
xShortEMA = ema(xPrice, LengthShortEMA)
xLongEMA = ema(xPrice, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
pos = iff(xAPO > 0, 1,
       iff(xAPO < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xAPO, color=blue, title="APO")

もっと