Добрый день. Подскажите, пожалуйста, как мне проверить если ни у меня на текущем баре (в любом таймфрейме) открытая позиция или нет?
- [ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
- Как проверить было ли открытие сделки в этом баре
- FOREX - Тенденции, прогнозы и следствия (Эпизод № 28: Август 2013) Продолжение следует...
Перебрать в цикле все открытые ордера и сравнить if(OrderOpenTime() >= Time[0]) значит таковой есть...
Спасибо!
Добрый день.
Понадобилось ограничить число сделок на одном баре. Решила воспользоваться функцией Игоря Кима:
https://www.mql5.com/ru/forum/131859/page4#434234
Функция NumberOfBarCloseLastPos().
Эта функция возвращает номер бара закрытия последней позиции или -1. Отбор учитываемых позиций задаётся внешними параметрами .....
//+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 19.02.2008 | //| Описание : Возвращает номер бара закрытия последней позиции или -1. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" или NULL - текущий символ) | //| tf - таймфрейм ( 0 - текущий таймфрейм) | //| op - операция ( -1 - любая позиция) | //| mn - MagicNumber ( -1 - любой магик) | //+----------------------------------------------------------------------------+ int NumberOfBarCloseLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) { datetime t; int i, k=OrdersHistoryTotal(); if (sy=="" || sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()==sy) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t<OrderCloseTime()) t=OrderCloseTime(); }}}} } } return(iBarShift(sy, tf, t, True)); }
Но, почему-то функция не работает! Советник откр/закр сделки, однако, функция постоянно возвращает "-1", - вывела Comment(NumberOfBarCloseLastPos(NULL,0,-1,-1));
Подскажите, пож., в чем дело? Ранее (до обновления MQL) проблемы здесь не было.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь