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 -----
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
<jameswillia@xxxxxxxxx>
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 <groups@xxxxxxxxxxxxx> 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"
);
-----
Original Message -----
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
__._,_.___
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
SPONSORED LINKS
__,_._,___
|