Idée par :Igor
Code mq5 par :barabashkakvn
Voici un EA multi-symboles, ce qui signifie qu'il fonctionne simultanément sur trois paires de devises : EURUSD (Symbole #1), GBPJPY (Symbole #2) et AUDNZD (Symbole #3). Il utilise un réseau de neurones simple (perceptron) qui s'appuie sur l'indicateur iAC (Oscillateur d'Accélération/Décélération).
En mode optimisation, vous pouvez désactiver certains symboles simplement en assignant un symbole inexistant à la variable Symbole #.
Définir la taille d'une position
Cet EA utilise un schéma particulier pour définir le volume d'une position : le nombre minimum de lots est spécifié dans les variables Nombre de lots minimum pour le Symbole #. Par exemple : la taille minimale de lot est de 0,1 pour le Symbole #1 et de 0,01 pour le Symbole #2, soit une différence de dix fois. Ainsi, si la variable Nombre de lots minimum pour le Symbole # est définie sur 10 pour les deux symboles, alors une position de 1,0 lot (0,1 x 10) sera ouverte pour le Symbole #1 et 0,10 lot (0,01 x 10) pour le Symbole #2.
Bloc Perceptron
À chaque nouvelle bougie (lorsqu'il y a une nouvelle bougie pour tous les symboles utilisés), un tableau des valeurs de l'indicateur (tableau) est assigné au bloc perceptron pour chaque symbole :
//+------------------------------------------------------------------+//| Perceptron |//+------------------------------------------------------------------+double Perceptron(double &tableau[],int y1,int y2,int y3,int y4) { double w1 = y1 - 100; double w2 = y2 - 100; double w3 = y3 - 100; double w4 = y4 - 100; double a1 = tableau[0]; double a2 = tableau[7]; double a3 = tableau[14]; double a4 = tableau[21]; return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4); }
Je vous recommande de réaliser des optimisations consécutives pour chaque symbole. D'abord, Symbole #1 est optimisé, tandis que Symbole #2 et Symbole #3 sont désactivés. Pour tous les symboles, les paramètres x sont définis dans la plage de 0 à 100, tandis que le sl (Stop Loss) et le tp (Take Profit) sont fixés à votre convenance. N'oubliez pas que, pour désactiver un symbole, il suffit d'assigner à la variable Symbole # un symbole inexistant.

Commentaire 0