Aver писал (а):
Потыкав так и сяк, пришел к выводу , что не работает Return(0). В справке
написано - Оператор return прекращает выполнение текущей функции
и возвращает управление вызвавшей программе. То есть он должен
был прекращать выполнение функции старт. Что он делает на самом
деле я еще не понял. Поясните, кто знает.
Мой коментарий:
//+------------------------------------------------------------------+
int start()
{
int Tim1=TimeMinute(CurTime());// Текущая минута
if( (Tim1%15)!=0) return(0); // Если минута не кратна 15, то выходим
Print(Tim1); // Если кратна, то печатаем её значение в журнал
// Печатается на каждом тике, т. е. будет напечатана столько раз,
// сколько было тиков в данной минуте
//----
return(0);
}
//+------------------------------------------------------------------+
Сейчас суббота и проверить на реальных котировках не могу, но
вот результат работы в тестере
(моделирование на М5 с учётом M1), вроде всё в соответствии с заложеной
логикой, и функция return нормально работает:
В том то и дело, что у меня выдается, как я потом еще проверл, раз
на раз, то нормальный результат, такой как вышеприведенный,
то все время подряд, от 1 до 59.
Потыкав так и сяк, пришел к выводу , что не работает Return(0). В справке написано - Оператор return прекращает выполнение текущей функции и возвращает управление вызвавшей программе. То есть он должен был прекращать выполнение функции старт. Что он делает на самом деле я еще не понял. Поясните, кто знает.
//+------------------------------------------------------------------+
int start()
{
int Tim1=TimeMinute(CurTime());// Текущая минута
if( (Tim1%15)!=0) return(0); // Если минута не кратна 15, то выходим
Print(Tim1); // Если кратна, то печатаем её значение в журнал
// Печатается на каждом тике, т. е. будет напечатана столько раз,
// сколько было тиков в данной минуте
//----
return(0);
}
//+------------------------------------------------------------------+
Сейчас суббота и проверить на реальных котировках не могу, но вот результат работы в тестере
(моделирование на М5 с учётом M1), вроде всё в соответствии с заложеной логикой, и функция return нормально работает:
2006.07.29 13:32:56 2006.07.28 22:45 Time_2[1] EURUSD,M5: 45
2006.07.29 13:32:56 2006.07.28 22:45 Time_2[1] EURUSD,M5: 45
2006.07.29 13:32:56 2006.07.28 22:45 Time_2[1] EURUSD,M5: 45
2006.07.29 13:32:56 2006.07.28 22:45 Time_2[1] EURUSD,M5: 45
2006.07.29 13:32:56 2006.07.28 22:45 Time_2[1] EURUSD,M5: 45
2006.07.29 13:32:56 2006.07.28 22:45 Time_2[1] EURUSD,M5: 45
2006.07.29 13:32:56 2006.07.28 22:45 Time_2[1] EURUSD,M5: 45
2006.07.29 13:32:56 2006.07.28 22:30 Time_2[1] EURUSD,M5: 30
2006.07.29 13:32:56 2006.07.28 22:30 Time_2[1] EURUSD,M5: 30
2006.07.29 13:32:56 2006.07.28 22:30 Time_2[1] EURUSD,M5: 30
2006.07.29 13:32:56 2006.07.28 22:15 Time_2[1] EURUSD,M5: 15
2006.07.29 13:32:56 2006.07.28 22:00 Time_2[1] EURUSD,M5: 0
2006.07.29 13:32:56 2006.07.28 22:00 Time_2[1] EURUSD,M5: 0
2006.07.29 13:32:56 2006.07.28 22:00 Time_2[1] EURUSD,M5: 0
2006.07.29 13:32:56 2006.07.28 22:00 Time_2[1] EURUSD,M5: 0
2006.07.29 13:32:56 2006.07.28 21:45 Time_2[1] EURUSD,M5: 45
2006.07.29 13:32:56 2006.07.28 21:45 Time_2[1] EURUSD,M5: 45
2006.07.29 13:32:56 2006.07.28 21:45 Time_2[1] EURUSD,M5: 45