
Эта стратегия, основанная на показателях Hull Moving Average, рассчитывает Hull MA на разных временных линиях и сравнивает движение Hull MA на разных временных линиях, чтобы обнаружить изменения в тренде. Создание покупательного сигнала при прохождении длинного периода Hull MA на коротком периоде; создание продающего сигнала при прохождении длинного периода Hull MA на коротком периоде.
Входные параметры: Hull MA цикл Period, HMA2 временная ось Resolution2, HMA3 временная ось Resolution3
Вычислить значение Hull MA HMA на текущей линии K
Hull MAHMA2 рассчитывается на временной шкале Resolution2
Hull MAHMA3 рассчитывается на временной шкале Resolution3
Сравнение величин HMA, HMA2 и HMA3
Когда HMA>HMA2>HMA3, генерируется сигнал покупки
Когда HMA
В верхней левой части интерфейса показаны значения Hull MA и сигналы на разных временных линиях
Цветовое разграничение в зависимости от состояния
Использование нескольких временных линий позволяет отфильтровывать ложные прорывы и избегать их.
Настраиваемые параметры временной оси для различных периодов.
Сигналы в реальном времени, операционная интуиция.
Визуализация движения Hull MA, формирование оценки текущих тенденций.
Неправильная настройка параметров может привести к слишком частым сделкам.
Большой циклический Hull MA имеет отсталость и может пропустить поворот тренда.
Когда бык и медведь переключаются, тактика создает ложный сигнал.
Взломная стратегия, которая может быть использована для взлома тюрьмы.
Процедура не учитывает комиссионные, которые могут повлиять на реальную прибыль.
Можно уменьшить риск путем оптимизации параметров, комбинирования других показателей в качестве фильтров, а также надлежащего разрыва стоп-линий.
Оптимизация циклических параметров Hull MA для адаптации к различным циклам и колебаниям.
Повышение показателей транзакций, чтобы избежать ложных прорывов.
Повышение показателей колебаний для определения интенсивности тренда.
Добавление моделей машинного обучения для определения времени покупки и продажи.
В сочетании с показателями эмоций, вы можете найти самые популярные рынки.
Применение стратегии по предотвращению убытков и оптимизация управления рисками.
Настройка условий купли-продажи, комбинация других сигналов.
Повышение стратегии торговли на основе ценовых каналов и диапазонов.
Эта стратегия основана на сопоставлении показателей Hull MA с среднелинейным движением по разным временным линиям, чтобы определить направление текущего тренда и генерировать сигнал покупки и продажи при повороте тренда. По сравнению с одной средней линией, Hull MA с несколькими временными линиями может эффективно фильтровать ложные прорывы. Однако в этой стратегии также есть проблемы с параметрами и определением тренда.
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
strategy("wtfBUYorSELLffs",overlay=true,currency="USD",initial_capital=100000,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.percent,commission_value=0.1)
Period=input(title="Hull MA Period",type=input.integer,defval=6,minval=1)
Resolution2=input(title="HMA2 Resolution", type=input.resolution,defval="60")
Resolution3=input(title="HMA3 Resolution", type=input.resolution,defval="240")
Price=input(title="Source of Price",type=input.source,defval=open)
xOffset = input(40, title="Panel offset (X-Axis)")
yOffset = input(0, title="Panel offset (y-Axis)")
lightgray = #D3D3D3FF
pnlTextColor = color.silver
pnlColor = color.black
HMA = hma(Price,Period)
HMA2 = security(syminfo.tickerid, Resolution2, HMA,barmerge.gaps_off,barmerge.lookahead_off)
HMA3 = security(syminfo.tickerid, Resolution3, HMA,barmerge.gaps_off,barmerge.lookahead_off)
HUP = HMA > HMA[1]
H1UP = security(syminfo.tickerid, Resolution2, HUP,barmerge.gaps_off,barmerge.lookahead_off)
H2UP = security(syminfo.tickerid, Resolution3, HUP,barmerge.gaps_off,barmerge.lookahead_off)
int barSize = timeframe.isdaily ? timeframe.multiplier*86400000 :
timeframe.isseconds? timeframe.multiplier*1000 :
timeframe.isminutes? timeframe.multiplier*60000 : (time[0]-time[1])
int lapos_x = timenow + barSize*xOffset
float lapos_y = highest(20) + yOffset*syminfo.mintick * syminfo.pointvalue
f_draw_infopanel(_x, _y, _line, _text)=>
_rep_text = ""
for _l = 0 to _line
_rep_text := _rep_text + "\n"
_rep_text := _rep_text + _text
// var label _la = na
// label.delete(_la)
// _la := label.new(
// x=_x, y=_y,
// text=_rep_text, xloc=xloc.bar_time, yloc=yloc.price,
// color=pnlColor, style=label.style_labelup, textcolor=pnlTextColor, size=size.normal)
// f_draw_infopanel(lapos_x, lapos_y, 8, "╚═══════════════════════╝")
f_draw_infopanel(lapos_x, lapos_y, 6, "HMA3 on TF " + Resolution3 + " = " + tostring(HMA3,"#.####") + (H2UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 4, "HMA2 on TF " + Resolution2 + " = " + tostring(HMA2,"#.####") + (H1UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 2, "HMA1 on TF " + timeframe.period + " = " + tostring(HMA,"#.####") + (HUP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 0, "╔═════════ HMA(" + tostring(Period,"#") +") ════════╗")
change_color=HMA>HMA3?color.green:color.red
change_color2=HMA2>HMA3?color.lime:color.yellow
plot1=plot(HMA3,color=change_color2,title="3 Hull MA Line",linewidth=2,transp=75)
plot2=plot(HMA2,color=change_color,title="2 Hull MA Line",linewidth=2,transp=75)
plot3=plot(HMA,color=color.white,title="Hull MA Line",linewidth=2,transp=75)
fill(plot1,plot3,color=change_color,transp=90)
fill(plot2,plot3,color=change_color2,transp=75)
if (H2UP and H1UP and HUP)
strategy.entry("BUY",strategy.long)
if (not H2UP and not H1UP and not HUP)
strategy.entry("SELL",strategy.short)