Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сначала научитесь нормальную программу написать, а потом определите "терминал ужасно написан" или нет.
обуснуйте, что в скрипте написано не верно и почему MT переписывает данные массива задним числом?
Копируйте, убедитесь. Вообще, терминал ужасно написан, любая прога при пуске все числа выдает изначально, как FALSE, т.е. 0 и только МТ втыкает рандомные числа, что-зачем-почему, непонятно и главное - неправильно
А вот это что?
Если (получили или не получили данные по Bid) или (получили или не получили данные по Ask), то сообщаем, что данные не получили ...
А вот это что?
Если (получили или не получили данные по Bid) или (получили или не получили данные по Ask), то сообщаем, что данные не получили ...
Я уже решил, для массивов написал проверки, просто людей предупредить, чтобы завтра депозиты не посливали. Хотя, есть подозрение, что брокер мог код подкорректировать, но опять же сомнительно, что у брокера есть доступ к исходному коду, тогда он мог бы поставить разрабов. В общем, ошибку заметил, проверки дописал
Да нет никакой ошибки. ВСЕ уже давно знают о таком отличии mql4 и mql5 и не парятся над этим. Просто соблюдают последовательность и логичность при написании. Если уж и сливают, то абсолютно по другим причинам.
В мании преследования вы меня превзошли... Зачем брокеру пытаться залезть в ваш код??? Он и без этого поможет любому трейдеру обнулить счёт.
обуснуйте, что в скрипте написано не верно и почему MT переписывает данные массива задним числом?
А кто такие вещи пишет ???
На случай сбоя в MqlTick и return в случае ошибки
Я вам привёл вашу ошибочную строку - вы не знаете как работает данный вызов функции, не знаете какие значения принимает bool-переменная, но утверждаете про ошибки терминала...
Ещё раз: ЧТО написано в этой строчке?
Расскажите.
А что у вас написано вот в этой строке?
Расскажите.
А потом расскажите какое значение bool имеет число 0, и какое значение bool имеет число минус один.
А потом, с учётом новых знаний перепишите код.
И это всего лишь начало вашего кода - дальше не глядел.
А кто такие вещи пишет ???
Вы мне можете объяснить, зачем вы сюда функции воткнули? При каких они делах?
Я с самого начала попросил у Вас ВОСПРОИЗВОДИМЫЙ код - то есть код который я могу сразу запустить в редакторе. Вы предоставили код с ошибками, он не запускался. Пришлось запихнуть Ваш блок кода в функцию.
Но сейчас не об этом. Я обнаружил то, что Вы пытались донести.
Итак, данные терминала (это первые три строчки вкладки "Журнал" терминала):
Найденная ошибка в работе со статическим массивом (пример статического массива: double arr_bid[10]). А именно: если статический массив объявлен в блоке кода (в функции), то при последующем заходе в эту функцию статический массив не пересоздается заново, а ведёт себя как массив static double arr_bid[10].
Проверочный код:
В функции TestFunction в конце объявлен статический массив arr_bid[10]. По идеи этот массив, при каждом последующем входе в функцию TestFunction, должен заново создаваться, как и любая локальная переменная.
В нашем же случае, статический массив arr_bid[10]. ведёт себя как static arr_bid[10] - то есть в масиве остаются данные записанные в него в предыдущих заходах.
Итак заход №1:
Заход №2:
как видите в индексе #0 осталось значение с предыдущего захода.
В третьем заходе у нас уже будет видно сохранившееся значение и в индексе #0 и в индексе #1:
Да нет никакой ошибки. ВСЕ уже давно знают о таком отличии mql4 и mql5 и не парятся над этим. Просто соблюдают последовательность и логичность при написании. Если уж и сливают, то абсолютно по другим причинам.
В мании преследования вы меня превзошли... Зачем брокеру пытаться залезть в ваш код??? Он и без этого поможет любому трейдеру обнулить счёт.
Подозрение не является фактом, это лишь одна из предполагаемых причин, либо брокер, либо обнова
Я с самого начала попросил у Вас ВОСПРОИЗВОДИМЫЙ код - то есть код который я могу сразу запустить в редакторе. Вы предоставили код с ошибками, он не запускался. Пришлось запихнуть Ваш блок кода в функцию.
Но сейчас не об этом. Я обнаружил то, что Вы пытались донести.
Итак, данные терминала (это первые три строчки вкладки "Журнал" терминала):
Найденная ошибка в работе со статическим массивом (пример статического массива: double arr_bid[10]). А именно: если статический массив объявлен в блоке кода (в функции), то при последующем заходе в эту функцию статический массив не пересоздается заново, а ведёт себя как массив static double arr_bid[10].
Проверочный код:
В функции TestFunction в конце объявлен статический массив arr_bid[10]. По идеи этот массив, при каждом последующем входе в функцию TestFunction, должен заново создаваться, как и любая локальная переменная.
В нашем же случае, статический массив arr_bid[10]. ведёт себя как static arr_bid[10] - то есть в масиве остаются данные записанные в него в предыдущих заходах.
Итак заход №1:
Заход №2:
как видите в индексе #0 осталось значение с предыдущего захода.
В третьем заходе у нас уже будет видно сохранившееся значение и в индексе #0 и в индексе #1: