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)
-   -   Ständige Order Wiederholung (http://www.expert-advisor.com/forum/showthread.php?t=4033)

Nordlicht 26.01.15 17:32

Ständige Order Wiederholung
 
Moin zusammen,

ohne mein laufendes Thema "Gann Hilo" zu vergessen, hab ich da noch ein weiteres Problem.

Wenn ich mit meinem kurzen MA über dem langen liege, dann werden immer weitere Trades ausgeführt, ohne dass er es soll.

Ich glaube mir fehlt hier ein Code der ihm vermittelt, dass jeweils nur ein Trade ausgeführt und der abgearbeitet werden soll, bevor er einen weiteren, dann natürlich in die Gegenrichtung eingeht.

Hier der betreffende Teil:

//Long Signale umsetzen
if(LongSignal == true)
{
//Eventuelle Short Order schliessen
if(ShortOrder>0)
{
if(OrderSelect(ShortOrder,SELECT_BY_TICKET)== true)
{
bool ShortOrderGeclosed = OrderClose(ShortOrder,OrderLots(),Ask,10,Blue);
if(ShortOrderGeclosed == true) ShortOrder = 0;
}

Danke für Eure Hilfe!

Nordlicht 27.01.15 17:46

Weiterer Versuch misslungen
 
Hallo zusammen,

Habe noch den Code "Eventuelle bestehende Long Order schließen" eingefügt. Leider ohne Erfolg. Es werden immer noch mehr als eine Order eröffnet.

Gibt es denn wirklich keinen, der dort Hilfe weiß?


PHP-Code:

      //Long Signale umsetzen
      
if(LongSignal == true)
         {  
            
//Eventuelle Short Order schliessen
            
if(ShortOrder>0)
               {  
                  if(
OrderSelect(ShortOrder,SELECT_BY_TICKET)== true)
                  {
                     
bool ShortOrderGeclosed OrderClose(ShortOrder,OrderLots(),Ask,10,Blue);
                     if(
ShortOrderGeclosed == trueShortOrder 0;
                  }   
               }
             
//Eventuelle bestehende Long Order schliessen
                  
if(LongOrder>0)
                  {
                  if(
OrderSelect(LongOrder,SELECT_BY_TICKET)== true)
                     {
                        
bool LongOrderGeclosed OrderClose(LongOrder,OrderLots(),Bid,10,Blue);
                        if(
LongOrderGeclosed == trueLongOrder 0;
                     }
                  }          
                              
               while(
LongOrder<=0)
               {
                  
LongOrder OrderSend(Symbol(),OP_BUY,HandelsLots,Ask,10,0,0,"MAXing Long",MagicNummer,0,Green);
               }
         } 


traderdoc 27.01.15 18:01

Code:

//Long Signale umsetzen
if (LongSignal == true) { 
  //Eventuelle Short Order schliessen
  if (ShortOrder>0) { 
      if (OrderSelect(ShortOrder,SELECT_BY_TICKET)== true) {
        bool ShortOrderGeclosed = OrderClose(ShortOrder,OrderLots(),Ask,10,Blue);
        if (ShortOrderGeclosed == true) ShortOrder = 0;
      } 
  }
  //Eventuelle bestehende Long Order schliessen
  if (LongOrder>0) {
      if  (OrderSelect(LongOrder,SELECT_BY_TICKET)== true) {
        bool LongOrderGeclosed = OrderClose(LongOrder,OrderLots(),Bid,10,Blue);
        if (LongOrderGeclosed == true) LongOrder = 0;
      }
  }         
                 
  if (LongOrder <= 0) {         
      LongOrder = OrderSend(Symbol(),OP_BUY,HandelsLots,Ask,10,0,0,"MAXing Long",MagicNummer,0,Green);
  }
}

traderdoc

Nordlicht 27.01.15 19:06

SUPI OBERDANKE!!!

Dachte eigentlich, dass ich "while" schon mal mit "if" ersetzt hatte. Aber soooo viele Buchstaben, Zahlen und Kopfschmerzen :)

Vielen herzlichen Dank!!


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:58 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