Стратегия ремонта Williams VIX


Дата создания: 2023-09-28 15:29:48 Последнее изменение: 2023-09-28 15:29:48
Копировать: 0 Количество просмотров: 1120
1
Подписаться
1218
Подписчики

Обзор

Стратегия направлена на прогнозирование волатильности рынка VIX с помощью формулы Williams VIX correction, в сочетании со стохастическим RSI и индикатором многомерного равновесия. Для определения точного местоположения рыночной обратной точки используется ловля скрытых многоголовых расхождений для определения нижней части рынка.

Стратегический принцип

Стратегия основана на формуле Williams VIX correction и использует комбинацию Stochastic RSI и RSI.

Во-первых, вычисляется значение VIX текущего цикла с помощью формулы Williams VIX Repair. Эта формула измеряет волатильность рынка и индекс паники, рассчитывая соотношение наивысшей цены и наименьшей цены.

Во-вторых, стратегия использует комбинацию Stochastic RSI и RSI. RSI используется для определения пустоты, а Stoch RSI в сочетании с K-линией и D-линией для определения обратной точки RSI.

В конце концов, стратегия комбинирует оба, используя сигнал опережения Stoch RSI в качестве основы для продажи, а в качестве основы для покупки с VIX-значением ниже поперечной линии Бринга, чтобы захватить рыночную обратную точку.

Анализ преимуществ

Самым большим преимуществом данной стратегии является возможность комбинировать преимущества двух различных показателей одновременно.

Формула Williams VIX-ремонта эффективно отражает панические настроения рынка, динамические изменения вверх и вниз по буринской полосе могут адаптироваться к различным периодам; Stochastic RSI-индикатор использует пересечение K и D-линий, чтобы осуществить суждение о точке переворота RSI и избежать ошибочного суждения.

В сочетании с ними можно более точно определить точку переворота рынка, а также использовать Stoch RSI для определения конкретных точек входа, чтобы избежать ошибочного понимания.

Анализ рисков

Однако эта стратегия несет в себе определенные риски:

  1. Формулы Williams VIX не могут полностью отразить панические настроения на рынке, неправильная настройка параметров буринской полосы может привести к созданию ошибочного сигнала.

  2. Stoch RSI может также быть неверным, и его необходимо проверить в сочетании с другими индикаторами.

  3. Если бы мы не могли вовремя отслеживать быстрое развитие событий, мы могли бы упустить возможность.

  4. При этом, как отмечается в сообщении, “стратегия вывода может быть более крупной, поэтому следует тщательно подготовиться к управлению позициями”.

Это требует, чтобы мы использовали эту стратегию с разумными параметрами и проверяли ее с помощью других показателей, контролируя при этом размер позиции, чтобы избежать риска.

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Оптимизация параметров формулы Williams VIX, чтобы она могла более точно отражать уровень рыночной паники. Можно рассмотреть возможность включения в комбинацию таких показателей, как равнолинейная система.

  2. Оптимизация параметров Stoch RSI, поиск более подходящих комбинаций K и D-линейных циклов, повышение точности вращения.

  3. Добавление механизмов управления позицией, например, установка стоп-стоп или изменение позиции в зависимости от динамики отступления/прибыли.

  4. В сочетании с другими показателями, такими как MACD, KD и т. Д., реализуется многопоказательная проверка, снижающая риск ошибочного суждения.

  5. Добавление алгоритмов машинного обучения, использование моделей обучения большим объемам данных, автоматическая оптимизация параметров, повышение стабильности стратегии.

Благодаря этим улучшениям можно значительно повысить боевую эффективность и стабильность этой стратегии.

Подвести итог

Williams VIX-стратегия исправления эффективно ориентируется на нижние рынки, захватывая рыночные паники и стабильные перемены и используя Stoch RSI для определения конкретного времени входа. Преимущество стратегии заключается в использовании комбинации показателей, но также существует определенный риск.

