Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 268

 

По какой причине в MQL4 iRSI() может выдавать ноль?

Аргументы 100 раз проверены на корректность.

 
Alexander Fedosov:   По какой причине в MQL4 iRSI() может выдавать ноль?
покажите минимальный код, дающий этот результат. У меня 0 получился, когда задал период = 1
 
Добрый день. Подскажите пожалуйста как можно сделать чтобы ордера не открывались повторно после закрытия в профит?
 
STARIJ:
покажите минимальный код, дающий этот результат
Подгружать историю нужно было. Иначе iRSI выдает ноль
 
Alexander Fedosov:
Подгружать историю нужно было. Иначе iRSI выдает ноль
 Подскажите, как подгружать историю. И что это значит. Ведь в истории у меня сколько-то тысяч баров в настройках задано. Это правильно?
 
STARIJ:
 Подскажите, как подгружать историю. И что это значит. Ведь в истории у меня сколько-то тысяч баров в настройках задано. Это правильно?
Просто открыть торговый инструмент. 
 
Alexander Fedosov:
Просто открыть торговый инструмент. 
у Вас он был закрыт? График с этим инструментом отсутствовал?
 
Lowech:
Добрый день. Подскажите пожалуйста как можно сделать чтобы ордера не открывались повторно после закрытия в профит?
  bool x;
  static bool Флаг=0;
  if(!Сигнал) Флаг=true;
  else if(Флаг)
  {
    x=OrderSend(...);

Флаг=false; }

Что нибудь эдакое? Или именно в профит?
 
STARIJ:
Что нибудь эдакое? Или именно в профит?
Я с  этим не разберусь( как в советник это реализовать,а попроще ничего нельзя прописать? Мне главное чтобы если сигнал не изменился а ордер уже был закрыт то больше чтобы не открывался пока сигнал не поменяется.
 
Lowech:
Я с  этим не разберусь( как в советник это реализовать,а попроще ничего нельзя прописать? Мне главное чтобы если сигнал не изменился а ордер уже был закрыт то больше чтобы не открывался пока сигнал не поменяется.
  1. Есть сигнал, например на открытие позиции Buy.
  2. Находите в истории ордеров самую последнюю закрытую сделку.
  3. Смотрите её тип,
    1. если это Sell, то можно открывать Buy ----> return(ORDER_TYPE_BUY);
    2. если это Buy, то
  4. смотрите с каким профитом закрыта эта позиция Buy.
    1. Если с отрицательным, то можно открывать Buy ----> return(ORDER_TYPE_BUY);
    2. Если с положительным, то открывать новую Buy нельзя ----> return(WRONG_VALUE);
Причина обращения: