Как опредилить ордертикет?

 
Подскажите пожалуйста, как опредилить ордертикет определённого тикета?
 
:-) Так он и равен этому определенному тикету
 
Вопрос своей гениальностью ставит в ступор.
Даже не знаю, с какой стороны подойти...
 
rodis:
Подскажите пожалуйста, как опредилить ордертикет определённого тикета?


Видимо, не тикета, а порядкового номера ордера? К Вашим услугам функция

bool OrderSelect( int index, int select, int pool=MODE_TRADES)

SELECT_BY_POS - в параметре index передается порядковый номер позиции в списке,

Выбираете нужный Вам ордер по порядку (или тикету)

и функция

int OrderTicket( )
SELECT_BY_POS
и определяете его тикет.

 
goldtrader:
rodis:
Подскажите пожалуйста, как опредилить ордертикет определённого тикета?


Видимо, не тикета, а порядкового номера ордера? К Вашим услугам функция

bool OrderSelect( int index, int select, int pool=MODE_TRADES)

SELECT_BY_POS - в параметре index передается порядковый номер позиции в списке,

Выбираете нужный Вам ордер по порядку (или тикету)

и функция

int OrderTicket( )
SELECT_BY_POS
и определяете его тикет.


Эта функция выдаёт тикеты для всех ордеров и это прекрасно работает для trailingStop , а мне надо что бы OrderModify срабатывала сразу после OrderSend, так как  на WHCapital OrderSend'ом не выставляется стоплосс и тейкпрофит.Ну а для функции OrderModify соответственно требуется OrderTicket который и надо опредилить
 
rodis:

Эта функция выдаёт тикеты для всех ордеров и это прекрасно работает для trailingStop , а мне надо что бы OrderModify срабатывала сразу после OrderSend, так как на WHCapital OrderSend'ом не выставляется стоплосс и тейкпрофит. Ну а для функции OrderModify соответственно требуется OrderTicket который и надо опредилить

int OrderSend(...)
Основная функция, используемая для открытия позиции или установки отложенного ордера.
Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи. Чтобы получить дополнительную информацию об ошибке, необходимо вызвать функцию GetLastError().

Вот Ваш тикет,- int ticket=OrderSend(....);

 
rodis:
Эта функция выдаёт тикеты для всех ордеров и это прекрасно работает для trailingStop , а мне надо что бы OrderModify срабатывала сразу после OrderSend, так как на WHCapital OrderSend'ом не выставляется стоплосс и тейкпрофит. Ну а для функции OrderModify соответственно требуется OrderTicket который и надо опредилить


Тем более непонятно: функция OrderSend(...) как раз и возвращает тикет открываемого ордера...

int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

Основная функция, используемая для открытия позиции или установки отложенного ордера.
Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи. Чтобы получить дополнительную информацию об ошибке, необходимо вызвать функцию GetLastError().

Сохраните этот тикет в целочисленной переменной и передайте в функцию OrderModify(...)

 

присвоил целому значению int t = OrderSend (...) затем Order modify (ticket, ...) выдает error 4051 invalid ticket for OrderModify function

 
rodis писал (а):
присвоил целому значению int t = OrderSend (...) затем Order modify (ticket, ...) выдает error 4051 invalid ticket for OrderModify function
А почему, собсно, Order modify (ticket, ...) ?
Я бы сделал Order modify (t, ...).
 
rodis:

присвоил целому значению int t = OrderSend (...) затем Order modify (ticket, ...) выдает error 4051 invalid ticket for OrderModify function

А Вы не проверяли значение тикета, он случаем не был =-1?
 

сделал оба Ваших варианта, все равно ошибка 4051....

Просьба к goldtrader и Kim_IV - не могли бы Вы оставить аську или скайп, что б пообщаться более предметно в реальном времени?

Мой скайп- kastaneda74 icq 432138226

С уваженим Rodis.

Причина обращения: