モメンタム移動平均破壊戦略


作成日: 2023-10-11 15:01:12 最終変更日: 2023-10-11 15:01:12
コピー: 5 クリック数: 654
1
フォロー
1617
フォロワー

概要

この戦略は,動力の破壊原理に基づいて,RSIとランダムな指標を組み合わせたトレンド追跡戦略である.これは,DEMA指標を使用して価格動力の方向を判断し,RSI指標は,超買い超売りを判断し,KDJ指標は,これらの指標信号に基づいてロングとショートリング操作を行う傾向を判断する.この戦略は,中長線トレンド取引に適用されます.

戦略原則

この戦略は,価格動力の方向を判断するためにDEMA指標を使用する.DEMAは,2指数移動平均であり,通常のEMAよりも敏感で,トレンドの変化を早期に検出することができます.戦略は,価格とDEMAの差分を計算して価格動力の方向と強さを判断する.

価格上昇幅が設定パラメータより大きいときは,価格が上昇傾向にあると考えます.価格下落幅が設定パラメータより大きいときは,価格が下落傾向にあると考えます. RSI指数と組み合わせて,超買い超売り領域にあるかどうかを判断します. RSIが超売りラインより低い場合は,超売り状態にあることを示すことができます.

さらに,戦略はKDJ指標のランダムな線KとD線を用いてトレンドを確認する.ランダムな線KがD線を貫くとき,多信号が成立し,K線の下のD線を貫くとき,空白信号が成立する.

最後に,この戦略は,不必要な取引を避けるために,指定された年,月,日間のみ有効な時間フィルタリング条件を追加しました.

優位分析

この戦略は以下の利点があります.

  1. 双指数移動平均DEMAを使用して価格変動を判断し,より敏感で,トレンドの変化を早期に発見することができる.

  2. RSIの指標と組み合わせて,超買いと超売りを判断し,市場の転換点の近くで乱入を避ける.

  3. ランダムな指標KDJを使用してトレンドシグナルを確認し,誤った信号の一部をフィルターすることができます.

  4. タイムフィルター条件を追加し,指定された時間内での取引のみを行い,不要な資金占拠を避ける.

  5. 分析のプロセスが明確で,理解しやすく,修正しやすくなります.

  6. 指標パラメータは調整可能で,異なる品種と時間周期に応じて最適化できます.

リスク分析

この戦略にはいくつかのリスクがあります.

  1. DEMAやRSIなどの指標は,誤った信号を発し,不必要な損失を引き起こす可能性があります. 誤判の可能性を減らすために,パラメータを適切に調整したり,フィルタリング条件を追加したりできます.

  2. 二重指数組合せは,大きな市場逆転を完全に回避することはできませんが,大きな波動の市場では,ストロップ損失が発生する可能性があります.

  3. 固定時間帯の設定では,取引の機会のある特定の時間帯を逃す可能性があり,より柔軟な取引時間制御を追加することが推奨されます.

  4. トレンドトレードには,一定な後退を担う必要があり,継続的な損失を耐えられる心理的準備が必要である.

  5. 市場の変化に対応するために,指標のパラメータの最適化に継続的に注目する必要があります.

最適化の方向

この戦略は以下の点で最適化できます.

  1. MACD,KD,MOVING AVERAGEなど.

  2. 指数パラメータのテストと最適化,パラメータの最適取値範囲を見つける.

  3. 移動ストップ,尾行ストップなどのストップストラテジーを追加し,撤回を減らす.

  4. 固定取引数,動的なポジション調整などのマネー管理機能を追加し,リスクを制御します.

  5. 入場と出場の論理を最適化して,入場確率を高くし,できるだけ早く損を止める.

  6. さらに多くのフィルタリング条件を追加し,トレンドが明確になった後に入場することを保証する.例えば,量能指標,通路指標など.

  7. タイムコントロール戦略を最適化して,取引を市場リズムに近似させる.例えば,米国またはアジアでの取引時間のみでの取引など.

要約する

この戦略は,トレンド取引をベースに,DEMAを使用してトレンドの方向を判断し,RSIを使用して超買いと超売りを判断し,KDJがリスクを制御するためにシグナルを確認します. 操作は簡単で,論理が明確で,カスタマイズ性が強く,中長期のポジションに適しています. パラメータの最適化,止損戦略とリスク管理の継続的な改善により,この戦略は,市場の主動的な傾向を追跡する安定した取引システムになる可能性があります. もちろん,いかなる戦略も市場リスクを完全に回避することはできません.

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

//@version= 2
strategy("DPD+STOCH+RSI ", overlay=false)

buyper =input(-1,step=0.1)
sellper=input(1,step=0.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)


lengthrsi = input(10)
overSold = input( 30 )
overBought = input( 55 )
vrsi = rsi(price, lengthrsi)


smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
srsilow=input(20)
srsiup=input(80)







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



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


if ( vrsi>overBought  and ( crossunder(k,d) ) and ( demadifper>sellper  or crossunder(demadifper,sellper)  )  ) 

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