Особенности языка mql5, тонкости и приёмы работы - страница 191
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это баг или фича, что он выкидывает такую ошибку?
С++ это вполне кушает. И массивы в MQL свои. Так что какой-нибудь std::array данная конструкция тоже бы переварила.
Это баг или фича, что он выкидывает такую ошибку?
Не баг. Шаблонная перегрузка только поможет.
Есть какой-нибудь способ быстро узнать, что по инструменту нет истории (ни локально, ни на сервере)?
Любой запрос CopyXXX ждет получения данных 30 секунд, и перебор большого кол-ва инструментов занимает неоправданно много времени.
Для некоторых инструментов помогает проверка наличия Бида (он пустой), но не для всех.
Проверить можно на ICMarkets-MT5, инструмент Wheat_U0
Есть какой-нибудь способ быстро узнать, что по инструменту нет истории (ни локально, ни на сервере)?
Любой запрос CopyXXX ждет получения данных 30 секунд, и перебор большого кол-ва инструментов занимает неоправданно много времени.
Для некоторых инструментов помогает проверка наличия Бида (он пустой), но не для всех.
Проверить можно на ICMarkets-MT5, инструмент Wheat_U0
Об этом уже писалось и не раз вот первое что нашёл https://www.mql5.com/ru/forum/285631/page35#comment_9431199
Как вариант у таких символов Аск и Бид == 0
Есть какой-нибудь способ быстро узнать, что по инструменту нет истории (ни локально, ни на сервере)?
Любой запрос CopyXXX ждет получения данных 30 секунд, и перебор большого кол-ва инструментов занимает неоправданно много времени.
Для некоторых инструментов помогает проверка наличия Бида (он пустой), но не для всех.
Проверить можно на ICMarkets-MT5, инструмент Wheat_U0
в индикаторе не будет ждать результата работы CopyXXX
как вариант в таймере в индикаторе обрабатывать CopyXXX и вызывать этот индикатор из ЕА
Об этом уже писалось и не раз вот первое что нашёл https://www.mql5.com/ru/forum/285631/page35#comment_9431199
Как вариант у таких символов Аск и Бид == 0
Про нулевой Бид написал сразу, иногда он не нулевой.
в индикаторе не будет ждать результата работы CopyXXX
как вариант в таймере в индикаторе обрабатывать CopyXXX и вызывать этот индикатор из ЕА
А вот это мысль! Спасибо, попробую.
Причина, почему так происходит. После первого OrderSend появляется маркет-ордер и если до момента его исполнения приходит новый тик, то позиции еще нет и делается второй OrderSend.
В связи с этим не будет правильно работать казалось бы нормальный MT5-шаблон и, как следствие, большинство MT5-советников в кодобазе. При этом почти идентичный MT4-шаблон продолжит пахать без проблем.
Неплохая на первый взгляд идея PositionsTotal несколько омрачается необходимостью в MT5 еще анализировать и OrdersTotal на предмет маркет-ордеров.
Будьте аккуратны!
Спасибо, что указали на это. Имел это в виду. А вот сейчас дошло дело до написания советника, и подумалось, есть ли смысл проверять отправленные запросы на сервер? Гипотетически, Вы всё верно описали, но фактически, сервер отвечает на запросы быстро, и такого состояния в большинстве случаев (99%, как мне думается) наступать не будет. А вот скорость алгоритма будет страдать каждый раз. Что по вашему мнению важнее?
Войдете в рынок один раз 2 лотами вместо 0.1, и ответ сразу станет очевидным )
Войдете в рынок один раз 2 лотами вместо 0.1, и ответ сразу станет очевидным )
Если у Вас алгоритм должен заключить 0.1 лота, то есть вероятность совершить дважды по 0.1, и как мне думается, эта вероятность стремится к нулю, а трижды, думаю невозможно. Не говоря уже про 20 раз. Ведь мы говорим о прикладных вещах. Как правило, сервер отвечает наверно в пределе 10 мили сек (это так? я не уверен). Насколько высока вероятность схватить вторую сделку, на Ваш взгляд? А Вы у себя делаете эту проверку? Бывает ли, что сервер может отвечать долго?
Из статистики: порядка 200-300 сделок в день. Даже с нормальными проверками, но без совсем хитрожопых проверок, в среднем раза 2-3 в неделю ловил двойное открытие лота. Считайте вероятность и прикидывайте, нужны Вам проверки или готовы принять такую вероятность. Лично я себе сделал проверки на максимум.