Стратегия торговли на основе процентных диапазонов HullMA

Автор:Чао Чжан, Дата: 2024-03-01 12:16:45
Тэги:

img

Обзор

Эта стратегия реализует количественную торговлю путем вычисления скользящей средней и ее процентных полос для принятия решений о входе и стоп-лос. Ее преимущества включают регулируемые параметры, простую реализацию и строгий стоп-лос.

Принцип стратегии

  1. Вычислить средний движущийся размер корпуса корпуса с длиной длины.

  2. Процентные диапазоны xL1, xL3, xL2, xL4 на основе корпуса.

  3. Долгое, когда закрытие пересекается ниже xL2 или xL4, длинное, когда закрытие пересекается выше xL1, xL2 или xL3.

Анализ преимуществ

Преимущества включают:

  1. HullMA чувствительна к изменениям цен и хорошо отслеживает тенденции.

  2. Процентные диапазоны очень поддаются регулированию для различных продуктов.

  3. Стратегия двойных полос эффективно отфильтровывает неправильные сигналы.

  4. Стратегия стоп-лосса эффективно контролирует риски.

Анализ рисков

Некоторые риски:

  1. Преследуя вершины и убивая подводных лодок.

  2. Склонение от частой торговли.

  3. Неправильная настройка параметров приводит к перепродаже.

  4. Позиция стоп-лосса нуждается в итеративной оптимизации.

Руководство по оптимизации

  1. Оптимизировать параметр длины корпуса для различных продуктов.

  2. Оптимизируйте процентные диапазоны, чтобы уменьшить неправильные сделки.

  3. Добавьте краткосрочные операции, чтобы получить больше прибыли.

  4. Оптимизировать стратегию стоп-лосса для обеспечения эффективности.

  5. Испытать прочность различных продуктов.

Заключение

Эта стратегия создает относительно простую торговую систему с использованием 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)
    


Больше