Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У меня вопрос возник. Функция
возвращает терминалу значение INIT_SUCCEEDED. А что это такое она возвращает терминалу? Что это за целочисленный код? Какие коды можно возвращать помимо этого и что они обозначают? В справке найти не удалось. В Гугле тоже.
Вопрос не праздный. У меня возникла надобность уже в блоке инициализации проверить корректность параметра и если он не вверен, то остановить работу советника вообще. Понимаете, хотелось бы остановить а не останавливать на каждом тике, как это можно сделать в функции OnTick(). Тут вот в чём дело. Мне нужно чтоб переменная проинициализировалась значением 1 и только 1 раз за всё время работы эксперта. Ну нет нужды инициализировать её на каждом тике а затем на каждом тике проверять её корректность. Вот тут то у меня взгляд и упал на это самый INIT_SUCCEEDED. Если то значение, которое содержит в себе эта константа, говорит, мол всё нормально, проинициализировались, можно советнику работать, то можо ли послать терминалу другой код возврата, который не позволит советнику отреагировать даже на 1 тик?
У меня вопрос возник. Функция
возвращает терминалу значение INIT_SUCCEEDED. А что это такое она возвращает терминалу? Что это за целочисленный код? Какие коды можно возвращать помимо этого и что они обозначают? В справке найти не удалось. В Гугле тоже.
Вопрос не праздный. У меня возникла надобность уже в блоке инициализации проверить корректность параметра и если он не вверен, то остановить работу советника вообще. Понимаете, хотелось бы остановить а не останавливать на каждом тике, как это можно сделать в функции OnTick(). Тут вот в чём дело. Мне нужно чтоб переменная проинициализировалась значением 1 и только 1 раз за всё время работы эксперта. Ну нет нужды инициализировать её на каждом тике а затем на каждом тике проверять её корректность. Вот тут то у меня взгляд и упал на это самый INIT_SUCCEEDED. Если то значение, которое содержит в себе эта константа, говорит, мол всё нормально, проинициализировались, можно советнику работать, то можо ли послать терминалу другой код возврата, который не позволит советнику отреагировать даже на 1 тик?
https://www.mql5.com/ru/docs/event_handlers/oninit
https://www.mql5.com/ru/docs/event_handlers/oninit
Спасибо
У меня вопрос возник. Функция
возвращает терминалу значение INIT_SUCCEEDED. А что это такое она возвращает терминалу? Что это за целочисленный код? Какие коды можно возвращать помимо этого и что они обозначают? В справке найти не удалось. В Гугле тоже.
Вопрос не праздный. У меня возникла надобность уже в блоке инициализации проверить корректность параметра и если он не вверен, то остановить работу советника вообще. Понимаете, хотелось бы остановить а не останавливать на каждом тике, как это можно сделать в функции OnTick(). Тут вот в чём дело. Мне нужно чтоб переменная проинициализировалась значением 1 и только 1 раз за всё время работы эксперта. Ну нет нужды инициализировать её на каждом тике а затем на каждом тике проверять её корректность. Вот тут то у меня взгляд и упал на это самый INIT_SUCCEEDED. Если то значение, которое содержит в себе эта константа, говорит, мол всё нормально, проинициализировались, можно советнику работать, то можо ли послать терминалу другой код возврата, который не позволит советнику отреагировать даже на 1 тик?
Столкнулся с ошибкой:
'iCustom' - wrong parameters count
Эта ошибка возникает если в функцию iCustom передавать слишком много параметров. Не считая обязательных параметров, можно передать еще 59 параметров пользовательского индикатора. Если у пользовательского индикатора более 59 параметров, то параметры будут использованы по умолчанию. И все бы ничего, но есть такие разработчики, которые пихают до сотни параметров в свои творения, при чем параметры, которые ни на что не влияют при использовании в советнике, ставят по списку на первые места, а например отключение звуковых сигналов ставят на последние места, и когда клиент заказывает советник, дает файл индикатора и просит, чтобы я отключил звуковой сигнал индикатора при использовании в советнике, то я как разработчик просто не могу этого сделать:
- во-первых, из-за ограничения количества передаваемых параметров в функцию iCustom
- во-вторых, из-за того, что нужный параметр находится в списке ниже 59-го, и по умолчанию в индикаторе включен (а надо выключить)
По этому, к админам вопрос, можно ли сделать чтобы функция iCustom принимала больше параметров? А к разработчикам просьба, если вы используете в своих индикаторах много настроек, то просьба либо ставить полезные настройки на первые места, либо по умолчанию их делать такими, чтобы в советнике они не мешали.
Столкнулся с ошибкой:
'iCustom' - wrong parameters count
Эта ошибка возникает если в функцию iCustom передавать слишком много параметров. Не считая обязательных параметров, можно передать еще 59 параметров пользовательского индикатора. Если у пользовательского индикатора более 59 параметров, то параметры будут использованы по умолчанию. И все бы ничего, но есть такие разработчики, которые пихают до сотни параметров в свои творения, при чем параметры, которые ни на что не влияют при использовании в советнике, ставят по списку на первые места, а например отключение звуковых сигналов ставят на последние места, и когда клиент заказывает советник, дает файл индикатора и просит, чтобы я отключил звуковой сигнал индикатора при использовании в советнике, то я как разработчик просто не могу этого сделать:
- во-первых, из-за ограничения количества передаваемых параметров в функцию iCustom
- во-вторых, из-за того, что нужный параметр находится в списке ниже 59-го, и по умолчанию в индикаторе включен (а надо выключить)
По этому, к админам вопрос, можно ли сделать чтобы функция iCustom принимала больше параметров? А к разработчикам просьба, если вы используете в своих индикаторах много настроек, то просьба либо ставить полезные настройки на первые места, либо по умолчанию их делать такими, чтобы в советнике они не мешали.
Это просьба в пустоту. Разработчики MQ делать не будут потому, что прекратили поддержку МТ4. А разработчики таких индикаторов делают это умышленно, если нет открытого кода. С расчётом, если что-то надо обращайтесь непосредственно……… сами знаете к кому.
Вывод: Если нет открытого кода индикатора, лучше выбросить его и забыть как страшный сон.
Встречал много примеров на сравнение, но что самое оптимальное?
Есть код
Отрабатывает через раз
Тоже самое и это
Если сделать так, то нормально, но ресурсозатратно
--
Какие есть варианты?
if(NormalizeDouble(Open[1],_Digits) - NormalizeDouble(Close[1],_Digits) == 0) return(1);
Везде говорится о нормализованной разности, но не о разнице нормализованных значений. Понимаете это?
Отрабатывает через раз