for(int i = limit; i >= 0 && !IsStopped(); i--){ double sum = 0.0; for(int k = 0; k < Signal; k++){ sum += Buffer[i + k]; } SignalBuffer[i] = sum/Signal; }
[i - k]
Так у вас получается среднее за будущие значения.
Если i < k , то [ i - k ] < 0 там значений нет.
пробовал, линия совсем пропадает
Посмотрите, что там в логах, вероятно есть выход за пределы массива. Надо правильно вычислить начала обсчета.
В таком варианте средняя линия не отображается на графике и индикатор перестает реагировать на поступление новых тиков(((
Посмотрите, что там в логах, вероятно есть выход за пределы массива. Надо правильно вычислить начала обсчета.
" Надо правильно вычислить начала обсчета." - это я понимаю)))
for(int i = limit; i >= 0 && !IsStopped(); i--){ double sum = 0.0; for(int k = 0; k < Signal; k++){ sum += Buffer[i - k]; } SignalBuffer[i - k] = sum/Signal; }
Вот так работает!!!! Одному сложновато искать ошибки, а на форуме в обсуждении сразу все получается))
Правда теперь нет реакции на поступление новых тиков ((((((((((
Вот так работает!!!! Одному сложновато искать ошибки, а на форуме в обсуждении сразу все получается))
Правда теперь нет реакции на поступление новых тиков ((((((((((
попробуйте так
for(int i = limit; i >= 0 && !IsStopped(); i--){ double sum = 0.0; for(int k = 0; k <= Signal; k++){ sum += Buffer[i - k]; } SignalBuffer[i - k] = sum/((double)(Signal+1)); }
попробуйте так
for(int i = limit; i >= 0 && !IsStopped(); i--){ double sum = 0.0; for(int k = 0; k <= Signal; k++){ sum += Buffer[i - k]; } SignalBuffer[i - k] = sum/((double)(Signal+1)); }
Был у него период средней = Signal он порекомендовал добавить единицу. ))

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Помогите пожалуйста!
Написал индикатор с одним буфером, хочу чтобы на графике отображалась средняя за определенный период.
Добавляю еще один буфер и считаю его из основного вот так
в таком варианте получается, что на графике не хватает участка равного периоду для средней линии(((
Что делать? Как поправить?