Стратегия отслеживания волатильности и трендов в течение всех временных рамок на основе Williams VIX и DEMA

Автор:Чао Чжан, Дата: 2024-01-23 15:02:30
Тэги:

img

Обзор

Эта стратегия сначала рассчитывает индикатор Williams VIX, получив разницу между самой высокой ценой и самой низкой ценой за определенный период, разделенную на самую высокую цену. Затем, объединив идею стандартного отклонения от полос Боллинджера, он устанавливает верхние и нижние полосы. В то же время он устанавливает диапазон получения прибыли на основе процентиля за определенный период.

Логика стратегии

Эта стратегия в основном использует индикатор Williams VIX для оценки волатильности рынка и риска, используя индикатор DEMA для оценки ценовой тенденции.

Во-первых, формула расчета показателя Williams VIX:

WVF = ((Highest(close, n) - Low) / (Highest(close, n))) * 100

где n - период параметра. Этот показатель отражает волатильность между самой высокой и самой низкой ценой за определенный период. Чем выше значение, тем больше волатильность и выше риск.

На этой основе стратегия использует идею полос Боллинджера. Верхняя полоса устанавливается как средняя полоса + n раз стандартного отклонения, а нижняя полоса устанавливается как средняя полоса - n раз стандартного отклонения. Когда цена приближается к верхней полосе, это указывает на расширяющуюся волатильность и длинную возможность; когда цена приближается к нижней полосе, это указывает на сокращение волатильности и короткую возможность.

Кроме того, стратегия также устанавливает диапазон получения прибыли, основанный на принципе процента в течение периода. Например, 90 процента означает последнюю 90% цену за статистический период. Когда цена превышает этот процент, это указывает на то, что волатильность была довольно большой и пришло время рассмотреть возможность получения прибыли.

В фактической торговой стратегии он включает индикатор DEMA для оценки тренда. Он длинный только тогда, когда цена пересекает верхнюю полосу и ниже DEMA; он короткий только тогда, когда цена пересекает нижнюю полосу и выше DEMA.

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

Эта стратегия сочетает в себе индикатор Williams VIX, который оценивает волатильность, полосы Боллинджера, основанные на стандартном отклонении, и индикатор DEMA, который оценивает тенденцию, что делает его очень всеобъемлющим для понимания двух ключевых рыночных факторов: риска и тенденции.

В частности, Williams VIX в сочетании с верхними и нижними диапазонами BB может оценивать риск и волатильность; индикатор DEMA может определять направление ценового тренда; установка диапазона получения прибыли может зафиксировать прибыль и избежать чрезмерной жадности.

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

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

Наибольший риск этой стратегии заключается в том, что индикатор волатильности и индикатор тренда могут расходиться. То есть, когда индикатор Williams 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")
    
    
    
    

Больше