Это стратегия внутридневного трейдинга, которая использует осциллятор AO и перекрестки EMA для генерации торговых сигналов.
Стратегия в основном основана на двух показателях входа и выхода:
Осиллятор AO: измеряет разницу между 5-периодными и 34-периодными средними показателями HL2 для измерения текущего направления тренда.
EMA Crossover: Стратегия использует 3-периодную EMA для краткосрочного тренда и 20-периодную EMA для среднесрочного направления тренда. Золотой крест с 3EMA, движущимся вверх через 20EMA, генерирует сигналы покупки, в то время как кросс смерти с 3EMA, пересекающий 20EMA, генерирует сигналы продажи.
Торги вводятся только тогда, когда AO пересекает свою нулевую линию одновременно с EMA. Это позволяет избежать ошибочных сигналов, когда AO колеблется. Выходы происходят после закрытия Лондонской сессии путем сглаживания всех позиций.
Основными преимуществами этой стратегии являются:
Некоторые риски, которые следует учитывать, включают:
Риски могут быть смягчены с помощью стоп-лосса, адаптивных параметров, настроенных на различные циклы и т.д.
Основные направления оптимизации связаны с настройкой параметров:
Изменения параметров и дополнительные фильтры могут повысить надежность и эффективность стратегии.
В целом, эта тактика внутридневного трейдинга сочетает в себе индикатор тренда AO с перекрестниками EMA для создания простого, но практичного подхода. У нее есть четкие сигналы, которые легко реализовать, но не имеет адаптивных параметров. Дальнейшее тестирование и усовершенствование могут улучшить ее стабильность и соответствие различным рыночным ландшафтам. В целом она предоставляет розничным внутридневным трейдерам отличный выбор.
/*backtest start: 2022-12-18 00:00:00 end: 2023-12-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //@author SoftKill21 strategy(title="MA cross + AO", shorttitle="MA_AO") ao = sma(hl2,5) - sma(hl2,34) len = input(3, minval=1, title="Length") src = input(close, title="Source") out = ema(src, len) len1 = input(20, minval=1, title="Length") src1 = input(close, title="Source") out1 = sma(src1, len1) timeinrange(res, sess) => time(res, sess) != 0 londopen = timeinrange(timeframe.period, "0300-1100") nyopen = timeinrange(timeframe.period, "0800-1600") longC = crossover(out,out1) and ao>0 and londopen shortC = crossunder(out,out1) and ao<0 and londopen invert = input(title="Reverse position ?", type=input.bool, defval=false) if(invert==false) strategy.entry("LONG",1,when=longC) strategy.entry("SHORT",0,when=shortC) if(invert==true) strategy.entry("short",0,when=longC) strategy.entry("long",1,when=shortC) strategy.close_all(when= not (londopen))