Эта стратегия реализует количественную торговлю путем вычисления скользящей средней и ее процентных полос для принятия решений о входе и стоп-лос. Ее преимущества включают регулируемые параметры, простую реализацию и строгий стоп-лос.
Вычислить средний движущийся размер корпуса корпуса с длиной длины.
Процентные диапазоны xL1, xL3, xL2, xL4 на основе корпуса.
Долгое, когда закрытие пересекается ниже xL2 или xL4, длинное, когда закрытие пересекается выше xL1, xL2 или xL3.
Преимущества включают:
HullMA чувствительна к изменениям цен и хорошо отслеживает тенденции.
Процентные диапазоны очень поддаются регулированию для различных продуктов.
Стратегия двойных полос эффективно отфильтровывает неправильные сигналы.
Стратегия стоп-лосса эффективно контролирует риски.
Некоторые риски:
Преследуя вершины и убивая подводных лодок.
Склонение от частой торговли.
Неправильная настройка параметров приводит к перепродаже.
Позиция стоп-лосса нуждается в итеративной оптимизации.
Оптимизировать параметр длины корпуса для различных продуктов.
Оптимизируйте процентные диапазоны, чтобы уменьшить неправильные сделки.
Добавьте краткосрочные операции, чтобы получить больше прибыли.
Оптимизировать стратегию стоп-лосса для обеспечения эффективности.
Испытать прочность различных продуктов.
Эта стратегия создает относительно простую торговую систему с использованием HullMA и процентных диапазонов.
/*backtest start: 2023-03-01 00:00:00 end: 2024-02-29 00:00:00 period: 5d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("hullma percentage lines", overlay=true) length = input(9, minval=1) src = input(close, title="Source") hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length))) plot(hullma) Uband1 = input(3, minval=1, step = .5) Lband1 = input(3, minval=1, step = .5) Uband2 = input(6, minval=1, step = .5) Lband2 = input(6, minval=1, step = .5) v1 = Uband1+100 v2 = 100 - Lband1 v3 = Uband2+100 v4 = 100 - Lband2 xL1 = (hullma / 100) * v1 xL2 = (hullma / 100) * v2 xL3 = (hullma / 100) * v3 xL4 = (hullma / 100) * v4 plot(xL1, color=yellow, title="H1") plot(xL2, color=yellow, title="L1") plot(xL3, color=yellow, title="H2") plot(xL4, color=yellow, title="L2") longCondition1 = crossover(close, xL4) if (longCondition1) strategy.entry("l1", strategy.long) longCondition2 = crossover(close, xL2) if (longCondition2) strategy.entry("l1", strategy.long) shortCondition1 = crossover(close, xL1) if (shortCondition1) strategy.close("l1", strategy.long) shortCondition2 = crossover(close, xL2) if (shortCondition2) strategy.close("l1", strategy.long) shortCondition3 = crossover(close, xL3) if (shortCondition3) strategy.close("l1", strategy.long)