Since my posts seems to be going out now, I will try this again. I cut and pasted the following AFL from one of the examples somewhere --I can't find it again at present, so I will include the AFL with this post. I have tried to make it run, but it has a problem that I can not figure out --perhaps I do not understand something. The AFL allows you to use the Parameters to manually set buy/sell/short/cover points on your chart and shows the equity curve. It works fine for buy and sell. However, any short or cover always shows as a redundant signal no matter what order I put them in. I have gone over the syntax and can not find anything that is not symetrical to the buy/sell cases. I am not sure if it a problem with the AFL, or with me. I would appreciate any help, or just testing to see if it works for someone else.
Thanks, Dennis Here is the AFL --watch for line wraps. _SECTION_BEGIN("EquityCurve"); Buy = 1; Sell = Cover = Short = 0; bh = Equity( 0, 0 ); setbuy = ParamTrigger("Buy", "Buy" ); setsell = ParamTrigger("Sell", "Sell" ); setshort = ParamTrigger("Short", "Short" ); setcover = ParamTrigger("Cover", "Cover" ); clear = ParamTrigger("Clear", "Clear" ); clearall = ParamTrigger("Clear All", "Clear All" ); bi = BarIndex(); sbi = SelectedValue( bi ); qty = LastValue( bi ); Varname = Name() + sbi; if( setbuy ){ StaticVarSet( Varname, 1 );} if( setsell ){ StaticVarSet( Varname, -1 );} if( setshort ){ StaticVarSet( Varname, -2 );} if( setcover ){ StaticVarSet( Varname, 2 );} if( clear ){ StaticVarRemove( Varname );} if( clearall ) { for( i = 0; i < qty; i++ ) StaticVarRemove( Name() + i);} Buy = Sell = Short = Cover = 0; for( i = 0; i < qty; i++ ) { sig = StaticVarGet( Name() + i ); if( sig == 1 ) Buy[ i ] = True; if( sig == -1 ) Sell[ i ] = True; if( sig == -2 ) Short[ i ] = True; if( sig == 2 ) Cover[ i ] = True; } Color = IIf( Buy OR Cover, colorGreen, colorRed ); RedundantBuy = Buy; RedundantSell = Sell; RedundantShort = Short; RedundantCover = Cover; e = Equity( 1, 0 ); Plot( bh, "Buy-and-Hold", colorBlue ); Plot( e, "Equity", colorRed ); PlotShapes( Buy * shapeUpArrow + Sell * shapeDownArrow + Short * shapeHollowDownArrow + Cover * shapeHollowUpArrow, Color, 0, e, -12 ); RedundantBuy = RedundantBuy AND NOT Buy; RedundantSell = RedundantSell AND NOT Sell; RedundantShort = RedundantShort AND NOT Short; RedundantCover = RedundantCover AND NOT Cover; PlotShapes( RedundantBuy * shapeSmallUpTriangle + RedundantSell * shapeSmallDownTriangle + RedundantShort * shapeHollowSmallDownTriangle + RedundantCover * shapeHollowSmallUpTriangle, Color, 0, e, -30 ); GraphXSpace = 10; _SECTION_END(); Please note that this group is for discussion between users only. To get support from AmiBroker please send an e-mail directly to SUPPORT {at} amibroker.com 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/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/