Новая версия платформы MetaTrader 5 build 2940: Перенос витрин MQL5-сервисов в рабочую область и обновление дизайна - страница 18
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Порядок не должен меняться если он есть, а пока есть основания полагать, что его просто нет
Порядок есть, это же алгоритм.
При старте советник имеет сортировку по тикетам. Во время вызовов только HistorySelect(0, INT_MAX) новые ордера попадают всегда в конец. Потому что этот вызов HistorySelect - это прямой доступ к кешу, который всегда формируется дописыванием. Вызов не от нуля - автоматическая сортировка по тикету. Это весь текущий алгоритм.
Мне нужно было отладить синхронизацию ордеров/позиций/сделок в определенной ситуации. Оказалось, что HistorySelect выдает совсем иные данные после старта советника, чем когда советник работал.
В документации к использованным в коде функциям не указано, что вообще какой-то строгий порядок должен быть, не написано про упорядоченный список.
Ничего бы не поменялось, если бы написали об этом в документации. Когда говорю о правильно/неправильно, имею в виду не баг, а логику торгового применения и производительность решения.
Не просто так кеш работает именно правильно. Потому что при написании максимально производительного решения было логичным дозаписывать в конец, а не в середину.
Ничего бы не поменялось, если бы написали об этом в документации. Когда говорю о правильно/неправильно, имею в виду не баг, а логику торгового применения и производительность решения.
Не просто так кеш работает именно правильно. Потому что при написании максимально производительного решения было логичным дозаписывать в конец, а не в середину.
Этим и объясняется результат: когда есть кеш, то логично дописать в конец. А когда его нет - то идет построение списка с самого начала. Т.е. в каждом конкретном случае выбирается более производительное решение
Этим и объясняется результат: когда есть кеш, то логично дописать в конец. А когда его нет - то идет построение списка с самого начала. Т.е. в каждом конкретном случае выбирается более производительное решение
Кеш должен быть всегда. Например, все HistorySelect запрашиваются в советнике с постоянной даты.
Торговый класс CPositionInfo.mqh
'POSITION_COMMISSION' я так понимаю выведена из оборота, раз это значение не подсвечивается в редакторе?
Торговый класс CPositionInfo.mqh
'POSITION_COMMISSION' я так понимаю выведена из оборота, раз это значение не подсвечивается в редакторе?
Меня тоже смущает этот момент!
Старая болезнь - вот просто уже сильно сильно надоела: при визуальном тестировании НЕ ОТОЬБРАЖАЮТСЯ индикаторы, которые используются в советнике. Причем можно раз десять делать запуск тестирования - стоп - и снова запуск чтобы индикаторы появились. Пожалуйста сделайте что-то с этим - я уже не знаю как оправдываться перед людьми.
Торговый класс CPositionInfo.mqh
'POSITION_COMMISSION' я так понимаю выведена из оборота, раз это значение не подсвечивается в редакторе?
В стандартной библиотеке стоит, я пользуюсь, фиолетовенькая.
"Получает размер комиссии по позиции."