Подскажите, почему не работает этот код в МТ5? В мт4 все гуд
А что Вы получаете из iClose(), и что получаете делением полученного значения самого на себя? И почему бы не использовать предопределённый массив close[] для такого случая?
А что Вы получаете из iClose(), и что получаете делением полученного значения самого на себя? И почему бы не использовать предопределённый массив close[] для такого случая?
Я не силен в MQL5, но так работает
int limit=rates_total-prev_calculated-1;
for(int i = limit; i > 0; i--)
{
double countCurrent = iClose(_Symbol, PERIOD_CURRENT, i) / iClose(_Symbol, PERIOD_CURRENT, i);
RationBuffer[i] = NormalizeDouble(countCurrent, 2);
}
По той причине, что индикация баров в mt5 слева направо, то получается самый старый бар во время запуска, всегда будет иметь индекс 0. Следовательно надо писать
int limit = prev_calculated == 0 ?5: rates_total-prev_calculated-1;
Если это первый запуск, то посчитанных баров ноль и начнём считать с пятого бара. Иначе будем пересчитывать только последний бар.
пока не понятно- помогите - как программно (как то возможно через ф-ию)
Компоненты даты и времени
Чтобы узнать значения отдельных составляющих даты и времени (год, месяц, дата и т.д.) используется функция TimeToStruct() и структура MqlDateTime. В функцию по ссылке передается структура, после выполнения функции структура будет заполнена значениями компонентов переданной ей даты:
datetime tm=TimeCurrent();
MqlDateTime stm;
TimeToStruct(tm,stm);
//--- вывод компонентов датыAlert("Год: " +(string)stm.year);
Alert("Месяц: " +(string)stm.mon);
Alert("Число: " +(string)stm.day);
Alert("Час: " +(string)stm.hour);
Alert("Минута: " +(string)stm.min);
Alert("Секунда: " +(string)stm.sec);
Alert("День недели: "+(string)stm.day_of_week);
Alert("День года: " +(string)stm.day_of_year);
написать это условие - чтобы год назад в общем выйти на начало - прошлого года и его конец от текущего, чтобы избежать вот такого явного указания:
В статье рассматриваются стандартные функции MQL5 для работы со временем, приемы программирования и практически полезные функции для работы со временем, которые необходимы при создании экспертов и индикаторов. Значительное внимание уделено общей теории времяисчисления. В первую очередь статья должна быть интересна новичкам, приступившим к изучению программирования на MQL5.
Подскажите, почему не работает этот код в МТ5? В мт4 все гуд
Подскажите, почему не работает этот код в МТ5? В мт4 все гуд
А что Вы получаете из iClose(), и что получаете делением полученного значения самого на себя? И почему бы не использовать предопределённый массив close[] для такого случая?
А что Вы получаете из iClose(), и что получаете делением полученного значения самого на себя? И почему бы не использовать предопределённый массив close[] для такого случая?
Я не силен в MQL5, но так работает
а если limit=5, то не работает.
Может кто-то объяснить почему? Пожалуйста.
Наверное так правильно будет
Я не силен в MQL5, но так работает
а если limit=5, то не работает.
Может кто-то объяснить почему? Пожалуйста.
По той причине, что индикация баров в mt5 слева направо, то получается самый старый бар во время запуска, всегда будет иметь индекс 0. Следовательно надо писать
Если это первый запуск, то посчитанных баров ноль и начнём считать с пятого бара. Иначе будем пересчитывать только последний бар.
Тогда цикл надо строить с увеличением индекса
По той причине, что индикация баров в mt5 слева направо, то получается самый старый бар во время запуска, всегда будет иметь индекс 0.
Спасибо.
Тогда цикл надо строить с увеличением индекса
Наверное < ?
подскажите как лучше в индикаторе указать начало работы, например что-бы он начинал работу например с месяц назад, а остальное просто пропускал
пока вижу расчетную часть поставить после проверки datetime
Подскажите, почему не работает этот код в МТ5? В мт4 все гуд
да чутка упростил код, но опечатался) допустим, я там делю цену закрытия на цену открытия, а вместо _Symbol могут быть другие активы.
Но вот это все равно не работает. В чем беда?
Спасибо.
Наверное < ?
Ну конечно…
коллеги - читаю статью работы со временем
https://www.mql5.com/ru/articles/599
пока не понятно- помогите - как программно (как то возможно через ф-ию)
написать это условие - чтобы год назад в общем выйти на начало - прошлого года и его конец от текущего, чтобы избежать вот такого явного указания:
в общем надо программно выйти на начало и конец прошлого года - от текущего - это вставка в 1. условие и
текущую дату прошлого года, только - это вставка чтобы была во второе условие... 2.
для выполнения условий if...