Yousufkhodja Sultonov: Благодарю! Из приведеннго графика видно, что индикатор выполняет свою функцию. Или не так?
Индикатор считает то, что ему задано в формуле. А вот интерпретация результатов и создание ТС на его основе - намного более сложная задача. Кстати, прошу проверить верно ли считаю GMA?
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[]) { int i,limit; //--- first calculation or number of bars was changed double powr=1/(double)InpMAPeriod; if(prev_calculated==0)// first calculation { limit=InpMAPeriod+begin; //--- set empty value for first limit bars for(i=0;i<limit-1;i++) gma[i]=1.0; //--- calculate first visible value double firstValue=1;
Yousufkhodja Sultonov: Потому, что, не хотите видеть. Я вижу, что индикатор однозначно предсказал снижение еще раньше (на стадии подъема), чем цена фактически ушла вниз.
Разве?
Даже еще раз посмотрел.
Зы Производная от МАшки дала бы тоже самое. Даже еще предсказывала и направление.)
elibrarius: Индикатор считает то, что ему задано в формуле. А вот интерпретация результатов - намного более сложная задача. Кстати, прошу проверить верно ли считаю GMA?
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[]) { int i,limit; //--- first calculation or number of bars was changed double powr=1/(double)InpMAPeriod; if(prev_calculated==0)// first calculation { limit=InpMAPeriod+begin; //--- set empty value for first limit bars for(i=0;i<limit-1;i++) gma[i]=1.0; //--- calculate first visible value double firstValue=1;
К сожалению, я не очень разбираюсь в коде, пусть, кто знающий проверит, сравнивая с приведенными формулами или введите цены из приведенного теста в исходной таблице. Чувствую, по порядку чисел, что, считаете верно.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Прилагаю запрошенный индикатор.
За основу взят Custom Moving Average из папки с примерами индикаторов.
Функция расчета SMA без изменений.
GMA считается в отдельной функции.
В конце высчитываем их разницу.
Прилагаю запрошенный индикатор.
За основу взят Custom Moving Average из папки с примерами индикаторов.
Функция расчета SMA без изменений.
GMA считается в отдельной функции.
В конце высчитываем их разницу.
Прилагаю запрошенный индикатор.
За основу взят Custom Moving Average из папки с примерами индикаторов.
Функция расчета SMA без изменений.
GMA считается в отдельной функции.
В конце высчитываем их разницу.
Благодарю! Из приведенного графика видно, что индикатор выполняет свою функцию. Или не так? Еще много надо работать над ним, чтобы лучше его понимать.
Вопрос: какой период использован?
Ниче не вижу, кроме того, что можно увидеть и без индикаторов.
Период М1. Написано в левом углу.)
Ниче не вижу, кроме того, что можно увидеть и без индикаторов.
Благодарю! Из приведеннго графика видно, что индикатор выполняет свою функцию. Или не так?
Кстати, прошу проверить верно ли считаю GMA?
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[])
{
int i,limit;
//--- first calculation or number of bars was changed
double powr=1/(double)InpMAPeriod;
if(prev_calculated==0)// first calculation
{
limit=InpMAPeriod+begin;
//--- set empty value for first limit bars
for(i=0;i<limit-1;i++) gma[i]=1.0;
//--- calculate first visible value
double firstValue=1;
for(i=begin;i<limit;i++)
firstValue*=price[i];
firstValue=MathPow(firstValue, powr);
gma[limit-1]=firstValue;
}
else limit=prev_calculated-1;
//--- main loop
for(i=limit;i<rates_total && !IsStopped();i++){
gma[i]=gma[i-1] * (MathPow(price[i], powr) / MathPow(price[i-InpMAPeriod], powr));
}
//---
}
Ниче не вижу, кроме того, что можно увидеть и без индикаторов.
Период М1. Написано в левом углу.)
Потому, что, не хотите видеть. Я вижу, что индикатор однозначно предсказал снижение еще раньше (на стадии подъема), чем цена фактически ушла вниз.
Разве?
Даже еще раз посмотрел.
Зы Производная от МАшки дала бы тоже самое. Даже еще предсказывала и направление.)
Индикатор считает то, что ему задано в формуле. А вот интерпретация результатов - намного более сложная задача.
Кстати, прошу проверить верно ли считаю GMA?
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[])
{
int i,limit;
//--- first calculation or number of bars was changed
double powr=1/(double)InpMAPeriod;
if(prev_calculated==0)// first calculation
{
limit=InpMAPeriod+begin;
//--- set empty value for first limit bars
for(i=0;i<limit-1;i++) gma[i]=1.0;
//--- calculate first visible value
double firstValue=1;
for(i=begin;i<limit;i++)
firstValue*=price[i];
firstValue=MathPow(firstValue, powr);
gma[limit-1]=firstValue;
}
else limit=prev_calculated-1;
//--- main loop
for(i=limit;i<rates_total && !IsStopped();i++){
gma[i]=gma[i-1] * (MathPow(price[i], powr) / MathPow(price[i-InpMAPeriod], powr));
}
//---
}