Thema: Error
Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 08.08.17
Lena Lena ist offline
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 105
Lena befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht findet jemand in der Funktion einen gravierenden Fehler?
Der Compiler gibt keine Fehler oder Warnung an. Im Test wird die Order auch gelegentlich ausgeführt. Es kommt aber wie schon gesagt ganz oft der Fehler 138.

Code:
//+------------------------------------------------------------------+
//| Funktion BUY                                                     |
//+------------------------------------------------------------------+
void Func_Buy () {
   if(Digits == 3) Multiplier = 100;
   if(Digits == 5) Multiplier = 10000;
   
   Verlustgrenze = Kapital / 100 * Risiko;
   Abstand       = NormalizeDouble((Bid - S1) * Multiplier, Digits);
   if(Abstand>150){Abstand=150;}
   Verlustgrenze = NormalizeDouble(Verlustgrenze / Abstand,2);
   Volumen       = NormalizeDouble((Verlustgrenze / 0.10)* 0.01,2);
   
   Stop_Loss   = NormalizeDouble(S1 -  4 * Point * 10, Digits);
   Take_Profit = NormalizeDouble(Bid + 1 * (Abstand) * Point * 10, Digits);
   R1          = NormalizeDouble(R1, Digits);

   if(Take_Profit<R1)
      {Take_Profit=R1;}
  
   int Ticket =  OrderSend(Symbol(),OP_BUY,Volumen,Ask,Slippage,Stop_Loss,Take_Profit,"BUY_MARKET",0,0,clrGreen);
   if(Ticket<0) 
     { 
      Print("OrderSend failed with error #",GetLastError()); 
     } 
   else 
      Print("OrderSend placed successfully");
}