Эта стратегия представляет собой перекрестную стратегию, основанную на двух скользящих средних, EMA и SMA. Когда более медленная EMA пересекает более быструю SMA, она генерирует сигнал покупки; когда более медленная EMA пересекает ниже более быстрой SMA, она генерирует сигнал продажи. Стратегия направлена на захват восходящих тенденций на бычьих рынках, обеспечивая при этом некоторую поддержку.
Стратегия использует два скользящих средних: 20-периодную SMA и 21-периодную EMA. Когда EMA пересекает SMA, это указывает на то, что рынок может превратиться в тенденцию к росту, тем самым генерируя сигнал покупки. И наоборот, когда EMA переходит ниже SMA, это указывает на то, что рынок может превратиться в тенденцию к снижению, тем самым генерируя сигнал продажи. Чтобы подтвердить сигналы, стратегия также требует, чтобы текущая цена закрытия была выше предыдущей цены закрытия (для сигналов покупки) или ниже предыдущей цены закрытия (для сигналов продажи).
Стратегия EMA-SMA Crossover Bull Market Support Band - это простая и понятная стратегия, которая особенно подходит для бычьих рынков. Однако стратегия также имеет определенные ограничения, такие как ложные сигналы, задержка и ограниченная способность распознавания тренда. Комбинируя ее с другими индикаторами, оптимизируя параметры и добавляя стоп-лосс и возьмите прибыль, можно еще больше улучшить производительность и надежность стратегии.
/*backtest start: 2023-05-17 00:00:00 end: 2024-05-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © rodrinverte //@version=5 strategy("EMA-SMA Crossover Strategy", overlay=true, initial_capital = 1000) // Definir la longitud de las medias móviles fast = ta.sma(close, 20) slow = ta.ema(close, 21) // Definir condiciones de compra y venta buySignal = ta.crossover(slow, fast) sellSignal = ta.crossunder(slow, fast) // Configurar colores de las líneas y relleno emaColor = buySignal ? color.green : sellSignal ? color.red : color.blue smaColor = color.gray fillColor = slow < fast ? color.new(color.green, 90) : color.new(color.red, 90) // Esperar un periodo para confirmar la señal de compra o venta buyConfirmation = close > close[1] and buySignal sellConfirmation = close < close[1] and sellSignal // Dibujar las medias móviles plot(slow, title="EMA", color=emaColor) plot(fast, title="SMA", color=smaColor) // Configurar las señales de compra y venta plotshape(buyConfirmation, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(sellConfirmation, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Estrategia de compra y venta if (buyConfirmation) strategy.entry("Buy", strategy.long) if (sellConfirmation) strategy.entry("Sell", strategy.short) // Cerrar posición opuesta al cruce original if (sellSignal) strategy.close("Buy") if (buySignal) strategy.close("Sell")