ORDER_POSITION_ID - страница 3

 
Mikalas:

Извините, но мы с вами говорим на "разных" языках, или вы читаете через строчку.

Отложенный ордер ОДИН, позиция открыта частично исполненым этим ордером, который ещё действует,

при трассировке программы я попадаю в  return( long( OrderGetInteger( ORDER_POSITION_ID ) ) );

Это вы читаете через строчку или просто не желаете понять простую вещь. То, что вы пишете здесь русскими словами != тому, что исполняет терминал.
 
Mikalas:

Отложенный ордер ОДИН, позиция открыта частично исполненым этим ордером, который ещё действует,

при трассировке программы я попадаю в  return( long( OrderGetInteger( ORDER_POSITION_ID ) ) );

Нежелание показать код вынуждает задавать все новые и новые вопросы. Например, КАКОЙ отложенный ордер? Вроде бы при частичном исполнении отложенный ордер на оставшийся лот может (в зависимости от типа) остаться висеть. Я не уверен, что у него будет id позиции.

То, что строчки кода исполняются - не подвергалось сомнению. Я предлагал посмотреть свойства вашего тикета.

 

marketeer, большое спасибо, спасибо, спасибо.

 

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

Mikalas, напишите код, отлавливающий данную ситуацию, и выводящий подробнейшую информацию в журнал.
Выложите код для тестов разработчиками и укажите сервер, на котором это все происходит.

А по журналам с детальными логами можно будет указать на проблему.

 

Если, конечно, ваша цель - разобраться в ситуации.

 
komposter:

...

Если, конечно, ваша цель - разобраться в ситуации.

Ему нравится упираться и капризничать. ))
 
komposter:

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

Mikalas, напишите код, отлавливающий данную ситуацию, и выводящий подробнейшую информацию в журнал.
Выложите код для тестов разработчиками и укажите сервер, на котором это все происходит.

А по журналам с детальными логами можно будет указать на проблему.

 

Если, конечно, ваша цель - разобраться в ситуации.

Я чётко и ясно сформулировал, что я хочу узнать:

Так почему же у меня 0?

Ведь если бы в справке было написано:

Идентификатор позиции, который ставится на ордере при его исполнении.

Тогда может быть и должен быть ноль.

Но там написано:

Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию. Идентификатор этой позиции и устанавливается исполненному ордеру в этот момент.

А частично исполненный ордер то же порождает сделку. 

Как же понимать? 

Кроме того, всё, что необходимо я отправил в сервисдеск, но ОТВЕТА нет!

Что же не понятного?

1. Ордер "свалился" не с потолка!

Если это так принципиально, то он получен так:

//--- Send order
  if ( OrderSend( request, result ) )
  {
    if ( result.retcode == TRADE_RETCODE_PLACED ) 
    {
      ticket = result.order;
    }
  }
  else
  {
    Print( "Установка ордера не выполнена! ", aSymbol, "; Код возврата = ", GetRetCode( result.retcode ) );
  }

 

2. Если ордера нет, то и нельзя выбрать ордер!

3. Если позиция выбрана(по символу ордера), то она открыта!

4. Если я, при трассировке программы, попадаю внутрь кода, значит и ордер и позиция существуют! 

Почему же нужно всё "разжёвывать" достаточно опытным программистам? 

 
tol64:
Ему нравится упираться и капризничать. ))
Вам очень правится создавать конфликтные ситуации?
 
Mikalas:


Оч смешно - а как структура TradeRequest заполняется - слабо показать?

В общем, судя по всему, OnTradeTransaction вам поможет.

 
Mikalas:

Я чётко и ясно сформулировал, что я хочу узнать:

Что вы хотите узнать - понятно.

Не понятно, как воспроизвести у себя вашу ситуацию минимальными усилиями.

 

Mikalas:
Вам очень правится создавать конфликтные ситуации?

Не реагируйте на троллинг, и не будет флуда. Отвечайте только на технические вопросы. 

 
marketeer:

Оч смешно - а как структура TradeRequest заполняется - слабо показать?

В общем, судя по всему, OnTradeTransaction вам поможет.

Вы не обидитесь, я если я откровенно скажу, что думаю о ваших высказываниях в этом топике?
Причина обращения: