Ошибки, баги, вопросы - страница 3631
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проверьте шаблон, который используется при визуальном тестировании. Чаще всего это tester.tpl
Похоже, лишние стрелочки - именно оттуда
Ок, помогло, СПАСИБО!!!
А то, я уж измучился, ищу ошибки в своей программе.
Та ну, если линия дырявая, то это уже не линия. На такое нельзя сверху МА накидывать. Даже если бы значения МА для каждого бара отдельно вычислялись (как вы хотите), то все равно на расстоянии period баров от дырки значения МА были бы мусорные, грубо говоря (и то, при условии, что это не EMA). Куда такое годится?
Это нормально. Реальные данные не обязаны быть идеальными. Ровно как и вообще быть (выкол/прогал в данных - это естественно)
По вашему получается вообще ппц:
- пользователь по тем данным которые объективно видит,
- на основе эталонной,каноничной формулы SMA=сумма_величин_в_окне/размер_окна
- с калькулятором посчитает SMA
- видит катастрофическую разницу между своим рассчётом и результатом терминала (а терминал может отдать как inf так и просто большое число)
после такого пользователь резко меняет терминал. (есть опции "бьётся в истерике", "ползёт в психушку", "подаёт в суд")
сильно повезёт если это действие он проведёт не после серии реальных сделок роботом по SMA.
PS/ с EMA кстати ещё хуже - она после EMPTY_VALUE может успеть почти сойтись. То есть её значения будут не громадной величины, а просто "от болды" и проверить на корректность невозможно.
PPS/ многие ли разработчики ожидают что iMA может вернуть мусор ? подозреваю что два с половиной человека на весь форум..
Как в функции определить, что она вызвана из ex5-библиотеки (#property library + #import) или напрямую (исходник включен)?
Через макросы. В разделе про библиотеки в конце есть пример прямого включения исходника библиотеки (в частности, для отладки, см. #define LIB_HOUGH_IMPL_DEBUG) в отличие от штатного способа компиляции в отдельный ex5-файл.
Через макросы. В разделе про библиотеки в конце есть пример прямого включения исходника библиотеки (в частности, для отладки, см. #define LIB_HOUGH_IMPL_DEBUG) в отличие от штатного способа компиляции в отдельный ex5-файл.
В моем случае это совсем не прокатит, к сожалению.
В моем случае это совсем не прокатит, к сожалению.
В чем специфика? Что мешает сделать именно так?
ЗЫ. Для заявленной задачи "Мне надо как-то из MT4Orders суметь сообщить, что MT4Orders встроена в советник в виде mqh или ex5. Не смог придумать, как это сделать." подходит.
В чем специфика? Что мешает сделать именно так?
ЗЫ. Для заявленной задачи "Мне надо как-то из MT4Orders суметь сообщить, что MT4Orders встроена в советник в виде mqh или ex5. Не смог придумать, как это сделать." подходит.
MT4Orders.ex5 делается так.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2025.03.26 11:16
Нужно только один раз создать файл MQL5\Libraries\MT4Orders.mq5 из двух строк и скомпилировать его.
Т.е. это делает пользователь на свое усмотрение. И он может никакие макросы не прописывать во время компиляции библиотеки.
По логике, должен быть механизм, который позволил бы, например, проверить наличие #property library. К сожалению, не нашел.
MT4Orders.ex5 делается так.
Т.е. это делает пользователь на свое усмотрение. И он может никакие макросы не прописывать во время компиляции библиотеки.
По логике, должен быть механизм, который позволил бы, например, проверить наличие #property library. К сожалению, не нашел.
С точки зрения разработчика исходный код может быть откомпилирован а) в ex5-библиотеку, б) напрямую в ex5-программу. Хотя MQL5 действительно не позволяет программно прочитать #property library, но применение макроопределения для логической развилки двух вариантов компиляций - это стандартный способ для последующего различения a) от б) внутри алгоритма на стадии выполнения.
Да, это требует дополнительно к строке #property library добавить строку с #define. Не вижу сложности для пользователя сделать это по своему усмотрению.
Если заголовочный файл унифицирован, но разработчику все равно нужно обложить компиляцию условными директивами в зависимости от #define, потому что нужно переключаться между #import-ом и #include.
Да, это требует дополнительно к строке #property library добавить строку с #define. Не вижу сложности для пользователя сделать это по своему усмотрению.
Если заголовочный файл унифицирован, но разработчику все равно нужно обложить компиляцию условными директивами в зависимости от #define, потому что нужно переключаться между #import-ом и #include.
К сожалению, прописывание этого макроса не гарантировано.
К сожалению, прописывание этого макроса не гарантировано.
Не понял, где гарантия для директивы #property library, отличающая её от #define. Выше приведена заготовка MT4Orders.mq5 для сборки библиотеки. Человек её может отредактировать как в сторону "улучшения", так и "ухудшения" компиляции. Почему заготовка не может содержать #define? Почему пользователь не способен удалить #property library и сломать компиляцию?
Что делать?