Здравствуйте. Ордер открылся на пересечении двух МА. А с помощью какой функции заблокировать остальное открытие ордеров, пока не закроется первый ордер? Закрытие происходит на другом пересечении МА.
- Закрытие сделки
- Закрытие ордера
- Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6.
Anna_89:
Здравствуйте. Ордер открылся на пересечении двух МА. А с помощью какой функции заблокировать остальное открытие ордеров, пока не закроется первый ордер? Закрытие происходит на другом пересечении МА.Вставь
Здравствуйте. Ордер открылся на пересечении двух МА. А с помощью какой функции заблокировать остальное открытие ордеров, пока не закроется первый ордер? Закрытие происходит на другом пересечении МА.Вставь
вставьте перед функцией открытия ордеров проверку на уже открытые ордера
например такой дубовый способ (если принять что у вас нет отложников и ордеров других советников):
if (OrdersTotal() == 0) { ваш код открытия ордеров }
или сделать подсчет ордеров заданного типа вашего советника (который использует меджик MAGIC_NUMBER)
int total = OrdersTotal(); int open_total = 0; for(int i = total-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderMagicNumber() != MAGIC_NUMBER) continue; { if(order_type == OP_BUY || order_type == OP_SELL) { open_total++; } } } } if (open_total == 0) { ваш код открытия ордера }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь