Советник открывает множество позиций после срабатывания условия.
Как ограничить количество открываемых позиций скажем двумя?
Заранее спасибо.
void start() { if (NumberOfPositions()<2) { // Открываем позицию } } //+----------------------------------------------------------------------------+ //| Возвращает количество позиций. | //| Параметры: | //| sym - наименование инструмента ("" - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ int NumberOfPositions(string sym="", int op=-1, int mn=-1) { int i, k=OrdersTotal(), kp=0; if (sym=="") sym=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sym) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) kp++; } } } } } return(kp); }
KimIV:
И опять KimIV приходит на помощь!:) Спасибо!
void start() { if (NumberOfPositions()<2) { // Открываем позицию } } //+----------------------------------------------------------------------------+ //| Возвращает количество позиций. | //| Параметры: | //| sym - наименование инструмента ("" - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ int NumberOfPositions(string sym="", int op=-1, int mn=-1) { int i, k=OrdersTotal(), kp=0; if (sym=="") sym=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sym) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) kp++; } } } } } return(kp); }

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