Tim If you wait a couple of weeks and purchase the Camtasia videos from the Houston AB Conference you can get Daniel Ervi's talk along with a utility that calculates these very same breadth metrics. In addition Daniel has coded a template to add your own your own metric calculations.
Best regards Joe ----- Original Message ----- From: timgadd To: [email protected] Sent: Thursday, March 15, 2007 11:29 PM Subject: [amibroker] Re: Interactive plots of composite "internals" Sorry,, The final block of code in the previous post should have been ... PlotOption = ParamList("Which B% Plot?", "BpctTicker1,BpctTicker2", 1); Bpct = (Foreign(PlotOption, "C") / Foreign(PlotOption, "I"))*100 ; MAPeriods = Param("Smoothing Period", 19, 1, 19); Plot(EMA(Bpct, MAPeriods), "Bullish %", colorBlack, styleLine); --- In [email protected], "timgadd" <[EMAIL PROTECTED]> wrote: > > Here's a more generic version with 2 atc symbols generated. I'll > eventually want to have more than 2 options. The plot code doesn't > work, though, and i can't think of another way to approach it except > with the ParamList attempt i have made below. > > Suggestions appreciated. > > ////////////////////////////////////////////////////////////////// > > Filter=1; > Buy=Sell=Short=Cover=0; > > BpctPeriods1 = Param("ATC B%Periods1", 26, 1, 252, 1); > BpctPeriods2 = Param("ATC B%Periods2", 53, 1, 252, 1); > > Count1 = IIf(C > MA(C, BpctPeriods1), 1, 0); > Count2 = IIf(C > MA(C, BpctPeriods2), 1, 0); > > sym1 = "~" + SectorID(1) + " B%-" + NumToStr(BpctPeriods1, 1.0); > AddToComposite(Count1, sym1,"C"); > AddToComposite(1, sym1,"I"); > > sym2 = "~" + SectorID(1) + " B%-" + NumToStr(BpctPeriods2, 1.0); > AddToComposite(Count2, sym2,"C"); > AddToComposite(1, sym2,"I"); > > //////////////////////////////////////////////////////////////////// // > //////////////////////////////////////////////////////////////////// // > ///////////////////////////////////////////////////////// > > /*the following 3 lines get the bullish % symbol generated from the > atc depending on the sector composite which is being displayed*/ > > TickerLength = StrLen( Name() ); > BpctTicker1 = "~" + StrRight(Name(), TickerLength-1) + " B%-" + > NumToStr(BpctPeriods1, 1.0); > BpctTicker2 = "~" + StrRight(Name(), TickerLength-1) + " B%-" + > NumToStr(BpctPeriods2, 1.0); > > /////////////////////////////////////////////////////////////////// > > // this is the part that isn't working - HEP ME, Please! > > PlotOption = ParamList("Which B% Plot?", "BpctTicker1,BpctTicker2", > 1); > > Bpct = (Foreign(BpctTicker1, "C") / Foreign(BpctTicker1, "I")) *100 ; > > MAPeriods = Param("Smoothing Period", 19, 1, 19); > > Plot(EMA(Bpct, MAPeriods), "Bullish %", colorBlack, styleLine); > > --- In [email protected], "timgadd" <timgadd@> wrote: > > > > Graham, > > > > Thanks for the response. > > > > So are you saying to calculate a sym1, sym2, ... with the different > > moving averages and then what? Use something like ParamList in the > > plot code to enable selection of which sym to display? > > > > Tim > > > > --- In [email protected], Graham <kavemanperth@> wrote: > > > > > > Just add to the code you already ahve, basically duplicating it > with > > > different MA length and composite details > > > > > > -- > > > Cheers > > > Graham > > > AB-Write >< Professional AFL Writing Service > > > Yes, I write AFL code to your requirements > > > http://www.aflwriting.com > > > > > > > > > > > > On 16/03/07, timgadd <timgadd@> wrote: > > > > I have an atc scan and associated plot (afl below) that > calculates > > > > the % of stocks in a group which are above a moving average. > The > > ma > > > > periods can be changed prior to running the atc scan using > Param. > > I > > > > assume that the closest i can get to having an interactively- > > changing > > > > plot is to run a scan for each ma period that i want to > > investigate. > > > > Is this correct? > > > > > > > > In other words, if i want to plot the % of stocks in a group > which > > > > are above a 26 period ma instead of a 50 period ma, i need to > run > > > > another atc scan, right? > > > > > > > > tia, > > > > > > > > Tim > > > > > > > > //////////////////////////////////////// > > > > > > > > Filter=1; > > > > Buy=Sell=Short=Cover=0; > > > > > > > > MAPeriods = Param("Bars for B% MA", 50, 1, 252, 1); > > > > > > > > Count = IIf(C > MA(C, MAPeriods), 1, 0); > > > > > > > > sym = "~" + SectorID(1) + " Above MA"; > > > > AddToComposite(Count, sym,"C"); > > > > AddToComposite(1, sym,"I"); > > > > > > > > Bpct= (Foreign("~REAL ESTATE Above MA", "C") / Foreign("~REAL > > ESTATE > > > > Above MA", "I"))*100 ; > > > > // I'll eventually attempt to change the line above to use the > > > > currently-displayed composite instead of a specific one > > > > > > > > Plot(Bpct, "Bullish %", colorBlack, styleLine); > > > > > > > > > > > > > > > > > > > > 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 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 > > > > > > > > > > > > > > > > > > > > > >
