Должно сработать.
Вот стандартный пример:
Вот стандартный пример:
datetime some_time=D'2004.03.21 12:00';
int shift=iBarShift("",0,some_time);
Print("shift of bar with open time ",TimeToStr(some_time)," is ",shift);
int shift=iBarShift("",0,some_time);
Print("shift of bar with open time ",TimeToStr(some_time)," is ",shift);
Должно сработать.
Вот стандартный пример:
Вот стандартный пример:
datetime some_time=D'2004.03.21 12:00';
int shift=iBarShift("",0,some_time);
Print("shift of bar with open time ",TimeToStr(some_time)," is ",shift);
int shift=iBarShift("",0,some_time);
Print("shift of bar with open time ",TimeToStr(some_time)," is ",shift);
может быть и работает когда известно конкретное datetime some_time=D'2004.03.21 12:00. Меня интересует запиь Print("Time =",TimeToStr(StrToTime("Year().Month().Day() 00:00"))); проверьте что увас получится
А откуда взялся такой способ StrToTime("Year().Month().Day() 00:00") представления даты?
Это же просто символьная строка!
Это же просто символьная строка!
А откуда взялся такой способ StrToTime("Year().Month().Day() 00:00") представления даты?
Это же просто символьная строка!
Это же просто символьная строка!
Результат Print("Time =",StrToTime("Year().Month().Day() 00:00"));
2005.07.26 11:39:29 proverka EURUSD,M1: Time =978307200
т.е Time =2001.01.01 00:00 - нормальное выполнение, если бы время показало точное.
datetime StrToTime( string value)
Функция преобразует строку содержащую время и/или дату в формате "yyyy.mm.dd [hh:mi"] в тип datetime (дата, время).
Что неправильно в моей записи.
Как бы вы нашли номер бара на графике если известны только часы и минуты (00:00), год, месяц, день текущие. Или мне каждый день надо в советнике записывать конкретную полную дату.
Мне надо на минутном графике найти дневной маскимум. Я испоьзую
MAX = High[Highest(NULL,NULL,MODE_HIGH,PER,0)];
где PER= iBarShift(NULL,NULL,StrToTime("Year().Month().Day() 00:00"))
MAX = High[Highest(NULL,NULL,MODE_HIGH,PER,0)];
где PER= iBarShift(NULL,NULL,StrToTime("Year().Month().Day() 00:00"))
В данном случае (текущий день в 00:00) я бы написал так:
datetime dt=CurTime()-(CurTime()%86400);
int shift=iBarShift("",0,dt);
Print("shift of bar with open time ",TimeToStr(dt)," is ",shift);
datetime dt=CurTime()-(CurTime()%86400);
int shift=iBarShift("",0,dt);
Print("shift of bar with open time ",TimeToStr(dt)," is ",shift);
К сожалению, в билде 177 вылез креш на этом коде - уже исправили.
Сегодня выпустим билд 178 с исправлениями.
Сегодня выпустим билд 178 с исправлениями.
В данном случае (текущий день в 00:00) я бы написал так:
datetime dt=CurTime()-(CurTime()%86400);
int shift=iBarShift("",0,dt);
Print("shift of bar with open time ",TimeToStr(dt)," is ",shift);
datetime dt=CurTime()-(CurTime()%86400);
int shift=iBarShift("",0,dt);
Print("shift of bar with open time ",TimeToStr(dt)," is ",shift);
1. Что такое 86400?
2. При запуске такого скрипта выдается критическая ошибка. Это только у меня ?
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
datetime dt=CurTime()-(CurTime()%86400);
int shift=iBarShift("",0,dt);
Print("shift of bar with open time ",TimeToStr(dt)," is ",shift);
//----
return(0);
}
datetime dt=CurTime()-(CurTime()%86400); с этим ясно
int shift=iBarShift("",0,dt); - строка вызывает критическую ошибку!
int shift=iBarShift("",0,dt); - строка вызывает критическую ошибку!
datetime dt=CurTime()-(CurTime()%86400); с этим ясно
int shift=iBarShift("",0,dt); - строка вызывает критическую ошибку!
int shift=iBarShift("",0,dt); - строка вызывает критическую ошибку!
Все разобрался, спасибо большое!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Результат Print("Time =",TimeToStr(StrToTime("Year().Month().Day() 00:00")));
2005.07.26 10:04:33 proverka EURUSD,M1: Time =2001.01.01 00:00