
La Stratégie de négociation de session avancée avec logique de retournement intelligente est une stratégie de négociation quantifiée de précision, spécialement conçue pour le trading de session dans un délai d’une heure. Elle utilise la confirmation de direction, la définition préalable des paramètres de risque et l’exécution d’un ordre de limite de nuit pour obtenir un avantage sur le marché.
Le principe central de la stratégie est basé sur l’analyse des relations de prix à des points spécifiques dans le temps et sur une logique d’inversion intelligente:
Mécanisme de confirmation de directionChaque jour à 18h00 heure de New York, le système compare le prix d’ouverture de la journée à 08h00 et le prix de clôture à 18h00. Si la direction des prix de la journée est la même que celle du jour précédent, la stratégie inverse le signal; si la direction est différente, la direction de la tendance de la journée est maintenue. Cette logique vise à éviter l’épuisement de la tendance et à capturer la correction des prix.
Définition du point d’entréeLe système définit automatiquement les points d’entrée en fonction de la direction confirmée:
Exécution d’une entrée à durée limitée: Les commandes sont expédiées après 18h00 (heure de New York) et peuvent être déclenchées à tout moment entre 18h00 et 8h00 le lendemain. Si le point d’entrée n’est pas touché avant 8h00 le lendemain, la commande sera automatiquement annulée.
Fonction de mise en équilibre manuelle: Si le marché est toujours ouvert à l’heure de configuration (09h00 heure de New York par défaut), le système ferme toutes les positions, simulant un scénario de sortie dans la journée réel.
Calcul des positions basées sur le risqueLa taille de la position est calculée de manière dynamique en fonction de la taille du compte, du pourcentage de risque et de la distance d’arrêt, afin d’assurer une exposition au risque constante, quelles que soient les fluctuations du marché.
En analysant le code en profondeur, la stratégie présente les avantages suivants:
Exécution de la transaction avec précisionCette approche basée sur le temps réduit le bruit des transactions et augmente leur prévisibilité.
Une logique de rétroaction intelligenteEn comparant la direction des prix sur deux jours consécutifs, la stratégie est capable d’identifier les points d’épuisement de tendances potentielles et de les inverser à temps. Cette méthode permet d’éviter de poursuivre des tendances déjà trop prolongées et d’améliorer la précision de l’entrée.
Intégration de la gestion des risquesLa stratégie intègre des fonctions complètes de gestion des risques, notamment:
Avantages des commandes à prix limité: Utilisation d’ordres limités plutôt que d’ordres au prix du marché pour assurer l’exécution des transactions à des prix plus avantageux, réduire les points de glissement et éviter l’entrée en bourse à des conditions défavorables.
Opération entièrement automatiséeUne fois configurée, la stratégie peut être entièrement automatisée et ne nécessite pas de surveillance continue, ce qui réduit les interférences émotionnelles et les erreurs humaines.
Bien que cette stratégie soit bien conçue, elle présente les risques suivants:
Une occasion manquéeLes points d’entrée étant basés sur les hauts/bas de la journée et les contraintes de temps, la stratégie risque de manquer une opportunité de négociation si le prix n’a pas atteint le point de fixation. Cette situation est plus fréquente, en particulier dans les environnements à faible volatilité.
Risque d’échec de la logique inverse: Dans un marché en forte tendance, une logique de retournement basée sur la similitude des directions peut conduire à une négociation négative prématurée, augmentant le risque de perte.
La dépendance au tempsLa stratégie est fortement tributaire de points de temps spécifiques (heure de New York) et peut être moins efficace sur différents marchés ou à des heures de négociation irrégulières.
Risque de stop-loss fixeL’utilisation d’un nombre fixe de points comme arrêt de perte peut ne pas être adaptée à toutes les conditions du marché, en particulier dans des situations de volatilité soudaine.
La solution est simple:
Cette stratégie peut être optimisée dans les directions suivantes:
Niveaux de stop-loss dynamiqueLes stratégies actuelles utilisent des points fixes comme arrêt et arrêt, et peuvent être améliorées pour des niveaux dynamiques basés sur l’ATR ou le pourcentage de volatilité, afin de mieux s’adapter aux différentes conditions du marché. La raison en est que la volatilité du marché change avec le temps et que les points fixes peuvent être trop petits pendant les périodes de forte volatilité et trop grands pendant les périodes de faible volatilité.
Ajouter un filtre de tendance: introduire des indicateurs de tendance (comme le croisement des moyennes mobiles ou l’ADX) comme confirmation supplémentaire, ne négocier que dans un environnement de tendance favorable. Cela réduira les signaux erronés dans le marché de la compensation et augmentera le taux de victoire global.
Optimiser la fenêtre de temps: Trouver les meilleures fenêtres de temps pour un marché particulier en repérant différentes combinaisons de points de temps (pas seulement 08:00 et 18:00). Différents instruments financiers peuvent présenter des modèles de comportement uniques à différents moments.
Ajouter une confirmation à plusieurs cycles: Vérifier les signaux d’une heure en examinant la direction d’une période de temps plus élevée (comme 4 heures ou le jour) pour s’assurer que la transaction est conforme à la plus grande tendance. Cette méthode réduit le risque de transaction contre-courante.
Mise en place d’un mécanisme de profit partiel: Ajout d’une fonction de liquidation partielle de la position lorsque le niveau de profit spécifique est atteint, bloquant une partie des bénéfices tout en permettant à la position restante de continuer à fonctionner. Cela peut améliorer la stabilité des bénéfices globaux tout en maintenant un potentiel de rendement élevé.
La stratégie de négociation de session haute avec logique de retournement intelligente est un système de négociation quantifié soigneusement conçu qui combine un point de décision spécifique au temps, une confirmation d’orientation intelligente et une gestion complète des risques. En analysant les relations de prix aux points clés de 08:00 et 18:00 heure de New York, et en appliquant la logique de retournement intelligente, la stratégie est capable d’identifier efficacement les points d’épuisement potentiels de la tendance et les opportunités de retournement correctif.
Le mécanisme de commande à prix limité de la stratégie assure un prix d’entrée plus favorable, tandis que les paramètres de risque prédéfinis et le calcul des positions dynamiques offrent un contrôle de risque cohérent. Bien que certains risques inhérents, tels que la perte d’opportunités de négociation et l’échec de la logique de retournement dans certaines conditions de marché, puissent être atténués par la direction d’optimisation suggérée.
La stratégie a le potentiel d’améliorer encore ses performances et son adaptabilité en mettant en œuvre des niveaux d’arrêt/arrêt dynamiques, en ajoutant des filtres de tendance, en optimisant les fenêtres de temps, en ajoutant des confirmations multi-cycles et des mécanismes de gain partiel. Dans l’ensemble, il s’agit d’un système de négociation bien structuré et logiquement clair, particulièrement adapté aux traders qui souhaitent une automatisation et une discipline dans le day trading.
/*backtest
start: 2024-06-27 00:00:00
end: 2025-06-25 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=6
strategy("LANZ Strategy 1.0 [Backtest]", overlay=true, default_qty_type=strategy.cash, default_qty_value=100)
// === TIMEFRAME RESTRICTION ===
if timeframe.period != "60"
runtime.error("🚫 LANZ Strategy 1.0 is only available on the 1h timeframe.")
// === INPUTS ===
accountSizeUSD = input.int(100000, title="Account #1 - Capital ($)", minval=1, group="💸 Main Account Management")
riskPercent = input.float(1.0, title="Account #1 - Risk (%)", minval=0.1, maxval=100, group="💸 Main Account Management")
slPipsInput = input.int(18, title="Stop Loss (pips)", minval=1, group="📏 Risk Settings")
tpPipsInput = input.int(54, title="Take Profit (pips)", minval=1, group="📏 Risk Settings")
manualCloseHour = input.int(9, title="Hora de Cierre Manual (NY)", minval=0, maxval=23, group="🔚 Cierre Manual")
// === GLOBALS ===
pipSize = syminfo.mintick * 10
var float openAt0800 = na
var float closeAt1800 = na
var int priceDirection = na
var int prevPriceDirection = na
var int todayPriceDirection = na
var int finalSignalDirection = na
var float baseLevel = na
var float baseSL = na
var float baseTP = na
var bool orderSent = false
// === KEY TIMES ===
is0800 = (hour(time, "America/New_York") == 8 and minute(time, "America/New_York") == 0)
is1800 = (hour(time, "America/New_York") == 18 and minute(time, "America/New_York") == 0)
nyHour = hour(time, "America/New_York")
nyMinute = minute(time, "America/New_York")
entryWindow = (nyHour >= 18 or nyHour < 8)
cutoffPassed = not entryWindow
isManualClose = (nyHour == manualCloseHour and nyMinute == 0)
// === CAPTURE OPEN AND CLOSE ===
if is0800
openAt0800 := open
if is1800
closeAt1800 := close
priceDirection := closeAt1800 > openAt0800 ? 1 : closeAt1800 < openAt0800 ? -1 : 0
prevPriceDirection := todayPriceDirection
todayPriceDirection := priceDirection
coinciden = priceDirection == prevPriceDirection and not na(prevPriceDirection)
finalSignalDirection := coinciden ? priceDirection : -1 * priceDirection
fibRange = high - low
baseLevel := finalSignalDirection == -1 ? low : high
baseSL := finalSignalDirection == -1 ? baseLevel - slPipsInput * pipSize : baseLevel + slPipsInput * pipSize
baseTP := finalSignalDirection == -1 ? baseLevel + tpPipsInput * pipSize : baseLevel - tpPipsInput * pipSize
orderSent := false
// === LIMIT ORDER SENDING (AT 19:00 AND FOLLOWING IF NOT YET TOUCHED) ===
canPlaceOrder = not orderSent and strategy.opentrades == 0 and entryWindow
if canPlaceOrder
slPips = math.abs(baseLevel - baseSL) / pipSize
riskUSD = accountSizeUSD * (riskPercent / 100)
qty = slPips > 0 ? (riskUSD / (slPips * 10)) : na
if not na(qty)
isLong = finalSignalDirection == -1
if isLong
strategy.entry("BUY", strategy.long, qty=qty, limit=baseLevel)
strategy.exit("TP/SL BUY", from_entry="BUY", stop=baseSL, limit=baseTP)
else
strategy.entry("SELL", strategy.short, qty=qty, limit=baseLevel)
strategy.exit("TP/SL SELL", from_entry="SELL", stop=baseSL, limit=baseTP)
orderSent := true
// === CANCEL IF NO EP TOUCHED BEFORE 08:00 NY ===
if cutoffPassed and strategy.opentrades == 0 and orderSent
strategy.cancel("BUY")
strategy.cancel("SELL")
orderSent := false
// === MANUAL CLOSING AT HH:00 NY CONFIGURABLE ===
if strategy.opentrades > 0 and isManualClose
strategy.close("BUY")
strategy.close("SELL")