Стратегия пересекающей скользящей средней рассчитывает скользящие средние различных периодов и использует их пересечения в качестве торговых сигналов.
Стратегия рассчитывает 3 скользящих средних с различными периодами: 34-периодическая EMA, 89-периодическая EMA и 200-периодическая EMA. Сначала она вычисляет эти 3 MAs, а затем графизирует их в различных цветах и линейных ширинах для четкой идентификации.
Торговые сигналы генерируются на основе перекресток между различными МА: когда быстрый МА пересекает средний МА, он запускает сигнал покупки; когда быстрый МА пересекает средний МА, он запускает сигнал продажи. Это относится к агрессивной стратегии торговли.
Чтобы отфильтровать избыточный шум, стратегия также использует медленный MA. Только когда быстрый MA пересекает медленный MA одновременно, фактические сигналы покупки и продажи будут задействованы. Например, только когда быстрый MA пересекает как средний, так и медленный MA, будет генерироваться сигнал покупки. Это гарантирует, что сделки происходят только тогда, когда происходят значительные изменения тренда.
Стратегия пересечения скользящих средних является типичной стратегией технического анализа. Она наблюдает за взаимосвязью между МА разных временных рамок для определения точек переворота рынка. Одновременное использование быстрых, средних и медленных МА может быстро реагировать на тенденции и эффективно фильтровать поддельные сигналы. При правильном настройке параметров она может быть гибкой для разных рыночных условий. Тем не менее, необходимо учитывать проблемы с отставанием МА. В целом стратегия имеет интуитивную логику и стоит проверять и оптимизировать на живых рынках.
/*backtest start: 2022-10-30 00:00:00 end: 2023-11-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="EMA 34, 89, 200 e cruzamento das EMA", overlay=true) // Input options fastMALen = input(title="Fast MA", defval=34) midMALen = input(title="Medium MA", defval=89) slowMALen = input(title="Slow MA", defval=200) // Calculate values fastMA = ema(close, fastMALen) midMA = ema(close, midMALen) slowMA = ema(close, slowMALen) // Plot values plot(series=fastMA, color=yellow, title="Fast MA", linewidth=3, trackprice=false) plot(series=midMA, color=red, title="Mid MA", linewidth=4, trackprice=false) plot(series=slowMA, color=white, title="Slow MA", linewidth=5) // Highlight crossovers longCondition = crossover(ema(close, 34), ema(close, 200)) if (longCondition) strategy.entry("COMPRA FINAL", strategy.long) longCondition1 = crossover(ema(close, 34), ema(close, 89)) if (longCondition1) strategy.entry("COMPRA INICIAL", strategy.long) shortCondition = crossunder(ema(close, 34), ema(close, 200)) if (shortCondition) strategy.entry("VENDE FINAL", strategy.short) shortCondition1 = crossunder(ema(close, 34), ema(close, 89)) if (shortCondition1) strategy.entry("VENDE INICIAL", strategy.short)