Добрый вечер!
Никак не могу достучаться до времени на дневном графике, точность не выше часа.
Прямое обращение выводит нули, так как график дневной.
Обращение iTime(NULL,PERIOD_H1,0) так же почему-то выводит нули. Объяснить не могу.
iTime("EURUSD",PERIOD_H1,0) с открытым еще одним график с часовым таймфреймом не помогает - выводит нули. Вероятно тестер моделирует только один график.
Comment (TimeToStr(TimeLocal(),TIME_SECONDS)); - так же выводит нули на тестере.
Задача взять время, моделируется дневной график, точность до часа. Чтобы работало на тестере. Есть ли хоть какая-нибудь возможность?
А что дает TimeCurrent()
Всё работает
int start() { //---- datetime t=iTime(NULL,PERIOD_H1,0); Alert("Время открытия текущего часового бара ",TimeToStr(t,TIME_DATE|TIME_MINUTES|TIME_SECONDS)); Alert("Это ",TimeDayOfYear(t),"-ой день года, ",TimeHour(t),"-ый час суток"); //---- return(0); }
Спасибо за ответы.
То Vinin.
Эта функция тоже не работает. Выдает нули.
То Sepulca.
http://SSMaker.ru/a71945b9/
http://SSMaker.ru/cd0123a2/
Тоже самое.
Я так понимаю вы запускали на тестере с таймфреймом ниже дневного. Я запускаю на ДНЕВНОМ таймфрейме.
Фокус в том, что раз функция iTime(NULL,PERIOD_H1,0) не выдает нужного времени, то у меня сомнения, что тестер вообще правильно расчитывает все подобные функции.
Спасибо за ответы.
То Vinin.
Эта функция тоже не работает. Выдает нули.
То Sepulca.
http://SSMaker.ru/a71945b9/
http://SSMaker.ru/cd0123a2/
Тоже самое.
Я так понимаю вы запускали на тестере с таймфреймом ниже дневного. Я запускаю на ДНЕВНОМ таймфрейме.
Фокус в том, что раз функция iTime(NULL,PERIOD_H1,0) не выдает нужного времени, то у меня сомнения, что тестер вообще правильно расчитывает все подобные функции.
А с какими параметрами Вы запускаете советника. Если по ценам открытия, то Вы можете получить только время открытия с соответствующего таймфрейма
Я так понимаю вы запускали на тестере с таймфреймом ниже дневного. Я запускаю на ДНЕВНОМ таймфрейме.
Фокус в том, что раз функция iTime(NULL,PERIOD_H1,0) не выдает нужного времени, то у меня сомнения, что тестер вообще правильно расчитывает все подобные функции.
Поэкспериментировал с таймфреймами.
Получается так, есть базовый таймфрейм который генерирует тестер(задается в тестере), любое обращение к данным таймфрейма НИЖЕ базового НЕВОЗМОЖНО, тестер выравнивает время под базовое, НИЖЕ базового функция хорошо обрабатывается и отдает корректные данные.
Таким образом, если тестер генерирует таймфрейм например 4 часового графика, то любые обращение функций (типа iTime, iRSI и так далее скорее всего) НИЖЕ данного таймфрейма будут не ниже 4-ех часового. То есть если график дневной, то и ничего ниже дневного не генерируется в графике. Вот такая вот ерунда получается.
А с какими параметрами Вы запускаете советника. Если по ценам открытия, то Вы можете получить только время открытия с соответствующего таймфрейма
Тестер обрабатывает несколько дней. И за все время теста время не меняется.
В тестере Alert() выводит в журнал, а не окно на экран.
А какая разница. Я вывел на экран. Не думаю что в журнале обработка происходит как-то иначе.
Поэкспериментировал с таймфреймами.
Получается так, есть базовый таймфрейм который генерирует тестер(задается в тестере), любое обращение к данным таймфрейма НИЖЕ базового НЕВОЗМОЖНО, тестер выравнивает время под базовое, НИЖЕ базового функция хорошо обрабатывается и отдает корректные данные.
Таким образом, если тестер генерирует таймфрейм например 4 часового графика, то любые обращение функций (типа iTime, iRSI и так далее скорее всего) НИЖЕ данного таймфрейма будут не ниже 4-ех часового. То есть если график дневной, то и ничего ниже дневного не генерируется в графике. Вот такая вот ерунда получается.
Не так, запустил в тестере на D1:
int oldbar; int init() { oldbar=iBars(Symbol(),PERIOD_H1)-1; Print("Запускае на графике ",Period()," минут"); return(0); } int deinit() {return(0);} int start() { if(oldbar!=iBars(Symbol(),PERIOD_H1)){ datetime t=iTime(NULL,PERIOD_H1,0); Print("Номер бара ",iBars(Symbol(),PERIOD_H1)," Время открытия текущего часового бара ",TimeToStr(t,TIME_DATE|TIME_MINUTES|TIME_SECONDS)," Это ",TimeDayOfYear(t),"-ой день года, ",TimeHour(t),"-ый час суток"); oldbar=iBars(Symbol(),PERIOD_H1); } return(0); }
Даа ваша правда!
Похоже этот участок кода у меня не всегда обрабатывается и поэтому ерунда такая пошла. Буду разбираться. Не всегда так легко разобраться в чужом коде.
Мои извинения. Отнял время.
Тему можно закрывать.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый вечер!
Никак не могу достучаться до времени на дневном графике, точность не выше часа.
Прямое обращение выводит нули, так как график дневной.
Обращение iTime(NULL,PERIOD_H1,0) так же почему-то выводит нули. Объяснить не могу.
iTime("EURUSD",PERIOD_H1,0) с открытым еще одним график с часовым таймфреймом не помогает - выводит нули. Вероятно тестер моделирует только один график.
Comment (TimeToStr(TimeLocal(),TIME_SECONDS)); - так же выводит нули на тестере.
Задача взять время, моделируется дневной график, точность до часа. Чтобы работало на тестере. Есть ли хоть какая-нибудь возможность?