DEMAの変動指数戦略

作者: リン・ハーンチャオチャン開催日:2023年10月24日 16:04:37
タグ:

img

概要

この戦略は,価格変動を計算するためにダブル指数関数移動平均 (DEMA) を使用し,価格変動の傾向を検出するためにさらに変動を平滑させ,変動が上昇するときに長く,変動が低下するときに短くします.

戦略の論理

  1. 価格の二重指数関数移動平均 (DEMA) を計算する,公式:DEMA = 2*EMA (価格,N) - EMA (価格,N),N)

  2. DEMA に関する価格変動を計算する: 変動 = (価格 - DEMA) /価格 * 100%

  3. 波動性のトレンド信号を得るため,再び波動性に対するDEMAの平滑を適用します.

  4. 安定した波動性が値を超えると 長期取引をします

  5. 特定の期間中にのみ取引を設定できます

利点

  1. DEMAは 単純な移動平均値よりも 傾向の変化を早く把握します

  2. 波動性は市場情勢を反映します 波動性の上昇は牛の優位性を表し 落ち込みは熊を表します

  3. 短期の騒音をフィルタリングして 主要な傾向を把握します

  4. 特定の時間帯での取引は,不必要なスライプコストを回避します.

  5. ストップ・ロストと出口戦略はリスクを制御する.

リスク

  1. DEMAは強いトレンドで遅れて 最良のエントリーポイントを逃すかもしれません

  2. 波動指数は誤った信号を与える可能性があります.他の指標と組み合わせなければなりません.

  3. 損失を拡大しないように ストップ損失を設定すべきです

  4. 取引時間外での機会を逃した

  5. トレーディングの時間帯は 過去データでテストする必要があります タイミングが不適切で 利益が減少します

リスク管理

  1. DEMAのパラメータを最適化して,より小さい N値を使う.

  2. RSI,MACDなどの他の指標を組み合わせて確認します

  3. ストップ・ロスは過去データと最大許容可能な損失に基づいて設定します.

  4. 取引期間選択を最適化する

  5. 異なる製品に対して最適な取引時間を個別にテストする.

増進 の 機会

  1. 最良のスムーズ化のために DEMA パラメータの組み合わせをテストします

  2. EMAやSMAなどです.

  3. 異なるパラメータで波動性をさらに平ら化する.

  4. 多要素検証のための他の指標を追加する.

  5. マシン学習を使って 入口と出口パラメータを自動最適化します

  6. 異なる製品に対して最適なパラメータを個別に試験する.

  7. リスクをコントロールするためにストップ・ロストと出口戦略を追加します

概要

この戦略は,流動性が上昇するときに長引,低下するときに短引,平滑したDEMA波動性を計算することで,市場の感情の傾向の変化を把握する.しかし,DEMA遅延と誤った信号はリスクである.パラメータは最適化され,厳格なストップロスを実装し,他の指標を組み合わせて確認する必要があります.正しく使用した場合,この戦略はトレンド逆転を捉え,良い投資利益を提供します.


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

//@version= 2
strategy("DEMA of DPD Strategy ",shorttitle="DPD% DEMA " ,overlay=false)

buyper =input(-2)
sellper=input(2)

demalen = input(50,title="Dema Length")

e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice  =   2 * e1 - e2

price=close
demadifper =  ((price-demaprice)/price)*100


OverDemaPer = input(1, title="Band for OverBought")
UnderDemaPer= input(-1,title="Band for OverSold")

band1 = hline(OverDemaPer)
band0 = hline(UnderDemaPer)
zeroline=0
fill(band1, band0, color=green, transp=90)


demalen2 = input(21,title="DEMA to Calculate dema of DPD")
demaofdpd =ema(demadifper,demalen2)
demaofdpd2 =ema(demaofdpd,demalen2)
resultstrategy = 2*demaofdpd - demaofdpd2

plot(resultstrategy,color=blue)


yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  crossover(resultstrategy,buyper)  ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( crossunder(resultstrategy,sellper) ) 

    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND",  comment="SELL")
else
    strategy.cancel(id="SELL")
    
    
    

もっと