Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 628

 
Roman Sharanov:

no history data не говорит ни о чем?

Спасибо за ответ.

 
Igor Makanu:

Вам вроде тестер и пишет, что нет исторических данных, F2 нажмите и загрузите историю, потом перегрузите терминал

Всё, спасибо большое, работает.

 
Привет ребятульки! Опять нужна ваша помощь! Подскажите как сделать последовательность чисел N() от 1 ?
int N() {   int n;                      
       n=N();
       return(n+1);}
//+------------------------------------------------------------------+  
void OpenBS() { ....       
    if( ((OpenB-Ask)/ma+TimeB/60) > N() ) { 
        if( OrderSend(Symbol(),OP_BUY,0.01,Ask,3,0,0,NULL,123,0,1)>0 ) {N()} }}
На что изменить int чтобы N() крутилась от void OpenBS() ?
 
Rustam Bikbulatov:
Привет ребятульки! Опять нужна ваша помощь! Подскажите как сделать последовательность чисел N() от 1 ?На что изменить int чтобы N() крутилась от void OpenBS() ?

Может так

int N()
  {
   static int n=0;                      
   n++;
   return n;
  }
 
Konstantin Nikitin:

Может так

Спасибо большое!!! Не подскажи те еще как можно обнулить? Например если есть ордера то идет исчисление. Если нет ордеров то обнуляется

int N()
  {  static int n;
        {if((fMarketOrdersBuy(OP_BUY)==0)) { 
        n=0;}}
        {if((fMarketOrdersBuy(OP_BUY)>=1)) {                       
        n++;}}
   return n;
  }
Почему этот метод не работает? 
 
Rustam Bikbulatov:

Спасибо большое!!! Не подскажи те еще как можно обнулить? Например если есть ордера то идет исчисление. Если нет ордеров то обнуляется

int N(const int r=0)
  {
   static int n=0;                      
   n = (r==0 ? n : r==1 ? n+1 : 0); // 0-просто возвращаем n, 1-прибавляем 1, в любом другом случае обнуляем
/*
   n = (r>0 ? n+1 : r<0 ? 0 : n); // 0-просто возвращаем n, больше 0 прибавляем 1, меньше 0 обнуляем
*/
   return n;
  }
 
Konstantin Nikitin:

Вообще не идет вычисление. Ноль стоит. Спасибо. Буду разбираться)

 
Rustam Bikbulatov:

Вообще не идет вычисление. Ноль стоит. Спасибо. Буду разбираться)

Так запрашивать ее надо

N(1);  // прибавит 1, и вернет новый результат.
N(-1); // обнулит и вернет 0
N();   // вернет тот результат который есть без изменений
 
Konstantin Nikitin:

Так запрашивать ее надо

а как это сделать в виде ?

        if((fMarketOrdersBuy(OP_BUY)==0)) { 
        ...}
        if((fMarketOrdersBuy(OP_BUY)>=1)) {                       
        ...}
 
Konstantin Nikitin:

Так запрашивать ее надо

Просто заметил что int работает сам по себе в независимости от вызова на эту функцию. Можно ли заменить на по типу voidVoid не дает результат в виде цифр