Стратегия колебаний высокой и низкой средней TEMA

Автор:Чао Чжан, Дата: 2023-11-15 17:49:52
Тэги:

img

Обзор

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

Принцип

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

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

Специфическое правило выхода заключается в следующем: когда VWMACD пересекается выше 0, цена превышает HMA или быстрая TEMA пересекается выше медленной TEMA, закрытая позиция.

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

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

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

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

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

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

Заключение

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


/*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)))

Больше