Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   EA eröffnet zu viele Trade (http://www.expert-advisor.com/forum/showthread.php?t=6040)

armada0307 12.03.18 22:19

EA eröffnet zu viele Trade
 
Hi ich hab mal wieder ein Problem. Ich wollte das der EA von einem Währungspaare max 6 Trade eröffnet aber im Abstand von zB 200 Punkten wenn er unterm Durchschnitt ist und bei jedem neuen Trade der Wert nach unten geht, aber er Öffnet immer gleich alle 6 auf einmal.
Code:

string sSymbol;
      double vASK, Mittelwert = 0;
      int s, i;
      int AnzSymbole;
 
      int sCount = SymbolsTotal(true);
            for (s = 0 ; s < sCount; s ++)                             
            {
              AnzSymbole = 0;
              sSymbol = SymbolName(s, true);
              vASK = MarketInfo(sSymbol,MODE_ASK);
                 
              for (i = 0; i < OrdersTotal(); i++)                     
                {
                  if (OrderSelect(i, SELECT_BY_POS))                   
                  {
                    if (OrderSymbol() == sSymbol) AnzSymbole++;
                   
                    double valHigh =iHigh(sSymbol,PERIOD_H1,iHighest(sSymbol, PERIOD_H1, MODE_HIGH,720, 1)) ;
                    double valLow = iLow(sSymbol,PERIOD_H1,iLowest(sSymbol, PERIOD_H1, MODE_LOW,720, 1)) ;
                     
                    Mittelwert = (valHigh - valLow)/2;
                    Mittelwert = Mittelwert + valLow;                  }}
                   
                   
                        if(AnzSymbole < 6)                             
                          {
                          if(Mittelwert > vAskKaufen)
                              {
                                      vAskKaufen = vASK + (AnzSymbole * 0.002);
                                      LotPreis = LotPreis + (AnzSymbole * 0.01);
                                      int ticket = OrderSend (sSymbol,OP_BUY,LotPreis,MarketInfo(sSymbol,MODE_ASK),3,0,0,NULL,0,0,clrBlue);
                                      LotPreis = 0.01;
                                    } 
                                 
                        }
              }


next user 13.03.18 11:33

Zitat:

Zitat von armada0307 (Beitrag 40522)
Hi ich hab mal wieder ein Problem. Ich wollte das der EA von einem Währungspaare max 6 Trade eröffnet aber im Abstand von zB 200 Punkten wenn er unterm Durchschnitt ist und bei jedem neuen Trade der Wert nach unten geht, aber er Öffnet immer gleich alle 6 auf einmal.

Du ermittelst mit "valHigh" & "valLow" immer dieselben Werte, somit ist auch "Mittelwert" im gleichen Symbol immer gleich.
Wenn deine Bedingung "if(Mittelwert > vAskKaufen)" einmal zutrifft, so trifft sie bei gleichem Symbol entsprechend IMMER zu und
eröffnet somit alle 6 Orders sofort in der Schleife.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:09 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum