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.
      > > > >
      > > > >
      > > >
      > >
      > >
      >






  

Reply via email to