Ошибки, баги, вопросы - страница 3330
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Могу только показать старый пример подобного кода, когда-то выкладывал, начиная отсюда: https://www.mql5.com/ru/forum/160683/page1950#comment_34431498
Там также "тяжёлое" решение
Хотелось бы иметь параметр показывающий рабочее время брокера или нет.
И сдвиг часов брокера тоже хотелось бы иметь возможность получать.
Там также "тяжёлое" решение
Вставка/удаление/перемещение элемента в отсортированный массив(n) - максимум копирование n элементов. А сортировка массива?
Могу только показать старый пример подобного кода, когда-то выкладывал, начиная отсюда: https://www.mql5.com/ru/forum/160683/page1950#comment_34431498
К сожалению, там нет HistorySelect и HistoryOrderGetTicket.
К сожалению, там нет HistorySelect и HistoryOrderGetTicket.
В другом коде использую
Убедился, что смотреть на две минуты в прошлое от получения ответа 10012 TRADE_RETCODE_TIMEOUT мало, теперь смотрю на час.
В другом коде использую
Убедился, что смотреть на две минуты в прошлое от получения ответа 10012 TRADE_RETCODE_TIMEOUT мало, теперь смотрю на час.
Установили лимит-ордер, тем временем идёт торговля buy/sell
Удаляем лимитник и идём в историю ... тут в новых билдах и есть подводный камень - он попадает в историю не последним, а по времени установки.
Почему лимит/стоп ордерам дали такой низкий приоритет, хотя они имеют приоритет на уровне buy/sell и должны попадать в историю по времени удаления, а не установки, что вполне логично.
В другом коде использую
У меня не получается из предоставленного кода собрать решение этой задачи.
Установили лимит-ордер, тем временем идёт торговля buy/sell
Удаляем лимитник и идём в историю ... тут в новых билдах и есть подводный камень - он попадает в историю не последним, а по времени установки.
Почему лимит/стоп ордерам дали такой низкий приоритет, хотя они имеют приоритет на уровне buy/sell и должны попадать в историю по времени удаления, а не установки, что вполне логично.
buy/sell тоже попадают в историю по времени установки (тикету, если совсем правильно). Просто они "только что" установились, поэтому в 99% случаев оказываются в конце таблицы ордеров. Однако, правило едино для всех типов ордеров.
Повторюсь, в Тестере всегда идет дозапись в конец, в отличие от Терминала.
buy/sell тоже попадают в историю по времени установки (тикету, если совсем правильно). Просто они "только что" установились, поэтому в 99% случаев оказываются в конце таблицы ордеров. Однако, правило едино для всех типов ордеров.
Пример 1% случаев, когда не в конце окажется и buy/sell.
В этом случае часто будет происходить ситуация, когда Buy-приказ будет не в конце таблицы ордеров.
Давайте разберем, что это обозначает. Пусть в таблице истории ордеров 1000 записей - ордера с индексами (HistoryOrderGetTicket) от 0 до 999.
Вот произошло событие п.3 выше - BuyLimit удалился и попал в таблицу истории ордеров. Он имеет индекс 1000 - его тикет отдается вызовом HistoryOrderGetTicket(1000).
Теперь произошло срабатывание Buy-приказа из п.1 - Buy-приказ попал в таблицу истории ордеров. Вы думаете, что его индекс 1001?
-Нет, его индекс 1000! Т.е. HistoryOrderGetTicket(1000) возвращал одно значение (BuyLimit-ticket), а через некоторое время - другое (Buy-ticket).
Интересна реакция не MQ, а форумчан. Либо это "красноречивое молчание", либо пофигизм.