DEMAトレンドフォロー戦略


作成日: 2023-10-17 17:17:34 最終変更日: 2023-10-17 17:17:34
コピー: 0 クリック数: 694
1
フォロー
1617
フォロワー

DEMAトレンドフォロー戦略

概要

DEMAトレンド追跡戦略は,DEMA指数設計に基づいて,価格がDEMA指数下線を突破すると買取シグナルを生成し,価格がDEMA指数上線を突破すると売出シグナルを生成し,トレンド追跡戦略に属します.

戦略原則

この戦略は,DEMA指数を使用して価格の傾向を判断する.DEMA指数は,二指数移動平均であり,それは,二つのEMA線を使用して計算され,価格の変化をより迅速に捕捉することができる.この戦略は,価格とDEMAの差分を計算して,購入と販売のシグナルを与える.

差値のパーセントが設定されたパラメータをbuyperに突破すると,買入シグナルが生じます。差値のパーセントが設定されたパラメータをsellperに突破すると,売出シグナルが生じます。buyperとsellperのパラメータは,シグナルを生成する強さを代表し,市場に応じて調整することができます。

さらに,戦略は,年月日範囲をフィルタリング条件として設定し,指定された日付内でのみ取引シグナルを生成します.

戦略的優位分析

  • DEMA指標を使用すると,価格の変化をより敏感に捉え,トレンドの逆転を間に合うように捉えることができます.
  • SMA指数と比較して,DEMA指数は遅滞が少ない.
  • 取引頻度を制御するために,strengthパラメータを設定します.
  • 日付フィルター条件を追加して,季節的な状況に最適化できます.
  • 全体として,この戦略のパラメータは合理的に設定され,異なる市場環境に対応するためにパラメータを最適化することができます.

戦略的リスク分析

  • DEMA指数自体は遅滞しており,短期トレンドの逆転を逃している可能性がある.
  • 信号が遅れており,入口時刻は正確ではない.
  • 戦略はDEMA指標のみに基づいており,信号信頼性を検証する補助指標はありません.
  • ストップ・ロスが設定されていない場合,口座に大きな損失をもたらす可能性があります.

リスクは,他の指標の検証シグナルと組み合わせて,パラメータの設定を最適化し,ストップロスを追加することで制御できます.

戦略最適化の方向性

  • MA指数に信号フィルタリングを加え,MAの順次性特性を利用してトレンドを検証することを考えることができる.
  • 異なるパラメータが戦略のリターン率に与える影響をテストし,最適なパラメータの組み合わせを見つけることができます.
  • ストップ・ストラトジーを追加し,合理的なストップ・幅を設定し,単一損失を制御できます.
  • 異なる株が戦略効果に与える影響をテストし,株のプールを最適化できます.
  • 逆転や突破などの退出策を試すことができます.

要約する

DEMAトレンド追跡戦略は,全体的に合理的に設計され,一定の安定した収益能力を有する.この戦略は,DEMA指標を成功してトレンド方向を判断し,多種多様な株式と中大長線周期に有効である.パラメータ最適化,補助指標検証,止損戦略などの手段により,戦略の収益率をさらに高め,リスクを制御することができる.この戦略には,一定の実物運用価値があるが,異なる市場環境に応じて継続的にテストされ,最適化されていれば,長期にわたる安定した収益が得られる.

ストラテジーソースコード
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version= 2
strategy("DEMA PRICE DİFFERENCE Strategy ",shorttitle="DPD% STR " ,overlay=false)

buyper =input(-1)
sellper=input(1)

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



plot(demadifper, color=red)
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)








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



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


if ( crossunder(demadifper,sellper)  ) 

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