Частичное закрытие ордера. - страница 2

 
tara:

ЗЫ Если раньше не ходили на MQL5: Ваш ник и пароль там совпадают с форумом четверки на время создания форума MQL5.


о чудо... мой пароль совпал.... :-))) только он совсем другой...
 

Вот ведь правду говорят... Дурная голова рукам покою не даёт...

Ставятся и удаляются-то отложки... А этот ордер будет рыночным...

И второй вариант завтра проверю. Не будет-ли этот ордер выбран после того как придёт от сервера ответ что заявка выполнена???

То-есть

bool rez;

int ticket;

rez = OrderClose(....);

if(rez)

{

ticket = OrderTicket();

Print(ticket);

}

Всем большое спасибо за участие.

 
:)
 
Самый лучший способ не заморачиваться это изначально открывать 2 (ну или 3,4,...,n) ордера вместо одного, и закрывать их потом по очереди.
 
zoritch:

при чём здесь вообще спред ? если я вхожу в рынок с целью от ста до семидесяти пунктов, какой спред может съесть твою прибыль ?

это как входной билет в игровой зал... отдал полтинник за вход... выиграл тысячи, проиграл тысячи... виноват полтинник за входной билет ? смешно...

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


Возьмите прибыльный советник, который оптимизировался со спредом 2 пипса, а потом увеличьте спред до 3-4, протестируйте на той же истории и сравните результаты. Многие советники уйдут в корзину после такой проверки.
 
chief2000:

Возьмите прибыльный советник, который оптимизировался со спредом 2 пипса, а потом увеличьте спред до 3-4, протестируйте на той же истории и сравните результаты. Многие советники уйдут в корзину после такой проверки.

>>> Многие советники уйдут в корзину после такой проверки.

Подтверждаю. Был у меня когда то пипсовщик, который прекратил прибыльную работу когда в ДЦ спред подняли с 2 до 4

Но следует заметить, что утверждение справедливо только для пипсовочных стратегий

у долгосрочных изменится прибыль.

 

Господа, я тему открыл не для обсуждения влияния спреда на прибыльность торговли.

А что касается основного вопроса, моя вечерняя задумка провалилась с треском. Ордер после закрытия не становится выбранным. Хотя после открытия можно, не выбирая ордер, прочесть все его параметры.

 
AlexeyVik:

Согласно документации функция OrderClose() возвращает TRUE при успешном завершении или FALSE. То-же самое и при частичном закрытии ордера, при этом закрывается весь объём и открывается новый ордер с лотом равным остатку. При этом время открытия и конечно цена остаются прежними. А тикет этого нового ордера остаётся строгой тайной и его можно узнать только перебрав ордера в цикле.

Вот и возник вопрос: А есть-ли вариант узнать этот тикет не прибегая к циклу???


ИМХО. Надо до закрытия запомнить объём, а после сравнить его с объёмом закрытого ордера. Если объёмы совпали, то нет смысла перебирать ордера на предмет поиска нового.
 
AlexeyVik:

А что касается основного вопроса, моя вечерняя задумка провалилась с треском. Ордер после закрытия не становится выбранным. Хотя после открытия можно, не выбирая ордер, прочесть все его параметры.


Но, номер тикета у него сохранился, можно выбрать по тикету.

 
pro_:
Самый лучший способ не заморачиваться это изначально открывать 2 (ну или 3,4,...,n) ордера вместо одного, и закрывать их потом по очереди.

Этот вариант тоже приемлем, но опять-же вопрос упирается в определение объёма. Если лот рассчитывается по условию, что потеря, в случае неудачи, не должна составлять %% депозита, потом мартин, и только потом рассчитываем лот для закрытия, то это получится больше писанины чем дописать в переборе ордеров определение его тикета.


В принципе решение вопроса пришло ещё вечером, перед сном, (второй пост на этой странице)