Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Будущее... ну-ну. "Спасибо, поржал" (с)
При оптимизации хотелось бы увидеть результат прохода в процентах, а не в тех числах которые отображаются в столбце "Результат". Да и в бэктесте неплохо было бы рядом с результатом "Чистая прибыль" указывалась прибыль в %.
Вставьте свою формулу в обработчик события OnTester() и смотрите такой результат, какой Вам необходим.
Предлагаю сделать, чтобы глобальные переменные программы не пересекались с переменными и параметрами в подключаемых модулях, в MQL4 и MQL5. А то объявил в советнике переменную point и читаю кучу сообщений вида: "declaration of 'point' hides global declaration in file 'expert.mq4' at line 153 ChartObject.mqh 154 39". Ведь, єто ужас кокой то, в модуле, программе, нельзя объявить переменную, которая есть в параметрах другого модуля. Зачем модулю ChartObject.mqh видеть мой советник, expert.mq4, если в ChartObject.mqh єто не указано явно?
Очевидно вам поможет
Да, в советнике данная строчка у меня есть, но её нет в модуле ChartObject.mqh. Не стану же я переписывать все стандартные модули из-за этого...
Понял. Тогда не создавайте глобальных переменных. Без них вполне можно обходиться. Иначе при любом совпадении, например очень распространенное имя:
int i;
глобально объявленное будет затираться локально объявленными. О чем вас и предупреждают.
А подключаемый модуль не имеет своей области видимости, это не модуль, а считай кусок кода, который вставится туда где вы include написали.
Понял. Тогда не создавайте глобальных переменных. Без них вполне можно обходиться.
То есть, как это не создавать? В любом языке программирования свободно используются глобальные переменные и это нормально, а здесь компилятор ругается. И хоть ошибка не критичная, но всё равно неудобно.
double point = MarketInfo(EA_Symbol(), MODE_POINT);
Переменная point сообщает цену 1 пункта и является заменой стандартному Point. Функция MarketInfo(EA_Symbol(), MODE_POINT) даёт цену 1 пункта любого инструмента. Далее, переменную point можно использовать в любой функции, в теле советника, если она является глобальной переменной конечно же. Согласитесь что, подобные случаи вызывают определённые неудобства и довольно часто (если вы конечно имеете опыт программирования на MQL). И хоть их можно обойти, но, вопрос, зачем, если в других современных ЯП подобных проблем попросту нет?