Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Telegram !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Vues:
154
Note:
(7)
Publié:
Mise à jour:
\MQL5\Files\
trend_detector.onnx (6444.66 KB)
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance

Backtest EURUSD 01/03/2025 - 20/01/2026 Timeframe M5(ONNX AI training specifically for M5-M15)

Backtest GBPUSD 01/03/2025 - 20/01/2026 Timeframe M5 (ONNX AI training specifically for M5-M15)


1. Vue d'ensemble

SidewaysMartingale est un Expert Advisor conçu pour trader les marchés latéraux (en fourchette) en utilisant une stratégie de récupération de martingale, améliorée par un détecteur de tendance basé sur l'IA et implémenté via un modèle ONNX.

L'EA combine :

  • Classification des tendances par l'IA (latérale / haussière / baissière)

  • Indicateur d'enveloppes pour les entrées basées sur le range

  • Mise à l'échelle contrôlée des positions de la martingale

  • Fermeture du panier basée sur le profit

  • Arrêt d'urgence basé sur la marge

L'idée de base est la suivante :

Négociez uniquement lorsque le marché est statistiquement classé comme latéral et évitez d'ajouter des positions martingales lorsqu'une tendance forte est détectée.


2. Détecteur de tendances AI (intégration ONNX)

Sortie du modèle ONNX

Le modèle ONNX renvoie

  • Une étiquette prédite (non utilisée directement)

  • Un vecteur de probabilité avec trois probabilités:

Variable Signification
prob_side Probabilité que le marché soit latéral ou qu'il se situe dans une fourchette.
prob_bull Probabilité que le marché soit haussier (tendance à la hausse)
prob_bear Probabilité que le marché soit baissier (tendance baissière)

Ces probabilités sont extraites comme suit :

float prob_side = prob_data[0].values[0]; float prob_bull = prob_data[0].values[1]; float prob_bear = prob_data[0].values[2];


3. Ingénierie des caractéristiques (entrées AI)

L'EA introduit 9 caractéristiques dans le modèle ONNX :

Index des caractéristiques Description
f[0] Pente de l'EMA200 (direction et force de la tendance)
f[1] Distance du prix par rapport à la EMA200
f[2] Valeur ATR (volatilité)
f[3] Plage de bougies normalisée par l'ATR
f[4] Pression de rupture par rapport au sommet précédent
f[5] Dominance du corps de la bougie
f[6] Jour de la semaine
f[7] Heure du jour
f[8] Direction de la bougie précédente


Ces caractéristiques permettent au modèle d'IA de détecter

  • la volatilité du marché

  • La force de la tendance

  • Les modèles de comportement basés sur le temps

  • Le comportement de la structure des prix


4. Logique de détection des marchés latéraux

Un marché est considéré comme latéral lorsque :

bool is_sideway = (prob_side >= InpAISidewayThreshold);

Exemple :

  • Si InpAISidewayThreshold = 0.70

  • Il faut alors un niveau de confiance d'au moins 70 % pour classer le marché comme latéral.

Aucune nouvelle transaction n'est ouverte si cette condition n'est pas remplie.


5. Logique d'entrée (Scalping dans un range)

L'EA utilise des enveloppes pour détecter les extrêmes du range.

Entrée d'achat

if(price_close <= lower[0] && is_sideway)

  • Le prix touche ou casse l'enveloppe inférieure

  • L'IA confirme un marché latéral

  • Ouvre une position d'achat

Entrée de vente

else if(price_close >= upper[0] && is_sideway)

  • Le prix touche ou casse l'enveloppe supérieure

  • L'IA confirme un marché latéral

  • Ouvre une position de VENTE

💡 Cela permet de s'assurer que les transactions ne sont effectuées qu'aux extrêmes de la fourchette en l'absence de tendance.


6. Logique de récupération Martingale

Lorsque des positions existent déjà, l'EA applique une martingale basée sur la distance:

  • Une nouvelle position n'est ouverte que si le prix s'éloigne d'une distance en pip définie.

  • La taille du lot augmente en utilisant un multiplicateur ( LotMultiplier )

  • Le nombre maximum de transactions est limité ( MaxTradesInSeries )

Vérification de la distance

if(dist >= reqDist)


7. Filtre de sécurité AI pour Martingale

Il s'agit d'un mécanisme critique de contrôle des risques.

Avant d'ajouter une nouvelle position martingale, l'EA vérifie :

Si la série actuelle est ACHETER

if(s_seriesType == POSITION_TYPE_BUY && prob_bear >= InpAISafetyThreshold) return;

Si la série actuelle est VENTE

if(s_seriesType == POSITION_TYPE_SELL && prob_bull >= InpAISafetyThreshold) return;

Signification :

  • Si l'IA détecte une forte tendance opposée

  • Et que la confiance dépasse le seuil de sécurité InpAISafetyThreshold

  • L'expansion Martingale est stoppée

Cela permet d'éviter :

  • Martingale pendant les ruptures fortes

  • Les drawdowns profonds causés par la poursuite de la tendance


8. Objectif de profit et clôture du panier

L'EA surveille le profit flottant total de toutes les positions :

if(totalProfitUSD >= TakeProfitTargetUSD)

Une fois atteint :

  • Toutes les positions sont fermées

  • La série Martingale est réinitialisée

  • L'EA attend une nouvelle configuration latérale

Cette approche traite toutes les positions comme un seul panier.


9. Gestion du risque

Arrêt d'urgence basé sur la marge

if(((bal - eq)/bal)*100.0 >= StopLossByMarginPercent)

Si la baisse de l'action dépasse un pourcentage défini, toutes les positions sont immédiatement fermées :

  • Toutes les positions sont immédiatement fermées.

  • Prévient les scénarios d'appel de marge


10. Résumé de la stratégie

Composante Objectif
Détecteur de tendances AI Classifie le régime du marché
prob_side Permet de négocier uniquement dans des fourchettes
prob_bull / prob_bear Bloque la martingale pendant les tendances fortes
Enveloppes Définit les extrêmes de la fourchette
Martingale Récupération dans les marchés latéraux
Panier TP Sortie rapide après un retour à la moyenne
Marge SL Protection au niveau du compte

Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/68537

nModifier les commandes nModifier les commandes

Fonction de modification des positions ouvertes et des ordres en cours

nPositions de profit et de perte nPositions de profit et de perte

Calculateur de pertes et profits des positions (ordres ouverts)

Modern Time Panel - Candle Time Modern Time Panel - Candle Time

Modern Time Panel for MT5 The Modern Time Panel is a sleek, minimalist custom indicator for MetaTrader 5 that helps you track time with precision. Fixed neatly at the top-right corner of your chart, it displays the current Broker Time, Local Time, and a live countdown to the next candlestick (New Bar). Built with an independent 1-second timer, the countdown continuously runs even when the market is slow or there are no incoming ticks. Fully customizable and dark-mode friendly, it is the perfect non-intrusive tool to ensure you never miss a candle close.

VR Breakdown level - Stratégie de trading sur rupture du plus haut ou du plus bas précédent VR Breakdown level - Stratégie de trading sur rupture du plus haut ou du plus bas précédent

Stratégie de trading basée sur la simple rupture des niveaux précédents de plus haut ou plus bas