Ошибки, баги, вопросы - страница 2404

 
Ilya Malev:

Если по Вашему этот режим вообще не нужно использовать, то сделали бы так, как было в МТ4 и не рекомендовали его использовать.

Этот режим может быть полезен в определенных ситуациях.

Ещё раз на всякий случай - поведение сервера при частичном закрытии в МТ4 у разных брокеров было разным и не гарантировалось таким как Вы его описали

Вы можете попробовать поискать место, где при частичном закрытии в MT4 позиция не поменяет тикет. Код выше привел.

 
Ilya Malev:

1. Может быть мне попросить Вас теперь привести пример (только не в этой ветке, и так уже зафлудили)

В истории Терминала увидели закрытую позицию. Нужно быстро получить ее данные - прописали в скрипт тикет и готово.

Или нужно историю торгов отсортировать по-своему. Отсортировали тикеты и выбрали.

2. Мне вообще-то без разницы, поменяет она тикет при частичном закрытии или не поменяет, т.к. на выбор ордера по тикету в условиях не использования частичного закрытия это не влияет никак. А при его использовании нужно либо смотреть коммент (МТ4), либо выбирать сделки по номеру позиции (МТ5)

По тикету все выбирается. Просто тикет позиции при закрытии меняется. Это единственное отличие от MT4.

 
Ilya Malev:

Значит нужно сделать доп.функцию, позволяющую узнавать измененный номер тикета по старому номеру, а не настаивать на том, что существовавший в МТ4 функционал SELECT_BY_TICKET существовал "не правильно". Хотя это Ваше дело конечно.

Есть MT5-функционал, который кодерам может быть нужен, но который тяжело реализовать. А есть тот, который реализовывается легко, но почти не нужен.

Логично что-то предпринимать только в первом случае. Например, OrderOpenPriceRequest - супер-штука, т.к. элементарно позволяет вычислить проскальзывание на открытии.

А вот OrderTicketOld - очень простая вещь (POSITION_ID) и ни о чем. Вот тикет сделки открытия - вещь тяжелая в реализации, поэтому сделана.

 
Ilya Malev:

У Вас в части библиотек написано требование, чтобы советник был написан "в МТ4-стайл". Вот исходя из этого требования разумно такую функцию реализовать, которая бы точно в этот стайл вписывалась, позволяя писать код также, как можно было на МТ4.

Вы не показали советник, который бы не работал.

 
Флуд
 
fxsaber:

Частичное закрытие - это не обязательно partial fill со стороны сервера.

Ну и как выбрать по тикету 0.2 закрытых лота в такой ситуации в MT5?

в МТ5 даже не представляю, а в МТ4 искал возможность сделать частичное закрытие ордера и найти новый тикет но без использования поля OrderComment()

 тут в общем как в МТ4 все работает:

- выбрали ордер в списке рыночных ордеров и получили тикет

- запросили OrderClose() - получили true

- старый тикет ушел в историю ордеров и появился новый рыночный тикет, причем если ордер был закрыт полностью (не частично), то нового тикета не появится

Тема частичного закрытия в МТ4 довольно интересная, я спрашивал, но увы, все Гуру посылали искать счастья в OrderComment() - мне это не нравится, но видимо народ не заморачивался, топик бы с обсуждением эффективного алгоритма сначала под МТ4 бы , я бы поучаствовал


ЗЫ: исходник не найду, да и реализация мне не понравилась - запоминал тикеты рыночных ордеров в массив, после частичного закрытия сразу через ArrayBsearch() находил ордер который отсутствовал в массиве - т.е. новый тикет

 
Igor Makanu:

ЗЫ: исходник не найду, да и реализация мне не понравилась - запоминал тикеты рыночных ордеров в массив, после частичного закрытия сразу через ArrayBsearch() находил ордер который отсутствовал в массиве - т.е. новый тикет

В общем случае нужно ещё магик проверять, вроде бы магик сохраняется обязательно при любом алгоритме Ч.З. а иначе вполне можно "найти" не тот ордер...

 
Igor Makanu:

топик бы с обсуждением эффективного алгоритма сначала под МТ4 бы , я бы поучаствовал

Алгоритма чего?

 
Ilya Malev:

В общем случае нужно ещё магик проверять, вроде бы магик сохраняется обязательно при любом алгоритме Ч.З. а иначе вполне можно "найти" не тот ордер...

да про магик и ежу понятно ))))

в общем случае сделайте  пример поиска тикетов при частичном закрытии ордера хотя бы без магика... магик то уж как-нибудь сможем прикрутить ;)


fxsaber:

Алгоритма чего?

 поиска нового тикета после частичного закрытия ордера в МТ4 - без анализа комментария ордера (у нового тикета сервер в большинстве своем изменяет комментарий - все этим и пользуются)

 
Igor Makanu:

да про магик и ежу понятно ))))

в общем случае сделайте  пример поиска тикетов при частичном закрытии ордера хотя бы без магика... магик то уж как-нибудь сможем прикрутить ;)

В Мт4 как Вы уже говорили - по комментам))) В мт5 - понятно по ид позиции.

А вообще в МТ4 эти алгоритмы подстраивались под конкретный тип счета и конкретного брокера, потому что действовали они часто по-разному