Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброе время суток, обнаружил несоответствия для MqlTradeResult.deal и MqlTradeResult.order
https://www.mql5.com/ru/docs/trading/ordersend
При отправке рыночного ордера (MqlTradeRequest.action=TRADE_ACTION_DEAL) успешный результат функции OrderSend() не означает, что ордер был выполнен (исполнены соответствующие сделки): true в этом случае означает только то, что ордер был успешно размещен в торговой системе для дальнейшего выполнения. Торговый сервер может в возвращаемой структуре результата result заполнить значения полей deal или order, если эти данные будут ему известны в момент формирования ответа на вызов OrderSend(). В общем случае событие или события исполнения сделок, соответствующих ордеру, могут произойти уже после того, как будет отправлен ответ на вызов OrderSend(). Поэтому для любого типа торгового запроса при получении результата выполнения OrderSend() необходимо в первую очередь проверять код возврата торгового сервера retcode и код ответа внешней торговой системы retcode_external (при необходимости), которые доступны в возвращаемой структуре результатаresult.
Добрый день,
вопрос к разработчикам: можете дать примерную инфу, какой объем памяти занимает кэш истории? приблизительно кбайт на одну сделку и на один ордер.
Я запустил в терминале с небольшой историей скрипт и получил такой результат:
Это значит, что при истории в пару миллионов сделок и миллион ордеров кэш займет порядка гигабайта?
И так для каждой mql программы?
Вот инфа от fxsaber по этому вопросу:https://www.mql5.com/ru/forum/366029/page3#comment_22547881 https://www.mql5.com/ru/forum/366029/page3#comment_22547881
@Rashid Umarov
прошу разработчиков откликнуться.
После публикации тормозов работы с историей была проведена большая работа разработчиками по созданию кешей. Тормоза ушли.
Возможно, есть механизм более экономного кеширования. Но допускать тормозов, конечно, нельзя.
ЗЫ Как быстрее всего работать с историей - комментариев нет. На данный момент 100% быстрым способом является везде вызов только такого HistorySelect.
После публикации тормозов работы с историей была проведена большая работа разработчиками по созданию кешей. Тормоза ушли.
Возможно, есть механизм более экономного кеширования. Но допускать тормозов, конечно, нельзя.
ЗЫ Как быстрее всего работать с историей - комментариев нет. На данный момент 100% быстрым способом является везде вызов только такого HistorySelect.
где t - произвольная не очень давняя и не меняющаяся от вызова к вызову дата (константа, единая для всей программы)?
А почему не
где t - произвольная не очень давняя и не меняющаяся от вызова к вызову дата (константа, единая для всей программы)?
Не уверен, что от этого кеш уменьшится.
Не уверен, что от этого кеш уменьшится.
Потребление уменьшается. Прописывал такое в начале.
Но пришлось отказаться из-за серьезных проблем.
Результат запуска на Терминале, где один M1 чарт, 5000 баров, один символ, нет ресурсов и графических объектов.
Многовато. 10 синхронных (OrderSend) советников съедает 4 гига. Два варианта:
По другому никак. (если конечно не отсекать старую историю и переделать полностью алгоритм работы с истрией, но это только если MQ не вернут старую сортировку).