> Nick wrote: >Thank you for getting back to me David and Graham. All of your suggestions were applied and the program works great!
--- In [email protected], Graham <[EMAIL PROTECTED]> wrote: > > You have these statements like this > SVS = IIf(Filter = (EV < Volumeamount), EV, 0 ); > remove the 'filter=' > SVS = IIf(EV < Volumeamount, EV, 0 ); > > In this statement, if HighClose == Lowclose then you will get a divide by > zero which gives error > << maybe check this with explorations to see if this occurs > EV = abs(Todayclose-yesterdayclose)/(HighClose-Lowclose)*Volume; > change to, using Nz which convert null values to zero > EV = nz(abs(Todayclose-yesterdayclose)/(HighClose-Lowclose)*Volume); > > together with the Cum as mentioned before > > -- > Cheers > Graham > AB-Write >< Professional AFL Writing Service > Yes, I write AFL code to your requirements > http://www.aflwriting.com > > > On 23/02/07, dbw451 <[EMAIL PROTECTED]> wrote: > > > > Nick, use the Cum function instead of the loop to calculate SVS_VF: > > > > > > > > SVS_VF = Cum(SVS); > > > > > > > > I think the first value of SVS (i.e. SVS[0]) must be NULL which is causing > > your calculation to sum as NULL. > > > > > > > > Regards, > > > > > > > > David > > > > > > ------------------------------ > > > > *From:* [email protected] [mailto:[EMAIL PROTECTED] *On > > Behalf Of *NickCivit > > *Sent:* 02/22/2007 6:28 PM > > *To:* [email protected] > > *Subject:* [amibroker] Array logic > > > > > > > > I thought I had my problem solved from a previous post but still > > having trouble. I am obviously new,but am trying hard to learn.I saw a > > formula in a book I read and thought I'd give it a try. I have most of > > it working but I can not total the array properly. When I run an > > exploration the SVS_VF column is blank. If it was working properly it > > should show a running total of volume. Not sure what I am doing wrong > > any help appreciated. > > > > thank you > > Nick C. > > > > _SECTION_BEGIN("Effective Volume"); > > /* Create date: 13 Feb 2007 > > The Close Price of the current bar is greater than the Close Price of > > 1 bar ago */ > > > > TodayClose = Close; > > TodayLow=Low; > > yesterdayclose=Ref(Close,-1); > > HighClose=Max(TodayClose,YesterdayClose); > > LowClose=Min(TodayLow,YesterdayClose); > > > > EV = abs(Todayclose-yesterdayclose)/(HighClose-Lowclose)*Volume; > > > > VolumeAmount = 10000; > > SVS = IIf(Filter = (EV < Volumeamount), EV, 0 ); > > SVS=IIf(TodayClose > YesterdayClose,SVS,-SVS); > > LVS = IIf(Filter = (EV > VolumeAmount), EV, 0 ); > > Lvs = IIf(TodayClose > YesterdayClose,LVS,-LVS); > > > > SVS_VF=SVS; > > > > LVS_VF = LVS; > > > > for(i=1;i<BarCount;i++) > > { > > SVS_VF[i] = SVS_vf[i-1] + SVS[i]; > > } > > > > _Section_End(); > > > > /*_SECTION_BEGIN("Small Volume"); > > SetChartOptions(0,chartShowDates); > > //SetChartOptions(0,0,chartGrid30|chartGrid70); > > periods = Param( "Periods", 15, 1, 200, 1 ); > > Plot( SVS,"Small Volume", ParamColor( "Color", colorCycle ), > > ParamStyle("Style") ); > > _SECTION_END(); > > > > _SECTION_BEGIN("LargeVol"); > > SetChartOptions(0,chartShowDates); > > //SetChartOptions(0,0,chartGrid30|chartGrid70); > > periods = Param( "Periods", 15, 1, 200, 1 ); > > Plot( LVS,"LargeVol", ParamColor( "Color", colorCycle ), > > ParamStyle("Style") ); > > _SECTION_END();*/ > > > > AddColumn( Open, "Open " ); > > AddColumn( Close, "Close " ); > > AddColumn( Volume, "Volume " ); > > AddColumn( EV, "EVVolume " ); > > AddColumn( SVS, "SVS " ); > > AddColumn( Svs_VF, "SVS_VF " ); > > AddColumn( LVS, "LVS " ); > > AddColumn( LVS_VF, "LVS_VF " ); > > Filter=1; > > > > > > >
