
Se trata de una estrategia de trading cuantitativa basada en las brechas de valor justo (Fair Value Gaps, FVG), inspirada en los conceptos de dinero inteligente (Smart Money Concepts, SMC) y en la teoría de los desequilibrios de precios en el trading institucional. La estrategia se activa mediante la identificación de los puntos de equilibrio microscópicos en el mercado, lo que activa la operación de señales cuando el precio vuelve a entrar en estas zonas.
El núcleo de la estrategia es identificar y aprovechar las brechas de valor justo (FVG). Las FVG son las áreas por las que los precios saltan en un corto período de tiempo, y representan niveles de precios en los que el mercado no está plenamente operativo, y que generalmente se consideran áreas en las que los precios pueden retroceder en el futuro.
La estrategia se basa principalmente en dos tipos de FVG:
La lógica de la transacción es la siguiente:
La estrategia también incluye un filtro de desvalorización para filtrar huecos lo suficientemente grandes como para evitar el ruido del mercado. El usuario puede configurar manualmente el porcentaje de desvalorización o elegir el modo automático para que la estrategia ajuste los desvalorizaciones en función de la dinámica de la volatilidad histórica.
Identificación de las estructuras de los micro mercadosLa estrategia capta las microestructuras y desequilibrios de los mercados que el análisis técnico convencional puede pasar por alto, y que a menudo representan huellas de la actividad de los fondos de las instituciones.
Punto de entrada exacto: La estrategia proporciona una señal de entrada objetiva y precisa a través de condiciones de FVG claramente definidas, reduciendo los errores de juicio subjetivo.
Estricto control de los riesgosLa configuración fija de 0.10% de Stop Loss asegura que el riesgo de cada operación sea estrictamente controlado y es adecuado para los operadores con una gestión de fondos estricta.
EscalabilidadEl diseño del marco de la estrategia es flexible y puede adaptarse a diferentes condiciones de mercado mediante la adición de filtros adicionales o el ajuste de parámetros.
No hay problemas de repintado: La implementación del código evita los problemas de replanteo y asegura que los resultados de las revisiones históricas se correspondan con el rendimiento del disco real.
Adaptabilidad de múltiples marcos de tiempo: El usuario puede personalizar los parámetros del marco de tiempo, lo que permite que la estrategia se adapte a diferentes entornos de negociación de un período de tiempo de 1 minuto o más.
La frecuencia de las transacciones en línea corta es alta.La estrategia se enfoca en los desequilibrios microscópicos, por lo que puede generar una gran cantidad de señales de negociación y aumentar los costos de negociación, especialmente en entornos de negociación de alta frecuencia.
Interferencias de ruido: En mercados de baja volatilidad o horizontal, las señales FVG pueden contener más ruido, lo que aumenta las falsas señales.
Riesgo de pérdidas fijasEl stop-loss fijo del 0.10%, aunque ofrece un control estricto del riesgo, puede ser demasiado ajustado en mercados altamente volátiles y provocar un disparo frecuente.
El riesgo de una reversión de la tendenciaEn un mercado con una fuerte tendencia, las señales invertidas de FVG pueden conducir a operaciones contrarias a la tendencia principal, aumentando la probabilidad de pérdidas.
Sensibilidad de los parámetros: La configuración de los parámetros de valoración de umbral tiene un impacto significativo en el rendimiento de la estrategia, y los parámetros incorrectos pueden conducir a una optimización excesiva o a perder una señal efectiva.
Los métodos para reducir el riesgo incluyen:
Sistemas de ajuste de las bajas: La estrategia actual ya incluye opciones de desvalorización automática, pero puede optimizarse aún más como un sistema de adaptación basado en indicadores de volatilidad del mercado (como ATR) para que el FVG identifique con mayor precisión el estado actual del mercado.
Confirmación del marco temporal múltiple: Introducción de análisis de múltiples marcos de tiempo, ejecutar operaciones solo cuando la dirección de la tendencia de los marcos de tiempo más altos coincide con la señal de FVG, aumentando la tasa de éxito.
Dinámica de pérdida / paradaReemplazar el stop/stop fijo del 0.10% por un ajuste dinámico basado en la volatilidad del mercado, ampliando automáticamente el rango de stop cuando aumenta la volatilidad y reduciendo el rango cuando disminuye la volatilidad.
Confirmación de la transacción: Agregar análisis de volumen de transacciones en la formación de FVG y el reingreso de precios, ejecutar transacciones solo si hay suficiente soporte de volumen de transacciones, y reducir las falsas señales.
Clasificación del estado del mercadoSistema de identificación automática del estado del mercado (trend, intervalo, alta/baja volatilidad) para ajustar los parámetros de la estrategia o suspender el comercio en función de diferentes estados del mercado.
Aprendizaje automático: Análisis de la probabilidad de éxito de los patrones de FVG históricos a través de algoritmos de aprendizaje automático, creación de modelos predictivos para evaluar la probabilidad de éxito potencial de la señal de FVG actual.
Estas orientaciones de optimización no solo mejoran la solidez de las estrategias, sino que también mejoran su capacidad de adaptación a diferentes entornos de mercado, con el potencial de mejorar la rentabilidad general y reducir los retrocesos.
La estrategia de brecha de valor justo es un sistema de negociación cuantitativa de alta tecnología que se enfoca en capturar los desequilibrios de precios en la microestructura del mercado. Mediante la identificación y ejecución precisa del FVG, la estrategia ofrece a los operadores de línea corta y a los operadores algorítmicos un marco de negociación con reglas claras y estrictos controles de riesgo.
Si bien la estrategia ya ha demostrado su capacidad para capturar los desequilibrios de precios microscópicos en la versión básica, el rendimiento de la estrategia puede ser mejorado aún más mediante la implementación de la dirección de optimización propuesta, en particular, el sistema de parámetros adaptativos y la confirmación de múltiples marcos de tiempo. Es un método que vale la pena considerar para los comerciantes que buscan ejecutar una estrategia de negociación cuantitativa disciplinada en marcos de tiempo cortos.
En última instancia, el éxito de la estrategia depende de la comprensión profunda del comerciante de los conceptos de FVG y la capacidad de ajustar los parámetros en función de las diferentes condiciones del mercado. Combinado con la gestión adecuada del riesgo y la optimización continua, la estrategia de brecha de valor justo puede ser una herramienta eficaz en la cartera de operaciones cuantificadas.
/*backtest
start: 2024-07-09 00:00:00
end: 2025-07-04 08:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("FVG Strategy [algo ] - 0.10% TP/SL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS ===
thresholdPer = input.float(0, "Threshold %", minval = 0, maxval = 100, step = .1, inline = 'threshold')
auto = input(false, "Auto", inline = 'threshold')
tf = input.timeframe("", "Timeframe")
// SL/TP settings (0.10% each)
sl_pct = 0.10
tp_pct = 0.10
// === TYPE ===
type fvg
float max
float min
bool isbull
int t = time
// === DETECTION FUNCTION ===
detect() =>
var new_fvg = fvg.new(na, na, na, na)
threshold = auto ? ta.cum((high - low) / low) / bar_index : thresholdPer / 100
bull_fvg = low > high[2] and close[1] > high[2] and (low - high[2]) / high[2] > threshold
bear_fvg = high < low[2] and close[1] < low[2] and (low[2] - high) / high > threshold
if bull_fvg
new_fvg := fvg.new(low, high[2], true)
else if bear_fvg
new_fvg := fvg.new(low[2], high, false)
[bull_fvg, bear_fvg, new_fvg]
// === FVG Detection ===
[bull_fvg, bear_fvg, new_fvg] = request.security(syminfo.tickerid, tf, detect())
var fvg_records = array.new<fvg>(0)
var t = 0
if (bull_fvg or bear_fvg) and new_fvg.t != t
array.unshift(fvg_records, new_fvg)
t := new_fvg.t
// === ENTRY STRATEGY ===
if array.size(fvg_records) > 0
latest = array.get(fvg_records, 0)
// BUY Logic
if latest.isbull and close <= latest.max and close >= latest.min and strategy.position_size <= 0
sl = close * (1 - sl_pct / 100)
tp = close * (1 + tp_pct / 100)
strategy.entry("Buy FVG", strategy.long)
strategy.exit("TP/SL Long", from_entry="Buy FVG", stop=sl, limit=tp)
// SELL Logic
if not latest.isbull and close >= latest.min and close <= latest.max and strategy.position_size >= 0
sl = close * (1 + sl_pct / 100)
tp = close * (1 - tp_pct / 100)
strategy.entry("Sell FVG", strategy.short)
strategy.exit("TP/SL Short", from_entry="Sell FVG", stop=sl, limit=tp)
// === VISUALIZE FVG ZONES ===
plotshape(bull_fvg, title="Bullish FVG", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(bear_fvg, title="Bearish FVG", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)