Peceptron_Mult: Een Multisymbool EA voor MetaTrader 5

Mike 2018.12.28 22:10 8 0 0
Bijlage

Idee van: Igor

Code mq5 door: barabashkakvn

Dit is een multisymbool EA, wat betekent dat het gelijktijdig op drie symbolen werkt: EURUSD (Symbool #1), GBPJPY (Symbool #2) en AUDNZD (Symbool #3). Een eenvoudige neurale netwerk (perceptron) wordt gebruikt, die werkt op de indicator iAC (Acceleratie/Vertraging, Accelerator/Decelerator Oscillator, AC).

Voor de optimalisatiemodus kun je sommige symbolen uitschakelen door een niet-bestaand symbool toe te wijzen aan de variabele Symbool #.


Instellen van de positie grootte

Een ongebruikelijk patroon wordt gebruikt in deze EA om het volume van een positie in te stellen: Het minimale aantal lots wordt gespecificeerd in de variabelen van Aantal minimale lots voor Symbool #. Bijvoorbeeld: de minimum lotgrootte is 0.1 op Symbool #1 en 0.01 op Symbool #2, wat betekent dat het verschil tien keer groter is. Dus, als de variabele Aantal minimale lots voor Symbool # op 10 is ingesteld voor beide symbolen, dan zal een positie van 1.0 lots (0.1 x 10) worden geopend voor Symbool #1 en 0.10 lots (0.01 x 10) voor Symbool #2.


Perceptron blok

Bij elke nieuwe bar (op het moment waarop er een nieuwe bar is voor alle gebruikte symbolen), wordt een array van de indicatorwaarden (array) toegewezen aan het perceptronblok voor elk symbool:

//+------------------------------------------------------------------+
//| Perceptron                                                       |
//+------------------------------------------------------------------+
double Perceptron(double &array[],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 = array[0];
   double a2 = array[7];
   double a3 = array[14];
   double a4 = array[21];
   return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);
  }


Ik raad aan om consecutief optimalisaties uit te voeren voor elk symbool. Eerst wordt Symbool #1 geoptimaliseerd, terwijl Symbool #2 en Symbool #3 worden uitgeschakeld. Voor alle symbolen worden parameters x ingesteld binnen het bereik van 0 tot 100, terwijl sl (Stop Loss) en tp (Take Profit) naar eigen inzicht worden ingesteld. Houd er rekening mee dat het voldoende is om de variabele Symbool # een niet-bestaand symbool toe te wijzen om een symbool uit te schakelen.

Lijst
Reactie 0