код где? отсюда не видно...
В чем вопрос? Узнать что начались новые сутки, или пересчитать все заново?
В любом случае лучше написать индикатр так, чтобы эти выкрутасы не требовались.
Нашёл ошибку в стандартном индикаторе DailyPivotPoints, почему не соединялись линии при смене суток!
for(cnt=begin_bar; cnt>=0; cnt--) { yesterday_close=iClose(NULL,PERIOD_D1,cnt+1); today_open=iOpen(NULL,PERIOD_D1,cnt); yesterday_high=iHigh(NULL,PERIOD_D1,cnt+1); yesterday_low=iLow(NULL,PERIOD_D1,cnt+1); P = (yesterday_high+yesterday_low+yesterday_close+today_open)/4;// switch(ExtFormula) { case 1 : R = P + P - yesterday_low; S = P + P - yesterday_high; break; case 2 : R = P + yesterday_high - yesterday_low; S = P - yesterday_high + yesterday_low; break; case 3 : R = P + P - yesterday_low - yesterday_low + yesterday_high; S = P + P - yesterday_high - yesterday_high + yesterday_low; } if(ExtDraw==true) { first_bar=iBarShift(NULL,0,iTime(NULL,PERIOD_D1,cnt)); //-1; // эти минусы 1 не дают соединиться линиям- if(cnt>0) last_bar=iBarShift(NULL,0,iTime(NULL,PERIOD_D1,cnt-1)); //-1; // уровням, т.к. в 0:00:00 никогда нет тика! else last_bar=0; while(first_bar>=last_bar) { if(first_bar==last_bar && last_bar>0) break; if(ExtFormula==0) ExtMapBuffer1[first_bar]=P; else { ExtMapBuffer1[first_bar]=R; ExtMapBuffer2[first_bar]=S; } first_bar--; } } } P = NormalizeDouble((yesterday_high + yesterday_low + yesterday_close)/3,Digits);
Учимся на своих ошибках и на чужих!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Благодарю откликнувшихся! Модераторов прошу удалить этот неразрешимый вопрос!
Надеюсь, что сегодня в полночь всё получится! Как я не мог догадаться сразу! Действительно, "мысля приходит опосля"! ;))