вопрс по iMA

 

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

Как рассчитать правильно значение МА с периодм 21 на допустим 299 баре если кол-во в окне 300 баров?

Ведь для рассчета необходимо иметь уже 21 бар.

Или МА будет просчитываться с 279 бара (300 - 21 = 279), и индикаторная линия будет отображаться только с 279 бара?

MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,299)

Если можно, как для умстванно отсталого, подробно и с цифрами.

Заранее благодарен.

 
greencat:

Или МА будет просчитываться с 279 бара (300 - 21 = 279), и индикаторная линия будет отображаться только с 279 бара?

так и есть
 
abolk:
так и есть


правильно ли я понял:

extern int Period_MA_1=11;
extern int Period_MA_2=31;

MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,i);

MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_LWMA,PRICE_TYPICAL,i);

будет просчитываться и отображаться только:

c 289 бара для MA_1_t (300-11=289)

с 69 бара для МА_2_t (300-31=269)

 
greencat:


правильно ли я понял:

extern int Period_MA_1=11;
extern int Period_MA_2=31;

MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,i);

MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_LWMA,PRICE_TYPICAL,i);

будет просчитываться и отображаться только:

c 289 бара для MA_1_t (300-11=289)

с 69 бара для МА_2_t (300-31=269)

Для 0-нулевого бара - iMA(0), для 1-го iMA(1), для 300-го iMA(300) и т.д.
Но баров должно быть больше в несколько раз чем период iMA (в добавок к 300), если речь не идет о SMA,
 
greencat:


правильно ли я понял:

да

для убедительности откройте код штатного MA:

//---- zero initial bars
   if(ExtCountedBars<1)
      for(i=1;i<MA_Period;i++) ExtMapBuffer[Bars-i]=0;
последние бары - по счёту - равные периоду МА - обнулены
 
abolk:

да

для убедительности откройте код штатного MA:

последние бары - по счёту - равные периоду МА - обнулены

Весьма Вам благодарен!
 
chief2000:
Для 0-нулевого бара - iMA(0), для 1-го iMA(1), для 300-го iMA(300) и т.д.
Но баров должно быть больше в несколько раз чем период iMA (в добавок к 300), если речь не идет о SMA,


Благодарю Вас !