戦略をフォローするDEMAの傾向

作者: リン・ハーンチャオチャン,日付: 2023年10月17日 17:17:34
タグ:

img

概要

DEMAトレンドフォロー戦略は,DEMA指標に基づいて設計されています.価格はDEMAの下帯を突破すると購入信号,価格が上帯を突破すると売却信号を生成します.この戦略はトレンドフォローシステムに属します.

戦略の論理

この戦略は,価格傾向を決定するためにDEMA指標を使用する.DEMAは2つのEMA線で計算され,価格変化をより早く把握できるダブル指数関数移動平均線である.この戦略は,価格とDEMAの割合差を計算し,その後取引信号を生成する.

パーセンテージ差がバイヤーパラメータを超えると,購入信号が生成される.パーセンテージ差がセールパーパラメータを下回ると,販売信号が生成される.バイヤーとセールパーパラメータは,市場の状況に基づいて調整できる信号を生成する強さを表しています.

さらに,この戦略は,日付範囲をフィルター条件として設定します.取引信号は指定された日付範囲内でのみ生成されます.

利点分析

  • DEMA を使用することで,価格変動をより敏感に把握し,トレンド逆転を迅速に特定できます.
  • SMAと比べると 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")
    
    
    

もっと