А если через "+" ?
Comment ("Сделок = "+ deals+ " || Вероятность = "+ probab+" || a");
А если через "+" ?
У него:
'}' - unbalanced parentheses X:\VirtX\experts\DPTWIST_v1.mq4 (4, 10)
Возможно, но мне помогало. Вообще сам метод задания переменных через запятую ? Беспокоит пропадание ошибки при изменении количества символов. Возможно это баг свежей сборки.
Какой билд точно ?
Каков размер кода и сколько вложенных блоков {}? Из-за больших размеров и количеств возможны непредсказуемые ошибки.
Код смешно 420 строк. Коммент в основном коде функции, никуда "не вложен", ну кроме самой функции. Да и вообще по коду чрезмерных вложенностей нет (максимум 4 не больше). Но как вариант попробую с'оптимизировать. А ошибка точно непредсказуемая) Забавно, меняю Comment на Print и меняются местами ошибки, где нет ошибок у коммент, есть у принт, и наоборот) Наверно это просто заколдовано магическая строчка 223 в советнике.
Хотя нет, работает через строчку.... Глюк наверно просто, придется переустановить терминал.
А если через "+" ?
Через плюс тоже самое.
Вставил в советник простецкий Comment и получил гору ошибок, сломал всю голову но кое-как локализовал. Проще правда не стало. Посмотрите:
Mql4 очень своеобразный язык. Я встречал в CodeBase несколько интересных кодов, но этот стиль программирования не воспринимаю. Здесь есть такое понятие, как "global scope" - глобальный уровень (глобальное окружение). К нему относится все, что лежит вне закрытых фигурных скобок нулевого уровня.
Пример от балды
int start() { close(); return(0); } bool g; //мы опять на глобальном уровне int close() { for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { Print("selected ", OrderTicket() ); if ( OrderDelete(OrderTicket()) ) Print("deleted ", OrderTicket() ); else Print( GetLastError() ); } } }
: Так что ошибка "expression on global scope not allowed" говорит о том, что у вас проблема с фигурными скобками.
Comment ("Сделок = ", deals, " || Вероятность = ", probab, " || a");//сам дуракПопробуйте.
Mql4 очень своеобразный язык. Я встречал в CodeBase несколько интересных кодов, но этот стиль программирования не воспринимаю. Здесь есть такое понятие, как "global scope" - глобальный уровень (глобальное окружение). К нему относится все, что лежит вне закрытых фигурных скобок нулевого уровня.
Пример от балды
: Так что ошибка "expression on global scope not allowed" говорит о том, что у вас проблема с фигурными скобками.
Не спешите. Ошибка в другом, если конечно она есть
Не спешите. Ошибка в другом, если конечно она есть
Вы правы.
Спасибо всем и извините, что морочал честным людям голову)
Выяснилось, что ошибки вызывают любые изменения в советнике. Не каждый раз, а примерно через раз. Ну а дальше просто, эти грабли я уже проходил). В процессе отладки включил много комментариев и принтов. В результате логи забили весь виртуальный диск. 2 свободных гига. Соответсвенно при попытке компиляции могло вылезать все что угодно.
Попутно, Всех защитников Отечества, и Всех таковыми себя считающими - С Праздником.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вставил в советник простецкий Comment и получил гору ошибок, сломал всю голову но кое-как локализовал. Проще правда не стало. Посмотрите:
Компилируется без ошибок.
'u' - expression on global scope not allowed X:\VirtX\experts\DPTWIST_v1.mq4 (1, 1)'u' - variable not defined X:\VirtX\experts\DPTWIST_v1.mq4 (1, 1)
'SellOrders' - expression on global scope not allowed X:\VirtX\experts\DPTWIST_v1.mq4 (2, 39)
'SellOrders' - variable not defined X:\VirtX\experts\DPTWIST_v1.mq4 (2, 39)
'TotalOrders' - expression on global scope not allowed X:\VirtX\experts\DPTWIST_v1.mq4 (3, 11)
'TotalOrders' - variable not defined X:\VirtX\experts\DPTWIST_v1.mq4 (3, 11)
'}' - unbalanced parentheses X:\VirtX\experts\DPTWIST_v1.mq4 (4, 10)
Снова без ошибок.
'SellOrders' - expression on global scope not allowed X:\VirtX\experts\DPTWIST_v1.mq4 (2, 39)
'SellOrders' - variable not defined X:\VirtX\experts\DPTWIST_v1.mq4 (2, 39)
'TotalOrders' - expression on global scope not allowed X:\VirtX\experts\DPTWIST_v1.mq4 (3, 11)
'TotalOrders' - variable not defined X:\VirtX\experts\DPTWIST_v1.mq4 (3, 11)
'}' - unbalanced parentheses X:\VirtX\experts\DPTWIST_v1.mq4 (4, 10)
Ну и т.д. Через символ вылезает куча ошибок которые я явно не вношу. На какие грабли я наступил? Терминал последний. Комп, терминал перегружал. Все пофиг. Пойду напьюсь по поводу праздника и убитых пары часов.