James, It depends on the data source you have.
If you are using IB data, it does not contain tick data, hence Amibroker will not plot any tick charts since tick data is not provided. You need eSignal or equivalent ----- Original Message ----- From: james To: [email protected] Sent: Monday, August 13, 2007 9:19 PM Subject: Re: [amibroker] Re: Real time indicators using GETRTDATA Hi, I'm beginning to think what I want to do is impossible in AB because its not really a tick based real time charting program at all its a 5second real time charting program so you cant really manipulate any data below the 5second resolution anyway because AB just amalgamates it together.... Is this correct?? Cheers, James. On 8/14/07, james <[EMAIL PROTECTED]> wrote: Hi Tomasz or anyone, I didn't realize the smallest time period in AB was 5 seconds.... The formula didn't seem to work setting the arrays to = 0 , as only the last value ended up in the composite, I assume because of the reset in the addtocomposite defaults, so I set the arrays to equal the composites This seems to work ok except it gets strange values in all fields when there is more than one tick / entry in a five second time period in the original ticker..... any ideas?? eg if I look in quote editor in original ticker and there is only one entry in a 5 second period in matches in the composite, if there is more than one entry per 5 second in original ticker I get crazy values in composite... Is it possible to match the number of fields to the original, eg if there are 3 entries in a five second period in the original ticker to have 3 entries in the composite?? Any that way capture indivual trade sizes as well (up to resolution that IB provides anyway).... tn = Now(4); ltn = StaticVarGet( "LastTimeNum"); if( ltn != tn ) { StaticVarSet( "LastTimeNum", tn ); bidarray = Foreign("~BA_", "L" ); bidarray[ BarCount - 1 ] = GetRTData("bid"); askarray = Foreign("~BA_", "H" ); askarray[ BarCount - 1 ] = GetRTData("ask"); sizearray = Foreign("~BA_","V"); sizearray[ BarCount -1 ] = GetRTData("tradevolume"); lastarray = Foreign("~BA_","C"); lastarray[ BarCount -1 ] = GetRTData("last"); AddToComposite( lastarray, "~BA_","C", atcFlagDefaults | atcFlagEnableInIndicator ); AddToComposite( sizearray, "~BA_","V", atcFlagDefaults | atcFlagEnableInIndicator ); AddToComposite( bidarray, "~BA_", "L", atcFlagDefaults | atcFlagEnableInIndicator ); AddToComposite( askarray, "~BA_", "H", atcFlagDefaults | atcFlagEnableInIndicator ); } Cheers, James. On 8/13/07, Tomasz Janeczko <[EMAIL PROTECTED]> wrote: Hello, You should call GetRTData for bid and ask and store using AddToComposite: Appropriate code should look as follows (I DID NOT TEST IT - I am writting off hand) - it will create 5 second bid/ask "bars". High will hold ask, Low will hold bid. === Code that generates array tn = Now(4); ltn = StaticVarGet( "LastTimeNum"+Name() ); if( ltn != tn ) { StaticVarSet( "LastTimeNum"+Name(), tn ); bidarray = 0; bidarray[ BarCount - 1 ] = GetRTData("bid"); askarray = 0; askarray[ BarCount - 1 ] = GetRTData("ask"); AddToComposite( bidarray, "~BA_"+Name(), "X", atcFlagDefaults | atcFlagEnableInIndicator ); AddToComposite( askdarray, "~BA_"+Name(), "H", atcFlagDefaults | atcFlagEnableInIndicator ); } ================ To use them somewhere lese use: askarray = Foreign("~BA_"+Name()", "H" ); bidarray = Foreign("~BA_"+Name()", "L" ); Best regards, Tomasz Janeczko amibroker.com ----- Original Message ----- From: james To: [email protected] Sent: Monday, August 13, 2007 3:19 AM Subject: Re: [amibroker] Re: Real time indicators using GETRTDATA Tomasz, could you point me in the right direction in how to code something to do this in real time, or is it impossible at the moment?? Cheers, James On 8/13/07, treliff <[EMAIL PROTECTED]> wrote:
