Новички, с какими трудностями в программировании на MQL вы сталкиваетесь в 2025 году? - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Можно подробности?
Input на дефолты не скинул на графике, после изменения кода
Еще пример подводного камня:
Родилась идея. В уме прикидываю варианты. Прихожу домой, пишу программу... В ней открываю позицию функцией OrderSend() сразу внутри OnInit().
Запускаю на тестере стратегий -- не работает. Конечно(!) же, ищу ошибку у себя... Трачу время, силы, и нервы в поисках оной... Оказывается, проблема системная, OrderSend() в функии инициализации не работает совсем. Тестер стратегий и реал -- не дружат между собой.
Приходиться переписывать...
Не хватает полной, чёткой, компактной и однозначной документации по непосредственно торговым возможностям языка. Информация как бы размазана тонким слоем по документации и форуму.
Опишите какими свойствами должна обладать документация что бы быть четкой, компактной и однозначной. Приведите пожалуйста пример, что бы было понятней что Вы имеете в виду.
На сколько я понял, вы говорите о том, что документация уходит в излишние подробности и описания синтаксических возможностей, при этом вопрос за которым Вы к ней обратились часто размазан по нескольким разделам.
Еще пример подводного камня:
...OrderSend() в функции инициализации не работает совсем...
Как Вы думаете, если бы OrderSend работала бы в функции инициализации, то как бы работал Ваш эксперт?
Можно подробности?
Да, в параметрах. По ходу написания программы раздумывал об исходном значении, изменял его. Делал "промежуточные" компиляции. Значение 3 для X зависло в памяти. И дальнейшие компиляции на него перестали влиять.
При установке различного ПО можно встретить возможность выбора, например 1) Минимум 2) Стандарт 3) Максимум
Было бы здорово иметь выбор. Конечно, понято, что несколько вариантов, это сложнее чем один общий вариант.
(PS Отойду на некоторое время.)
mql5 своей чрезмерной сложностью подобен ассемблеру, или WinAPI)
Добрый день. Спасибо за отзыв. Может быть Вы составите пример? Понимаю, его составление займет у Вас время, но хочу понять какой вид сложности Вы имете в виду (их много).
Да, в параметрах. По ходу написания программы раздумывал об исходном значении, изменял его. Делал "промежуточные" компиляции. Значение 3 для X зависло в памяти. И дальнейшие компиляции на него перестали влиять.
Вы, похоже, не знали про существенное отличие переменных входных параметров (объявляемых со словом input) и обычных переменных (объявляемых без input).
Входные параметры так и задуманы, что значение для них указывается в диалоговом окне входных параметров при запуске уже готового советника на графике или во вкладке входных параметров в тестере стратегий. Значение, присвоенное входному параметру в исходном коде используется только для подстановки его в поле ввода этого параметра при первом запуске (на графике или в тестере) и при принудительном сбросе значений входных параметров к значениям по умолчанию.
Поэтому для исследования влияния разных значений на поведение советника нужно либо менять их не в коде, а в терминале перед запуском. Если же кажется удобнее менять в коде, то можно убрать слово input из описания переменной, превратив её в обычную переменную. Её значение тогда указывается только в исходном коде.
У вас скорее всего было так: сначала вы поставили в коде значение X=3, скомпилировали, запустили в тестере или на графике. Во входные параметры запуска в терминале подставилось значение X=3 и оно запомнилось терминалом. Потом в коде вместо 3 вы поставили что-то другое, например X=10. Скомпилировали, запускаете в терминале, но там в поле ввода значения этого входного параметра осталось прошлое значение, равное 3. Поэтому оно и присваивается переменной Х при запуске.
Putnik #:
OrderSend() в функии инициализации не работает совсем. Тестер стратегий и реал -- не дружат между собой.
Тестеру стратегий все равно, в каком месте программы вызывается OrderSend. Можете его успешно вызвать даже ДО OnInit. Просто иногда могут быть нулевыми bid/ask.