MetaTrader 4 Client Terminal build 646: Умный поиск, книги в Маркете и обновление окна параметров MQL4-программы - страница 44

 
VOLDEMAR:
к отключению работы по новому бару

Все проследил , работаю в термнале альпари, у них недавно были изменены торговые условия теперь 9000 рур не достаточно для открытия ордера лотом 0,05

скорее всего то что лоты теперь стали минимальны 0,1 хотя почему то переодично открываются ордера лотами меньше 0,01 вобщем на серверах альпари бардак, сорвались тесты..

А при чём тут торговые условия?

Если iTime() возвращает 0, что она делает в случае ошибки, то у вас в первом if'е каждый раз выполняется return, потому что значение time всё время остаётся 0, и до второго if'а дело не доходит...

 
simpleton:

А при чём тут торговые условия?

Если iTime() возвращает 0, что она делает в случае ошибки, то у вас в первом if'е каждый раз выполняется return, потому что значение time всё время остаётся 0, и до второго if'а дело не доходит...


Вы о чем ??? 

Возвращаемое значение

Значение времени открытия бара (указанного параметром shift) соответствующего графика или 0 в случае ошибки. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError().

нет ошибок в  iTime , открыл новый демо счет все заработало, на старом демо не работает ....

 
stringo:

Нет. Это вряд ли.

x=0; уже означает использование переменной.

А если такую "используемую" переменную изъять из программы, "компилируемость" программы, а, главное, её поведение от этого изменится?
 
функция

ObjectGetValueByTime

не рабочая

к тому же если отбросить 3 параметер по умолчнию - компилятор ругается

 
VOLDEMAR:


Вы о чем ??? 

Возвращаемое значение

Значение времени открытия бара (указанного параметром shift) соответствующего графика или 0 в случае ошибки. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError().

нет ошибок в  iTime , открыл новый демо счет все заработало, на старом демо не работает ....

 

Вот и предположим, что каждый раз при вызове iTime() возникает ошибка. Тогда получается следующее (описал всё в комментариях):

void newbar(int   &bu,int  &su)
  {
   static datetime time=0;
   datetime curtim=iTime(_Symbol,TimeFreme,0); // Здесь curtim каждый раз при вызове функции newbar получает значение 0 из-за ошибки при вызове iTime()
   RefreshRates();
   if(time==0)  // Изначально time равно 0, исполняется код внутри if()
     {
      time=curtim; // time получает значение curtim, то есть 0, то есть, значение time не меняется здесь!!!
      return; // Выходим из этой функции (из функции newbar). Код ниже НЕ получит управления в этот раз. В следующий раз всё повторится точно так же, поскольку значение time осталось равным 0, правда, при условии, что iTime() каждый раз возвращает 0 из-за некоторой ошибки
     }

   if(time!=curtim) // До тех пор, пока с самого начала iTime() постоянно возвращает 0, этот код не имеет ни малейшего шанса на выполнение
     {zz++;
      time=curtim;
      bu=1;
      su=1;
      tt++;
     }
   if(NewBar==Off){bu=1; su=1;}

Я об этом. И о том, что следует проверять возвращаемые значения, если функция может вернуть признак ошибки.

Что именно за ошибка - в документации написано, как узнать...

 
RickD:

Ну пожалуйста!


indicator_color1 

Зачем нужна функция определения значения константы? 

 
stringo:

indicator_color1 - это не переменная.

Это - константа, макрос, дефайн если хотите, которая является синонимом другой константы, константы цвета, задающейся в объявлении


Хочу дефайн. 

И хотелось бы понимать, когда он срабатывает. Мое пожелание - при каждой инициализации, то бишь: при запуске приложения; при изменении параметров; при изменении окружения. 

ЗЫ Совсем не хочу алиас.  

 
Ушел на 2-3 дня хоронить хорошего человека. 
 
wlad:
функция

ObjectGetValueByTime

не рабочая

к тому же если отбросить 3 параметер по умолчнию - компилятор ругается


Пожалуйста, создайте заявку в сервисдеске и приложите неработающий код.
 
Почему-то в редакторе кода, за подсветку true и false отвечает "Сервис/Настройки/Цвета/Макросы", а не "Сервис/Настройки/Цвета/Ключевые слова".
Причина обращения: