
この戦略は,二指数移動平均 ((DEMA) を用いて価格の変動率を計算し,変動率を再平滑処理して,価格の変動傾向を発見し,変動率が上昇するときに多めにし,変動率が低下するときに空白にする.
価格の2進数移動平均 ((DEMA) を計算し,公式は:DEMA = 2*EMA(price, N) - EMA(EMA(price, N), N)
DEMAに対する価格の変動率を計算する:変動率 = (price - DEMA) / price * 100%
波動率を再びDEMA平滑処理し,波動率のトレンド信号を取得する
再平準化後の波動率が上から某レベルを突破すると,多めにする.再平準化後の波動率が下から某レベルを突破すると,空きをする.
特定の時間帯でのみ取引を設定できます.
価格の変化のトレンドをより早く捉えるために,双指数移動平均を使用します.
波動率は市場の空虚感を反映し,波動率の上昇は多頭優位を意味し,下降は空頭優位を意味する
波動率の二次平滑は,短期的なノイズをフィルターして,主要トレンドを捉えます.
特定の時間帯での取引のみを設定し,不必要なスライドポイントの損失を回避します.
ストップ・ロズ・オフ・ストラテジーを採用し,リスクをコントロールできます.
DEMAは,激動時に遅れをとり,最高の入場ポイントを逃す可能性があります.
波動率指数は偽突破が発生し,他の指数と組み合わせて検証する
損失の拡大を防ぐために,ストップポイントを設定する
取引の時間以外で取引の機会を逃してしまう
取引時間帯の選択は,過去のデータに基づいてテストする必要があります.不適切な時間帯は,収益を低下させる可能性があります.
DEMAパラメータを最適化して,より小さなN値を使用
RSI,MACDなどの他の指標と組み合わせた総合的な判断
ストップポイントは,過去データと最大許容される損失に基づいて決定されます.
取引時間を最適化する選択
種別テストの最適な取引時間
異なるDEMAパラメータの組み合わせをテストし,平滑効果の最適のパラメータを見つける
EMA,SMAなど,他の種類の移動平均を試してみてください.
波動率指数に複数の平滑を施して,最適な平滑パラメータを見つける
多要素検証を可能にする他の補助指標を追加する
機械学習などの方法を使用して,エントリーとアウトアウトのパラメータを自動的に最適化
各種に対してそれぞれテストする最適なパラメータの組み合わせ
ストップとオフの戦略を高め,リスクを厳しく管理する.
この戦略は,価格の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")