Эта стратегия называется стратегия отслеживания трендов на основе трехполюсных облачных форм. Эта стратегия использует три различных типа трендовых индикаторов, которые объединяются, чтобы сформировать облачные формы, чтобы вести торговлю по тренду, когда цена прорывается в облачные формы.
Стратегия включает в себя следующие три показателя:
Кауфман адаптируется к движущимся средним и может легко улавливать рыночные колебания.
Hull Moving Average, обладающая гладким поворотом и фильтрующей фальшивые сигналы;
В частности, он отмечает, что “все, что мы делаем, - это создаем ценовые каналы, чтобы не преследовать взлеты и падения”.
Облака образуются из трех частей: верхняя - наивысшая, а нижняя - наименьшая.
Конкретная логика сделки:
Когда высокая точка K-линии прорывает вершину, это указывает на прорыв в канале восходящей тенденции, что создает сигнал к покупке;
Когда K-линия заканчивается или низкая точка пересекает дно, то начинается нисходящая тенденция, уравняется плюс-минус.
Преимущество этой стратегии заключается в том, что комбинация индикаторов более точно определяет состояние тренда и снижает ложные сигналы. Однако оптимизация параметров по-прежнему является ключевой. Стоп-стратегия также необходима.
В целом, многопоказательная интеграция тенденций является обычным и эффективным методом, но трейдеры должны сохранять достаточную свободу суждения и гибкость при корректировке стратегии.
/*backtest
start: 2022-09-12 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SnarkyPuppy
//@version=5
strategy("HKST Cloud", overlay=true, default_qty_type= strategy.percent_of_equity, default_qty_value=100)
////////////////nAMA
Lengthkaufman = input(20)
xPrice = ohlc4
xvnoise = math.abs(xPrice - xPrice[1])
nfastend = 0.666
nslowend = 0.0645
nsignal = math.abs(xPrice - xPrice[Lengthkaufman])
nnoise = math.sum(xvnoise, Lengthkaufman)
nefratio = nnoise != 0? nsignal / nnoise : 0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMA = float(0)
nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
//plot(nAMA,color=color.red)
///short=input(true)
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
////////hull moving average
hull_len=input(20)
hull= ta.hma(nAMA,hull_len)
///////atr trail
atr_factor=input(2)
atr_period=input(5)
[supertrend, direction] = ta.supertrend(atr_factor,atr_period)
/////////cloud
band1= math.max(supertrend,hull,nAMA)
band2= math.min(supertrend,hull,nAMA)
b1=plot(band1, "band1", color = color.rgb(76, 175, 79, 85), style=plot.style_linebr)
b2=plot(band2, "band2", color = color.rgb(255, 82, 82, 78), style=plot.style_linebr)
fill(b1,b2,color.rgb(12, 50, 186, 75))
longCondition = ta.crossover(high,band1) //or ta.crossover(low,band2)
if (longCondition)
strategy.entry("Up", strategy.long)
shortCondition = ta.crossunder(low,band2) or close<band2
if (shortCondition)
strategy.close("Up", shortCondition)