
La estrategia es una estrategia de cruce basada en dos medias móviles, la EMA y la SMA. Cuando la EMA más lenta cruza la SMA más rápida de abajo hacia arriba, produce una señal de compra; cuando la EMA más lenta cruza la SMA más rápida de arriba hacia abajo, produce una señal de venta. La estrategia pretende capturar una tendencia alcista en un mercado alcista, al mismo tiempo que proporciona un cierto soporte.
La estrategia utiliza dos medias móviles: el SMA de 20 ciclos y el EMA de 21 ciclos. Cuando el EMA cruza el SMA de abajo hacia arriba, indica que el mercado puede estar girando hacia arriba y hacia arriba, lo que genera una señal de compra. Por el contrario, cuando el EMA cruza el SMA de arriba hacia abajo, indica que el mercado puede estar girando hacia abajo, lo que genera una señal de venta. Para confirmar la señal, la estrategia también requiere que el precio de cierre actual sea superior al precio de cierre anterior (signo de compra) o inferior al precio de cierre anterior (signo de venta).
La estrategia de la banda de soporte de la bolsa de valores es una estrategia de seguimiento de tendencias simple y fácil de entender, especialmente adecuada para el mercado de valores. Sin embargo, la estrategia también tiene ciertas limitaciones, como falsas señales, atraso y capacidad limitada para identificar tendencias, etc. El rendimiento y la estabilidad de la estrategia se pueden mejorar aún más mediante la combinación de otros indicadores, parámetros de optimización y la adición de paradas de pérdida.
/*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")