Hello Keith,

This is precisely what I have done to modify the original code.
TimeFrameExpand fills up the weekly gap in daily data.
However, can you explain why average calculated from daily data 
(green plot line in my AFL code) is different to the average 
calculated using TimeFrameSet (red plot line)?

Regards
Richard

--- In [email protected], Keith McCombs <kmcco...@...> wrote:
>
> Here you go:
> 
> |TimeFrameSet(*inWeekly*);//switch to weekly time frame
> 
> w_rsi=RSI(2);//weekly rsi(2)
> 
> TimeFrameRestore(); // restore time frame to original(daily)
> 
> d_rsi=RSI(2);//daily rsi(2)
> 
> wex= TimeFrameExpand(w_rsi,*inWeekly*);
> dex= TimeFrameExpand(d_rsi,*inDaily*);
> 
> a= (wex + dex)/2;
> 
> SetChartOptions(0,0,chartGrid10|chartGrid90);
> Plot(a,"daily and weekly average",*colorYellow*);
> 
> *Filter* = 1;  // set filter to select which bars to display
> AddColumn(wex, "wex"); // the more the merrier
> AddColumn(dex, "dex");
> AddColumn(a, "wdavg");
> |
> 
> richpach2 wrote:
> >
> > Hello,
> >
> > I think, I know what you are doing wrong but, I don't understand 
this
> > behaviour in AmiBroker. Perhaps Howard can comment on this post. I
> > was reading about filters in Howard's book and I was wondering 
what
> > is the difference between calculating a value of weekly indicator
> > using daily data or doing it with TimeFrameSet controls?
> > Clearly, one can calculate m, w and d average of RSI by just using
> > parameters w = d * 5 and m = w * 4
> >
> > (RSI(50) + RSI(10) +RSI(2))/3
> >
> > In the script below your original avg does not change with the 
scroll
> > function when TImeFrameExpand is added to calculate the average.
> >
> > However, can someone explain why average calculated from daily 
data
> > (green plot line) is different to the average calculated using
> > TimeFrameSet (red plot line)?
> >
> > TimeFrameSet(inMonthly);//switch to monthly time frame
> > m_rsi=RSI(2);//monthly rsi(2)
> > TimeFrameRestore(); // restore time frame to original(daily)
> >
> > TimeFrameSet(inWeekly);//switch to weekly time frame
> > w_rsi=RSI(2);//weekly rsi(2)
> > TimeFrameRestore(); // restore time frame to original(daily)
> >
> > MonthlyRSI = TimeFrameExpand( m_rsi, inMonthly );
> > WeeklyRSI = TimeFrameExpand( w_rsi, inWeekly );
> >
> > AvgRSI = (MonthlyRSI + WeeklyRSI + RSI(2))/3 ; //monthly, weekly 
and
> > daily avg with TimeFrameSet control
> >
> > Plot((m_rsi + w_rsi +RSI(2))/3,"avg. m-w-d rsi",colorWhite);
> > Plot(AvgRSI, "ExpRSIavg", colorRed);
> > Plot((RSI(50) + RSI(10) +RSI(2))/3, "RSIavg", 
colorGreen); //monthly,
> > weekly and daily avg with daily
> >
> > Regards
> > Richard
> >
> > --- In [email protected] <mailto:amibroker%
40yahoogroups.com>, 
> > "triangle702000" <jkra70@> wrote:
> > >
> > > I've attempted to put together an indicator to display the 
average
> > of
> > > the monthly,weekly,and daily RSI. At first glance it seemed to 
come
> > > out ok,but when I used the bar at the bottom right of the 
screen to
> > > scroll back in time,I noticed that the new indicator changes 
when
> > I'm
> > > scrolling while with a regular RSI,or any other indicator for 
that
> > > matter,the values stay the same for any particular day even 
though
> > > they are scrolling by on the screen.( I'm not sure if I'm
> > explaining
> > > this very clearly.)
> > >
> > > For instance, say the value is 16.33 for aug. 1 2008. If I use 
the
> > > bar to scroll back , the indicator line changes as it's 
scrolling
> > and
> > > if I click on aug 1 again the value will be different say 7.29.
> > Also
> > > I calculated the average of the last day shown manually and it 
does
> > > not match the value shown by the indicator.It's my first attempt
> > > using "timeframe", so I'm still trying to get the hang of 
it.Thanks
> > > for any help you can give. Here's the code I wrote...
> > >
> > > SECTION_BEGIN("avg of m,w,d rsi");
> > > TimeFrameSet(inMonthly);//switch to monthly time frame
> > >
> > > m_rsi=RSI(2);//monthly rsi(2)
> > >
> > > TimeFrameRestore(); // restore time frame to original(daily)
> > >
> > >
> > >
> > >
> > > TimeFrameSet(inWeekly);//switch to weekly time frame
> > >
> > > w_rsi=RSI(2);//weekly rsi(2)
> > >
> > > TimeFrameRestore(); // restore time frame to original(daily)
> > >
> > >
> > > Plot((m_rsi + w_rsi +RSI(2))/3,"avg. m-w-d rsi",colorWhite);
> > > _SECTION_END();
> > >
> >
> >
>


Reply via email to