Новая версия платформы MetaTrader 5 build 3180: Векторы и матрицы в MQL5 и повышение удобства работы - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Параметры HistorySelect в предложенной функции четко указывают на всю историю.
Насколько я помню советник получает данные из кеша терминала, и вся история для советника - это вся история в кеше. С учетом того что все данные в терминале хранятся по философии "хранить всё в памяти накладно, лучше патом подкачаем если нужно будет", предполагать что запрос всей истории не вернет всей истории (аналогичная ситуация с подгрузкой всей истории котировок например) вполне логично.
Если данный диалог по вашему мнению начинает скатываться в ... эимм не туда - остановите меня, я могу быть очень зануден в таких вещах :)
Насколько я помню советник получает данные из кеша терминала, и вся история для советника - это вся история в кеше. С учетом того что все данные в терминале хранятся по философии "хранить всё в памяти накладно, лучше патом подкачаем если нужно будет", предполагать что запрос всей истории не вернет всей истории (аналогичная ситуация с подгрузкой всей истории котировок например) вполне логично.
Кеши событийно (OnTradeTransaction) обновляются, там все в порядке.
Если данный диалог по вашему мнению начинает скатываться в ... эимм не туда - остановите меня, я могу быть очень зануден в таких вещах :)
В предыдущем посте написал загвоздку.
К сожалению, это неверное представление, хоть и полностью логичное, с точки зрения здравой архитектуры.
А вот это хорошо бы расписать в документации или статью запилить на тему "в каком порядке ордера попадают в историю". Этого имхо вполне хватит для предсказуемости.
А вот это хорошо бы расписать в документации или статью запилить на тему "в каком порядке ордера попадают в историю". Этого имхо вполне хватит для предсказуемости.
Сейчас ордера в истории сортируются каждый раз по номеру тикета, поэтому на 100-м месте могут быть разные значения. И при попадании ордера в историю последний (место в таблице) ордер может не меняться.
Так что если изменилось число записей в таблице истории, то проблематично определить, в каком месте этой таблицы произошли изменения.
Это только в Тестере они почему-то дописываются в конец, а в Терминале - нет.
Сейчас ордера в истории сортируются каждый раз по номеру тикета, поэтому на 100-м месте могут быть разные значения. И при попадании ордера в историю последний (место в таблице) ордер может не меняться.
Так что если изменилось число записей в таблице истории, то проблематично определить, в каком месте этой таблицы произошли изменения.
Это только в Тестере они почему-то дописываются в конец, а в Терминале - нет.
Я сейчас пытался представить ситуацию когда это может стать проблемой на практике, так и не смог. Если нужно проверить есть ли ордер в истории - выполняем HistorySelectByPosition(...), если нужно собрать статистику, то очередность вроде как неважна (а если и важна то хорошим тоном считается озаботится сортировкой по критичному параметру). Как по мне непредсказуемость в данном случае неприятна, но не критична.
Вопрос к сообществу. Есть такая функция.
Нормально ли, что данная функция при работе советника будет распечатывать разные тикеты? Просьба аргументировать.
Неужели так трудно делать сортировку?
Вопрос к сообществу. Есть такая функция.
Нормально ли, что данная функция при работе советника будет распечатывать разные тикеты? Просьба аргументировать.
Может это от ДЦ зависит? У меня получается только один ордер
Может это от ДЦ зависит? У меня получается только один ордер
Запустите этот скрипт.
Результат запуска этого скрипта на MQ-Demo:
На одном и том же месте (индекс) разные тикеты.
Я сейчас пытался представить ситуацию когда это может стать проблемой на практике, так и не смог.
Неужели так трудно делать сортировку?
Производительность рушится. На примитивных ТС этого не заметить. Если озвучить текущее поведение MT5 (а до b2958 работал правильно) конкурентам, найдут повод для издевок над MT5. И это будет по делу.
А чем отличается функция в этом сообщении
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Бета-версия платформы MetaTrader 5 build 3160: Векторы и матрицы в MQL5 и повышение удобства работы
fxsaber, 2022.01.24 22:58
Вопрос к сообществу. Есть такая функция.
Нормально ли, что данная функция при работе советника будет распечатывать разные тикеты? Просьба аргументировать.
от той которая тут
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Бета-версия платформы MetaTrader 5 build 3160: Векторы и матрицы в MQL5 и повышение удобства работы
fxsaber, 2022.01.25 10:35
Запустите этот скрипт.
Результат запуска этого скрипта на MQ-Demo:
На одном и том же месте (индекс) разные тикеты.
за исключением того, во что вникать не требуется?
Я провёл тест в таком скрипте