Исходный код стратегии
/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Divergence and Hidden Divergence correlating with the Money Flow Index

strategy("Vix FIX / StochRSI Strategy", pyramiding=9, initial_capital=10000, default_qty_type=strategy.percent_of_equity,overlay=false)

///////////// Stochastic Slow
Stochlength = input(14, minval=1, title="lookback length of Stochastic")
StochOverBought = input(80, title="Stochastic overbought condition")
StochOverSold = input(20, title="Stochastic oversold condition")
smoothK = input(3, title="smoothing of Stochastic %K ")
smoothD = input(3, title="moving average of Stochastic %K")
k = sma(stoch(close, high, low, Stochlength), smoothK)
d = sma(k, smoothD)

 
///////////// RSI 
RSIlength = input( 14, minval=1 , title="lookback length of RSI")
RSIOverBought = input( 70  , title="RSI overbought condition")
RSIOverSold = input( 30  , title="RSI oversold condition")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)

///////////// Double strategy: RSI strategy + Stochastic strategy

pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bolinger Band Length")
mult = input(2.0    , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50  , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
new = input(false, title="-------Text Plots Below Use Original Criteria-------" )
sbc = input(false, title="Show Text Plot if WVF WAS True and IS Now False")
sbcc = input(false, title="Show Text Plot if WVF IS True")
new2 = input(false, title="-------Text Plots Below Use FILTERED Criteria-------" )
sbcFilt = input(true, title="Show Text Plot For Filtered Entry")
sbcAggr = input(true, title="Show Text Plot For AGGRESSIVE Filtered Entry")
ltLB = input(40, minval=25, maxval=99, title="Long-Term Look Back Current Bar Has To Close Below This Value OR Medium Term--Default=40")
mtLB = input(14, minval=10, maxval=20, title="Medium-Term Look Back Current Bar Has To Close Below This Value OR Long Term--Default=14")
str = input(3, minval=1, maxval=9, title="Entry Price Action Strength--Close > X Bars Back---Default=3")
//Alerts Instructions and Options Below...Inputs Tab
new4 = input(false, title="-------------------------Turn On/Off ALERTS Below---------------------" )
new5 = input(false, title="----To Activate Alerts You HAVE To Check The Boxes Below For Any Alert Criteria You Want----")
sa1 = input(false, title="Show Alert WVF = True?")
sa2 = input(false, title="Show Alert WVF Was True Now False?")
sa3 = input(false, title="Show Alert WVF Filtered?")
sa4 = input(false, title="Show Alert WVF AGGRESSIVE Filter?")

//Williams Vix Fix Formula
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph

//Filtered Bar Criteria
upRange = low > low[1] and close > high[1]
upRange_Aggr = close > close[1] and close > open[1]
//Filtered Criteria
filtered = ((wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh))
filtered_Aggr = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and not (wvf < upperBand and wvf < rangeHigh)

//Alerts Criteria
alert1 = wvf >= upperBand or wvf >= rangeHigh ? 1 : 0
alert2 = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh) ? 1 : 0
alert3 = upRange and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered ? 1 : 0
alert4 = upRange_Aggr and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered_Aggr ? 1 : 0

//Coloring Criteria of Williams Vix Fix
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray

isOverBought = (crossover(k,d) and k > StochOverBought) ? 1 : 0
isOverBoughtv2 = k > StochOverBought ? 1 : 0
filteredAlert = alert3 ? 1 : 0
aggressiveAlert = alert4 ? 1 : 0

plot(isOverBought, "Overbought / Crossover", style=line, color=red) 
plot(filteredAlert, "Filtered Alert", style=line, color=fuchsia) 
plot(aggressiveAlert, "Aggressive Alert", style=line, color=orange)

if (filteredAlert or aggressiveAlert)
    strategy.entry("Long", strategy.long)

if (isOverBought)
    strategy.close("Long")