Вадим Мотеюнас: пишет ошибку указывая на if( iOpen[0] != time_open ) 'iOpen' - undeclared identifie
Я малость что-то не то написал, малость в другую сторону мысли. Поменяйте iOpen[0] на Open[0]. Исправил. Хотя проще говоря. При открытии запоминается время открытия бара, и на этом баре уже ордера не берутся.
Отбор учитываемых позиций задаётся внешними параметрами:
sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - NULL означает текущий рыночный инструмент.
tf - Таймфрейм. Значение по умолчанию - 0 означает текущий таймфрейм.
op - Торговая операция, тип позиции. Допустимые значения: OP_BUY, OP_SELL или -1. Значение по умолчанию -1 означает любую позицию.
mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор.
внешними параметрами? это сначало надо их обьявить перед самой первой спец. функцией?т.е то что они есть в описании самой функции NumberOfBarOpenLastPos() не достаточно?
Отбор учитываемых позиций задаётся внешними параметрами:
sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - NULL означает текущий рыночный инструмент.
tf - Таймфрейм. Значение по умолчанию - 0 означает текущий таймфрейм.
op - Торговая операция, тип позиции. Допустимые значения: OP_BUY, OP_SELL или -1. Значение по умолчанию -1 означает любую позицию.
mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор.
внешними параметрами? это сначало надо их обьявить перед самой первой спец. функцией?т.е то что они есть в описании самой функции NumberOfBarOpenLastPos() не достаточно?
Достаточно. Во внешние параметры вы можете вносить нужные значения: Маджик, какие позиции ищем, возможно нужно только по BUY, если нужно по BUY(0) и SELL(1) - тогда пишем "-1".
Я малость что-то не то написал, малость в другую сторону мысли. Поменяйте iOpen[0] на Open[0]. Исправил. Хотя проще говоря. При открытии запоминается время открытия бара, и на этом баре уже ордера не берутся
куча ордеров открывается,походу условие if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) перед открытием не ордера соблюдается т.к NumberOfBarOpenLastPos возвращает -1
Достаточно. Во внешние параметры вы можете вносить нужные значения: Маджик, какие позиции ищем, возможно нужно только по BUY, если нужно по BUY(0) и SELL(1) - тогда пишем "-1".
при старте в тестере, нету естественно ,открытых ордеров может поэтому возвращается -1, и поэтому условие if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) не выполняется?
при старте в тестере, нету естественно ,открытых ордеров может поэтому возвращается -1, и поэтому условие if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) не выполняется?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Вот в функции есть перебор и выбор самой новой по времени, то есть - последней
Далее, у нас есть выбранная, и её подставляем в функцию iBarShift(sym, tf, oot, true);
Функция возвращаеи номер бара по времени. Всё.
Проверить к сожалению не могу, но когда неё пользовался, то работала отлично, как и все здесь опубликованные функции от И.Кима
пишет ошибку указывая на if( iOpen[0] != time_open ) 'iOpen' - undeclared identifie
Я малость что-то не то написал, малость в другую сторону мысли. Поменяйте iOpen[0] на Open[0]. Исправил. Хотя проще говоря. При открытии запоминается время открытия бара, и на этом баре уже ордера не берутся.
еще в описании функции написано что
Отбор учитываемых позиций задаётся внешними параметрами:
еще в описании функции написано что
Отбор учитываемых позиций задаётся внешними параметрами:
Достаточно. Во внешние параметры вы можете вносить нужные значения: Маджик, какие позиции ищем, возможно нужно только по BUY, если нужно по BUY(0) и SELL(1) - тогда пишем "-1".
Я малость что-то не то написал, малость в другую сторону мысли. Поменяйте iOpen[0] на Open[0]. Исправил. Хотя проще говоря. При открытии запоминается время открытия бара, и на этом баре уже ордера не берутся
куча ордеров открывается,походу условие if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) перед открытием не ордера соблюдается т.к NumberOfBarOpenLastPos возвращает -1
куча ордеров открывается,походу условие if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) перед открытием не ордера соблюдается т.к NumberOfBarOpenLastPos возвращает -1
Вы ищите ордера, тогда вам нужно использовать функцию в полном варианте, а именно с возможностью поиска по ордерам, а не только по позициям:
Достаточно. Во внешние параметры вы можете вносить нужные значения: Маджик, какие позиции ищем, возможно нужно только по BUY, если нужно по BUY(0) и SELL(1) - тогда пишем "-1".
при старте в тестере, нету естественно ,открытых ордеров может поэтому возвращается -1, и поэтому условие if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) не выполняется?
при старте в тестере, нету естественно ,открытых ордеров может поэтому возвращается -1, и поэтому условие if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) не выполняется?
Сейчас проверю всё-таки.
Вы ищите ордера, тогда вам нужно использовать функцию в полном варианте, а именно с возможностью поиска по ордерам, а не только по позициям:
всеравно -1 возвращает
всеравно -1 возвращает
Работает отменно!
С двух позиций выбрал последнюю, а именно на 11 баре, что видно на скрине:
Проверочный код: