
Эта стратегия использует технологию Хайкена-Ашвина для фильтрации равнолинейных перекрестных сигналов и MACD-индикаторов для построения стратегии отслеживания тенденций. Стратегия может захватывать рыночные тенденции в разные временные периоды, использовать равнолинейные перекрестные сигналы для создания торговых сигналов, а затем фильтровать ложные сигналы через MACD-индикаторы, демонстрируя высокую рентабельность при обратном тестировании.
В этой стратегии используются три основных технических показателя:
Техника Хайкена-Ашмана. Эта технология используется для создания “порожней” без теней, изменяя конечную цену. Это позволяет более четко отобразить реальные тенденции цен и отфильтровать избыточный рыночный шум.
Индексовая скользящая средняя линия (EMA) [2]. Быстрая EMA используется для захвата краткосрочных тенденций, медленная EMA используется для определения направления долгосрочных тенденций. При прохождении медленной EMA над быстрой EMA создается сигнал покупки; при прохождении медленной EMA ниже быстрой EMA создается сигнал продажи.
MACD-индикатор. Этот индикатор в сочетании с быстрой и медленной EMA является позитивным сигналом, когда основной MACD-линия выше линии Сигнала, и нисходящим сигналом, когда основной MACD-линия ниже линии Сигнала.
Торговые сигналы для этой стратегии берутся от быстрых ЭМА и медленных ЭМА. Для фильтрации ложных сигналов стратегия вводит MACD-индикатор для вспомогательного суждения, и только тогда, когда MACD-индикатор посылает симметричный сигнал, создается окончательный торговый сигнал, что значительно снижает вероятность ошибочной сделки.
В частности, когда быстрый EMA проходит медленную EMA ((золотой форк) и MACD главную линию выше линии Сигнала ((позитивный сигнал) одновременно, создается сигнал покупать; когда быстрый EMA проходит медленную EMA ((мертвый форк) и MACD главную линию ниже линии Сигнала ((позитивный сигнал) одновременно, создается сигнал продавать.
Этот метод фильтрации, который сочетает в себе равнолинейный скрещивание и MACD, позволяет эффективно идентифицировать ключевые рыночные переломы и зафиксировать ценовые тенденции.
Эта стратегия имеет следующие преимущества:
Вероятность захвата трендового сигнала значительно повышена. Используя технологию Хайкена-Ашмана, можно более четко определить тренд, и система скрещивания двух равнолинейных линий очень эффективна в создании сигнала, и в сочетании с фильтрацией MACD более надежна.
Малый риск вывода. MACD в качестве вспомогательного показателя суждения может в определенной степени избежать риска остановки убытков и эффективно уменьшить убытки от ликвидации позиции.
Большое разнообразие параметров. Периодичность Хайкена-Ашвана, быстро-медленный цикл средней системы, параметры MACD и т. Д. могут быть скорректированы в зависимости от рынка, что делает стратегию более адаптированной к различным ситуациям.
Реализация проста и понятна. Цены выражены в хикен-ашхенах, поддерживаются обычными показателями, легко программируются, код прост и понятен.
Высокая эффективность использования средств. Стратегия использования методов отслеживания тенденций позволяет большую часть времени использовать средства в соответствии с основным направлением рынка, эффективно используя количество средств для получения дохода.
Также существуют риски, связанные с этой стратегией:
При резких колебаниях на рынке возможны большие потери. При резких скачках цен или быстром обратном движении в краткосрочной перспективе меры по сдерживанию убытков могут быть нарушены, что приводит к убыткам, превышающим ожидания.
Возможность ошибочного суждения по MACD-фильтрации. MACD может также создавать ошибочные суждения в качестве вспомогательного показателя, что приводит к ошибочному стратегическому построению или устранению позиций.
Параметры установлены слишком жестко. Фиксированные комбинации параметров не всегда могут адаптироваться к изменяющемуся рынку и могут упустить хорошие торговые возможности.
Частота торговли может быть слишком высокой. Методы построения позиций, следующие тенденции, могут привести к частым сделкам, увеличению стоимости торговли и потере скольжения.
Для предотвращения и уменьшения указанных рисков можно принять следующие меры:
Установите стоп-лизинг, ограничьте одиночные убытки. В то же время не преследуйте слишком много падений, контролируйте размер позиции.
Настройка параметров MACD снижает вероятность того, что вспомогательные показатели посылают ошибочный сигнал. Также можно вводить другие показатели для многократной проверки.
Создание механизмов оптимизации параметров. Использование методов машинного обучения для автоматической оптимизации комбинации параметров, чтобы сделать стратегию более адаптивной.
Уместно ослабить условия запуска торговых сигналов, снизить частоту торгов. Также можно установить минимальное изменение цены для запуска торгов.
В этой стратегии также есть много возможностей для оптимизации, начиная с следующих аспектов:
Оптимизация временных интервалов Хайкена-Ашмана. Можно тестировать более длинные или более короткие циклы, чтобы найти временные интервалы, которые лучше отражают тенденции рынка.
Настройка параметров среднелинейной системы. Изменение периодических параметров EMA, чтобы найти оптимальную комбинацию параметров.
Многопаметровая оптимизация индикатора MACD. Регулирование параметров скоростной средней и сигнальной линий MACD для поиска оптимальных параметров.
Усиление модулей стратегического управления рисками. Установка более научных правил остановки и остановки, также можно добавить модули, такие как контроль позиций, управление деньгами.
Добавление дополнительных показателей. Например, введение других показателей, таких как KD, RSI для многофакторной проверки, повышение качества сигнала.
Применение технологий машинного обучения. Использование нейронных сетей, генетических алгоритмов и других методов для оптимизации параметров стратегии в режиме реального времени, чтобы сделать стратегию более адаптивной.
С помощью методов, таких как иерархическое сочетание технических показателей, постоянная оптимизация параметров и усиление модулей контроля риска, эта стратегия может быть улучшена, более стабильной и эффективной.
Эта стратегия в сочетании с Хайкен Ашкин и равнолинейной системой хранения рыночных тенденций, с помощью MACD-индикатора для дополнительной фильтрации, может эффективно идентифицировать ключевые переломные моменты, создавать высоконадёжные торговые сигналы. Стратегия имеет отличные результаты в области отсчета, имеет высокую вероятность получения прибыли, небольшой риск отмены, сильную настраиваемость.
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Heikin Ashi Strategy V1 by nachobuey
strategy("Heikin Ashi Strategy V2",shorttitle="HAS V2",overlay=true)
res = input(title="Heikin Ashi Candle Time Frame", defval="15")
hshift = input(0,title="Heikin Ashi Candle Time Frame Shift")
//res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
res1 = input(title="Time frame (Minutes. Not lower than chart)",defval="300")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(16,"Heikin Ashi EMA Period")
test = input(0,"Heikin Ashi EMA Shift")
sloma = input(21,"Slow EMA Period")
slomas = input(0,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame", defval="60")
macds = input(1,title="MACD Shift")
//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = request.security(ha_t, res, open[hshift])
ha_close = request.security(ha_t, res, close[hshift])
mha_close = request.security(ha_t, res1, close[mhshift])
//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = request.security(ha_t,res2,macdLine[macds])
macdsl= request.security(ha_t,res2,signalLine[macds])
//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)
//Strategy
golong = crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort = crossunder(fma,sma) and (macdl < macdsl or macdf == false )
strategy.entry("Long",strategy.long,when = golong)
strategy.entry("Short",strategy.short,when = goshort)
plotchar(golong,char="L", color=green)
plotchar(goshort,char="S", color=red)
alertcondition(golong, "HAS GO LONG", "OPEN LONG")
alertcondition(goshort, "HAS GO SHORT", "OPEN SHORT")