Thanks Progster,

Your impression is correct: unfortunately interactive brokers does not supply 
historical advance decline data.  Interestingly, I can plot the AD line no 
problem with Ninjatrader, but want to run tests and alerts using Amibroker.


--- In [email protected], "progster01" <progs...@...> wrote:
>
> Here is a bit of code to illustrate, using the IQFeed symbols for NYSE ADV 
> and DECL:
> 
> 
> adv = Foreign( "IINA.Z", "Close" );
> dec = Foreign( "IIND.Z", "Close" );
> 
> ad = adv - dec ;
> 
> Plot(ad,"adv", colorRed, styleLine );
> 
> 
> 
> --- In [email protected], "progster01" <progster@> wrote:
> >
> > Kevin,
> > 
> > In general, if you want the intraday advance-decline line, you need to 
> > start with a) the intraday advance line, and b) the intraday decline line.
> > 
> > As mentioned, GetRTDataForeign() returns a number (not a line), and does so 
> > in realtime (not historically).
> > 
> > Probably your data provider offers symbols for ADV and DECL which will have 
> > the historical intraday quotes.
> > 
> > I recommend you find those symbols, make sure you can plot them, and then 
> > work forward from there.  Assuming those symbols are available, this 
> > approach will work, guaranteed.
> > 
> > I get the impression that you are perhaps trying to capture realtime data 
> > and save it into a ticker array yourself, one "capture" per chart bar.  
> > I've never implemented this approach, and I don't even know if it can be 
> > done.  Possibly one of the highly realtime-oriented members can comment on 
> > this.
> > 
> > 
> > 
> > --- In [email protected], "kevinoversby" <kevinoversby@> wrote:
> > >
> > > OK, thanks.
> > > 
> > > Today I tried storing the values in an array but still only get the last 
> > > number:
> > > 
> > > adv = GetRTDataForeign("bid","AD-NYSE-NYSE-IND");
> > > dec = GetRTDataForeign("ask","AD-NYSE-NYSE-IND");
> > > 
> > > array[ BarCount -1 ] = adv-dec;
> > > Plot(array,"array",1);
> > > 
> > > AddToComposite( array, "~ADD2","C", atcFlagDefaults | 
> > > atcFlagEnableInIndicator );
> > > Plot(Foreign("~ADD2","C",1),"ADD2",1);
> > > 
> > > Can anyone see the problem?
> > > 
> > > Thanks
> > > 
> > > Kevin
> > > 
> > > 
> > > --- In [email protected], "progster01" <progster@> wrote:
> > > >
> > > > Hi.
> > > > 
> > > > GetRTDataForeign() returns a number, not an array:
> > > > 
> > > > SYNTAX  GetRTDataForeign( ''fieldname'' , ''symbol'' )  
> > > > RETURNS NUMBER  
> > > > 
> > > > hence the code is storing and plotting a number (a single value) rather 
> > > > than an array of differing values.
> > > > 
> > > > 
> > > > 
> > > > --- In [email protected], "kevinoversby" <kevinoversby@> wrote:
> > > > >
> > > > > Has anyone managed to store intraday advance-decline data in a 
> > > > > composite?  The code below only plots the last value.
> > > > > 
> > > > > --- In [email protected], "kevinoversby" <kevinoversby@> 
> > > > > wrote:
> > > > > >
> > > > > > adv = GetRTDataForeign("bid","AD-NYSE-NYSE-IND");
> > > > > > dec = GetRTDataForeign("ask","AD-NYSE-NYSE-IND");
> > > > > > 
> > > > > > AddToComposite( adv-dec, "~ADD","C", atcFlagDefaults | 
> > > > > > atcFlagEnableInIndicator );
> > > > > > 
> > > > > > Plot(Foreign("~ADD","C",1),"AD",1);
> > > > > > 
> > > > > > 
> > > > > > The above code plots the ONLY last value of AD-NYSE.  However, I 
> > > > > > wanted to accumulate values in real-time in the composite - any 
> > > > > > hints on how to do it?
> > > > > > 
> > > > > > Thanks
> > > > > > 
> > > > > > Kevin
> > > > > >
> > > > >
> > > >
> > >
> >
>


Reply via email to