VIX Engine EA
- Experts
- Julien Favre
- Version: 1.1
- Mise à jour: 11 mai 2026
- Activations: 5
VIX Auto EA repose sur une règle d'or fondamentale : chaque trade ouvert est un trade pleinement assumé. Sans Stop Loss, aucune perte n'est jamais cristallisée — les positions sont tenues jusqu'au retour à l'équilibre (Point Zéro).
L'EA est conçu spécifiquement pour le trading de l'indice de volatilité VIX et tout instrument évoluant dans des zones de prix bornées. Il repose sur une grille d'achat automatique, intelligente et auto-adaptative, encadrée par des niveaux de prix configurables (plancher et plafond), avec une gestion du capital rigoureuse basée sur le concept de Point Zéro.
Il intègre également un système de Haute Disponibilité (HA) unique permettant de faire fonctionner plusieurs serveurs en mode Maître/Esclave, garantissant une continuité de trading même en cas de panne matérielle ou de coupure internet.
Paramètres externes recommandés : Capital 10000 € - InpTradingTimeframe=PERIOD_M1 InpPointZero=9.0 - InpLotMode=LOT_AUTO - InpMinGridStepPips=500 - InpMinRangePips=4000 - InpHardFloor=12 - InpHardCeiling=28 - InpPriceSource=PRICE_SOURCE_MANUAL - InpTPPerTradePips=500 - Pour accélérer les backtests, penser à désactiver InpShowDebug (InpShowDebug=false)
Principe de fonctionnement — La grille auto-adaptative
Le cœur de VIX Auto EA est une grille d'achats au marché, placés automatiquement à intervalles réguliers entre un prix plancher ( HardFloor ) et un prix plafond ( HardCeiling ). Aucun trade n'est jamais exécuté hors de cette zone : si le prix sort de la zone, les sorties (Take Profit) continuent de fonctionner normalement, mais tout nouvel achat est bloqué jusqu'au retour dans la zone. Cette approche protège le capital en évitant d'accumuler des positions à des prix défavorables.
La distance entre deux trades n'est pas fixe : elle est calculée dynamiquement à chaque tick par la fonction CalculateAutoStep , qui simule le nombre maximum de trades finançables avec le capital restant, puis divise la plage de prix par ce nombre. Le pas de grille résultant est toujours supérieur ou égal au minimum configuré ( InpMinGridStepPips ), garantissant une densité de grille cohérente avec le capital disponible.
Gestion du capital et protection Point Zéro
Chaque nouvelle entrée est soumise à une vérification de sécurité ( CheckSecurityRequirement ) qui calcule le risque total cumulé de toutes les positions ouvertes, auquel s'ajoute le risque de la nouvelle position. Ce risque est calculé comme la différence entre le prix d'ouverture de chaque trade et le Point Zéro ( InpPointZero ), multiplié par le volume et la valeur monétaire d'un point. Tant que ce risque cumulé reste inférieur au capital alloué, l'entrée est autorisée. Le capital de référence peut être le solde réel du compte ou un capital fixe configuré ( InpCapitalFixe ), permettant de simuler un retrait régulier des gains.
Trois modes de gestion des lots
LOT_FIXE — Le lot de chaque trade est identique et constant, défini par InpLotSize . C'est le mode le plus simple et le plus prévisible.
LOT_PROGRESSIF — Le lot optimal est recalculé par paliers de InpLotIncrement . L'EA teste progressivement des lots croissants et retient le plus grand lot permettant encore de financer la grille complète dans la zone configurée. Ce mode permet d'augmenter automatiquement l'exposition lorsque le capital croît.
LOT_AUTO — Variante continue du mode progressif : le lot optimal est calculé sans palier (pas de 0.1 lot), visant le vrai maximum finançable à chaque instant. C'est le mode le plus agressif en termes d'utilisation du capital.
Cinq sources de prix pour la zone de trading
La zone de trading (plancher/plafond) peut être définie de cinq façons différentes, sélectionnables via InpPriceSource :
PRICE_SOURCE_MANUAL — Les niveaux HardFloor et HardCeiling sont saisis manuellement. C'est le mode par défaut, idéal pour le VIX dont les zones historiques sont bien connues (ex : 12–28).
PRICE_SOURCE_MEDIAN_BOTH — Le plancher et le plafond sont calculés dynamiquement comme la médiane des N derniers plus-bas et des N derniers plus-hauts sur le timeframe configuré. La zone s'adapte automatiquement à l'évolution des conditions de marché.
PRICE_SOURCE_MEDIAN_MAX_MANUAL_MIN — Le plafond est calculé par médiane dynamique, le plancher est saisi manuellement. Utile pour laisser le haut de la zone s'adapter tout en gardant un plancher fixe de sécurité.
PRICE_SOURCE_MANUAL_MAX_MEDIAN_MIN — Inverse du précédent : le plafond est manuel, le plancher est médian. Idéal pour fixer un plafond de protection tout en laissant le bas de la zone s'adapter.
PRICE_SOURCE_CENTERED_ON_PRICE — La zone est centrée dynamiquement sur le prix courant avec une demi-plage définie par InpMinRangePips . La zone suit le prix en permanence, toujours bornée par les garde-fous HardFloor et HardCeiling .
Calcul des médianes dynamiques
Les niveaux médians sont calculés via la fonction CalculateMedianValue , qui collecte les InpMedian_HighBars derniers plus-hauts et les InpMedian_LowBars derniers plus-bas sur le timeframe InpMedian_Timeframe , trie les valeurs et retourne la médiane statistique (insensible aux valeurs extrêmes, contrairement à une moyenne). Un décalage en pourcentage ( InpMedian_HighOffsetPct / InpMedian_LowOffsetPct ) peut être appliqué pour élargir ou rétrécir la zone calculée. L'historique des niveaux médians peut être tracé directement sur le graphique ( InpShowDebugHistory ) sous forme de segments de tendance colorés.
Range minimum et zone forcée
Si la distance naturelle entre plancher et plafond est inférieure au InpMinRangePips configuré, la fonction GetEffectiveRange force automatiquement une zone minimale centrée sur le prix courant. Cette zone forcée reste toujours bornée par les garde-fous hard, évitant toute configuration incohérente. Ce mécanisme garantit qu'il y a toujours un range suffisant pour placer au moins quelques niveaux de grille.
Deux modes de sortie (Take Profit)
MODE_NONE — TPs individuels : chaque position se ferme indépendamment dès que le prix atteint son niveau de TP individuel ( InpTPPerTradePips convertis en prix réel). C'est le mode le plus réactif, qui encaisse les gains position par position au fil de la remontée du VIX.
MODE_CUMUL — TPs cumulés : aucune position ne se ferme individuellement. L'EA surveille la somme des pips flottants de toutes les positions ouvertes. Dès que cette somme atteint InpTPPerTradePips (en tenant compte du nombre de positions), toutes les positions sont fermées simultanément via CloseAllPositions . Ce mode maximise le profit global en attendant que l'ensemble du portefeuille soit en profit suffisant avant de sortir.
Système de Haute Disponibilité (HA) — Maître/Esclave
C'est la fonctionnalité la plus avancée de VIX Auto EA : un système de basculement automatique entre plusieurs serveurs, conçu pour garantir qu'un seul EA trade à la fois même en cas de panne. Jusqu'à quatre serveurs peuvent être configurés avec leurs identifiants et adresses IP Tailscale. Un serveur PHP hébergé sur OVH ( InpHA_OVH_BaseURL ) sert de registre central : chaque serveur envoie un heartbeat régulier ( InpHA_HeartbeatSec ) et consulte le registre pour déterminer quel serveur a la priorité la plus haute et est encore vivant ( HA_GetHighestPriorityAlive ). Si le maître actuel ne répond plus depuis InpHA_TimeoutSec secondes, le serveur suivant dans l'ordre de priorité prend automatiquement le rôle de maître ( HA_WriteMaster ). En cas de perte d'internet détectée sur le maître actuel, celui-ci se force lui-même en mode esclave par sécurité, évitant tout double trading. Le statut HA (MAÎTRE / ESCLAVE / perte internet) est affiché en temps réel sur le tableau de bord graphique.
Tableau de bord graphique complet
Un panel d'information configurable (couleurs, tailles de police, position, largeur, hauteur auto ou fixe) affiche en temps réel : l'actif et le numéro magique, l'heure broker et le spread, le nombre de positions ouvertes et le niveau de break-even long, les profits et pertes sur 7 périodes (mois précédent, mois en cours, 14 jours, 7 jours, hier, aujourd'hui, flottant) avec coloration verte/rouge dynamique, le statut HA, la zone de trading active (min/max), le levier du compte, la taille de lot courante et le mode, et enfin le détail trade par trade du coût à Point Zéro pour chaque position ouverte. Six lignes horizontales sont tracées sur le graphique : plafond actif (jaune), plancher actif (cyan), prochain niveau d'achat (orange-rouge), Point Zéro (violet), garde-fou haut (orange) et garde-fou bas (orange).
Rapport mensuel et score OnTester
À la fin de chaque backtest, si InpReportMonthly est activé, l'EA génère dans le journal un rapport complet des gains et pertes par mois calendaire, trié chronologiquement, avec le nom du mois en français. La fonction OnTester retourne le rendement net en pourcentage du capital initial, utilisable directement comme critère de sélection dans l'optimiseur MetaTrader 5.
Paramètres essentiels résumés
| Paramètre | Rôle |
|---|---|
| InpHardFloor / InpHardCeiling | Zone de trading fixe (ex: 12–28 pour le VIX) |
| InpPointZero | Prix de référence pour le calcul du risque total |
| InpCapitalFixe | Capital alloué (0 = solde réel du compte) |
| InpLotMode | Fixe / Progressif / Auto |
| InpMinGridStepPips | Distance minimum entre deux trades |
| InpPriceSource | Source des niveaux (manuel / médiane / centré) |
| InpExitMode | TPs individuels ou cumulés |
| InpTPPerTradePips | Objectif de profit par trade (ou cumulé) |
| InpHA_Enabled | Activation du système Maître/Esclave |
Compatibilité et recommandations
VIX Auto EA est optimisé pour le VIX (CBOE Volatility Index) mais fonctionne sur tout instrument à plage de prix bornée et prévisible. Il est recommandé avec un capital suffisant pour couvrir l'intégralité de la grille calculée entre HardFloor et HardCeiling , ce que l'EA vérifie automatiquement avant chaque entrée. Le système HA nécessite un serveur PHP accessible (OVH ou équivalent) et une connectivité Tailscale entre les machines. Compatible MetaTrader 5, tous brokers.
