Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 04.11.15
Ensholm Ensholm ist offline
Neues Mitglied
 
Registriert seit: Jun 2011
Beiträge: 2
Ensholm befindet sich auf einem aufstrebenden Ast
Standard Error 130/129 bei OrderSend()

Dieser EA sollte einen Trade eröffnen, sobald eine Kerze beendet ist. Wenn der Schlusskurs tiefer liegt, sollte der EA einen Sell-Trade und wenn der Schlusskurs höher liegt einen Buy-Trade eröffnen. Ich erhalte aber leider immer einen Error 130 oder 129, wenn dieser einen Trade eröffnen sollte.
Wenn ich nur die OrderSend() Function, ohne den restlichen Code ausführe, dann funktioniert diese und eröffnet Trades.
Was mache ich falsch?

Code:
#property strict

extern double StopLoss       = 100.0;
extern double TakeProfit     = 100.0;
//+------------------------------------------------------------------+
//| --- Variablen fest Festlegen: (Global)                           |
//+------------------------------------------------------------------+

double LastClose1;
double LastClose2;
int Count;
string Dir;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {

    Count=0;
   
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{

   if(Count==0)
      {
      LastClose2 = iClose(NULL,0,2);
      Count=1;
      }
      
   LastClose1 = iClose(NULL,0,1);
   
   
   if(LastClose1 > LastClose2)
      {

      //--- place market order to buy 1 lot
      int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-(StopLoss*Point),Ask+(TakeProfit*Point),NULL,NULL,0,clrRed); 
         if(ticket<0) 
         { 
            Print("OrderSend failed with error #",GetLastError()); 
         } 
         else 
            Print("OrderSend placed successfully"); 
         //Comment("Zähleranfang: "+Count+"\n Dir: "+Dir+"    \n LastClose2: "+LastClose2+"\n LastClose1: "+LastClose1);
            
      LastClose2 = LastClose1;
      Dir = "Kaufen";  
      }
   
   if(LastClose1 < LastClose2)
      {
 

      //--- place market order to buy 1 lot 
      int ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,Bid-(StopLoss*Point),Bid+(TakeProfit*Point),NULL,NULL,0,clrGreen); 
         if(ticket<0) 
         { 
            Print("OrderSend failed with error #",GetLastError()); 
         } 
         else 
            Print("OrderSend placed successfully"); 
          
      LastClose2 = LastClose1;
      Dir = "Verkaufen";   
      }

}