この戦略は,まず,ある期間の最高価格と最低価格の違いを最高価格で割ってウィリアムズVIX指標を計算する.次に,ボリンジャーバンドからの標準偏差の考えを組み合わせて,上位と下位帯を設定する.同時に,ある期間の百分位に基づいて取利益範囲を設定する.エントリー部分では,価格が上位帯を下回り,DEMA指標を下回ると,ロングに行く.価格が下位帯を下回り,DEMA指標を下回ると,ショートに行く.
この戦略は主にWilliams VIX指標を使用して市場変動とリスクを測定し,DEMA指標を使用して価格動向を判断します.
まず,Williams VIX指標の計算式は次のとおりです.
WVF = ((Highest(close, n) - Low) / (Highest(close, n))) * 100
n はパラメータ期間である.この指標は,特定の期間における最高価格と最低価格の間の変動を反映する.値が高くなるほど,変動が大きくなりリスクが高くなります.
戦略はボリンジャーバンドの概念を用いる.上帯は中帯+n倍標準偏差,下帯は中帯−n倍標準偏差として設定される.価格が上帯に近づくと,拡大する変動と長い機会を示し,価格が下帯に近づくと,収縮する変動と短い機会を示します.
さらに,この戦略は,一定期間における百分位原則に基づく利益の範囲を設定する.例えば,90百分位は,統計期間の最新の90%の価格を意味します.価格がこの百分位を超えると,変動がかなり大きいことを示し,利益を取ることを検討する時間です.
実際の取引戦略では,トレンドを判断するためにDEMA指標を組み込む.価格は上帯を下回り,DEMAを下回る場合にのみ長引く.価格は下帯を下回り,DEMAを下回る場合にのみ短引く.
この戦略は,波動性を判断するウィリアムズVIX指標,標準偏差に基づくボリンジャー帯,傾向を判断するDEMA指標を組み合わせ,リスクとトレンドという2つの主要な市場要因を把握するのに非常に包括的です.
具体的には,Williams VIX と BB の上位および下位帯を組み合わせると,リスクと波動性判断ができます. DEMA インディケーターは価格動向方向を決定できます.
この戦略は,リスクとトレンドを把握するのに非常にうまく機能します.より良いエントリータイミングを選択するだけでなく,テイク・プロフィート範囲で適切な利益が得られたときに逆転リスクも避け,安定し保守的な戦略になります.
この戦略の最大のリスクは,波動性指標とトレンド指標が異なることである.つまり,ウィリアムズVIX指標が波動性の増加を示し,価格がBB上または下帯に近づくと,DEMA指標の判断はそれに矛盾する.例えば,波動性は長い機会を示しますが,DEMAは下向きの傾向を示します.このような状況では損失が発生する可能性があります.
さらに,過度に保守的な取利益範囲設定も戦略の収益性を損なう可能性があります. パーセンチルパラメータが低すぎると,取利益を誘発し,利益を固定することが困難になります.
利潤の範囲を異なる市場環境に調整できるようにすることもできます.特に,範囲限定市場では,利潤の範囲を拡大するためにパーセンチルパラメータを適切に上昇させることができます.しかし,明らかにトレンドしている市場では,時間をかけて利益を得るためにパーセンチルパラメータを下げます.
また,傾向を判断するために他の指標を追加することを検討できます. 当初のDEMAが新しい指標と異なる場合,誤った信号による損失を避けるために,開設ポジションを停止します.
この戦略は,変動指標,標準偏差原則,トレンド判断,利益採取のアイデアを包括的に活用して,市場リスクとトレンド変化を非常にうまく対処する.それは安定的で保守的で,長期保有に適しています.パラメータ最適化によって,戦略の安定性と収益性はさらに向上することができます.
/*backtest start: 2023-12-23 00:00:00 end: 2024-01-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("VIX and DEMA", overlay=false) pd = input(22, title="LookBack Period Standard Deviation High") bbl = input(20, title="Bolinger Band Length") multupper = input(2.0 , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up") multlow = input(2.0,minval=1,maxval=5,title="BB STD LOW") lb = input(50 , title="Look Back Period Percentile High") ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%") pl = input(1.01, title="Lowest Percentile - 1.10=90%, 1.05=95%, 1.01=99%") hp = input(false, title="Show High Range - Based on Percentile and LookBack Period?") sd = input(false, title="Show Standard Deviation Line?") wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100 sDevupper = multupper * stdev(wvf, bbl) sDevlow = multlow *stdev(wvf,bbl) midLine = sma(wvf, bbl) lowerBand = midLine - sDevlow upperBand = midLine + sDevupper rangeHigh = (highest(wvf, lb)) * ph rangeLow = (lowest(wvf, lb)) * pl col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray price=close plot(hp and rangeHigh ? rangeHigh : na, title="Range High Percentile", style=line, linewidth=4, color=orange) plot(hp and rangeLow ? rangeLow : na, title="Range High Percentile", style=line, linewidth=4, color=orange) plot(wvf, title="Williams Vix Fix", style=histogram, linewidth = 4, color=col) plot(sd and upperBand ? upperBand : na, title="Upper Band", style=line, linewidth = 3, color=aqua) yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(1) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) lengthema = input(50, minval=1) src = input(close, title="Source") e1 = ema(src, lengthema) e2 = ema(e1, lengthema) dema = 2 * e1 - e2 plot(dema, color=green) if ((crossunder(wvf,upperBand) ) and (price<dema) ) strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND", comment="AL") else strategy.cancel(id="MMAL") if ((( (wvf<lowerBand) ) and (price>dema) ) ) strategy.entry("MMSAT", strategy.short,stop=close, oca_name="TREND", comment="SAT") else strategy.cancel(id="MMSAT")