
二重ランダム戦略は,現在のK線と多倍時間周期のK線のランダム指数を計算して,多空領域を判断し,低価格買高価格の目的を達成する.この戦略は,現在の周期と3倍周期のランダム指標を同時に計算し,異なる周期のランダム指標の金叉死叉信号を利用して,トレンド追跡を実現する.
この策略は,同時に2つのランダムな指標を計算する.最初のグループは,現在のK線周期のランダムな指標であるK値とD値であり,第二のグループは,現在の周期の3倍であるランダムな指標であるMTFKとMTFDである.
MTFK上を50線を越え,現在のK値がD値より大きいとき,買取信号が生じ,多頭領域に入ることを指し,多作する.MTFD下を50線を越え,現在のK値がD値より小さいとき,売り信号を生じ,空頭領域に入ることを指し,空作する.
したがって,この戦略は,多頭領域を判定する二重ランダム指標を使用して,価格のトレンドを追跡する. 多頭領域に多頭して,空頭領域に空頭して,低買い高売りの効果を達成する.
具体的には,この戦略の買取シグナルロジカルは以下の通りです.
longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD
Signallogicalは以下のように販売されています:
shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD
このうち,mtfKは3倍周期のK値で,mtfDは3倍周期のD値である.mtfK上を50線を横切ってk>dが買入シグナルを生じ;mtfD下を50線を横切ってkが売りシグナルを生じ.
さらに,戦略は,止損論理を設定している. 多頭ポジションのときは,mtfDが下を軌道に突入した場合,平仓シグナルを生成する. 空頭ポジションの時は,mtfKが上を軌道に突入した場合,平仓シグナルを生成する.
この戦略の利点は以下の通りです.
双重ランダム指数を使用すると,多空区域を判断するより正確である.現在の周期指数は短期トレンドを判断し,大周期指数は長期トレンドを判断し,双重指数と組み合わせると,トレンドをよりよく把握することができる.
異なる周期指標の金叉死叉取引戦略を使用することで,価格の動向を効果的に追跡して,低買い高売りを達成できます.
ストップ・ロジックを設定することで,ある程度リスクがコントロールされ,損失が拡大しないようにする.
戦略の論理はシンプルで明快で,実装が分かりやすく,リールディスクに適しています.
この戦略にはリスクもあります.
双重ランダムな指標は,誤った信号を生じ,不必要な取引を引き起こす可能性があります.例えば,突発的な出来事は,短期と長期のトレンドから逸脱する原因となります.
止損論理の設定が不適切である場合,損失が拡大する可能性があります. 止損距離を合理的に設定して,被套を防ぐべきである.
取引費の頻繁な買取りは戦略的利益に影響する.不要な取引を減らすためにパラメータを適切に調整する.
戦略は技術指標のみに基づいており,基本的要素は組み込まれていません. 重要な基本的要素に適切な注意を払うべきです.
対応方法:
誤信号率を下げるため,双ランダム指数パラメータを適切に調整する.
ストップダメージロジックを最適化し,合理的なストップダメージ距離を設定する.
パラメータを調整し,取引頻度を下げます. 金叉死叉判定基準を適切に緩和することができます.
基本情報に注目し,主観的な取引を避けましょう.
この戦略は以下の点で最適化できます.
双ランダム指標パラメータを最適化し,誤信号率を下げる.異なるK値,D値パラメータが効果に影響をテストすることができる.
他の指標のフィルタリング信号と組み合わせる.例えば,MACD,移動平均などの指標の補助判断,誤信号を避ける.
ストップ戦略を最適化し,ストップ距離と割合を設定する. 異なるストップポイントがリスクを効果的に制御するかどうかをテストする.
取引量指標と組み合わせて.例えば,量突破などの戦略で,価格の揺動期に無効取引を避ける.
持仓期間が異なる.持仓期間が短すぎると取引費用が収益に影響する.持仓期間が長すぎると損失が及ばない.
基本的な要素を組み合わせて,重要な出来事の前後に戦略を閉め,事件の衝撃を避ける.
双重ランダム戦略は,現在の周期と複数周期のランダム指標を判断して多空領域を判断し,低価格の買い上げを実現する.この戦略は,トレンド追跡能力が強い,論理がシンプル,実場に容易であるなどの利点がある.しかし,一定のリスクがあり,パラメータと止損戦略を最適化する必要があり,他の技術指標または基本面の判断に付随して改善する必要があります.全面的に最適化され,厳格な反テストが確認された場合,この戦略は,非常に実用的なトレンド追跡戦略になることができます.
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("stoch startegy", overlay=false,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)
len = input(54, minval=1, title="Length for Main Stochastic")
smoothK = input(12, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(30, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(100,minval=10,title="Trialing step value")
// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)
//mtf stochastic calculation smoothed with period
mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)
plot(k,"current TF k",blue,style=line, linewidth=2)
plot(d,"current TF d",red,style=line, linewidth=2)
plot(mtfK,"MTF TF k",black,style=line)
plot(mtfD,"Multi TF d",green,style=line, linewidth=2)
hline(upLine)
hline(50)
hline(lowLine)
longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD
if (longCondition)
strategy.entry("Lungo", strategy.long)
shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD
if (shortCondition)
strategy.entry("Corto", strategy.short)
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)
if (exitlong)
strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
strategy.exit("Esci corto","Corto",trail_points=trailStep)
showZones = input(true, title="Show Bullish/Bearish Zones")
// bullish signal rule:
bullishRule = k >= mtfD
// bearish signal rule:
bearishRule = k <= mtfD
// current trading State
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
bgcolor(showZones ? ( ruleState==1 ? green : ruleState==-1 ? red : gray ) : na , title="supertrend Bullish/Bearish Zones", transp=90)