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

 
Nikolai Semko:

После MT5 ощущение от работы MT4 просто ужасное.

Николай, есть вопрос по работе OnCalculate в МТ5.

Когда запускается индикатор происходит ли однократный вызов OnCalculate после OnInit? Или индикатор ждёт тика?

 
MakarFX:

Подскажите, пожалуйста, простым языком в чем разница этих функций?

Визуально вроде нет разницы. Кроме непонятного этого:  || Order_Type == -1
 
MakarFX:

Подскажите, пожалуйста, простым языком в чем разница этих функций?

Если вызвать первую функцию с параметром -1, то она вернёт количество всех ордеров в терминале по текущему символу (независимо от их типа).

Вторая функция вернёт количество только тех ордеров, тип которых ей передан в качестве параметра.

 
MakarFX:

Подскажите, пожалуйста, простым языком в чем разница этих функций?

Никакой, но Я бы использовал вторую, но со вставкой: || Order_Type == -1

Aleksei Stepanenko:
Визуально вроде нет разницы. Кроме непонятного этого:  || Order_Type == -1

Если задать в параметр -1, то учитываем Buy и Sell, что вполне логично для универсальности функции

 
Vitaly Muzichenko:

Если задать в параметр -1, то учитываем Buy и Sell, что вполне логично для универсальности функции

ааааа, понятно, спасибо

 
Vitaly Muzichenko:

Никакой, но Я бы использовал вторую, но со вставкой: || Order_Type == -1

Если задать в параметр -1, то учитываем Buy и Sell, что вполне логично для универсальности функции

Спасибо, понял!

 
Aleksei Stepanenko:

Николай, есть вопрос по работе OnCalculate в МТ5.

Когда запускается индикатор происходит ли однократный вызов OnCalculate после OnInit? Или индикатор ждёт тика?

После OnInit вызывается однократно, после ждёт тика. Иначе бы на выходных не происходил главный первый цикл формирования индикатора, когда prevCalculated=0.
Вы всегда последовательность вызовов можете проверить принтовкой.
Print("1");
Print("2");
...
 
Nikolai Semko:
После OnInit вызывается однократно, после ждёт тика.   
...

Спасибо, у меня странно повёл себя индикатор, который на четвёрке работает без проблем. На парах, где нет тика не отрисовывался.

Хотя, принтует OnCalculate при старте. Возможно обновить график нужно? ChartRedraw? Потому, что отрисовка происходит только при приходе тика.
Файлы:
Mike.mq5  17 kb
 
Aleksei Stepanenko:

Спасибо, у меня странно повёл себя индикатор, который на четвёрке работает без проблем. На парах, где нет тика не отрисовывался.

Советую активно использовать штатный debug. Если не умеете работать с ним, срочно обучайтесь, здесь ничего сложного. Это более оперативный способ нахождения ошибок и ответов на вопросы.
 
Nikolai Semko:
Советую активно использовать штатный debug.

Это знаете, как у Вас ужасное ощущение от МТ4, так и я с чувством внутреннего неприятия, пытаюсь ковырятся в МТ5, аж всё вскипает внутри , тут уж не до дебага

Причина обращения: