Ошибки, баги, вопросы - страница 2404
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если по Вашему этот режим вообще не нужно использовать, то сделали бы так, как было в МТ4 и не рекомендовали его использовать.
Этот режим может быть полезен в определенных ситуациях.
Ещё раз на всякий случай - поведение сервера при частичном закрытии в МТ4 у разных брокеров было разным и не гарантировалось таким как Вы его описали
Вы можете попробовать поискать место, где при частичном закрытии в MT4 позиция не поменяет тикет. Код выше привел.
1. Может быть мне попросить Вас теперь привести пример (только не в этой ветке, и так уже зафлудили)
В истории Терминала увидели закрытую позицию. Нужно быстро получить ее данные - прописали в скрипт тикет и готово.
Или нужно историю торгов отсортировать по-своему. Отсортировали тикеты и выбрали.
2. Мне вообще-то без разницы, поменяет она тикет при частичном закрытии или не поменяет, т.к. на выбор ордера по тикету в условиях не использования частичного закрытия это не влияет никак. А при его использовании нужно либо смотреть коммент (МТ4), либо выбирать сделки по номеру позиции (МТ5)
По тикету все выбирается. Просто тикет позиции при закрытии меняется. Это единственное отличие от MT4.
Значит нужно сделать доп.функцию, позволяющую узнавать измененный номер тикета по старому номеру, а не настаивать на том, что существовавший в МТ4 функционал SELECT_BY_TICKET существовал "не правильно". Хотя это Ваше дело конечно.
Есть MT5-функционал, который кодерам может быть нужен, но который тяжело реализовать. А есть тот, который реализовывается легко, но почти не нужен.
Логично что-то предпринимать только в первом случае. Например, OrderOpenPriceRequest - супер-штука, т.к. элементарно позволяет вычислить проскальзывание на открытии.
А вот OrderTicketOld - очень простая вещь (POSITION_ID) и ни о чем. Вот тикет сделки открытия - вещь тяжелая в реализации, поэтому сделана.
У Вас в части библиотек написано требование, чтобы советник был написан "в МТ4-стайл". Вот исходя из этого требования разумно такую функцию реализовать, которая бы точно в этот стайл вписывалась, позволяя писать код также, как можно было на МТ4.
Вы не показали советник, который бы не работал.
Частичное закрытие - это не обязательно partial fill со стороны сервера.
Ну и как выбрать по тикету 0.2 закрытых лота в такой ситуации в MT5?
в МТ5 даже не представляю, а в МТ4 искал возможность сделать частичное закрытие ордера и найти новый тикет но без использования поля OrderComment()
тут в общем как в МТ4 все работает:
- выбрали ордер в списке рыночных ордеров и получили тикет
- запросили OrderClose() - получили true
- старый тикет ушел в историю ордеров и появился новый рыночный тикет, причем если ордер был закрыт полностью (не частично), то нового тикета не появится
Тема частичного закрытия в МТ4 довольно интересная, я спрашивал, но увы, все Гуру посылали искать счастья в OrderComment() - мне это не нравится, но видимо народ не заморачивался, топик бы с обсуждением эффективного алгоритма сначала под МТ4 бы , я бы поучаствовал
ЗЫ: исходник не найду, да и реализация мне не понравилась - запоминал тикеты рыночных ордеров в массив, после частичного закрытия сразу через ArrayBsearch() находил ордер который отсутствовал в массиве - т.е. новый тикет
ЗЫ: исходник не найду, да и реализация мне не понравилась - запоминал тикеты рыночных ордеров в массив, после частичного закрытия сразу через ArrayBsearch() находил ордер который отсутствовал в массиве - т.е. новый тикет
В общем случае нужно ещё магик проверять, вроде бы магик сохраняется обязательно при любом алгоритме Ч.З. а иначе вполне можно "найти" не тот ордер...
топик бы с обсуждением эффективного алгоритма сначала под МТ4 бы , я бы поучаствовал
Алгоритма чего?
В общем случае нужно ещё магик проверять, вроде бы магик сохраняется обязательно при любом алгоритме Ч.З. а иначе вполне можно "найти" не тот ордер...
да про магик и ежу понятно ))))
в общем случае сделайте пример поиска тикетов при частичном закрытии ордера хотя бы без магика... магик то уж как-нибудь сможем прикрутить ;)
Алгоритма чего?
поиска нового тикета после частичного закрытия ордера в МТ4 - без анализа комментария ордера (у нового тикета сервер в большинстве своем изменяет комментарий - все этим и пользуются)
да про магик и ежу понятно ))))
в общем случае сделайте пример поиска тикетов при частичном закрытии ордера хотя бы без магика... магик то уж как-нибудь сможем прикрутить ;)
В Мт4 как Вы уже говорили - по комментам))) В мт5 - понятно по ид позиции.
А вообще в МТ4 эти алгоритмы подстраивались под конкретный тип счета и конкретного брокера, потому что действовали они часто по-разному