Как я понимаю, нужно рассчитывать среднее значение "deviation" за период который берется для расчета самого значения "deviation". И после этого, среднее значение подставлять в правую часть неравенства
NormalizeDouble(deviation,Dig)>deviation-i
Но как это отобразить в коде?
Сначало считаешь сумму деви и количество деви, потом узнаешь среднее значение
после цыкла узнаёшь остальное.
Или что тебе нужно? Просьба написана криво.
Сначало считаешь сумму деви и количество деви, потом узнаешь среднее значение
после цыкла узнаёшь остальное.
Или что тебе нужно? Просьба написана криво.
Да именно это и нужно. Только это не получится наверное посчитать в самом неравенстве. Нужно вводить дополнительную переменную, считать ее, а уже после ставить значение в неравенство.
Или можно проще?
Да именно это и нужно. Только это не получится наверное посчитать в самом неравенстве. Нужно вводить дополнительную переменную, считать ее, а уже после ставить значение в неравенство.
Или можно проще?
Тяжко мне дается писание индикаторов
Ошибок компилятор не обнаруживает , но индикатор не работает
deviation=BandsDeviations*MathSqrt(sum/BandsPeriod); UpperBuffer[i]=oldval+deviation; LowerBuffer[i]=oldval-deviation; ///------------------------------------------------------------------- for(i=0;i<=BandsPeriod-1;i++) {Average_deviation=(deviation+deviation-i)/i+1; i++;} ///------------------------------------------------------------------- string Text =DoubleToStr( deviation, Dig); // Текст для отображения if(NormalizeDouble(deviation,Dig)>Average_deviation) // Выбор цвета зависит от динамики Color_Day_Percent = Color_Up; // Цвет для + if(NormalizeDouble(deviation,Dig)<Average_deviation) // Выбор цвета зависит от динамики Color_Day_Percent = Color_Dn; // Цвет для - if(NormalizeDouble(deviation,Dig)==Average_deviation) // Выбор цвета зависит от динамики Color_Day_Percent = Color_0; // Цвет для 0
Т.е. ввел переменную "Average_deviation", но не могу понять как записать правильно цикл.
Для переменной "deviation" есть свой буфер
Знал бы все нюансы не страдал.
Averagedeviation=iMAOnArray(deviationBuffer,0,120,0,MODE_EMA,1);
Так будет правильно?
Берем буфер переменной "deviation", используем все элементы массива на периоде усреднения 120 с помощью экспоненциальной средней начиная расчет с предпоследнего значения?
Знал бы все нюансы не страдал.
Averagedeviation=iMAOnArray(deviationBuffer,0,120,0,MODE_EMA,1);
Так будет правильно?
Берем буфер переменной "deviation", используем все элементы массива на периоде усреднения 120 с помощью экспоненциальной средней начиная расчет с предпоследнего значения?
Да, как-то так.
Тяжко мне дается писание индикаторов
Ошибок компилятор не обнаруживает , но индикатор не работает
Т.е. ввел переменную "Average_deviation", но не могу понять как записать правильно цикл.
Для переменной "deviation" есть свой буфер
Average_deviation+=
А потом поделить на BandsPeriod
evillive элементы массива индикатора считываются от старых к новым, а мне нужно наоборот- брать элементы новые т.е. как в таймсерии.
Нашел функцию ArraySetAsSeries которая переворачивает доступ к массиву, но что-то не получается адекватная цифра.
eevviill а так как вы советуете, полностью вешает терминал, и его невозможно запустить.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вопрос : как прописать, код чтобы значения "deviation" сравнивалось со средним значение за установленный период?
Пока что идет сравнение с предыдущим значением.