[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: AFL coding



PureBytes Links

Trading Reference Links

That is a nice idea. 

Make sure the static variables are unique, don't collide. It would be 
safest to use a prefix for each indicator you create. An example for 
a CCI indicator would be 
Pfx = "CCI";
fCCI = do your CCI calc here
StaticVarSet(Pfx + "CCI", fCCI);
This static var is visible to all other programs running on the 
visible chart. 

Also I think that AB scans the charts from top to bottom so make sure 
the auto trading code is at the bottom so the data delivered to it is 
fresh and not from the last scan. You can trace this and see what 
happens.

But, I think you are going to run into problems when you try to back 
test or optimize since AA only sees the formula you are back testing. 
It will not see the other charts on a worksheet. 

Another thing you can do is create an include file for each of the 
indicators you want to use. Include them in the auto trading program 
and also in the indicators you use in the other charts but don't plot 
them in the auto trading program. Put the parameters in the indicator 
file not your auto trading file. Set the default parameter in the 
include and all charts will stay in sync. If you add arrows at the 
buy points in each indicator you will see when they are contributing 
to the trade condition.

This is an example I use in my AT program:

// cci include

pCCI			= Param("CCI period", pCCI, 1, 20, 1);	
pCCI			= Optimize("CCI period", pCCI, 1, 20, 2);

fCCI			= CCI(pCCI);
CCIlo			= fCCI < -100;
CCIhi			= fCCI > 100;
CCIup			= fCCI > Ref(fCCI, -1);
CCIdn			= fCCI < Ref(fCCI, -1);

if(PlotTrue) 
   Plot(fCCI,	"\nCCI(" + NumToStr(pCCI, 1.0) + ")", colorGreen,   
styleOwnScale);

Note that I have the default parameter set to the var name pCCI. When 
I include it I set the value before the #include line. You don't have 
to do this but it is one way to use the same include formula in many 
programs but override the parameter in the using program(s). Then you 
can set PlotTrue = True; before the #include to tell the indicator 
whether to plot it or not. If would be false in your AT program and 
true in your indicator.

Barry

--- In amibroker@xxxxxxxxxxxxxxx, "Mike" <sfclimbers@xxx> wrote:
>
> You could try using StaticVarSet in your main pane. Then, refer to 
the
> values using StaticVarGet in the sub panes. You might have to use 
the
>  View | Refresh All menu item to get the other panes to update after
> making any changes in the main pane, else activate each one in turn 
to
> have them update automatically upon activation.
> 
> Mike
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "brianw468" <wild21@> wrote:
> >
> > Can anyone help with the following, please:-
> > 1. I am developing an AFL to generate buy and sell signals by 
combining 
> > different indicators with variable parameters (to be optimised). 
I 
> > would like to generate a plot with price and one indicator in the 
top 
> > pane, and the other indicators in separate panes below this, to 
reduce 
> > clutter in the plots.
> > I know I could simply set up separate panes with the appropriate 
> > indicators - BUT then the parameters would not be tied to those 
used in 
> > the main pane. Changing parameter values and ensuring consistency 
> > across the panes would then become a chore.
> > 2. I had thought that the SECTION commands might help here, but 
that 
> > doesn't seem to be the case. In fact, on checking the 
documentation I 
> > can't find when it is either necessary or desirable to use these 
> > commands. Does anyone know?
> > TIA
> > 
> > Brian
> >
>



------------------------------------

**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

*********************
TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com
*********************

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html

*********************************
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/