datetime TimeBegin = D'08:15';
При чем здесь открытие, если честно, не понял.
int TimeBegin = 8;
будет верным. Далее для открытия можно будет использовать условие:
if(Hour() >= TimeBegin) { // открываемся }Для указания точного времени нужно использовать объявление такого типа:
datetime TimeBegin = "2008.06.03 08:15" ..... if(TimeCurrent() > TimeBegin) { // работаем }Ведь если вы объявили переменную как целочисленную (int), то глупо присваивать ей значение с плавающей запятой. Для задания времени существует специальный тип datetime.
вот понабежали-то... ну до кучи и мой вариант
void start() { datetime TimeBegin; int h=8, m=15; TimeBegin=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+h+":"+m); Comment(TimeToStr(TimeBegin, TIME_MINUTES)); }
вот понабежали-то... ну до кучи и мой вариант
void start() { datetime TimeBegin; int h=8, m=15; TimeBegin=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+h+":"+m); Comment(TimeToStr(TimeBegin, TIME_MINUTES)); }
Спасибо,это наверное, наилучший вариант.
Просто мой советник начинает работу, то есть выставляет отложенные ордера - в 8:15, иногда в 9:46, если это минутки и т.п.
То есть,для каждого случая хотелось бы более гибко изменять точное время начала работы советника.
Теперь буду тестировать, как он срабатывает и срабатывает ли вовремя.
вот понабежали-то... ну до кучи и мой вариант
void start() { datetime TimeBegin; int h=8, m=15; TimeBegin=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+h+":"+m); Comment(TimeToStr(TimeBegin, TIME_MINUTES)); }
Спасибо,это наверное, наилучший вариант.
Просто мой советник начинает работу, то есть выставляет отложенные ордера - в 8:15, иногда в 9:46, если это минутки и т.п.
То есть,для каждого случая хотелось бы более гибко изменять точное время начала работы советника.
Теперь буду тестировать, как он срабатывает и срабатывает ли вовремя.
Игорь поздравляю, еще один твой клевый кирпичик попал в один из экспертов!
ты как Билл Гейтс скоро будешь!
Для указания точного времени нужно использовать объявление такого типа:
datetime TimeBegin = "2008.06.03 08:15" ..... if(TimeCurrent() > TimeBegin) { // работаем }Ведь если вы объявили переменную как целочисленную (int), то глупо присваивать ей значение с плавающей запятой. Для задания времени существует специальный тип datetime.
Игорь, вы не правы.
Во-первых, datetime TimeBegin = "2008.06.03 08:15"; не компилируется из-за несовместимости типов (incompatible types).
А во-вторых, D'' - это указание не на дабл, а на дату/время - смотрим хелп.
Да, верно. Нужно, указать D'2008.06.03 08:15'
Я просто использую такую конструкцию:
string TimeBegin = "2008.06.03 08:15"; ..... if(TimeCurrent() > StrToTime(TimeBegin)) { // работаем }Вот и переписал автоматом не с тем типом...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет!
Извините за глупый вопрос,
искал на сайте инфу, но не нашёл. Подскажите пожалуйста,как следует указывать точное время открытия в эксперте в этой строчке:
int TimeBegin = 8.15;
этот вариант для 5 и 15 минуток. Через точку,запятую или двоеточие?
Спасибо