
El motor de sombra NOCTURNA v2.0 es un sistema de negociación altamente complejo y multi-modo que se adapta automáticamente a diferentes estrategias de negociación en función de las condiciones del mercado. El sistema incluye cuatro modos de negociación principales: EVE (negociación en red), Lucifer (negociación de ruptura), Reaper (negociación de reversión) y SENTINEL (seguimiento de tendencias), y está equipado con un módulo de gestión de riesgos inteligente y un sistema de trazado de stop loss que se adapta automáticamente. El sistema identifica el estado del mercado y selecciona las estrategias de negociación más óptimas en diferentes entornos de mercado, como oscilaciones, tendencias, reversiones y rupturas, para maximizar las oportunidades de ganancias y controlar el riesgo.
El núcleo de NOCTURNA v2.0 está en su reconocimiento del estado del mercado y su mecanismo de conmutación automática en varios modos:
Identificación del estado del mercado:
math.abs(ema50 - ema50[10]) < atr * 0.25)math.abs(ema50 - ema200) > atr and macdLine > signalLine)ta.crossover(ema8, ema34) or ta.crossunder(ema8, ema34))ta.crossover(close, ema200) or ta.crossunder(close, ema200))Logía de cambio de modo:
Logía de las transacciones de los distintos modelos:
gridSpacing)Gestión de riesgos:
volatilitySpike): Bloqueo automático de entrada en entornos de alta volatilidadatr * atrMultSL)tpTarget * close)trailTriggerytrailOffset)La adaptabilidadEl sistema es capaz de reconocer automáticamente el estado del mercado y cambiar al modo de negociación más adecuado, sin necesidad de intervención humana, y es altamente adaptable.
La cobertura de todo el mercadoA través de cuatro modos de negociación diferentes, el sistema puede responder a casi todas las condiciones del mercado, incluyendo oscilaciones horizontales, tendencias claras, inversiones de mercado y brechas de niveles críticos.
Efecto de la rentabilidad de las transacciones de la redEl modelo EVE permite que las transacciones de reticulares capten pequeñas fluctuaciones en mercados convulsionados, logrando un efecto de recuperación a través de ganancias pequeñas y frecuentes.
Gestión de riesgos en varias capasLa estrategia integra mecanismos de control de riesgo de varios niveles, que incluyen filtración de volatilidad, stop loss fijo, stop loss de seguimiento y administración automática de posiciones, para controlar eficazmente el riesgo de una sola operación.
Detención de pérdidas de seguimiento inteligente: Inicia automáticamente el seguimiento de la parada de pérdidas después de alcanzar el nivel de ganancias predeterminado, tanto para bloquear parte de las ganancias como para dar suficiente espacio de respiración al precio y evitar ser sacado del mercado prematuramente.
Interfaz de visualizaciónEl panel HUD integrado muestra en tiempo real los modelos de transacción activados en ese momento y el número de grillas abiertas, lo que mejora la monitorización de la estrategia y la transparencia de la operación.
Sistema de alerta: Sistema de alerta integrado, legible por humanos y en formato JSON, para facilitar la captación de señales por parte de operadores manuales y robots de trading automatizados.
Sensibilidad de los parámetrosLa estrategia depende de varios parámetros clave para juzgar el estado del mercado y ejecutar las operaciones (como el ciclo EMA, el intervalo de la grilla, el múltiplo ATR, etc.). La configuración incorrecta de los parámetros puede causar frecuentes señales erróneas o exceso de operaciones. La solución es optimizar los parámetros a través de la retroalimentación y ajustar los parámetros para diferentes mercados y marcos de tiempo.
Retraso en el cambio de modo: El juicio del estado del mercado y el cambio de patrón puede tener un retraso, lo que lleva al uso de estrategias inapropiadas cerca de los puntos de inflexión. Se puede mejorar introduciendo más indicadores de señales tempranas o acortando el ciclo de juicio.
El riesgo de tendencias en el comercio de redesEl comercio de la rejilla en el modelo EVE puede continuar en la dirección de pérdidas en mercados de fuerte tendencia. La solución es establecer límites de riesgo generales y filtros de tendencia, o suspender el comercio de la rejilla después de identificar una tendencia clara.
La excesiva dependencia de los indicadores técnicos: La estrategia se basa principalmente en indicadores técnicos tradicionales como EMA y MACD, que pueden fallar en ciertas condiciones de mercado. Se recomienda la integración de análisis de relación de precio-valor o algoritmos de identificación de la estructura del mercado para mejorar la precisión de los juicios.
Complejidad del sistemaLa complejidad de los sistemas multimodo aumenta la dificultad de mantener el código y comprender las políticas, lo que puede hacer que sea difícil responder rápidamente a las anomalías en el disco. Se debe establecer un buen proceso de prueba y un mecanismo de tratamiento de emergencia.
Ajuste de parámetros dinámicosLa estrategia actual utiliza parámetros fijos que se pueden optimizar para ajustar automáticamente los parámetros según la volatilidad del mercado, por ejemplo:
Análisis de marcos de tiempo múltiplesIntroducir análisis de múltiples marcos de tiempo para asegurar que la dirección de las operaciones coincida con la tendencia de los marcos de tiempo más grandes y evitar el comercio inverso en la dirección de la tendencia principal. Esto se puede lograr mediante el análisis de EMA y MACD de marcos de tiempo más altos.
Sección de estado del mercadoSeparación de estados del mercado, por ejemplo, entre tendencias fuertes y débiles, convulsiones regulares y contractuales, y configuración de parámetros de negociación para estados de mercado más separados.
Integración de la relación cantidad-precioIntegración de análisis de volumen de transacciones en la estrategia, especialmente en las transacciones de ruptura (en el modelo LUCIFER), para filtrar las falsas rupturas mediante la confirmación de si la ruptura se acompaña de un aumento en el volumen de transacciones.
Adaptación a la gestión de posicionesAjuste el tamaño de la posición en función de la volatilidad del mercado, la ganancia de la modalidad y la dinámica de la situación de pérdidas y ganancias actuales. Aumente la posición en señales de alto grado de certeza y reduzca la abertura de riesgo en un entorno incierto.
Aprendizaje automáticoIntroducción de algoritmos de aprendizaje automático para optimizar la selección de modelos y el ajuste de parámetros para predecir qué modelos son más efectivos en el entorno de mercado actual a través de modelos de entrenamiento de datos históricos.
La confluencia de los indicadores emocionales: Integración de indicadores de la emoción del mercado (como el índice VIX o el índice de pánico en un mercado específico), ajuste de la acción estratégica o suspensión de la negociación en un entorno de emoción extrema.
El motor de sombra NOCTURNA v2.0 es un innovador sistema de negociación autoadaptado en varios modos que ofrece estrategias de negociación específicamente optimizadas para diferentes entornos de mercado a través de la identificación inteligente del estado del mercado y el cambio de estrategia. Combina las ventajas de la negociación en la red, el seguimiento de tendencias, el cambio de tendencia y el breakout, y está equipado con un mecanismo completo de gestión de riesgos, que incluye el stop loss dinámico, el stop loss de seguimiento inteligente y el filtrado de volatilidad.
La principal ventaja de esta estrategia reside en su amplia cobertura de mercado y adaptabilidad, que permite mantener un rendimiento estable en diferentes entornos de mercado. Sin embargo, la complejidad y la sensibilidad de los parámetros del sistema también conllevan ciertos riesgos y desafíos de optimización. La estrategia promete mejorar aún más su estabilidad y rentabilidad mediante la introducción de medidas de optimización como ajuste de parámetros dinámicos, análisis de múltiples marcos de tiempo, segmentación de estados de mercado más precisa y mejoras en el aprendizaje automático.
Finalmente, NOCTURNA v2.0 ofrece un robusto marco de negociación que es adecuado para que los operadores experimentados lo apliquen a la negociación en el mercado real, bajo una adecuada gestión de riesgos, o como una plantilla básica para el desarrollo de sistemas de negociación más complejos.
/*backtest
start: 2025-02-01 00:00:00
end: 2025-06-02 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("NOCTURNA v2.0 – Shadow Engine: Trail Edition", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=2)
// === USER SETTINGS ===
useSL = true
useTP = true
useTrail = true
trailTrigger = 1.5 // % before trail starts
trailOffset = 0.75 // % trail distance
manualMode = input.string("AUTO", title="Mode", options=["AUTO", "EVE", "LUCIFER", "REAPER", "SENTINEL"])
gridSpacing = 0.015
maxLayers = 4
atrMultSL = 1.5
tpTarget = 0.015
// === INDICATORS ===
ema8 = ta.ema(close, 8)
ema34 = ta.ema(close, 34)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
atr = ta.atr(14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
volatilitySpike = math.abs(close - open) > 3 * atr
// === AUTO MODE LOGIC ===
isRanging = math.abs(ema50 - ema50[10]) < atr * 0.25
isTrending = math.abs(ema50 - ema200) > atr and macdLine > signalLine
isReversing = ta.crossover(ema8, ema34) or ta.crossunder(ema8, ema34)
isBreakout = ta.crossover(close, ema200) or ta.crossunder(close, ema200)
var string activeMode = "None"
if manualMode != "AUTO"
activeMode := manualMode
else
if isRanging
activeMode := "EVE"
else if isReversing
activeMode := "REAPER"
else if isTrending
activeMode := "SENTINEL"
else if isBreakout
activeMode := "LUCIFER"
// === BASE FOR GRID ===
var float basePrice = na
if na(basePrice) or activeMode != "EVE"
basePrice := close
var int openTrades = 0
openTrades := 0
// === GRID (EVE) ===
for i = 1 to maxLayers
longLevel = basePrice * (1 - gridSpacing * i)
shortLevel = basePrice * (1 + gridSpacing * i)
if activeMode == "EVE" and not volatilitySpike
if close <= longLevel
id = "EVE L" + str.tostring(i)
strategy.entry(id, strategy.long)
sl = close - atrMultSL * atr
tp = useTP ? close + tpTarget * close : na
strategy.exit("TP/SL " + id, from_entry=id, stop=useSL ? sl : na, limit=tp)
openTrades += 1
if close >= shortLevel
id = "EVE S" + str.tostring(i)
strategy.entry(id, strategy.short)
sl = close + atrMultSL * atr
tp = useTP ? close - tpTarget * close : na
strategy.exit("TP/SL " + id, from_entry=id, stop=useSL ? sl : na, limit=tp)
openTrades += 1
// === TRAILING STOP FUNCTION ===
f_trailStop(side, id) =>
if useTrail
trigger = close * (trailTrigger / 100)
offset = close * (trailOffset / 100)
if side == "long"
strategy.exit("Trail " + id, from_entry=id, trail_price=trigger, trail_offset=offset)
else
strategy.exit("Trail " + id, from_entry=id, trail_price=trigger, trail_offset=offset)
// === LUCIFER MODE ===
if activeMode == "LUCIFER" and not volatilitySpike
if ta.crossover(close, ema50)
strategy.entry("Lucifer Long", strategy.long)
f_trailStop("long", "Lucifer Long")
if ta.crossunder(close, ema50)
strategy.entry("Lucifer Short", strategy.short)
f_trailStop("short", "Lucifer Short")
// === REAPER MODE ===
if activeMode == "REAPER" and not volatilitySpike
if ta.crossover(ema8, ema34)
strategy.entry("Reaper Long", strategy.long)
f_trailStop("long", "Reaper Long")
if ta.crossunder(ema8, ema34)
strategy.entry("Reaper Short", strategy.short)
f_trailStop("short", "Reaper Short")
// === SENTINEL MODE ===
if activeMode == "SENTINEL" and not volatilitySpike
if ema50 > ema200 and macdLine > signalLine
strategy.entry("Sentinel Long", strategy.long)
f_trailStop("long", "Sentinel Long")
if ema50 < ema200 and macdLine < signalLine
strategy.entry("Sentinel Short", strategy.short)
f_trailStop("short", "Sentinel Short")
// === DASHBOARD PANEL ===
var label panel = na
label.delete(panel)
panel := label.new(bar_index, high,
"NOCTURNA v2.0\nMode: " + activeMode + "\nOpen Grids: " + str.tostring(openTrades),
style=label.style_label_left, textcolor=color.white, color=color.black)
// === ALERTS – Human Readable
alertcondition(activeMode == "EVE", title="EVE Signal", message="🕊️ NOCTURNA: EVE Grid")
alertcondition(activeMode == "LUCIFER", title="Lucifer Signal", message="🔥 NOCTURNA: LUCIFER Breakout")
alertcondition(activeMode == "REAPER", title="Reaper Signal", message="☠️ NOCTURNA: REAPER Reversal")
alertcondition(activeMode == "SENTINEL", title="Sentinel Signal", message="🛡️ NOCTURNA: SENTINEL Trend")
// === ALERTS – JSON for Bots
alertcondition(activeMode == "EVE", title="JSON EVE", message='{"mode":"EVE","ticker":"{{ticker}}","price":"{{close}}"}')
alertcondition(activeMode == "LUCIFER", title="JSON LUCIFER", message='{"mode":"LUCIFER","ticker":"{{ticker}}","price":"{{close}}"}')
alertcondition(activeMode == "REAPER", title="JSON REAPER", message='{"mode":"REAPER","ticker":"{{ticker}}","price":"{{close}}"}')
alertcondition(activeMode == "SENTINEL", title="JSON SENTINEL", message='{"mode":"SENTINEL","ticker":"{{ticker}}","price":"{{close}}"}')
// === VISUAL PLOT
plot(ema50, title="EMA 50", color=color.gray)