Stratégies de trading avancées avec logique d'inversion intelligente

EMAT RSI SL/TP RR NY SESSION LIMIT ORDERS risk management FIBONACCI
Date de création: 2025-06-27 11:33:45 Dernière modification: 2025-06-27 11:33:45
Copier: 4 Nombre de clics: 256
2
Suivre
319
Abonnés

Stratégies de trading avancées avec logique d’inversion intelligente Stratégies de trading avancées avec logique d’inversion intelligente

Aperçu

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é.

Principe de stratégie

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:

  1. 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.

  2. Définition du point d’entréeLe système définit automatiquement les points d’entrée en fonction de la direction confirmée:

    • Signaux d’achat: utilisez le prix le plus bas du jour comme point d’entrée
    • Signaux de vente: utilisez le prix le plus élevé du jour comme point d’entrée Le système définit les niveaux de stop loss et de stop loss en fonction du nombre de points définis par l’utilisateur (par défaut: stop loss de 18 points, stop loss de 54 points, rapport de risque / rendement de 1: 3).
  3. 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.

  4. 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.

  5. 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é.

Avantages stratégiques

En analysant le code en profondeur, la stratégie présente les avantages suivants:

  1. 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é.

  2. 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.

  3. Intégration de la gestion des risquesLa stratégie intègre des fonctions complètes de gestion des risques, notamment:

    • Paramètres prédéfinis d’arrêt/arrêt
    • Calcul des positions dynamiques en fonction de la taille du compte et de la tolérance au risque
    • Mécanisme de liquidation automatique basé sur le temps
  4. 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.

  5. 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.

Risque stratégique

Bien que cette stratégie soit bien conçue, elle présente les risques suivants:

  1. 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é.

  2. 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.

  3. 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.

  4. 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:

  • Mise en place d’un arrêt d’adaptation, ajusté en fonction de la volatilité du marché actuel
  • Ajout de conditions de filtrage supplémentaires pour éviter de négocier dans des conditions de marché extrêmes
  • Introduction d’une confirmation multi-cadres pour améliorer la qualité du signal d’entrée
  • Réfléchir à la réduction de la taille de la position pendant une période de forte volatilité

Direction d’optimisation

Cette stratégie peut être optimisée dans les directions suivantes:

  1. 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é.

  2. 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.

  3. 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.

  4. 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.

  5. 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é.

Résumer

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.

Code source de la stratégie
/*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")