Все равно что-то сложное делаете. Учитесь жить проще.
Нужны всего две функции. Первая проверяет магик, вторая удаляет не нужное.
Здравствуйте. Прошлую мою тему закрыли, поэтому напишу сюда.
Противоположные отложенники устанавливаются группами. К примеру 3 группы ордеров, в каждой группе по 4 ордера (2 байстоп, 2 селлстоп).
Для каждой группы надо проверять: если байстопы в этой группе перешли в рынок то удаляются селлстопы в этой группе, и наоборот. В пределах группы magic номера решил назначить в таком виде: 11,12,13,14 (т.е. первая цифра - номер группы, вторая цифра - номер ордера в группе). 1 и 2 оредра - байстопы, 3 и 4 - селлстопы.
На каждом тике работает цикл по количеству групп, и в каждой группе проверяем если OrderType 1-го ордера равен =0, тогда удаляем 3 и 4 ордера (и наоборот если OrderType=1 у 3-го ордера).
Но должным образом вот это не работает (в большинстве случаев удаляет, но иногда, по непонятным причинам противоположные ордера так и остаются висеть, это случается редко, но этого быть не должно). Я догадываюсь что накодил ерунду, но прошу сильно не пинать, отнетсись с пониманием и объяснить в чём загвоздка и в чём я неправ. Спасибо за уделенное время!
Вот код:
Orderdelete убирает только только отложенные ордера, а вы Orderselectом выбираете все подряд, в том числе и уже открытые, которые можно убрать только с помощью Orderclose.
Orderdelete убирает только только отложенные ордера, а вы Orderselectом выбираете все подряд, в том числе и уже открытые, которые можно убрать только с помощью Orderclose.
А мне как раз и надо только отложенные удалять... открытые позиции я совсем не трогаю
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте. Прошлую мою тему закрыли, поэтому напишу сюда.
Противоположные отложенники устанавливаются группами. К примеру 3 группы ордеров, в каждой группе по 4 ордера (2 байстоп, 2 селлстоп).
Для каждой группы надо проверять: если байстопы в этой группе перешли в рынок то удаляются селлстопы в этой группе, и наоборот. В пределах группы magic номера решил назначить в таком виде: 11,12,13,14 (т.е. первая цифра - номер группы, вторая цифра - номер ордера в группе). 1 и 2 оредра - байстопы, 3 и 4 - селлстопы.
На каждом тике работает цикл по количеству групп, и в каждой группе проверяем если OrderType 1-го ордера равен =0, тогда удаляем 3 и 4 ордера (и наоборот если OrderType=1 у 3-го ордера).
Но должным образом вот это не работает (в большинстве случаев удаляет, но иногда, по непонятным причинам противоположные ордера так и остаются висеть, это случается редко, но этого быть не должно). Я догадываюсь что накодил ерунду, но прошу сильно не пинать, отнетсись с пониманием и объяснить в чём загвоздка и в чём я неправ. Спасибо за уделенное время!
Вот код: