
Эта стратегия использует движущуюся среднюю величину Холла и волну Кармана для определения и отслеживания ценовых тенденций. Она относится к стратегии отслеживания тенденций. Она использует движущуюся среднюю величину Холла для построения торговых сигналов на двух различных периодах, а также использует волну Кармана для плавной обработки, чтобы повысить качество сигналов и стабильность стратегии.
Стратегия строит торговый сигнал с использованием 24-циклического Холла HMA и 24-циклического Тройного Холла HMA3.
Когда хма наносит хма3, то создается сигнал покупать; когда хма наносит хма3, то создается сигнал продавать.
Политика отключения фильтра Кармана по умолчанию, после включения фильтра Кармана выполняется обработка фильтров Кармана для хма и хма3, чтобы отфильтровать избыточный шум и улучшить качество сигнала.
Кальмановский фильтр устраняет случайный шум из сигнала с помощью шагов прогнозирования и корректировки. Разница между каждым измерением и предыдущим прогнозом используется в качестве корректировочной точки для более точного прогнозирования следующего значения измерения. С помощью повторяющегося прогнозирования и корректировки можно постепенно уменьшить влияние шума, что делает сигнал более плавным.
Эта стратегия использует Кальман-диапазон для повышения стабильности стратегии движущихся средних, устраняет влияние случайных колебаний и отслеживает устойчивые тенденции.
Двойные системы лучше распознают длительные тенденции, чем одиночные.
Увеличенный вес, используемый для подсчета скользящих средних, придает больший вес недавним ценам и позволяет более чувствительно улавливать изменения цен.
Кальман фильтр эффективно фильтрует случайный шум в сигнале, уменьшает ложные сигналы и улучшает качество сигнала.
Параметры стратегии могут быть скорректированы, длина цикла и увеличение волны Калмана могут быть скорректированы в зависимости от рынка, чтобы адаптироваться к различным ситуациям.
Стратегия использует технологию построения сигналов с помощью интерциклики, чтобы идентифицировать более устойчивые тенденции и избежать обмана из-за слишком много случайных колебаний.
Визуальный интерфейс интуитивно отображает сигналы и состояние тренда, что облегчает работу.
Двойная подвижная средняя стратегия легко дает ошибочные сигналы в точке переворота тренда и не позволяет вовремя уловить переход.
В этом случае движущаяся средняя задерживается и может упустить возможность быстрого изменения цены.
Не подходит для интенсивных колебаний, следует избегать использования во время всплеска.
Параметры фильтра Калмана влияют на эффективность стратегии, а слишком большие прибыли могут отфильтровывать эффективные сигналы.
Долгоциклическая настройка не реагирует агрессивно, а короткоциклическая настройка подвержена воздействию шума и требует корректировки параметров в зависимости от рынка.
Продолжительность открытых позиций не фиксируется, существует фаза бездержания, что снижает эффективность использования средств.
Можно попробовать использовать адаптивные параметры динамической оптимизации скользящих средних, корректируя длину цикла в зависимости от колебаний.
Используйте волатильные показатели для оценки состояния рынка, избегайте торговли в волатильных рынках и торгуйте только в тех случаях, когда тенденция ясна.
Можно установить стратегию остановки убытков, чтобы предотвратить увеличение убытков и повысить способность контролировать риск.
Оптимизация параметров фильтра Калмана, баланс чувствительности отслеживания и уровня фильтрации шума.
В сочетании с другими показателями, подтверждающими эффективность сигнала, такими как количественный показатель, Брин-пояса для определения устойчивости тренда и т. д.
При помощи машинного обучения и других методов можно обучать параметры, чтобы сделать стратегию более гибкой и адаптивной.
Эта стратегия позволяет эффективно идентифицировать устойчивые тенденции и улучшать качество сигнала с помощью двойных холевых скользящих средних и кальмановых волн. Однако необходимо обратить внимание на оптимизацию параметров, адаптацию к ситуации, контроль риска для получения стабильной прибыли.
/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Hull Trend with Kahlman Strategy Backtest", shorttitle="HMA-Kahlman Trend Strat", overlay=true)
src = input(hl2, "Price Data")
length = input(24, "Lookback")
showcross = input(true, "Show cross over/under")
gain = input(10000, "Gain")
k = input(true, "Use Kahlman")
hma(_src, _length) =>
wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
hma3(_src, _length) =>
p = length/2
wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)
kahlman(x, g) =>
kf = 0.0
dk = x - nz(kf[1], x)
smooth = nz(kf[1],x)+dk*sqrt((g/10000)*2)
velo = 0.0
velo := nz(velo[1],0) + ((g/10000)*dk)
kf := smooth+velo
a = k ? kahlman(hma(src, length), gain) : hma(src, length)
b = k ? kahlman(hma3(src, length), gain) : hma3(src, length)
c = b > a ? color.lime : color.red
crossdn = a > b and a[1] < b[1]
crossup = b > a and b[1] < a[1]
p1 = plot(a,color=c,linewidth=1,transp=75)
p2 = plot(b,color=c,linewidth=1,transp=75)
fill(p1,p2,color=c,transp=55)
plotshape(showcross and crossdn ? a : na, location=location.absolute, style=shape.labeldown, color=color.red, size=size.tiny, text="S", textcolor=color.white, transp=0, offset=-1)
plotshape(showcross and crossup ? a : na, location=location.absolute, style=shape.labelup, color=color.green, size=size.tiny, text="B", textcolor=color.white, transp=0, offset=-1)
longCondition = crossup
if (longCondition)
strategy.entry("LE", strategy.long)
shortCondition = crossdn
if (shortCondition)
strategy.entry("SE", strategy.short)