Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А дальнейшую проверку ту какая интересует разве сложно организовать. Есть направление, а применить для себя как нужно, это уже проблем не составляет.
Какую проверку если Ваш код
отбрасывает плюсовые (точнее - закрытые не по СЛ) ордера вообще.
А именно последний может быть профитным (да и с [sl] может быть профитным по тралу), который и хочет проверить автор.
Если же Вы имели ввиду просто подсказку в каком направлении копать, то ок.
И кстати формулировка у автора не совсем ясная.
Нужно именно "с минусом" или именно "по стопу"?
по стопу тяжело проверить, т.к. за счет проскальзования цена закрытия может отличаться от уровня стоплосс, как вариант проверять OrderClosePrice() относительно цены открытия отдельно для БАЙ и для СЕЛЛ ордеров, но по сути это лишний геморой, все равно будет тоже самое что проверять по OrderProfit()
найти последний ордер в истории по стопу вот пример:
https://www.mql5.com/ru/forum/131859/page4#comment_3359685
я стараюсь таким образом не искать ордер в истории закрытый по стопу, делал раньше так и даже чтобы на реальном счете правильно работал делал сравнение по Digits -1 , но не нравится мне такие конструкции, тут нужно действительно определиться, что хотим найти убыток на истории или факт срабатывания стоплосса
по стопу тяжело проверить, т.к. за счет проскальзования цена закрытия может отличаться от уровня стоплосс, как вариант проверять относительно цены открытия отдельно для БАЙ и для СЕЛЛ ордеров, но по сути это лишний геморой, все равно будет тоже самое что проверять по OrderProfit()
найти последний ордер в истории по стопу вот пример:
https://www.mql5.com/ru/forum/131859/page4#comment_3359685
Я очень уважаю Игоря Кима, но тут я не пойму - зачем перебирать ВСЕ ордера в истории? А не наоборот, если ищем последний. Переставив проверку на Профит внутрь первого цикла.
Кто-то объяснит в чем я заблуждаюсь?
Я очень уважаю Игоря Кима, но тут я не пойму - зачем перебирать ВСЕ ордера в истории? А не наоборот, если ищем последний. Переставив проверку на Профит внутрь первого цикла.
Кто-то объяснит в чем я заблуждаюсь?
Порядок ордеров в истории НЕ гарантируется. Это есть в справке.
Именно по этой причине последний ордер в советниках для реальной торговли нужно искать по времени, а не полагаться на правильную их сортировку. Сто раз уже сиё обсуждалось.
В тестере - да, рабочий вариант выбирать по индексу.
Я очень уважаю Игоря Кима, но тут я не пойму - зачем перебирать ВСЕ ордера в истории? А не наоборот, если ищем последний. Переставив проверку на Профит внутрь первого цикла.
Кто-то объяснит в чем я заблуждаюсь?
дело в том что в тестере будет работать принцип поиска - последний в истории
а при реальной торговле ... ну как получится, в документации четко не отражено как влияет сортировка истории пользователем, как и нельзя отследить факт изменения пользователем глубины истории ордеров в терминале
ну и раньше МТ4 часто обновлялся новыми билдами, и сложно предположить что будет по другому работать в новом билде, обычно на все вопросы пользователей разработчики отвечают - пишите корректный код
вот и Игорь Ким делает корректный поиск последнего ордера в истории - т.е. ордер с самым большим временем закрытия, и я давно уже привык делать именно так и никак иначе - так гарантированно будет найден последний закрытый ордер
Спасибо! Не знал о такой неприятной особенности.
Порядок ордеров в истории НЕ гарантируется. Это есть в справке.
Именно по этой причине последний ордер в советниках для реальной торговли нужно искать по времени, а не полагаться на правильную их сортировку. Сто раз уже сиё обсуждалось.
Никогда на реале не нарывался на такие ситуации. Всегда сортировка по времени закрытия/удаления. Поэтому тупо по индексу сверху-вниз в Live MT4/5, как и в Тестере.
Никогда на реале не нарывался на такие ситуации. Всегда сортировка по времени закрытия/удаления. Поэтому тупо по индексу сверху-вниз в Live MT4/5, как и в Тестере.
Я вроде тоже.
Но если документация НЕ даёт гарантии, то придётся все функции, использующие Хистори, переписать.
Добавить если НеТестер, тогда сравнивать по времени.
Если Тестер, то для ускорения тестирования можно оставить по индексу от наибольшего до первого найденного.
Никогда на реале не нарывался на такие ситуации. Всегда сортировка по времени закрытия/удаления. Поэтому тупо по индексу сверху-вниз в Live MT4/5, как и в Тестере.
Поищите ветки на mql4.com - там много разговоров было на этот счёт. Давно. Впрочем, они (ветки) наверное все сюда перенесены - не интересовался конкретно по этому поводу, но вроде как слияние же было. Теперь не знаю судьбу тех обсуждений примерно десятилетней давности. Те, кто помнит эти обсуждения, те и рекомендуют искать ордера по времени, а не брать по индексу в списке. Люд в то время сильно кипел из-за зависимости от сортировки. Потом её убрали (зависимость), потом опять всплыла. Затем опять пропала. В общем - надёжно искать по времени и не зависеть. Для тестера - всегда пожалуйста - берите по индексу. Но точно не для реала.