А можно узнать почему так? Думаю подобная тема уже поднималась
Кстати кто еще хочет найти проблему, но не хочет просматривать весь лог в поисках аномалий. То предлагаю регулярку, которую я применял к html коду отчета тестера. Использовал Expresso
Я интересовался может ли только что закрытый ордер помещаться не в конец списка в истории?
Да! Но не в тестере.
Проверил гипотезу
Integer, т.е. вставил в init() вывод времени открытия и закрытия ордеров и запустил советника на реальном счету.
Выяснилось, что сортировка в истории идет по времени открытия, т.е.
время закрытия может быть и не по порядку. Причем независимо от того,
как отсортирована история счета в терминале.
Но это сути не меняет, т.к. в советник может открывать на символе и
с уникальным магиком только одну позу. А следовательно, если выбирать
из истории ордера по магику и символу, то сортировка времени открытия и
времени закрытия абсолютно одинакова (иначе ордер должен закрыться
раньше, нежели открыться).
У меня предположение, что причина не в неправильной сортировке
позиций в истории, а в брокере. Т.е. встречаются иногда брокеры,
которые при переходах через день закрывают старую позу и открывают
новую со сдвигом цены открытия на размер свопа. При этом магик
обнуляется. Если старая поза закроется с профитом, а новая по лосю, то
вполне возможна вышеописанная ситуация, т.е. сброс размера лота к
первоначальному объему.
goldtrader писал(а)>>
Т.е. рандом или есть какой-то критерий?
По тикету. Тикеты не всегда идут с увеличением. Один вопрос остается - сортируются ли они всегда по мере закрытия ордеров, или, во время работы, закрытые ордера добавляются в конец списка. Поэтому лучше всегда собирать в массив и сортировать как надо.
Integer>>:
Открою страшную тайну, ордера в истории сортируются ни по времени открытия, ни по времени закрытия.
Наверное это действительно страшная тайна, т.к. у меня все позы в истории отсортированы строго по времени открытия. Хотя от разработчиков было другое объяснение (см. https://forum.mql4.com/ru/7453 ):
Renat>>:
Никакого бага нет. Сделки в Account History сортируются по дате (исправлено)
закрытия, а не по номеру тикета.
В общем, черт его знает, как там сортируются позы в этой самой истории. Разработчики могут сделать и так и эдак. Проще их взять и отсортировать самостоятельно.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Кажется, Вы меня не поняли =)
Я интересовался может ли только что закрытый ордер помещаться не в конец списка в истории?
Да! Но не в тестере.
Да!
Тогда, думаю можно считать вопрос решенным.
А можно узнать почему так? Думаю подобная тема уже поднималась
Кстати кто еще хочет найти проблему, но не хочет просматривать весь лог в поисках аномалий. То предлагаю регулярку, которую я применял к html коду отчета тестера. Использовал Expresso
<tr\sbgcolor=\"#E0E0E0\"\salign=right><td>\d+</td><td\sclass=msdate>[\d\.\s\:]+</td><td>s\/l</td><td>\d+</td><td\sclass=mspt>[\d\.]+</td><td\sstyle=\"mso-number-format:0\\\.0000;\">[\d\.]+</td><td\sstyle="mso-number-format:0\\\.0000;\"\salign=right>[\d\.]+</td><td\sstyle=\"mso-number-format:0\\\.0000;\"\salign=right>[\d\.]+</td><td\sclass=mspt>[\d\.]*</td><td\sclass=mspt>[\d\.]*</td></tr>[\n\s]*
<tr\salign=right><td>\d+</td><td\sclass=msdate>[\s\d\.\:]+</td>(?#<td.*?</td>)<td>(buy|sell)</td><td>\d+</td><td\sclass=mspt>1\.00</td><td\sstyle=\"mso-number-format:0\\\.0000;\">[\d\.]+</td><td\sstyle=\"mso-number-format:0\\\.0000;\"\salign=right>[\d\.]+</td><td\sstyle=\"mso-number-format:0\\\.0000;\"\salign=right>[\d\.]+</td><td\scolspan=2></td></tr>
P.S. Да, я псих! :)
В таком случае Вам не кажется подозрительным что ваш эксперт ставит позиции только лотами 1.00 и 2.10 ? =)
Извиняйте, накосячил. Исправил. Перезалил.
Integer писал(а) >>
Кажется, Вы меня не поняли =)
Я интересовался может ли только что закрытый ордер помещаться не в конец списка в истории?
Да! Но не в тестере.
Проверил гипотезу Integer, т.е. вставил в init() вывод времени открытия и закрытия ордеров и запустил советника на реальном счету. Выяснилось, что сортировка в истории идет по времени открытия, т.е. время закрытия может быть и не по порядку. Причем независимо от того, как отсортирована история счета в терминале.
Но это сути не меняет, т.к. в советник может открывать на символе и с уникальным магиком только одну позу. А следовательно, если выбирать из истории ордера по магику и символу, то сортировка времени открытия и времени закрытия абсолютно одинакова (иначе ордер должен закрыться раньше, нежели открыться).
У меня предположение, что причина не в неправильной сортировке позиций в истории, а в брокере. Т.е. встречаются иногда брокеры, которые при переходах через день закрывают старую позу и открывают новую со сдвигом цены открытия на размер свопа. При этом магик обнуляется. Если старая поза закроется с профитом, а новая по лосю, то вполне возможна вышеописанная ситуация, т.е. сброс размера лота к первоначальному объему.
Т.е. рандом или есть какой-то критерий?
По тикету. Тикеты не всегда идут с увеличением. Один вопрос остается - сортируются ли они всегда по мере закрытия ордеров, или, во время работы, закрытые ордера добавляются в конец списка. Поэтому лучше всегда собирать в массив и сортировать как надо.
Открою страшную тайну, ордера в истории сортируются ни по времени открытия, ни по времени закрытия.
Наверное это действительно страшная тайна, т.к. у меня все позы в истории отсортированы строго по времени открытия. Хотя от разработчиков было другое объяснение (см. https://forum.mql4.com/ru/7453 ):
Никакого бага нет. Сделки в Account History сортируются по дате (исправлено) закрытия, а не по номеру тикета.
В общем, черт его знает, как там сортируются позы в этой самой истории. Разработчики могут сделать и так и эдак. Проще их взять и отсортировать самостоятельно.
Готовую функцию нашел на блоге Rosh-a: http://simple-testing.blogspot.com/2007/07/blog-post_3924.html
Ее и придется воткнуть.
По меньшей мере, это наиболее приемлемое решение.
Проще их взять и отсортировать самостоятельно.