Стратегия основана на адаптивном волновом канале, разработанном с использованием двух различных стратегий стоп-лосса, систематического отслеживания и верификации в течение нескольких временных рамок.
Вычислить самостоятельно адаптированные верхние и нижние трассы полосы пропускания, ширина пропускания скорректирована с помощью параметров.
Стратегия отслеживания прорыва, открытие позиции после прорыва цены в канале и остановка убытков в канале.
Возвращение к обратной стратегии, открытие позиции, когда цена достигает канала, и остановка, когда цена возвращается внутри канала.
Показатели CCI помогают определить, сколько воздушных линий.
Многоразовые тесты подтверждают, что обе стратегии являются эффективными.
Например, если вы используете какую-либо из этих функций, вы можете увидеть, что она работает, но она не работает.
Обе стратегии могут быть адаптированы к различным рыночным условиям и повысить устойчивость.
Показатели CCI помогают определить, что в доме слишком много свободных мест.
Многократные временные рамки позволяют сделать результаты более убедительными.
Правила стратегии простые, понятные и легко применяемые.
Причины, по которым может произойти сбой в работе канатных дорожек
В обоих случаях существует риск преждевременного или позднего прекращения деятельности.
Показатели CCI могут подавать ошибочные сигналы.
Некоторые из них не имеют аналогов.
Возможно, параметры оптимизированы сверх соответствия.
Тестирование различных параметров для поиска оптимальных комбинаций.
Оценка дополнительных показателей для фильтрации сигналов.
Оптимизация стратегий по устранению убытков, снижение риска.
Исследование методов расчета ширины каналов.
Проверка на большем количестве сортов и циклов.
Динамическая оптимизация параметров с использованием методов машинного обучения.
Стратегия основана на двух стратегиях отслеживания стоп-убытков, разработанных на основе волнового канала, с обратной проверкой в течение нескольких временных рамок. С помощью оптимизации параметров, улучшения стратегии стоп-убытков, можно повысить устойчивость системы и разработать ее в качестве зрелой надежной торговой системы для отслеживания тенденций.
/*backtest
start: 2022-09-13 00:00:00
end: 2023-09-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Underworld Hunter", overlay=true)
len = input(75, minval=1, title="Length")
src = input(close, title="Source")
basis = 0.0
basis := na(basis[1]) ? sma(src, len) : ema(ema(ema(src,len),len),len)
mult = input(1.9, minval=0.001, maxval=50, title="Deviation")
dev = mult * stdev(src, len)
upper = basis + dev
lower = basis - dev
//CCI calculation and inputs
lengthcci = input(20, minval=1, title="Period for CCI")
ma = sma(close, lengthcci)
ccivalue = (src - ma) / (0.015 * dev(src, lengthcci))
//CCI plotting
cciover0 = ccivalue >= 100 and ccivalue <= 120
cciover1 = ccivalue > 120 and ccivalue <= 140
cciover2 = ccivalue > 140 and ccivalue <= 160
cciover3 = ccivalue > 160 and ccivalue <= 180
cciover4 = ccivalue > 180
cciunder0 = ccivalue <= -100 and ccivalue >= -120
cciunder1 = ccivalue <= -120 and ccivalue > -140
cciunder2 = ccivalue <= -140 and ccivalue > -160
cciunder3 = ccivalue <= -160 and ccivalue > -180
cciunder4 = ccivalue <= -180
plotshape(cciover0, title="CCIO0", location=location.abovebar, color=#c6ff1a, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciunder0, title="CCIU0", location=location.belowbar, color=#c6ff1a, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover1, title="CCIO1", location=location.abovebar, color=#ffff00, transp=0,style=shape.circle, size=size.tiny)
plotshape(cciunder1, title="CCIU1", location=location.belowbar, color=#ffff00, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover2, title="CCIO2", location=location.abovebar, color=#ff9900, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciunder2, title="CCIU2", location=location.belowbar, color=#ff9900, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover3, title="CCIO3", location=location.abovebar, color=#ff0000, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciunder3, title="CCIU3", location=location.belowbar, color=#ff0000, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover4, title="CCIO4", location=location.abovebar, color=#cc00cc, transp=0,style=shape.circle, size=size.tiny)
plotshape(cciunder4, title="CCIU4", location=location.belowbar, color=#cc00cc, transp=0,style=shape.circle, size=size.tiny)
//plotting
plot(upper, title="Upper shadow", color=color.black, transp = 30, linewidth = 4)
plot(upper, title="Upper line", color=#FF2E00, transp = 0, linewidth = 2)
plot(lower, title="Lower shadow", color=color.black, transp = 30, linewidth = 4)
plot(lower, title="Lower line", color=#FF2E00, transp = 0, linewidth = 2)
plot(basis, title="Basic line", color=color.red, transp = 50, linewidth = 2)
mean = input(title="Test Reverse to the Mean instead", type=input.bool, defval=false)
test = input(title="Enable testing", type=input.bool, defval=true)
ordersize=floor(50000/close)
if(close>upper and strategy.opentrades==0 and not mean and test)
strategy.entry("Hunt Up", strategy.long, ordersize)
if (close<upper and close[1]<upper and close[2]<upper)
strategy.close("Hunt Up", qty_percent = 100, comment = "Hunt End")
if(close<lower and strategy.opentrades==0 and not mean and test)
strategy.entry("Hunt Down", strategy.short, ordersize)
if (close>lower and close[1]>lower and close[2]>lower)
strategy.close("Hunt Down", qty_percent = 100, comment = "Hunt End")
//bounce of bands
if(close>upper and strategy.opentrades==0 and mean and test)
strategy.entry("Sneak Down", strategy.short, ordersize)
if (close<upper and close[1]<upper and close[2]<upper and close>high[1])
strategy.close("Sneak Down", qty_percent = 100, comment = "SneakEnd")
if(close<lower and strategy.opentrades==0 and mean and test)
strategy.entry("Sneak Up", strategy.long, ordersize)
if (close>lower and close[1]>lower and close[2]>lower and close<low[1])
strategy.close("Sneak Up", qty_percent = 100, comment = "Sneak End")