Эта стратегия генерирует торговые сигналы путем вычисления скользящей средней кроссовера свечей Хайкена Аши в сочетании с MACD в качестве фильтрующего условия.
Вычислите цены открытия и закрытия свечей Хайкена Аши.
Вычислить быструю скользящую среднюю величину (EMA) и медленную скользящую среднюю величину (SMA).
Когда быстрый MA пересекает медленный MA, генерируется сигнал покупки.
Когда быстрый MA пересекается ниже медленного MA, генерируется сигнал продажи.
Если фильтр MACD включен, сигналы покупки генерируются только тогда, когда гистограмма MACD пересекает линию 0, а сигналы продажи генерируются только тогда, когда гистограмма MACD пересекает линию 0.
Свечи Хайкена Аши эффективно фильтруют рыночный шум, делая сигналы MA более надежными.
Объединение МР различных периодов позволяет избежать ложных вырывов из одного МР.
Фильтр MACD дополнительно избегает ложных сигналов и улучшает качество сигнала.
Использование Хайкена Аши для расчета MA уменьшает затраты на обычные свечи.
Стратегия имеет разумные параметры и умеренную частоту торговли, что позволяет получать стабильную прибыль без высокой частоты торговли.
Однако следует учитывать некоторые риски:
На различных рынках могут происходить повторяющиеся корректировки позиций.
В некоторых случаях фильтр MACD может не работать, что приводит к ложным сигналам.
Системы MA чувствительны к настройке параметров, требуя тщательной оптимизации.
Долгие позиции должны контролироваться событиями, которые могут вызвать значительные изменения на рынке.
Ручная оценка основных тенденций по-прежнему необходима, чтобы избежать потерь от торговли с противоположными тенденциями.
В заключение, это относительно зрелая стратегия MA, которая может обеспечить устойчивую прибыль при правильной настройке параметров.
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-24 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //Heiken-Ashi Strategy V3 by wziel // strategy("Heiken-Ashi Strategy V3",shorttitle="WZIV3",overlay=true,default_qty_value=10000,initial_capital=10000,currency=currency.USD) res = input(title="Heikin Ashi Candle Time Frame", defval="60") hshift = input(1,title="Heikin Ashi Candle Time Frame Shift") res1 = input(title="Heikin Ashi EMA Time Frame", defval="180") mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift") fama = input(1,"Heikin Ashi EMA Period") test = input(1,"Heikin Ashi EMA Shift") sloma = input(30,"Slow EMA Period") slomas = input(1,"Slow EMA Shift") macdf = input(false,title="With MACD filter") res2 = input(title="MACD Time Frame", defval="15") macds = input(1,title="MACD Shift") //Heikin Ashi Open/Close Price ha_t = heikinashi(syminfo.tickerid) ha_open = security(ha_t, res, open[hshift]) ha_close = security(ha_t, res, close[hshift]) mha_close = security(ha_t, res1, close[mhshift]) //macd [macdLine, signalLine, histLine] = macd(close, 12, 26, 9) macdl = security(ha_t,res2,macdLine[macds]) macdsl= 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("Buy",strategy.long,when = golong) strategy.entry("Sell",strategy.short,when = goshort)