Reshetov:
iTime(Symbol(), Period_D1);
ХЗ. Надо попробовать.iTime(Symbol(), Period_D1);
Использую для подсчета виртуального начисленного свопа, т.е. на входе две даты, требуется посчитать количества ночей между ними.
А так придется еще shift расчитывать, боюсь ещё дольше получится.
lasso:
на входе две даты, требуется посчитать количества ночей между ними
на входе две даты, требуется посчитать количества ночей между ними
вроде так должно работать:
#property show_inputs extern datetime D1 = D'2011.12.06 00:00'; extern datetime D2 = D'2011.12.08 00:00'; int start(){ int date; date = MathFloor((D2 - D1)/86400); // ( 1440*60 ) Print("date = ",date); return(0); }
Должно. Спасибо.
Только без перебора по дням не получится, ведь для расчета свопов надо фильтровать суб. и вск., и учитывать четверги.
.......... ...
С темы съехали...
Хотя на этой основе можно сделать упрощенную ф-цию, погрешность по расчету свопа у неё будет, думаю, не большой.
Только без перебора по дням не получится, ведь для расчета свопов надо фильтровать суб. и вск., и учитывать четверги.
.......... ...
С темы съехали...
Хотя на этой основе можно сделать упрощенную ф-цию, погрешность по расчету свопа у неё будет, думаю, не большой.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
При 7 986 200 итерациях, позаимствованная у И. Кима конструкция
dt1 = StrToTime(TimeToStr(dt1+86400, TIME_DATE)); // занимает ~12 сек Весь советник ~ 20.5 секунд (несколько тысяч строк)
Придумал свою
dt1 = dt1 + 86400 - TimeHour(dt1)*60*60 - TimeMinute(dt1)*60 - TimeSeconds(dt1); // занимает ~ 2 сек Весь советник ~ 10.3 секунд (несколько тысяч строк)
....................................Я в немного шоке.
Можно подумать об оптимизации количества самих итераций,
но все таки,
есть ли способ более быстрый?