Прорывный фильтр EMA Долгая только стратегия торговли

Автор:Чао Чжан, Дата: 2023-09-12 17:12:22
Тэги:

Эта стратегия использует канал ATR для фильтрации фальшивых прорывов EMA для стабильных длинных сделок, следующих за трендом.

Логика стратегии:

  1. Расчет N-период EMA как среднесрочной тенденции.

  2. Вычислить n-периодный ATR для диапазонов каналов диапазона.

  3. Продолжайте, когда цена перешагнут верхний канал.

  4. Выход длинный, когда цена проходит ниже дна канала.

  5. Канал ATR фильтрует незначительные или краткосрочные ложные прорывы.

Преимущества:

  1. Канал ATR улучшает надежность длинных сигналов.

  2. Длинный только уменьшает сложность и риски.

  3. Простая оптимизация легко адаптируется на рынках.

Риски:

  1. Не в состоянии извлечь выгоду из коротких ходов.

  2. Как EMA, так и ATR отстают, что приводит к плохим срокам входа.

  3. Трудно поддерживать сигналы на длительных расстояниях.

Подводя итог, эта простая система может хорошо работать в бычьих тенденциях, но требует осторожности в отношении отстающих индикаторов и колеблющихся рынков.


/*backtest
start: 2020-09-11 00:00:00
end: 2021-04-17 00:00:00
period: 7d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(21,  minval=1, title="Length")

price = sma(close, 2)
average = ema(close, len)
diff = atr(len)
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level)
bear_cross = crossover(bear_level, price)

strategy.entry("Buy", strategy.long, when=bull_cross) 
strategy.close("Buy", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
    
plot(price, title="price", color=green, transp=50, linewidth = 4)
plot(average, title="average", color=red, transp=50, linewidth = 4)
a1 = plot(bull_level, title="bull", color=red, transp=50, linewidth = 1)
a2 = plot(bear_level, title="bear", color=red, transp=50, linewidth = 1)
fill(a2, a1, color=red, transp=95)


Больше