Тестер, iCustom, Print - страница 2

 
Я ведь рассказывал, как можно увидеть неправильность "эффективного пересчёта" Вашего индикатора.
Открыть график, кинуть на него индикатор и подождать несколько новых баров.
Потом открыть такой же график и опять кинуть на него индикатор.
Сравнить результаты на последних барах.
Я об этом и говорил в посте от 13:08 - результаты совпадают. А у Вас разные получаются?
 
Прорисовка стрелками позволила уточнить ситуацию. Разницу в результатах дают два выражения
...
// Рассчитываем смещение дна канала Bb
          CurBb = (preMinBar*Low[pre2MinPos]-pre2MinBar*Low[preMinPos])/(preMinBar-pre2MinBar);
...
// Рассчитываем смещение верха канала Bt
          CurBt = (preMaxBar*High[pre2MaxPos]-pre2MaxBar*High[preMaxPos])/(preMaxBar-pre2MaxBar);

, точнее их числители. Дают они её всегда, то есть описание ситуации в самом первом посте было неточным.
Кроме того, из-за специфики индикатора, проверка с двумя графиками будет корректной только если сажать индикатор на второй график после переключения каналов на первом. То есть правильность "эффективного пересчёта" на данный момент остаётся под вопросом.

 
Кроме того, из-за специфики индикатора, проверка с двумя графиками будет корректной только если сажать индикатор на второй график после переключения каналов на первом.

Да, я это уже понял. Уже час жду на минутках "переключения каналов".
Можно не ждать? Вы уже поняли проблему
 
Да, я это уже понял. Уже час жду на минутках "переключения каналов".
Можно не ждать? Вы уже поняли проблему
Нет, пока не понял. Тоже жду. Периоды выставил 13, 34 :)
 
Да, значения разные. Проблема в индикаторе
 
В 16.18 на альпарёвских данных началась разница
 
Ну вот, проблема кажется решена. На тестере всё ОК, жду переключения каналов на реал-тайме :). По какому-то затмению забыл об основном принципе этого индикатора - привязке к номеру бара. Нужно поменять две строчки, чтобы было так
...
// Рассчитываем смещение верха канала Bt = y3 - A*x3
          CurBt = High[Bars-preMaxBar] - CurA*preMaxBar;  
...
// Рассчитываем смещение дна канала Bb = y3 - A*x3
          CurBb = Low[Bars-preMinBar] - CurA*preMinBar;  


Прблема с паразитной звёздочкой при старте индикатора вместе с терминалом остаётся, но на его работу это вроде не влияет.
Огромное спасибо за стимулирующее общение в этой ветке :).
Не могу не вспомнить об идее специального буфера(не исторического), для вывода параметров из индикатора. Именно сегодня вечером я понял, что в сочетании с окном данных, это был бы почти готовый отладчик для индикаторов :).