GBPJPY,H1: invalid price 158.30300000 for OrderSend function

 
Вот в тестере выдает такую ошибку : "GBPJPY,H1: invalid price 158.30300000 for OrderSend function" в чем проблема??  так как на другом участке уже 2010 года история все норм таких ошибок невыдает.....а только пробую 2009 начинают вылетать такие ошибки. Историю пробывал перезаливать несколько раз....непомогает.
 
нужно нормализовать цену
 
Techno >>:
нужно нормализовать цену


как?
 
NormalizeDouble(Ask,Digits); // Пример
 
Techno >>:



спасиб, но я выставил  
NormalizeDouble(Ask,Digits);

и 

NormalizeDouble(Bid,Digits);

всеравно выдает такие же ошибки 

 
где ты их выставил? В OrderSend?
 
Techno >>:
где ты их выставил? В OrderSend?


NormalizeDouble(Ask,Digits);
NormalizeDouble(Bid,Digits);
if(sell==true){  
int  ticket1= OrderSend(Symbol(), OP_SELL, lots,Bid,3,Ask + SL*Point,0,WindowExpertName()+"-"+Symbol(), smagic, 0);
      if(ticket1<0)
                                 {
                        Print("Ошибка открытия Sell: ",GetLastError());
                                            } 
   sell=false;
   
   }
 

надо так

int  ticket1= OrderSend(Symbol(), OP_SELL, lots,NormalizeDouble(Bid,Digits),3,Ask + SL*Point,0,WindowExpertName()+"-"+Symbol(), smagic, 0);

 
Techno >>:

надо так



спасиб большое.....а чего такая ошибка вообще возникла??.......вообщето стандартная функция открытия ордера без NormalizeDouble.....вроде как.
 
ну порой случается что вместо обычного 4хзначного значения советник в Bid запихивает числа с высокой точностью, а это недопустимо. Всегда используют нормализацию.
 
Techno писал(а) >>

надо так


Может потребоваться даже так:

int  ticket1= OrderSend(Symbol(), OP_SELL, lots,NormalizeDouble(Bid,Digits),3,NormalizeDouble(Ask + SL*Point,Digits),0,WindowExpertName()+"-"+Symbol(), smagic, 0);