Скачать MetaTrader 5

ошибка 4107 - страница 4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Victor Nikolaev
Модератор
14953
Victor Nikolaev  
fgyhtre:
Прошу помощи у профи

Никак не могу протестировать советник(

2014.01.12 17:15:35 2014.01.10 22:31 MACD Sample USDCHF,M1: OrderSend error 4107
2014.01.12 17:15:35 2014.01.10 22:31 MACD Sample USDCHF,M1: invalid price 0.90321000 for OrderSend function
2014.01.12 17:15:35 2014.01.10 22:31 MACD Sample USDCHF,M1: OrderSend error 131

Я ещё новичек и не могу сам исправить код и нормализовать цены в советнике
Исправьте пожалуйста(

Новичок в чем?
Иван
16
Иван  

Уважаемый модератор перечитайте ещё раз сообщение

Спасибо за неоценимую помощь оказанную демагогией

Victor Nikolaev
Модератор
14953
Victor Nikolaev  
fgyhtre:

Уважаемый модератор перечитайте ещё раз сообщение

Спасибо за неоценимую помощь оказанную демагогией


Если Вы смогли написать советник, то сможете разобрать ошибки и исправить. Если советник чужой, то в Джобу

А демагогией пока Вы занимаетесь. Похоже из Вас хороший троль вырастет.

Alexander
2441
Alexander  
   startrate = ( Ask + point*GridSize/2 ) / point / GridSize;    // round to a number of ticks divisible by GridSize
   k = startrate ;
   k = k * GridSize ;
   startrate = k * point - GridSize*GridSteps/2*point ;          // calculate the lowest entry point
Ищите ошибку в этих четырех строчках. Что автор хотел вычислить, мне трудно понять, и переход от дробных к целым и наоборот может порождать ваши ошибки.
Lohin
5
Lohin  

Such error I got with Demo Account:

2016.10.07 19:02:32.001    mGRID_ver7E01FT5Auto4 USDZAR,H4: invalid price for OrderSend function

All Normalized. Code is below:

//+------------------------------------------------------------------+
// Set up a new grid
       
InitialPrice =NormalizeDouble(Ask,Digits);
SellGoal = NormalizeDouble(InitialPrice-(Levels+1)*pips*Point, Digits);
BuyGoal  = NormalizeDouble(InitialPrice+(Levels+1)*pips*Point, Digits);
for(cpt = 1; cpt <= Levels; cpt++)
{
ticket=    OrderSend(Symbol(),OP_BUYSTOP,lots,NormalizeDouble(InitialPrice+cpt*pips*Point, Digits),Slipppppage,SellGoal,BuyGoal,
DoubleToStr(InitialPrice,Digits),Magic,0,Blue);

if(ticket<0)
     {
      ErrNumber = GetLastError();
      Print("OrderSend failed with error #",ErrNumber);
      if(ErrNumber==4107)
      {
      Print("Order Send Price = ", NormalizeDouble(InitialPrice+cpt*pips*Point, Digits) );
      Print("Stop Loss = ", SellGoal);
      Print("Take Profit", BuyGoal);
     
      }
     }
   else
      Print("OrderSend placed successfully");
     
Sleep(1000);
       
ticket=     OrderSend(Symbol(),OP_SELLSTOP,lots,InitialPrice-cpt*pips*Point,Slipppppage,
NormalizeDouble(BuyGoal+spread*Point,Digits),NormalizeDouble(SellGoal+spread*Point,Digits),
DoubleToStr(InitialPrice,Digits),Magic,0,Red);

if(ticket<0)
     {
     ErrNumber = GetLastError();
      Print("OrderSend failed with error #",ErrNumber);
      if(ErrNumber==4107)
      {
      Print("Order Send Price = ", NormalizeDouble(InitialPrice+cpt*pips*Point, Digits) );
      Print("Stop Loss = ", NormalizeDouble(BuyGoal+spread*Point,Digits));
      Print("Take Profit", NormalizeDouble(SellGoal+spread*Point,Digits));
     
      }
     }
   else
      Print("OrderSend placed successfully");

Sleep(1000);
}}

//+------------------------------------------------------------------+
// Initial setup done

  

EA is improved version of:

http://www.forexfactory.com/showthread.php?t=109589

Any manipulation with does not brought good results.

1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий