Скачать MetaTrader 5

Ошибка компилятора? Не работает элементарная программа.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Знаешь C++? MQL5 очень схож с ним, убедись в этом сам!
Forex Trader
114255
Forex Trader 2009.07.24 18:43 

Два дня искал проблему. Упростил неработающий код до минимума. И почему цикл выполняется только один раз?

Файлы:
Forex Trader
114255
Forex Trader 2009.07.29 16:23  

Запустил Ваш скрипт. Цикл выполняется ровно 10 раз.

Forex Trader
114255
Forex Trader 2009.07.30 14:37  
Slawa :

Запустил Ваш скрипт. Цикл выполняется ровно 10 раз.

Прикрепил компилированный скрипт. Результат выполнения:

2009.07.30 14:16:08 script GBPJPY,H1: removed
2009.07.30 14:16:08 script GBPJPY,H1: uninit reason 0
2009.07.30 14:16:08 script GBPJPY,H1: Alpari NZ Limited
2009.07.30 14:16:08 script GBPJPY,H1: loaded successfully


"Alpari NZ Limited" - выводится только один раз


Проверял не только на своем компьютере, результат такой же.

Файлы:
Forex Trader
114255
Forex Trader 2009.07.31 09:39  

Будем разбираться

Forex Trader
114255
Forex Trader 2009.07.31 09:46  
09:41:10 script GBPJPY,H1: loaded successfully
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: Alpari NZ Limited
09:41:10 script GBPJPY,H1: uninit reason 0
09:41:10 script GBPJPY,H1: removed
Forex Trader
114255
Forex Trader 2009.07.31 09:48  

В Вашем скрипте две строчки подряд case 92.

Почему-то компилятор не ругнулся... и попортил таблицу переходов. Уберите лишнюю строчку и всё будет в порядке.

Спасибо за сообщение об ошибке.

Forex Trader
114255
Forex Trader 2009.08.02 12:33  

Да, если убрать дублирующий case 92, то цикл отрабатывает 10 раз. Но если потом добавить строку с case 128: Print("A"); break; то цикл работает опять один раз (скрипт прилагается). Возможно тут не одна ошибка, а несколько или связанных друг с другом.

Файлы:
Forex Trader
114255
Forex Trader 2009.08.03 10:11  

Ваше второе замечание помогло локализовать проблему. Спасибо.

Как только мы сумеем устранить ошибку (таким образом, чтобы не появились новые), мы сразу же выложим исправленный компилятор.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий