If "quick and dirty" is good enough for you, you can just assume
252 trading days per trading year and then use Ref() with multiples of that
number.
e.g.
years = Param("Years", 3, 1, 15, 1);
avgClose = 0;
// Create dynamic variables for each year
(excluding current)
for
(y = 1; y
<= years; y++) {
pastClose = Ref(Close, -252 * y);
VarSet("Year" + y, pastClose);
avgClose += pastClose;
}
avgClose /= years;
// Plot current year with thick emphasis
Plot(Close,
"Close", colorDarkRed, styleThick);
// Plot p! revious years with incrementing
colors
for
(y = 1; y
<= years; y++) {
Plot(VarGet("Year" + y), "" + y + " Years
Ago", colorDarkRed + y);
}
// Plot average as solid area
Plot(avgClose,
"Avg.", colorDarkRed + y, styleArea);
Note that the example assumes that the number of backyears (i.e. years
variable) plus the base color (e.g. colorDarkRed) will not exceed the maximum
color index found here: http://www.amibroker.com/guide/a_language.html
Mike
--- In amibroker@xxxxxxxxxxxxxxx, "Rick_Miller_98"
<rick300m@xxx> wrote:
>
> I removed the nested loops line and defined MonthPer=1 and managed to get
a plot.
>
> However this is looking at a month to month ROC with only 12 datapoints. A
seasonality chart needs to be daily, weekly at most.
>
> Ideally the chart would have each year's performnce plotted in the
background and the composite chart of all years plotted in the foreground on a
daily basis.
>
> This seams like quite complicated coding. I would be willing to contribute
towards a properly functioning chart Afl if anyone has it or is willing to code
it.
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Richard" richpach2@ wrote:
> >
> > Thank you for posting this code.
> > Whitout <Nested_Includes.AFL> some values are not defined.
> > can you please advise what is the default value for MonthPer and what
is the ListMonths represent?
> >
> > Regards
> > Richard
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "vlanschot"
<vlanschot@> wrote:
> > >
> > > Below is some old code of mine. May get you going though.
> > >
> > > PS
> > >
> > > #include_once <Nested_Includes.AFL>
> > >
> > > Maand = Month();
> > >
> > > JanRet = ValueWhen(Maand == 1 AND Ref(Maand,1)==2,ROC(C,MonthPer));
> > > FebRet = ValueWhen(Maand == 2 AND Ref(Maand,1)==3,ROC(C,MonthPer));
> > > MarRet = ValueWhen(Maand == 3 AND Ref(Maand,1)==4,ROC(C,MonthPer));
> > > AprRet = ValueWhen(Maand == 4 AND Ref(Maand,1)==5,ROC(C,MonthPer));
> > > MayRet = ValueWhen(Maand == 5 AND Ref(Maand,1)==6,ROC(C,MonthPer));
> > > JunRet = ValueWhen! (Maand = = 6 AND Ref(Maand,1)==7,ROC(C,MonthPer));
> > > JulRet = ValueWhen(Maand == 7 AND Ref(Maand,1)==8,ROC(C,MonthPer));
> > > AugRet = ValueWhen(Maand == 8 AND Ref(Maand,1)==9,ROC(C,MonthPer));
> > > SepRet = ValueWhen(Maand == 9 AND Ref(Maand,1)==10,ROC(C,MonthPer));
> > > OctRet = ValueWhen(Maand == 10 AND Ref(Maand,1)==11,ROC(C,MonthPer));
> > > NovRet = ValueWhen(Maand == 11 AND Ref(Maand,1)==12,ROC(C,MonthPer));
> > > DecRet = ValueWhen(Maand == 12 AND Ref(Maand,1)==1,ROC(C,MonthPer));
> > >
> > >
> > > SeasRet =
> > > IIf(Maand == 1, LastValue(Cum(JanRet)),
> > > IIf(Maand == 2, LastValue(Cum(FebRet)),
> > > IIf(Maand == 3, LastValue(Cum(MarRet)),
> > > IIf(Maand == 4, LastValue(Cum(AprRet)),
> > > IIf(Maand == 5, LastValue(Cum(MayRet)),
> > > IIf(Maand == 6, LastValue(Cum(JunRet)),
> > > IIf(Maand == 7, LastValue(Cum(JulRet)),
> > > IIf(Maand == 8, LastValue(Cum(AugRet)),
> > > IIf(Maand == 9, LastValue(Cum(SepRet)),
> > > IIf(Maand == 10,LastValue(Cum(OctRet)),
> > > IIf(Maand == 11,LastValue(Cum(NovRet)),
> > > IIf(Maand == 12,LastValue(Cum(DecRet)),0))))))))))));
> > >
> > > SeasRet = SeasRet/(BarCount-1);
> > >
> > > KleurHist = IIf(SeasRet<0, colorRed,IIf(SeasRet>0,colorGreen,colorLightGrey));
> > >
> > > Plot(SeasRet,FullName()+" Seasonal Return for
"+StrExtract(ListMonths,SelectedValue(Month()-1)),KleurHist,2+4);
> > > //Plot(OctRet,"ret",1,1);
> > > Title = "{{DATE}} -- {{INTERVAL}}! \n{{VALU ES}} ";
> > >
> > > --- In amibroker@xxxxxxxxxxxxxxx, Rick Osborn <ricko@>
wrote:
> > > >
> > > > I would be interested in that too
> > > >
> > > > Best Regards
> > > > Rick Osborn
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: Rick_Miller_98 <rick300m@>
> > > > To: amibroker@xxxxxxxxxxxxxxx
> > > > Sent: Mon, December 14, 2009 9:53:23 PM
> > > > Subject: [amibroker] Seasonality Plot
> > > >
> > > >
> > > > I am looking for some code to overlay multiple years on the
same Jan-Dec axis and to create a composite plot of all of those years to
identify seasonality trends.
> > > >
> > > > Please E-Mail me if you have it. I am willing to contribute
to the cause.
> > > >
> > > > Thanks!
> > > >
> > >
> >
>