Стратегия колебания средней TEMA High и Low


Дата создания: 2023-11-15 17:49:52 Последнее изменение: 2023-11-15 17:49:52
Копировать: 0 Количество просмотров: 655
1
Подписаться
1617
Подписчики

Стратегия колебания средней TEMA High и Low

Обзор

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

Принципы

Сначала вычислите VWMACD ((различие между обычным MACD заключается только в том, что вычисляется движущаяся средняя) и нарисуйте ее в виде столбика. Затем добавьте HMA в качестве фильтра тренда. Затем создайте и добавьте быструю линию TEMA ((5 циклов) и медленную линию TEMA ((8 циклов) и вычислите разницу между ними, чтобы нарисовать ее вблизи оси 0.

Конкретные правила входа: пустота, когда VWMACD ниже 0-ой оси, цена ниже средней линии HMA и скоростная линия TEMA ниже медленной линии TEMA.

Конкретные правила выхода из игры: когда VWMACD проходит 0-угол, цена выше средней линии HMA или скоростной линии TEMA проходит медленную линию TEMA.

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

  • Использование трех комбинаций индикаторов повышает надежность торговых сигналов
  • VWMACD может распознавать отклонения от тенденций и предоставлять более точные оценки
  • HMAfilt как фильтр тенденций, чтобы избежать ошибочного шума
  • Потихоньку по портфелю TEMA, чтобы поймать кратковременную обратную точку
  • Использование краткосрочных параметров, подходящих для высокочастотного трейдинга, для захвата краткосрочных падений

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

  • Многопоказательная комбинация, параметры сложнее, требует опыта для настройки
  • Несмотря на наличие фильтров HMA, необходимо предотвратить фальшивые прорывы на рынке волатильности
  • Краткоциклические параметры подвержены рыночному шуму и ошибочным сигналам.
  • Необходимо строго контролировать стоп-лосс, чтобы избежать значительных потерь, превышающих ожидания
  • Необходимо обратить внимание на контроль затрат на транзакции, так как высокочастотные транзакции могут быть повреждены в результате трения с комиссионными.

Направление оптимизации

  • Можно тестировать комбинации параметров для разных циклов, чтобы найти оптимальные параметры
  • Дополнительные показатели, такие как RSI, KD и другие, могут быть добавлены.
  • Можно использовать адаптируемые параметры в зависимости от рыночных условий
  • Можно оптимизировать стратегии по удержанию убытков, например, по удержанию убытков по цене
  • Включение количественных показателей позволяет избежать ложных прорывов с недостаточным количеством энергии.

Подвести итог

В этой стратегии используется комбинация VWMACD, HMA и быстрого TEMA, Ziel в поимке краткосрочного падения биткоина. Его преимущество заключается в том, что сигнал более надежный, подходящий для высокочастотных торгов. Но также существует риск, связанный с оптимизацией параметров, подверженных помехам от шума и т. Д.

Исходный код стратегии
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="TEMA_HMA_VWMACD short strategy", shorttitle="Short strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.018, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(9999,1,1,0,0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)
    

slow = input(13, "Short period")
fast = input(21, "Long period")
signal = input(5, "Smoothing period")

Fast = ema( volume * close, fast ) / ema( volume, fast ) 
Slow = ema( volume * close, slow ) / ema( volume, slow ) 
Macd = Slow - Fast 
Signal = ema(Macd, signal) 
Hist=Macd-Signal
plot(Hist, color=color.silver, linewidth=1, style=plot.style_histogram)
plot(0, color=color.red)

length = input(400, minval=1, title = "HMA")
hullma = wma(2*wma(close, length/2)-wma(close, length), floor(sqrt(length)))

tema_length_1 = input(5, "Fast moving TEMA")
tema_length_2 = input(8, "Slow moving TEMA")


tema(sec, length)=>
    tema1= ema(sec, length)
    tema2= ema(tema1, length)
    tema3= ema(tema2, length)
    tema = 3*tema1-3*tema2+tema3

tema1 = tema(hlc3, tema_length_1)
tema2 = tema(hlc3, tema_length_2)

threshold  = 0
tm = tema1 - tema2
plot_fast = plot(tm, color = tm > 0 ? color.green : color.red)
plot(threshold, color=color.purple)

up =  crossover(tm, 0) 
down = crossunder(tm, 0)

longCondition =  (Hist < 0) and hullma > close and (tema1 < tema2)  and _testPeriod() 
strategy.entry('BUY', strategy.short, when=longCondition)  
 
shortCondition =  (Hist > 0) or hullma < close or up
strategy.close('BUY', when=shortCondition)


// Take profit  
tp = input(1, type=input.float, title='Take Profit (%)')  
sl = input(4, type=input.float, title='Stop Loss (%)')  
strategy.exit('XLong', from_entry='BUY', profit=(close * (tp/100) * (1/syminfo.mintick)), loss=(close * (sl/100) * (1/syminfo.mintick)))