
Esta estrategia combina señales de cruce de fase con un promedio móvil exponencial de múltiples períodos para capturar oportunidades de compra y venta en el mercado suavizando el cruce del oscilador y la tendencia EMA. La estrategia utiliza el cruce de la fase líder y la fase rezagada para generar señales comerciales, y combina promedios móviles exponenciales de 13, 26, 50, 100 y 200 períodos para confirmar las tendencias del mercado, proporcionando una solución integral de seguimiento de tendencias y comercio a corto plazo.
La lógica central de la estrategia contiene dos partes principales: el sistema de cruce de fase y el sistema de confirmación de tendencia EMA. El sistema de cruce de fases utiliza un promedio móvil simple (SMA) con un sesgo ascendente como fase principal y un promedio móvil exponencial (EMA) con un sesgo descendente como fase rezagada. Se genera una señal de compra cuando la fase líder cruza por encima de la fase rezagada, y se genera una señal de venta cuando cruza por debajo. El sistema de confirmación de tendencia EMA utiliza un promedio móvil exponencial de múltiples períodos (13/26/50/100/200) para confirmar la tendencia general del mercado, y el cruce de las EMA de 13 y 26 períodos sirve como señales comerciales secundarias.
Esta estrategia combina un cruce de fases con un sistema EMA de múltiples períodos para crear un sistema de negociación de seguimiento de tendencias integral. La estrategia tiene las ventajas de señales claras, comprensión precisa de la tendencia y control razonable del riesgo, pero también tiene ciertos retrasos y riesgos de señales falsas. Al agregar medidas de optimización como el filtrado de volatilidad y la confirmación de volumen, se puede mejorar aún más la estabilidad y confiabilidad de la estrategia. Esta estrategia es adecuada para su uso en mercados con tendencias obvias y los operadores necesitan ajustar los parámetros en función de las características específicas del mercado y las preferencias de riesgo personales.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Phase Cross Strategy with Zone", overlay=true)
// Inputs
length = input.int(20, title="Smoothing Length")
source = input(close, title="Source")
offset = input.float(0.5, title="Offset Amount", minval=0.0) // Offset for spacing
// Simulating "Phases" with Smoothed Oscillators
lead_phase = ta.sma(source, length) + offset // Leading phase with offset
lag_phase = ta.ema(source, length) - offset // Lagging phase with offset
// Signal Logic
buySignal = ta.crossover(lead_phase, lag_phase)
sellSignal = ta.crossunder(lead_phase, lag_phase)
// Plot Phases (as `plot` objects for `fill`)
lead_plot = plot(lead_phase, color=color.green, title="Leading Phase", linewidth=1)
lag_plot = plot(lag_phase, color=color.red, title="Lagging Phase", linewidth=1)
// Fill Zone Between Phases
fill_color = lead_phase > lag_phase ? color.new(color.green, 90) : color.new(color.red, 90)
fill(plot1=lead_plot, plot2=lag_plot, color=fill_color, title="Phase Zone")
// Plot Buy and Sell Signals
plotshape(buySignal, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), title="Buy Signal", size=size.small)
plotshape(sellSignal, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), title="Sell Signal", size=size.small)
// Strategy Entry and Exit
if buySignal
strategy.entry("Buy", strategy.long)
if sellSignal
strategy.close("Buy")
//indicator("EMA 13, 26, 50, 100, and 200 with Crossover, Value Zone, and Special Candles", overlay=true)
// Define the EMAs
ema13 = ta.ema(close, 13)
ema26 = ta.ema(close, 26)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)
// Plot the EMAs
plot(ema13, color=color.blue, linewidth=2, title="EMA 13")
plot(ema26, color=color.red, linewidth=2, title="EMA 26")
plot(ema50, color=color.orange, linewidth=2, title="EMA 50")
plot(ema100, color=color.green, linewidth=2, title="EMA 100")
plot(ema200, color=color.purple, linewidth=2, title="EMA 200")
// Crossover conditions
uptrend = ta.crossover(ema13, ema26) // EMA 13 crosses above EMA 26 (buy)
downtrend = ta.crossunder(ema13, ema26) // EMA 13 crosses below EMA 26 (sell)
// Plot buy/sell arrows
plotshape(series=uptrend, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal")
plotshape(series=downtrend, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal")