Эта стратегия выполняет только несколько операций, используя ATR для создания каналов, фильтрации ложных прорывных сигналов EMA-уровня, преследуя стабильную многоголовую торговлю. Эта стратегия относится к категории стратегий отслеживания тенденций.
Принципы стратегии:
Вычислить среднюю линию EMA на n циклов, которая представляет собой среднесрочную и долгосрочную тенденции.
Вычислить n циклов ATR, чтобы построить диапазон каналов вверх и вниз по рельсам.
Проведение многократных операций, когда цены прорывают канал сверху вниз.
Проведение одноразового выравнивания позиций, когда цена прорывает канал сверху вниз.
Настройка ATR-каналов позволяет эффективно отфильтровывать небольшие или кратковременные ложные прорывы.
Преимущества этой стратегии:
Использование ATR-каналов позволяет повысить надежность многосигнала.
В этом случае, как и в случае с другими людьми, вы можете быть уверены в том, что у вас есть право выбирать.
Оптимизация параметров проста и легко адаптируется к различным типам рынков.
Риски этой стратегии:
“Все, что мы делаем, - это работа над собой.
EMA и ATR имеют проблемы с задержкой, и их вход в систему не очень хорош.
В течение долгого времени на рынке было сложно получить постоянный сигнал.
В общем, эта стратегия является простой стратегией отслеживания тенденций, которая позволяет добиться наилучших результатов в многоголосной ситуации, но следует быть бдительным в отношении задержек и продолжающихся потрясений.
/*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)