Если вопрос ещё актуален, то, кажется, у Вас неправильно организован FindLastOrderTaype().
В данном случае выбор по номеру тикета ошибка, так как отложки тоже находятся в MODE_TRADES, и так как первый тикет присвоен байстопу, то при его срабатывании бай=тикет 1, селлстоп=тикет 2. Функция возвращает oldtype=SELLSTOP, а код пляшет от BUY или SELL. И в начале функции Вы сразу присвоили возвращаемому значению 0=OP_BUY.. и в условиях рынка при работе с отложками тикеты не всегда присваиваиваются по возрастанию..
Если вопрос ещё актуален, то, кажется, у Вас неправильно организован FindLastOrderTaype().
В данном случае выбор по номеру тикета ошибка, так как отложки тоже находятся в MODE_TRADES, и так как первый тикет присвоен байстопу, то при его срабатывании бай=тикет 1, селлстоп=тикет 2. Функция возвращает oldtype=SELLSTOP, а код пляшет от BUY или SELL. И в начале функции Вы сразу присвоили возвращаемому значению 0=OP_BUY.. и в условиях рынка при работе с отложками тикеты не всегда присваиваиваются по возрастанию..
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
идея состоит в том что бы сперва открыть два отложенных ордера в разном направлении, при открыти ордера на бай сразу открыть отложенный ордер на селл по той же цене что и превый ордер селл с удвоенным лотом далее при открытии второго ордера селл открыть отложженный ордер бай по той же цене что и первый ордер бай с удвоенным лотом. Проблема в том что если первым открывается ордер селл то все работает нормально как надо, если бай то программа не видит этого и не выполняет след действия!