
La estrategia es un sistema de trading de seguimiento de tendencias basado en el cruce de las medias móviles rápidas y lentas de los índices ((EMA)). Genera una señal de compra y venta más confiable mediante la confirmación de la relación de posición de los precios con las líneas de doble promedio. La estrategia tiene una función de configuración de períodos de tiempo de retroceso para evaluar el rendimiento de la estrategia en un período de tiempo específico.
La estrategia utiliza EMAs de 10 y 20 ciclos como indicadores centrales. Cuando el EMA rápido sube por encima del EMA lento y el precio de cierre está por encima de las dos medias, se activa una señal múltiple; cuando el EMA rápido baja por encima del EMA lento y el precio de cierre está por debajo de las dos medias, se activa una señal de vacío. Este mecanismo de doble confirmación aumenta la fiabilidad de la señal.
Esta es una estrategia de seguimiento de tendencias con una estructura clara y una lógica rigurosa. A través de un mecanismo de confirmación de precios combinado con un cruce de doble línea uniforme, se equilibra eficazmente la puntualidad y la confiabilidad de la señal. La estrategia tiene una buena escalabilidad y puede mejorar aún más el rendimiento mediante la optimización.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-10-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BFXGold
//@version=5
strategy("BFX Buy and Sell", overlay=true)
// Inputs
ema_fast_length = input.int(10, title="Fast EMA Length")
ema_slow_length = input.int(20, title="Slow EMA Length")
// Calculate EMAs
ema_fast = ta.ema(close, ema_fast_length)
ema_slow = ta.ema(close, ema_slow_length)
// Confirmation candles
confirmation_above = close > ema_fast and close > ema_slow
confirmation_below = close < ema_fast and close < ema_slow
// Crossovers with confirmation
long_condition = ta.crossover(ema_fast, ema_slow) and confirmation_above
short_condition = ta.crossunder(ema_fast, ema_slow) and confirmation_below
// Plot signals
if (long_condition )
label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.new(color.green, 0), textcolor=color.white)
if (short_condition)
label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.new(color.red, 0), textcolor=color.white)
// Strategy execution for backtesting
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Plot EMAs
plot(ema_fast, title="Fast EMA (10)", color=color.blue, linewidth=1)
plot(ema_slow, title="Slow EMA (20)", color=color.orange, linewidth=1)