Всем привет!
Имеется ли в MQL4 стандартная функция, возвращающая название или порядковый номер таймфрейма для текущего окна финансового инструмента?
Существует параметр " int timeframe", который используется для задания периода графика в функциях типа iBars, iClose и пр., но функции, решающей обратную задачу, я так и не нашёл. Возможны два варианта: либо плохо искал, либо такой функции не существует в принципе.
На крайняк можно создать пользовательскую функцию, решающую данную задачу (определить разницу во времени открытия двух соседних баров), но только, если такой функции действительно не существует.
Заранее спасибо за ответ!
Period()
ЗЫ: ))
ЗЫ: ))
Спасибо огромное! А то уже принялся за написание собственной пользовательской функции...))
Спасибо огромное! А то уже принялся за написание собственной пользовательской функции...))
#define AMOUNT_PERIODS 9 int GetPeriod( int Depth ) { static int Periods[AMOUNT_PERIODS] = {PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1}; int i, Res; Res = Time[0] - Time[1]; for (i = 1; i < Depth; i++) if (Time[i] - Time[i + 1] < Res) Res = Time[i] - Time[i + 1]; Res /= 60; i = 0; while(i < AMOUNT_PERIODS) { if (Res < Periods[i]) break; i++; } return(Periods[i - 1]); }
Блин, да просто разницу между временем открытия 2х баров из прошлого посмотреть и все.
не хорошо получится если выберутся первый бар понедельника и последний пятницы
риск косяков всегда есть ))) вероятность мизерная что так случится, да и можно на случай некорректной разности взять другие бары для сравнения :)
Дыры случаются не только на выходных...
Надежную функцию написал выше.
а в чем смысл вашей функции GetPeriod ?
высокотехнологичная ерунда ? зачем-то указывается размерность массива, для такого объявления она и не нужна это для красоты ?
тогда почему нет инициализации int i, Res; ? как-то не в едином стиле..
в общем косячная функция..
первый бар понедельника и последний пятницы при Depth < 2
или
можно попасть на два последовательных разрыва, когда левый разрыв попадает на Depth-1
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет!
Имеется ли в MQL4 стандартная функция, возвращающая название или порядковый номер таймфрейма для текущего окна финансового инструмента?
Существует параметр " int timeframe", который используется для задания периода графика в функциях типа iBars, iClose и пр., но функции, решающей обратную задачу, я так и не нашёл. Возможны два варианта: либо плохо искал, либо такой функции не существует в принципе.
На крайняк можно создать пользовательскую функцию, решающую данную задачу (определить разницу во времени открытия двух соседних баров), но только, если такой функции действительно не существует.
Заранее спасибо за ответ!