Как в языке MQL4 определить тикет ордера, который возникает в результате закрытия встречных ордеров функцией OrderCloseBy() ? - страница 4

 
Artyom Trishkin:
Ваша "задняя" ... Уж полезайте в кузовок, раз взялись помочь. Покажите себя с другой стороны.

а смысл - тут же такие гуру сидят - индюками торгуют ... я лучше в сторонке посижу .... 

 
elmucon:

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

Кот здесь при чём? Взялись помочь - помогайте. Остальное - ваша невежливость по отношению к людям.
 
elmucon:

это не код - это пример .... а дальше - учебник в помощь ...

или может мне Вам всё написать? А доляху зашлёте после профита?

напишиТЕ если сможешьТЕ... Пусть новички смотрят как делать не надо...
 

Спасибо всем, кто принял участие в этой теме.

После общения со специалистом через сервисдеск я пришёл к выводу, что наиболее оптимальная последовательность действий по поиску тикета #3 должна быть примерно следующей:

  1. Среди двух ордеров (#1 и #2) найти тот ордер, который в поле комментария имеет фразу "partial close".
  2. Запомнить тикет того ордера, у которого имеется данная фраза (допустим, это ордер #1).
  3. Среди всех открытых на данный момент ордеров следует искать ордер, у которого в поле комментария упоминается тикет ордера #1.
  4. Найденный таким образом ордер как раз и будет искомым ордером #3. Остаётся только прочесть его тикет.

Ещё раз всем большое спасибо.

 
YIY:  последовательность действий по поиску тикета #3 должна быть примерно следующей:
  1. Среди двух ордеров (#1 и #2) найти тот ордер, который в поле комментария имеет фразу "partial close".
  2. Запомнить тикет того ордера, у которого имеется данная фраза (допустим, это ордер #1).
  3. Среди всех открытых на данный момент ордеров следует искать ордер, у которого в поле комментария упоминается тикет ордера #1.
  4. Найденный таким образом ордер как раз и будет искомым ордером #3. Остаётся только прочесть его тикет.

Большое спасибо за обнародование полезной информации по поиску тикета ордера, оставшегося после частичного закрытия CloseBy. Запишу ее в свой справочный архив

 
YIY:

Спасибо всем, кто принял участие в этой теме.

После общения со специалистом через сервисдеск я пришёл к выводу, что наиболее оптимальная последовательность действий по поиску тикета #3 должна быть примерно следующей:

  1. Среди двух ордеров (#1 и #2) найти тот ордер, который в поле комментария имеет фразу "partial close".
  2. Запомнить тикет того ордера, у которого имеется данная фраза (допустим, это ордер #1).
  3. Среди всех открытых на данный момент ордеров следует искать ордер, у которого в поле комментария упоминается тикет ордера #1.
  4. Найденный таким образом ордер как раз и будет искомым ордером #3. Остаётся только прочесть его тикет.

Ещё раз всем большое спасибо.

Такую чушь даже читать неприятно, тем более пользоваться...

1. Среди всех открытых ордеров следует искать ордер в комментарии которого имеется фраза "#from1"

2. Ордер с тикетом 1 и будет тем ордером который был закрыт частично.

О чём и было сказано на первой странице

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Как в языке MQL4 определить тикет ордера, который возникает в результате закрытия встречных ордеров функцией OrderCloseBy() ?

STARIJ, 2017.08.25 17:10

время открытия у ордера #3 будет то же, что и у ордера #2 - ведь это его часть.

Поэтому лучше проверять OrderComment() - там будет текст: from # 1    Хотя ожидал увидеть from # 2 - ведь это его часть.


 
elmucon:

это поиск последнего в истории ордера по времени с возвратом его тикета...

на основе этого можно найти ордер по   OrderType()    OrderLots()  OrderProfit()  OrderCommission()   OrderSwap() и так далее ... удачи .... 

А почему поиск по истории для активного ордера?
 
Andrei:
А почему поиск по истории для активного ордера?

так точно так же не по истории а по открытым ордерам ... всё разжовывать надо?

 
А что там с поиском тикета из комментария? Может в курсе дела как добыть?
 
Andrei:
А что там с поиском тикета из комментария? Может в курсе дела как добыть?

//--: Вызов функции 
CheckTiket(Ваш коммент);

//--: функция
int CheckTiket(string  l_comm) 
{
 int l_Tiket = 0;
 if (OrdersHistoryTotal() == 0) return (0);
 else{
   for (int l_pos = OrdersHistoryTotal(); l_pos >= 0; l_pos --) 
       {
       if (OrderSelect(l_pos, SELECT_BY_POS, MODE_HISTORY)==false)continue;
       if (OrderSymbol() == Symbol() && OrderComment() == l_comm) 
          {
           l_Tiket = OrderTicket();
          }
       }
    }
return (l_Tiket);
}

думаю так, не проверял - писал сразу сюда из головы ...