Скачать MetaTrader 5

Как присвоить номер тикету через OrderSend?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
luxerman
113
luxerman  

Есть отложенный ордер

bool reser=OrderSend(Symb, OP_SELLSTOP, 0.01, OrderStopLoss(), 10, NormalizeDouble(OrderStopLoss()+Point*SellStopLoss,Digits), "First expert",777);

Магическое число не подходит

Ihor Herasko
11285
Ihor Herasko  
Если нужно присвоить именно номер, то только Magic Number. Чем он не подходит? Поле комментария точно для этих целей не подойдет, т. к. может быть модифицировано со стороны сервера. То есть его содержимое не гарантируется.
EugenioKP1983
166
EugenioKP1983  
luxerman:

Есть отложенный ордер

bool reser=OrderSend(Symb, OP_SELLSTOP, 0.01, OrderStopLoss(), 10, NormalizeDouble(OrderStopLoss()+Point*SellStopLoss,Digits), "First expert",777);

Магическое число не подходит


Помойму у вас ошибка. Если я не ошибаюсь то OrderSend возвращает номер тикета а значит выражение bool reser=OrderSend... Ложно

Должно быть так int TicketBuy=OrderSend...

Да верно читайте то что возвращает https://docs.mql4.com/ru/trading/ordersend. 


Alexey Viktorov
11332
Alexey Viktorov  
EugenioKP1983:

Помойму у вас ошибка. Если я не ошибаюсь то OrderSend возвращает номер тикета а значит выражение bool reser=OrderSend... Ложно

Должно быть так int TicketBuy=OrderSend...

Да верно читайте то что возвращает https://docs.mql4.com/ru/trading/ordersend. 


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

Оно просто неправильно написано.

EugenioKP1983
166
EugenioKP1983  
AlexeyVik:

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

Оно просто неправильно написано.


Согласен, возврат идёт но не фиксируется. Сделка вскравно отправится. Но для того чтоб проконтралиравать ордер то его нужно записать в инт переменную а не булевую
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий