Торговая стратегия фильтра бычьего прорыва EMA


Дата создания: 2023-09-12 17:12:22 Последнее изменение: 2023-09-12 17:12:22
Копировать: 1 Количество просмотров: 738
1
Подписаться
1617
Подписчики

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

Принципы стратегии:

  1. Вычислить среднюю линию EMA на n циклов, которая представляет собой среднесрочную и долгосрочную тенденции.

  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)