Эта стратегия использует два различных цикла TEMA индикатора для перекрестной торговли, чтобы захватить ценовые тенденции в промежуточных циклах. TEMA индикатор эффективно фильтрует ценовой шум и идентифицирует обратный тренд.
Принципы стратегии:
Вычислить по два средних TEMA быстро и медленно. Типичные параметры: быстрый 5 циклов, медленный 8 циклов.
Когда быстрая линия прорывает медленную линию снизу, выполните несколько операций.
Когда быстрая линия прорывает медленную линию сверху вниз, выполняется операция по ликвидации.
Можно выбрать фильтрацию по направлению к линии, чтобы избежать обратной торговли.
Настройка обратного цикла, имитация исторического торгового сигнала.
Преимущества этой стратегии:
Индекс TEMA хорошо отфильтровывает шум цен.
Постепенно TEMA объединяется, чтобы поймать тенденции среднего цикла.
Фильтрация направления позволяет избежать противоположного положения и повысить вероятность выигрыша.
Риски этой стратегии:
TEMA все еще отстает, возможно, упустив лучший момент входа.
Для достижения оптимального совпадения необходимо оптимизировать комбинацию параметров.
Сигналы в Музыкальной Школе не будут поступать постоянно.
В общем, стратегия отслеживает сделки через два TEMA-креста, эффективно фильтруя шум и повышая стабильность. Однако проблемы с отставанием от TEMA остаются, и параметры должны быть оптимизированы в соответствии с темпами рынка.
/*backtest
start: 2022-09-11 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Tema",overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)
startP = timestamp(input(2017, "Start Year"), input(12, "Start Month"), input(17, "Start Day"), 0, 0)
end = timestamp(input(9999, "End Year"), input(1, "End Month"), input(1, "End Day"), 0, 0)
_testPeriod() =>
iff(time >= startP and time <= end, true, false)
tema_length_1 = input(5, "Fast TEMA")
tema_length_2 = input(8, "Slow TEMA")
usedir = input(true, "Use bar's direction ?" )
dirtime = input(2,"direction bars")
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)
dir=if close/close[dirtime] > 1
1
else
-1
plot(tema1, color=color.green, transp=50)
plot(tema2, color=color.red, transp=50)
up = crossover(tema1, tema2)
down = crossunder(tema1, tema2)
long_condition = up and (usedir ? dir==1 : true) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)
short_condition = down
strategy.close('BUY', when=short_condition)