Скачать MetaTrader 5

что значит в ранних MQL программах выражение ND(Ask) или ND(Bid) что значит ND(

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Загружай коды из Библиотеки MQL5 через MetaTrader. Это удобно!
Genkov
52
Genkov 2016.08.21 09:22 

что значит в ранних MQL программах выражение ND(Ask) или ND(Bid) что значит ND(

Прошу аксакалов разъяснить значения выражения ND  

Vladimir Zubov
4322
Vladimir Zubov 2016.08.21 09:24  
А пример кода можно ? Оператора ND не всречал за последние шесть лет. Возможно это пользовательская функция с название ND в которую передаются параметры Ask и Bid при вызове. Но точнее можно сказать увидев код или участок кода.
Stanislav Aksenov
13269
Stanislav Aksenov 2016.08.21 09:30  
Vladimir Zubov:
А пример кода можно ? Оператора ND не всречал за последние шесть лет. Возможно это пользовательская функция с название ND в которую передаются параметры Ask и Bid при вызове. Но точнее можно сказать увидев код или участок кода.

тоже думаю что это пользов ф-ция

похоже что normalize double 

Alexey Viktorov
6839
Alexey Viktorov 2016.08.21 09:33  

Это пользовательская функция

double ND(value){return(NormalizeDouble(value, Digits()));}

Если кто-то станет оспаривать авторство, я спорить не стану, но для себя это писал я сам по причине ленивости писать каждый раз полностью, а потом начал встречать это в сети.

Genkov
52
Genkov 2016.08.21 09:34  
    if(Hour() > Time1 && Hour() < Time2 && (!today))
      {
         lots= LotsOptimized(); 
         MathSrand(srand);
         //MathSrand(Bid*MathPow(10,Digits));
         J = MathRand();
         J = J % 2;
         Alert("J = ", J);
         if(J==X)
         {
            OrderSend(Symbol(), OP_BUY, lots, ND(Ask), slip, ND(Ask - sl1*Point), ND(Ask + tp1*Point), "BUY1", Magic);
            OrderSend(Symbol(), OP_BUY, lots, ND(Ask), slip, ND(Ask - sl1*Point), ND(0)             , "BUY2", Magic);
         }
         else
         {
            OrderSend(Symbol(), OP_SELL, lots, ND(Bid), slip, ND(Bid + sl2*Point), ND(Bid - tp2*Point), "Sell1", Magic);
            OrderSend(Symbol(), OP_SELL, lots, ND(Bid), slip, ND(Bid + sl2*Point), ND(0)             , "Sell2", Magic);
         }
        
         today = true;
      }
    
      
      else if(Hour() == Time2 && today)
         for(i=0; i<OrdersTotal(); i++)
         {
            OrderSelect(i, SELECT_BY_POS);
            if(OrderType() == OP_BUY)
               OrderClose(OrderTicket(), OrderLots(), ND(Bid), slip);
            else if(OrderType() == OP_SELL)
               OrderClose(OrderTicket(), OrderLots(), ND(Ask), slip);
         }
это пример из учебника http://www.speculant.com/forum/showthread.php?204-%D0%9A%D1%83%D1%80%D1%81-MQL4&p=17993#post17993
в init этого нет и в отдельных функциях нет, в то же время копирую весь код - компилирую, а ошибки нет!!
Всем откликнувшимся большое Спасибо - нашел 
//------------------------------------------ND------------------------------------------

double ND(double val)
{
   return(NormalizeDouble(val, Digits));
}
Genkov
52
Genkov 2016.08.21 09:52  

Всем Большое Спасибо!

Прошу простить мою невнимательность! 

и том же месте урок 105 Нормализация цен

 -> Спешу заметить, что правильно НЕ ND(Bid)-25*Point, а именно ND(Bid-25*Point). Т.е. сначала производятся все вычисления, и только затем мы нормализуем результат. 

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