В моём роботе при определённых условиях после открытия ордера он переводится в безубыток, нужен участок кода который будет перебирать все открытые ордера установленные этим роботом проверяя переведены ли они в безубыток и если хотябы один не переведен то запрет на открытие следующего ордера если все в безубытке то добро на открытие следующего ордера.
- Советники: News Trading
- Напишу советник бесплатно
- Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Что вам самими мешает написать эту функцию?
B=0;
S=0;
if (OrdersTotal()>=1)
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType() == OP_BUY && OrderStopLoss()>=OrderOpenPrice()) B=B+1 ;
if (OrderType() == OP_SELL && OrderStopLoss()<=OrderOpenPrice()) S=S+1 ;
}
}
if ((S+B)==OrdersTotal()) то разрешаем открыть сделку ;
не спец, но по бейсику немного пишу )) Любил в детстве бейсик.
Может и ошибки там есть. Проверь.
Alexander Ivanov:
не спец, но по бейсику немного пишу )) Любил в детстве бейсик.
не спец, но по бейсику немного пишу )) Любил в детстве бейсик.
А магик , символ?
A=0;
if (OrdersTotal()>=1)
for (int k=0; k<OrdersTotal(); k++) {
if (OrderSelect(k, SELECT_BY_POS, MODE_TRADES)) {
if ( OrderSymbol()==Symbol()) {
A=A+1;
}
}
}
B=0;
S=0;
if (OrdersTotal()>=1)
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSymbol()==Symbol()) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType() == OP_BUY && OrderStopLoss()>=OrderOpenPrice() && OrderMagicNumber()==Magic) B=B+1 ;
if (OrderType() == OP_SELL && OrderStopLoss()<=OrderOpenPrice() && OrderMagicNumber()==Magic) S=S+1 ;
}
}
}
if ((S+B)==A) то разрешаем открыть сделку ;
может там ошибка. Проверь.

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь