Вычисление индикатора индикатора

 

Всем доброго времени суток.

Хочу в программе посчитать скользящее среднее от балансового объема

iMA( ???, 0, 13, 8, MODE_SMMA, PRICE_MEDIAN, 0)

Вместо ??? должно стоять "символьное имя инструмента"

Что мне поставить в моем случае?

 

Можно узначть что имеется ввиду под балансовым обьемом?

Если это история баланса, то наверное никак, нужно самому создавать массив со значениями обьема, и уже по ним самому строить скользящую среднюю.

 

Балансовый объем - встроенный индикатор On Balance Volume.

Неужели не существует прогрессивного метода получения скользящего среднего от индикатора в ходе выполнения программы?

Ведь на график, к примеру, скользящее среднее индикатора нанести можно.

 
ildyrin >>:

Балансовый объем - встроенный индикатор On Balance Volume.

Неужели не существует прогрессивного метода получения скользящего среднего от индикатора в ходе выполнения программы?

Ведь на график, к примеру, скользящее среднее индикатора нанести можно.

Вообще такая возможность есть, но помоему не в метатрейдере, ну вообщето в принципе это сделать можно и в метатрейдере.

 

Че тут думать, трясти надо!

Берете код индикатора MACD, первому буферу MacdBuffer[i] присваиваете значение On Balance Volume, выносите его параметры в extern и больше ничего не трогаете (скользящая средняя с периодом SignalSMA там уже прописана во втором буфере).

Заодно и потренируетесь. :))

 
ildyrin >>:

Всем доброго времени суток.

Хочу в программе посчитать скользящее среднее от балансового объема

iMA( ???, 0, 13, 8, MODE_SMMA, PRICE_MEDIAN, 0)

Вместо ??? должно стоять "символьное имя инструмента"

Что мне поставить в моем случае?

double iMAOnArray( double array[], int total, int period, int ma_shift, int ma_method, int shift)
Расчет скользящего среднего на данных, хранящихся в массиве. В отличие от iMA(...) функция iMAOnArray не выбирает данные на основе названия инструмента, таймфрейма и используемой цены - ценовые данные должны быть подготовлены заранее. Расчет производится слева направо. Для организации доступа к элементам массива, как к таймсерии (то есть справа налево), необходимо использовать функцию ArraySetAsSeries.
 
Спасибо за советы)
 
satop писал(а) >>

И как получить значение кстомнго индикатора в массив? Для того чтобы потом прогнать по нему машку?

Автору - берете код машки он есть и делаете из него машку-индикатор который будет брать значения из кастом-индикатора а не из бара...

 
LProgrammer >>:

И как получить значение кстомнго индикатора в массив? Для того чтобы потом прогнать по нему машку?

Автору - берете код машки он есть и делаете из него машку-индикатор который будет брать значения из кастом-индикатора а не из бара...

int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//---- 

   for(int i=0; i<limit; i++)
      Buffer[i]=iCustom(..............i);
//---- 
   for(i=0; i<limit; i++)
    {  
      MABuffer[i]=iMAOnArray(Buffer..............i);
     
    } 
//----
   return(0);
  }
 
Ишшо немного и мы MACD здесь напишем. :))
 
granit77 >>:
Ишшо немного и мы MACD здесь напишем. :))

А что давайте, что зря чтоли собрались )

Причина обращения: