Добрый день!
Можно ли в советнике реализовать выполнение команд по времени?
Например ежедневно в 24:00
Дмитрий?
Можно
Можно
Обсудим идею плиз?
Достаточно воспользоваться поиском
А что Вы хотели обсудить?
А что Вы хотели обсудить?
Две ночи не сплю "пока не родил" . ситуация такая сгенерирован сигнал - если до 00:00 часов он не исполниться (профит) и не отстопиться (лось) -он должен быть удален именно в это время тк на сл день будут генериться новые сигналы . Можно конечно работать в полуавтомате но хотелось бы робота на ночь .
По времени все уже зациклил но дальше никак
d1=StrToTime("17.06.2010 23:59"); // время закрытия 17.06 в сек
d2=StrToTime("18.06.2010 00:00"); // время открытия 18.06 в сек
int d4; // последнее время сервера в секундах
int R1; // разница в днях
int R2; // разница в днях
d4 = TimeCurrent(); // посл время сервера
R1 = (d4-d1)/86400;
R2 = (d4-d2)/86400;
d1 = d1 + (86400 * R1)- (86400 * 0); // -(86400 * 0 -ДЛЯ РАСЧЕТА ИСТОРИИ (ставить колво дней назад до требуемой даты вместо 0)
d2 = d2 + (86400 * R2)- (86400 * 0); // -(86400 * 0 -ДЛЯ РАСЧЕТА ИСТОРИИ (ставить колво дней назад до требуемой даты вместо 0)
double NZ1, NZ2; // Номер бара
NZ1=iBarShift("EURUSD",0,d1); //Определяем номер бара по времени
ZAKR1=iClose("EURUSD",0,NZ1);
NZ2=iBarShift("EURUSD",0,d2); //Определяем номер бара по времени
OP=iOpen("EURUSD",0,NZ2);
Можно сделать, что в 23:55 все сделки будут закрыты, независимо от того прибыльны они или убыточны.
со сделками проблем нет есть проблема с правильной работой по генерации сигналов которые не удаляются
Видимо буду по тупому от опена отнимать константу и когда результат измениться наступит час икс))
со сделками проблем нет есть проблема с правильной работой по генерации сигналов которые не удаляются
Видимо буду по тупому от опена отнимать константу и когда результат измениться наступит час икс))
Сделал небольшую функцию для контроля
extern int MinutePause=5; bool Rollover(){ int d2=TimeCurrent(); int d3=iTime(NULL,PERIOD_D1,0)+24*60*60; int d1=d3-MinutePause*60; // Print ("d1=",TimeToStr(d1, TIME_DATE|TIME_SECONDS)); // Print ("d2=",TimeToStr(d2, TIME_DATE|TIME_SECONDS)); // Print ("d3=",TimeToStr(d3, TIME_DATE|TIME_SECONDS)); if ((d3-d2)*(d2-d1)>0) return(true); return(false); }
Немного упростим функцию
extern int MinutePause=5; bool Rollover(){ int d2=TimeCurrent(); int d1=iTime(NULL,PERIOD_D1,0)+24*60*60-MinutePause*60; if (d2>d1) return(true); return(false); }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
Можно ли в советнике реализовать выполнение команд по времени?
Например ежедневно в 24:00
Дмитрий?