
La estrategia es un sistema de seguimiento de tendencias dinámicas que combina las medias móviles de índices (EMA) y las formas de gráficos de barras. Identifica las tendencias del mercado mediante la identificación de formas de gráficos de barras específicas (agullas y formas de absorción), combina el indicador EMA rápido y lento, y usa el indicador ATR para medir la volatilidad del mercado. La idea central de la estrategia es identificar el momento exacto de entrada a través de formas de gráficos de barras en caso de confirmación de tendencias en el mercado.
La estrategia incluye tres componentes centrales:
Las condiciones de entrada son estrictas y requieren una confirmación conjunta de tendencias y formas: las entradas múltiples requieren ver una forma de gráficos de múltiples tiros, mientras que el mercado está en una tendencia alcista; las entradas en blanco requieren ver una forma de gráficos de tiros vacíos, mientras que el mercado está en una tendencia descendente.
Esta es una estrategia de seguimiento de tendencias bien estructurada, que ofrece un sistema de negociación relativamente fiable mediante la combinación de varias herramientas de análisis técnico. Si bien la versión actual tiene algunas áreas que necesitan ser mejoradas, su lógica central es razonable.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Candlestick Bible: Dynamic Price Follower (Corrected)", overlay=true, pyramiding=0, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
//=======================
// 1. PATTERN DETECTION
//=======================
// Pin Bar Detection
bodySize = math.abs(close - open)
upperShadow = high - math.max(close, open)
lowerShadow = math.min(close, open) - low
isBullishPin = (lowerShadow >= 2 * bodySize) and (upperShadow <= bodySize / 2)
isBearishPin = (upperShadow >= 2 * bodySize) and (lowerShadow <= bodySize / 2)
// Engulfing Pattern
isBullishEngulf = (close[1] < open[1]) and (close > open) and (close > open[1]) and (open < close[1])
isBearishEngulf = (close[1] > open[1]) and (close < open) and (close < open[1]) and (open > close[1])
//=======================
// 2. DYNAMIC TREND SYSTEM
//=======================
emaFast = ta.ema(close, 8)
emaSlow = ta.ema(close, 21)
marketTrend = emaFast > emaSlow ? "bullish" : "bearish"
//=======================
// 3. PRICE MOVEMENT SYSTEM
//=======================
atr = ta.atr(14)
//=======================
// 4. STRATEGY RULES
//=======================
longCondition = (isBullishPin or isBullishEngulf) and marketTrend == "bullish" and close > emaSlow
shortCondition = (isBearishPin or isBearishEngulf) and marketTrend == "bearish" and close < emaSlow
//=======================
// 5. STRATEGY ENTRIES
//=======================
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
//=======================
// 6. VISUAL FEEDBACK
//=======================
plot(emaFast, "Fast EMA", color=color.blue)
plot(emaSlow, "Slow EMA", color=color.red)
plotshape(longCondition, "Long Signal", shape.triangleup, location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, "Short Signal", shape.triangledown, location.abovebar, color=color.red, size=size.small)