
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прилагаю запрошенный индикатор.
За основу взят 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));
}
//---
}