
NOCTURNA v2.0 Shadow Engine est un système de négociation hautement sophistiqué, multi-modes et auto-adaptatif, capable de basculer automatiquement entre différentes stratégies de négociation en fonction des conditions du marché. Le système comprend quatre modes de négociation principaux: EVE (transaction sur grille), LUCIFER (transaction de rupture), REAPER (transaction d’inversion) et SENTINEL (traçage de tendance), et est équipé d’un module de gestion des risques intelligent et d’un système de fonctionnalités d’arrêt de perte de suivi auto-adaptatif.
Le cœur de NOCTURNA v2.0 réside dans sa reconnaissance de l’état du marché et son mécanisme de commutation autonome multi-modes:
Identifier l’état du marché:
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))Logistique de commutation de mode:
Logique de négociation des modes:
gridSpacing)Gestion des risques:
volatilitySpike): Interdiction automatique de l’entrée dans un environnement à forte volatilitéatr * atrMultSL)tpTarget * close)trailTriggerettrailOffset)Une grande capacité d’adaptationLe système est capable de reconnaître automatiquement l’état du marché et de basculer vers le mode de négociation le plus approprié, sans intervention humaine, avec une grande adaptabilité.
Une couverture complète du marchéLe système est capable de répondre à presque toutes les conditions de marché, y compris les fluctuations horizontales, les tendances claires, les retournements de marché et les ruptures de niveaux critiques, grâce à quatre modes de négociation différents.
Le retour sur investissement de la grilleLe modèle EVE permet de capturer de petites fluctuations dans un marché en crise et d’obtenir un effet de rebond grâce à de fréquentes petites gains.
Gestion des risques à plusieurs niveauxLa stratégie intègre des mécanismes de contrôle du risque à plusieurs niveaux, y compris le filtrage de la volatilité, les arrêts fixes, le suivi des arrêts et la gestion automatique des positions, afin de contrôler efficacement le risque d’une seule transaction.
Le suivi intelligent des pertes: La mise en place automatique d’un stop loss après la réalisation d’un niveau de profit prédéfini, qui permet de bloquer une partie des bénéfices tout en laissant suffisamment de marge de manœuvre au prix pour éviter une sortie prématurée du marché.
Interface visualiséeLe panneau HUD intégré affiche en temps réel les modes de transaction actuellement activés et le nombre de grilles ouvertes, ce qui améliore la surveillance et la transparence opérationnelle de la stratégie.
Système d’alerte: Système d’alerte intégré, lisible par l’homme et au format JSON, permettant aux traders manuels et aux robots de trading automatisés d’obtenir des signaux.
Paramètre SensibilitéLa stratégie repose sur plusieurs paramètres clés (par exemple, les cycles EMA, l’espacement de la grille, le multiplicateur ATR, etc.) pour juger de l’état du marché et exécuter des transactions. Une mauvaise configuration des paramètres peut entraîner des signaux erronés fréquents ou des transactions excessives. La solution consiste à optimiser les paramètres en les analysant et en les ajustant pour différents marchés et périodes.
Délai de commutation de mode: Il peut y avoir des retards dans le jugement de l’état du marché et la commutation des modèles, ce qui conduit à l’utilisation de stratégies inappropriées près des points de basculement. Des améliorations peuvent être apportées en introduisant plus d’indicateurs de signaux plus tôt ou en raccourcissant le cycle de jugement.
Le risque de tendance des transactions sur grilleLe trading en grille en mode EVE peut continuer à prendre des risques et à perdre de l’argent dans un marché en forte tendance. La solution consiste à définir des limites de risque globales et des filtres de tendance, ou à suspendre le trading en grille après l’identification d’une tendance claire.
Une dépendance excessive à l’égard des indicateurs techniques: La stratégie est principalement basée sur des indicateurs techniques traditionnels tels que les EMA et MACD, qui peuvent ne pas fonctionner dans certaines conditions de marché. L’analyse intégrée des relations de quantité et de prix ou l’algorithme de reconnaissance de la structure du marché est recommandée pour améliorer l’exactitude des jugements.
Complexité du système: La complexité des systèmes multimode augmente la difficulté de la maintenance du code et de la compréhension des stratégies, ce qui peut entraîner une difficulté à réagir rapidement aux anomalies dans le disque dur. Des processus de test et des mécanismes de traitement des urgences appropriés doivent être mis en place.
Ajustement des paramètres dynamiques: La stratégie actuelle utilise des paramètres fixes qui peuvent être optimisés pour s’adapter automatiquement en fonction de la volatilité du marché, par exemple:
Analyse de plusieurs périodesIntroduction de l’analyse multi-châtres pour s’assurer que la direction des transactions est cohérente avec la tendance des grandes périodes et éviter de faire des transactions inverses dans la direction de la tendance principale. Ceci peut être réalisé en analysant les EMA et MACD des grandes périodes.
Segmentation par état du marché: segmenter davantage les états du marché, par exemple en distinguant les tendances fortes des tendances faibles, les chocs réguliers et les chocs de contraction, etc., et personnaliser les paramètres de négociation pour les états du marché plus segmentés.
Intégration des prix et des quantités: intégrer l’analyse des volumes dans la stratégie, en particulier dans les transactions de rupture (modèle LUCIFER), pour filtrer les fausses ruptures en confirmant si la rupture est accompagnée d’une augmentation du volume des transactions.
Adaptation à la gestion de positionAjuster la taille de la position en fonction de la volatilité du marché, de la probabilité de victoire du modèle et de la dynamique de la situation actuelle des pertes et des pertes, augmenter la position sur les signaux de confiance élevée, réduire l’exposition au risque dans un environnement incertain.
Le renforcement de l’apprentissage automatiqueL’introduction d’algorithmes d’apprentissage automatique pour optimiser le choix des modèles et l’ajustement des paramètres afin de prédire les modèles les plus efficaces dans l’environnement actuel du marché grâce à des modèles de formation basés sur des données historiques.
La convergence des indicateurs émotionnelsL’intégration d’indicateurs de l’émotion du marché (comme le VIX ou l’indice de panique pour un marché particulier), l’ajustement de la stratégie ou la suspension des transactions dans un environnement émotionnel extrême.
Le moteur d’ombre NOCTURNA v2.0 est un système de négociation innovant, multimode et auto-adaptatif, qui fournit des stratégies de négociation spécialement optimisées pour différents environnements de marché grâce à une reconnaissance intelligente de l’état du marché et à une commutation stratégique. Il combine les avantages de la négociation sur grille, du suivi des tendances, de l’inversion de la négociation et de la rupture de la négociation, tout en étant équipé d’un mécanisme de gestion des risques complet, comprenant un arrêt dynamique, un arrêt de suivi intelligent et un filtre de volatilité.
Les principaux avantages de cette stratégie résident dans sa couverture complète du marché et sa capacité d’adaptation, permettant de maintenir une performance stable dans différents environnements de marché. Cependant, la complexité du système et la sensibilité aux paramètres entraînent également certains risques et défis d’optimisation. La stratégie est susceptible d’améliorer encore sa stabilité et sa rentabilité grâce à l’introduction de mesures d’optimisation telles que l’ajustement des paramètres dynamiques, l’analyse des cadres temporels multiples, une segmentation plus fine des états du marché et des améliorations de l’apprentissage automatique.
Finalement, NOCTURNA v2.0 fournit un cadre de trading robuste, adapté aux traders expérimentés, qui peut être appliqué à des transactions physiques avec une bonne gestion des risques, ou comme modèle de base pour le développement de systèmes de trading plus complexes.
/*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)