D4135:
Ордер для работы всегда нужно выбирать. Проблем не будет
Здравствуйте.
Такая замарочка началась с 3-го ордера, на втором, всё хорошо работает.
При выставлении ордера назначал ему тикет, для модификации int ticket_s = OrderSend(Symbol(), OP_SELL, 0.3, Bid, Slippage, 0, 0, comment, 212, 0, Red); и строчка ниже всегда правильно определяла его объём(для второго доп.ордера,а для 3-го нет) if(OrderSelect(ticket_s, SELECT_BY_TICKET,MODE_TRADES) == true && OrderSymbol() == Symbol() && OrderMagicNumber() == 212) double lotss2 = OrderLots(); сейчас определяет только по SELECT_BY_POS для 3-го ордера,хотя это тикет if(OrderSelect(ticket_s, SELECT_BY_POS,MODE_TRADES) == true && OrderSymbol() == Symbol() && OrderMagicNumber() == 212) double lotss2 = OrderLots();//работает Получается ticket_s советник определяет и как тикет,и как номер???Но и для функции if(ticket_s>0) OrderClose(ticket1,OrderLots(),Ask,1, Black);// тоже для 3-го ордера не работает
-- где выбран тот ордер, что удаляется?
судя по контексту пояснений -- надо было записать:
if(ticket_s>0) OrderClose(ticket_s,OrderLots(),Ask,1, Black);
Спасибо. Теперь ордер через номер буду определять.
Всегда назначал ордеру тикет, чтобы не использовать цикл.Меньше писанины.
if(ticket_s>0) OrderClose(ticket_s,OrderLots(),Ask,1, Black);//здесь другой ордер удаляется ticket_s

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте.
Такая замарочка началась с 3-го ордера, на втором, всё хорошо работает.
if( OrderSelect(ticket_s, SELECT_BY_POS, MODE_TRADES) == true && ticket_s>0 && OrderMagicNumber() == 212) OrderClose( OrderTicket(),OrderLots(),Ask,1, Black);//теперь приходится вот так писать