Param() calls MUST BE on global level (called unconditionally).
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: Keith McCombs
To: [email protected]
Sent: Tuesday, October 13, 2009 6:19 PM
Subject: Re: [amibroker] Re: HOW TO PLOT PRICE, MACD, STOCHASTIC ON ONE CHART?
A little more information, after some experimentation. As stated below, "if
Param() statements are outside and before the plot() statements that they will
effect the three charts equally".
HOWEVER, though the same parameters are settable in all panes, any setting by
right clicking in one pane is not reflected in the other panes. So if you want
all panes to have identical settings, after using right click, you must set
them individually. This appears to be by design, much like settings in AA are
independent of those in charts.
I have not experimented with placing Param() inside the
"if(GetChartID()==chartID + n){ }" statement yet.
Hope this helps.
-- Keith
Keith McCombs wrote:
Bistrader --
I rarely use Param() --
However, I believe that if the Param() statements are outside and before
the plot() statements that they will effect the three charts equally. But if
this isn't so, you might explicitly try declaring the arrays that you are
setting equal to Param() as Global. Again, I am not sure. You will have to
try it.
I also believe that, whatever Param() statements you put inside the
if(GetChartID()==chartID + 1){ }, will effect that pane only.
-- Keith
bistrader wrote:
Got it and thanks. I will do it now. I am hoping that I can right click
on first chart, change parameters and see all 3 charts change as I move
parameter bars around.
--- In [email protected], Keith McCombs <kmcco...@...> wrote:
>
> Bistrader --
> Yes you insert link 3 times, once for each chart. You want to do them
> consecutively, before doing any other charts for other strategies,
> because they are numbered consecutively as they are entered.
>
> Oops, for the third chart it should be:
> if(GetChartID()==chartID + 2){
> instead of:
> if(GetChartID()==chartID + 1){
> That's what I get for using cut and paste.
>
> BTW, I embedded an image in my first post. It is not displayed, if you
> view the posts on the Yahoo groups web site. However, if you view posts
> in your own email, it is displayed.
> -- Keith
>
> bistrader wrote:
> >
> >
> > I will give it a go. Do I insert link the same afl 3 times? Once to
> > get xxxx and display price, a second time for Macd and finally for
> > stochastic?
> >
> > --- In [email protected]
<mailto:amibroker%40yahoogroups.com>,
> > Keith McCombs <kmccombs@> wrote:
> > >
> > > bistrader --
> > > Looks like you might be trying to take to large a bite out of that
> > > sandwich all at once.
> > >
> > > Can you do the following to your satisfaction?
> > > 1. Plot the price chart with the EMA. Leave the shapes for later.
> > > 2. Plot the MACD histogram on the same chart. Again, shapes for
later.
> > > 3. Plot the Stochastic on the same chart. Again, shapes for later.
> > >
> > > I gave up trying to do the above long ago. Instead, I have three
> > > separate charts, displayed horizontally. I use one .afl, with the
> > > following construct:
> > >
> > > ////---- code -----/////
> > > chartID = xxxx; // get xxxx using 'insert' indicator, not 'Apply'
> > > indicator.
> > > // do as many inserts has you want charts, in your case 3.
> > > if(GetChartID()==chartID){
> > > _SECTION_BEGIN("Price");
> > > ; // plot price and emas here with shapes if desired
> > > _SECTION_END();
> > > }
> > > if(GetChartID()==chartID + 1){
> > > _SECTION_BEGIN("MACD");
> > > ; // plot MACD here with shapes if desired
> > > _SECTION_END();
> > > }
> > > if(GetChartID()==chartID + 1){
> > > _SECTION_BEGIN("Stoch");
> > > ; // plot Stoch here with shapes if desired
> > > _SECTION_END();
> > > }
> > > ////---- end code -----/////
> > >
> > > Once you've have that working you can move the size and reorder the
> > > charts by using on screen manual manipulation. Scale, display dates,
> > > etc. independently.
> > >
> > >
> > >
> > > bistrader wrote:
> > > >
> > > >
> > > > I am having problems with Plot statements in one afl that I want
to
> > > > plot Price (with EMAs) at the top, Macd histogram in the middle
and
> > > > stochastic at the bottom. Each of the 3 has PlotShapes as well.
> > > >
> > > > Here is what I have.
> > > > 1. I use the following for price with EMAs and with plotshape
arrows
> > > > at top. This works fine:
> > > > Plot(Close, "Close",colorBlack,styleThick);
> > > > Plot(ema, "EMA",colorRed,styleThick);
> > > > OffsetTradeArrow = -25;
> > > > PlotShapes(ema_buy*shapeUpArrow, colorGreen, 0, Fund,
> > OffsetTradeArrow);
> > > > PlotShapes(ema_sell*shapeDownArrow, colorRed, 0, Fund,
> > OffsetTradeArrow);
> > > >
> > > > 2. Then, I move on to Macd histogram where I am having problems
with
> > > > Min and Max values to start with and then with how to overlay its
> > > > PlotShapes:
> > > >
> >
Plot(MACD_Histo,"MACD_Histo",colorBlack,styleHistogram|styleOwnScale,min?,max?);
> > > > OffsetTradeArrow = -25;
> > > > PlotShapes(macd_buy*shapeUpArrow, colorGreen, 0, MACD_Histo,
> > > > OffsetTradeArrow);
> > > > PlotShapes(macd_sell*shapeDownArrow, colorRed, 0, MACD_Histo,
> > > > OffsetTradeArrow);
> > > >
> > > > I play around (a lot) using an rsi example posted here but not
making
> > > > any progress. I can get Macd_Histo times 100 (Macd_Histo*100) to
plot
> > > > with min at -100 and max at 100/20*100 or 500, but have no idea
why I
> > > > had to use -100 for min value. The 100/20*100 is from the rsi
example
> > > > posted here. And, I can not figure out how to get PlotShapes for
macd
> > > > to be over this Macd_Hist plot.
> > > >
> > > > 3. Then, I move onto Stochastic and can only get this to plot
over
> > the
> > > > Macd_histo and not below it. So, can not figure out how to do min
> > > > value, max value and then plotshapes over this.
> > > > Plot(StochDSlow," Slow
> > %D",colorRed,styleThick|styleOwnScale,min?,max?);
> > > >
> > > > OffsetTradeArrow = -25;
> > > > PlotShapes(stoch_buy*shapeUpArrow, colorGreen, 0, StochDSlow,
> > > > OffsetTradeArrow);
> > > > PlotShapes(stoch_sell*shapeDownArrow, colorRed, 0, StochDSlow,
> > > > OffsetTradeArrow);
> > > >
> > > > Help appreciated. Examples too. Thanks.
> > > >
> > > >
> > >
> >
> >
>