SkdonSeriesMulti
- Experts
-
Igor Bulyshev
Умный, красивый, в меру упитанный и талантливый трейдер-программист в полном расцвете сил!!)) - Version: 6.85
Ce conseiller expert est conçu pour le trading multidevises à long terme (à vie) sur 28 paires de devises simultanément (la liste des paires est fixée dans le code) sur le timeframe M30. Liste des paires de devises : EURUSD, GBPUSD, AUDUSD, USDCAD, USDJPY, USDCHF, GBPJPY, EURJPY, AUDCAD, AUDJPY, CHFJPY, EURCHF, EURGBP, NZDJPY, NZDUSD, CADJPY, AUDCHF, AUDNZD, CADCHF, EURAUD, EURCAD, EURNZD, GBPAUD, GBPCHF, CBPCAD, GBPNZD, NZDCAD, NZDCHF.
Son objectif est de capturer les mouvements de tendance et de gérer les risques à l'aide de mécanismes spéciaux de lissage (moyennage), d'ordres de blocage (lock) et de protection d'urgence.
La stratégie principale est une stratégie de tendance utilisant mon indicateur Skdon2, qui fournit un signal BUY ou SELL à chaque barre fermée.
Lorsque le signal change, le conseiller ferme les anciennes positions selon une règle définie et place une série de 4 ordres en attente (BUYSTOP ou SELLSTOP) – le nombre est paramétrable – dans la direction du nouveau signal.
-
Ce que fait le conseiller dans son ensemble
Il analyse chaque paire de devises sur le timeframe 30 minutes à l'aide de son propre indicateur intégré au code.
Lorsque l'indicateur émet un signal d'achat ou de vente, le conseiller ouvre une série d'ordres : un ordre au marché (immédiatement au prix actuel) et plusieurs ordres en attente (au-dessus du marché pour l'achat, en dessous pour la vente) avec un pas défini dans les paramètres. Le nombre d'ordres en attente est donné par le paramètre InpPendingCount (par défaut 4, mais dans le testeur il est réduit à 2 pour éviter les erreurs de limite).
Si le signal devient opposé, le conseiller ferme l'ancienne série (totalement ou partiellement) et en ouvre une nouvelle dans la nouvelle direction.
Ainsi, il suit la tendance en se retournant constamment à chaque changement de signal.
-
Modes de fonctionnement
Le conseiller dispose de trois modes principaux :
Mode 0 – Normal. Le conseiller fonctionne pleinement : il ouvre de nouvelles séries, les gère, utilise la compensation et le trailing. C'est le mode principal pour le trading quotidien.
Mode 1 – Exit market (sortie). Aucune nouvelle série n'est ouverte. Les séries existantes continuent d'être gérées (trailing, moyennage, locks), mais dès qu'elles sont fermées, aucune nouvelle ne sera créée. Utilisé pour sortir progressivement du marché sans tout fermer brutalement.
Mode de liquidation (automatique). Il s'active automatiquement si, sur une paire quelconque, la perte dépasse un certain pourcentage du solde (par défaut 5 %). À l'activation :
-
L'ouverture de nouvelles séries est interdite.
-
Seules les séries bénéficiaires commencent à être fermées pour récolter des profits et réduire la perte globale.
-
Le mode est désactivé lorsque la perte globale devient inférieure au pourcentage défini (par défaut 4 %) ou lorsqu'il ne reste aucun ordre au marché. Ensuite, le fonctionnement normal reprend.
-
Comment les séries sont ouvertes et fermées
Le signal de l'indicateur Skdon2 est calculé à chaque nouvelle barre M30. Si le signal change (par exemple, il était « acheter » et devient « vendre »), le conseiller considère que la tendance s'est inversée.
Si aucune série n'existe encore, à l'apparition d'un signal il ouvre :
-
1 ordre au marché (Buy ou Sell) immédiatement
-
et plusieurs ordres en attente (Buy Stop ou Sell Stop) à une distance StepDistance les uns des autres. Leur nombre est donné par le paramètre PendingCount.
Si une série existe déjà et que le signal devient opposé, alors :
-
Tous les ordres en attente sont d'abord fermés (supprimés).
-
Ensuite, les ordres au marché sont fermés selon les règles suivantes :
-
Si le profit total de la série est positif, tous les ordres au marché de la série sont fermés.
-
Si le profit total est négatif, seuls les ordres gagnants sont fermés, les ordres perdants restent ouverts (pour ne pas cristalliser la perte).
-
-
Après cela, une nouvelle série est ouverte dans la nouvelle direction.
-
Mode de compensation (moyennage et locks)
Lorsque, sur une paire, la perte cumulée dépasse 2,5 % du solde, le conseiller active le mode de compensation pour cette paire. Dans ce mode, on trouve :
-
Moyennage (Averaging) : L'ordre le plus perdant sur cette paire est identifié. Lorsque le prix s'éloigne du dernier ordre de moyennage d'une distance AveragingStepPoints, un nouvel ordre est ouvert dans la même direction que l'ordre perdant. Cela permet d'abaisser le prix d'entrée moyen. Le lot de chaque moyennage suivant est augmenté par un coefficient multiplicateur AveragingMultiplier, mais de manière fractionnaire (le lot initial est pris comme lot_de_départ / FractionSize). Cela donne une croissance progressive des lots, et non brutale. Dès que le profit total de cette série de compensation (ordre cible + tous les moyennages) atteint la valeur cible (lot_de_départ * 250), toute la série est fermée avec profit.
-
Ordres de blocage (Locking) : Ils sont ouverts lorsque la perte dépasse 3 % et qu'il y a un déséquilibre entre le volume total des Buy et des Sell (différence supérieure à 0,01 lot). Un ordre de lock est ouvert à contre-courant de la direction prédominante (si plus de Buy, alors un Sell est ouvert, et inversement). Cela couvre partiellement la position. Le lot du lock = déséquilibre * LockLotPercent / 100. Après l'ouverture du lock, le déséquilibre diminue, et le lock suivant sera d'un volume moindre.
-
Les nouveaux locks ne sont ouverts que dans le sens de l'amélioration du précédent :
-
Pour les locks Sell – lorsque le prix baisse (améliore la position Sell).
-
Pour les locks Buy – lorsque le prix monte.
-
-
La distance entre les locks est LockStepPoints. Cela évite des ouvertures trop fréquentes de locks au même niveau. Les locks sont également gérés par un trailing stop (le trailing stop est présent sur tous les ordres de la paire en mode de compensation, sauf sur les ordres de moyennage).
-
Trailing stop : Il n'agit que sur les paires en mode de compensation. Pour chaque ordre (sauf les ordres de moyennage), le trailing s'active lorsque le prix a parcouru depuis l'ouverture au moins TrailingActivation points. Ensuite, le stop-loss est déplacé à une distance TrailingStopDist du prix actuel, mais pas plus souvent qu'avec un pas TrailingStep. Cela permet de verrouiller les profits lors d'un mouvement ultérieur du prix.
-
Mécanismes de protection supplémentaires
-
Protection contre les gaps : À l'ouverture d'une nouvelle barre M30, on vérifie s'il y a eu un gap (saut brutal du prix) entre la fermeture de la barre précédente et l'ouverture de la barre actuelle. Si la taille du gap dépasse GapThreshold, le conseiller supprime tous les ordres en attente sur cette paire et ferme les ordres au marché (si le profit total est positif – tous, s'il est négatif – seulement les gagnants). Après un « refroidissement » de 40 secondes, le signal est recalculé et, s'il a changé, une nouvelle série est ouverte.
-
Fermeture des vieux ordres perdants : Toutes les 8 minutes, les ordres au marché ouverts depuis plus de 35 heures et en perte sont vérifiés. Pour cet ordre perdant « le pire », le conseiller recherche des séries bénéficiaires sur d'autres paires et les ferme jusqu'à ce qu'il ait accumulé suffisamment de profit pour couvrir la perte + une petite marge. Ensuite, le vieil ordre perdant est également fermé.
-
Fermeture des ordres opposés : Si sur une même paire il y a des Buy gagnants et des Sell perdants (ou l'inverse), et que le profit d'un côté couvre la perte de l'ordre le plus perdant de la série avec une marge, alors les ordres gagnants sont fermés en même temps que l'ordre le plus perdant, afin de réduire le risque global.
-
Panneau d'information
Sur le graphique, un panneau est affiché avec deux blocs :
-
Panneau gauche : mode actuel, statut de la liquidation, profit cible, liste des paires en mode de compensation.
-
Panneau droit : profit des derniers jours, nombre d'ordres, volumes, vieilles pertes, dernières actions du robot.
-
Description de tous les paramètres d'entrée
Groupe 1 : Paramètres principaux
-
Base magic number = 100 – Identifiant de tous les ordres du conseiller. Si vous avez plusieurs copies sur différents comptes, changez ce numéro pour éviter les interférences.
-
Work mode = 0 – 0 : mode normal ; 1 : mode sortie (pas de nouvelles séries). Utilisé pour l'arrêt manuel.
-
Risk percent = 30 – Influence la taille du lot. Plus le nombre est grand, plus le lot est important. Exemple : à 30, le lot de base = solde * 0,003 / 10000 (formule empirique). À adapter selon votre risque.
-
Minimum gap = 35 – Taille minimale du gap en points standard pour déclencher la protection. Pour les paires JPY, le point = 0,01, pour les autres = 0,0001.
-
Pending orders count = 4 – Nombre d'ordres en attente ajoutés à chaque ordre de marché lors de l'ouverture d'une série. Plus le nombre est élevé, plus la grille est profonde.
-
Distance between pendings = 15 – Pas entre les ordres en attente en points. Influence la densité de la grille.
-
Show info panel = true – Affiche le panneau d'information sur le graphique. Peut être désactivé pour économiser des ressources et lors des tests.
Groupe 2 : Mode liquidation
-
Loss % to activate = 5,0 – Si la perte sur une paire dépasse ce pourcentage du solde, le mode liquidation s'active.
-
Loss % to exit = 4,0 – Lorsque la perte globale sur toutes les paires devient inférieure à ce pourcentage, le mode liquidation se désactive.
Groupe 3 : Compensation et trailing
-
Lock lot percent = 15,0 – Pourcentage du déséquilibre des volumes utilisé pour calculer le lot de l'ordre de lock.
-
Lock step points = 5 – Pas entre les ordres de lock en points. Un nouveau lock n'est ouvert que lorsque le prix s'éloigne d'au moins cette distance en direction de l'amélioration.
-
Averaging step points = 20 – Pas entre les ordres de moyennage. Un nouvel ordre de moyennage est ouvert lorsque le prix parcourt cette distance depuis le dernier ordre de moyennage.
-
Averaging multiplier = 1,7 – Facteur d'augmentation du lot pour chaque moyennage suivant. Une valeur > 1 donne une croissance des lots.
-
Trailing activation = 18 – Nombre de points que le prix doit parcourir depuis l'ouverture pour activer le trailing stop.
-
Trailing stop distance = 15 – Distance du prix actuel à laquelle le stop-loss est placé lors du trailing. Doit être inférieure à l'activation pour que le stop soit en profit.
-
Trailing step = 2 – Modification minimale du stop-loss lors des mises à jour. Protège contre les modifications trop fréquentes.
Groupe 4 : Fermeture fractionnée
-
Profit factor = 250,0 – Utilisé dans le mécanisme auxiliaire de fermeture des ordres opposés.
-
Fraction size = 5,0 – Taille de la partie fractionnaire pour les moyennages. Le premier lot de moyennage = lot_de_départ / FractionSize. Un nombre plus petit donne un premier lot de moyennage plus grand.
-
Conseils pratiques importants
-
Commencez sur un compte démo pour comprendre le comportement du conseiller avec vos paramètres.
-
Assurez-vous que TrailingStopDist est toujours inférieur à TrailingActivation, sinon le trailing placera le stop-loss en perte.
-
En cas de forte volatilité, augmentez GapThreshold et les pas (StepDistance, LockStepPoints, AveragingStepPoints) pour éviter des déclenchements trop fréquents.
-
Pour un trading agressif, augmentez LockLotPercent et AveragingMultiplier, et réduisez les pas.
-
Le mode liquidation est une protection extrême. S'il se déclenche souvent, cela signifie que le risque est trop élevé – réduisez RiskPercent ou augmentez les seuils d'activation.
-
Le conseiller est entièrement automatique, mais nécessite une connexion Internet stable et la présence des 28 paires dans la liste des symboles.
Avantages du conseiller
-
Multidevises – 28 paires. Une diversification élevée réduit la dépendance à une seule devise.
-
Nettoyage automatique du portefeuille – le robot liquide lui-même les vieilles pertes et les positions opposées, sans contrôle manuel.
-
Objectif global de profit – cristallisation régulière du résultat global, ce qui lisse la courbe de croissance du capital.
-
Haute robustesse du système de trading – tentatives répétées en cas d'erreur, protection contre le manque de barres, vérification des autorisations de trading.
Risques et leur minimisation
-
Risque de marché (retournement brutal de tendance, pertes importantes). Fermeture partielle des positions lors des changements de signal + objectif global + nettoyage des vieux ordres perdants. Les ordres perdants ne restent pas ouverts pendant des semaines ou des mois.
-
Gaps (week-ends, actualités importantes). Algorithme de protection spécial : en cas de gap ≥ 35 points (seuil paramétrable), les ordres en attente sur la paire sont fermés, après 40 secondes (période de refroidissement), on analyse l'état de l'indicateur et on poursuit le travail.
-
Panne technique (coupure d'alimentation, redémarrage). Tous les états sont restaurés au redémarrage du système de trading : la direction des séries est lue à partir des ordres existants, l'état de l'indicateur pour chaque paire est enregistré en permanence et comparé à l'état après le redémarrage complet du système.
-
Drawdown après une série de pertes. Grâce à l'algorithme d'atteinte de l'objectif global et au mécanisme de placement des ordres opposés, les pertes sont compensées par les profits des côtés dominants.
-
Période de fonctionnement du système de trading : 24h/24 du lundi au vendredi.
-
Le conseiller est entièrement automatique, ne nécessite aucune intervention manuelle.
-
Bonne chance dans vos trades !
Sur les captures d'écran sont fournis les rapports de test du conseiller sur différentes paires de devises sur 3 ans. Les tests ont été effectués avec les paramètres par défaut. Veuillez également noter qu'il s'agit d'un robot de trading multidevises et que, lors des tests dans le testeur de stratégies sur une seule paire sélectionnée, l'algorithme de fermeture des vieux ordres perdants en utilisant le profit des séries d'ordres sur d'autres paires ne fonctionne pas.
Particularités de fonctionnement dans le testeur
Pour permettre des tests réussis, le conseiller limite automatiquement le nombre d'ordres en attente à 2 et le nombre total d'ordres ouverts à 30. Cela permet d'éviter les erreurs 148 (dépassement de la limite d'ordres).
