[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Re: Amibroker and IB's 100 symbols limit



PureBytes Links

Trading Reference Links

Hello,

It is not (only) a matter of clock synchronization.

Technically TWS/IB sends currentTime event in last version.
But they send it as separate event (not together with tick event).
When tick event arrives it is not exactly known which time was
when the trades occurred. Internet delays alone can be hundreds of milliseconds.
To have correct timestamps with, the feed should transmit original 
timestamps as received directly from the exchange. 

In the tick-by-tick feed - it happens that trades are reported later, 
or sometimes out-of-order with timestamps being even few seconds behind,
plus corrections sent later too.
There are dark liquidity pools that do not appear in level1/level2/totalview but only
report finalized trades after they happened.
These are reasons why historical data are not the same as streaming data.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "Barry Scarborough" <razzbarry@xxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Wednesday, August 20, 2008 11:50 PM
Subject: [amibroker] Re: Amibroker and IB's 100 symbols limit


> Hi Ed,
> 
> Since IB data does not have a time stamp your systems have to be at 
> the same time. Forget trying to get the clocks the same as TWS. I 
> can't do it. A few seconds will change your bar values, especially 
> open and close, which will change your results. Getting the systems 
> exactly at the same time may require a program like atomic clock. 
> 
> That does not explain why your results are so different. Are you sure 
> your systems are the same? I have so many I get them mixed up and 
> think I am comparing the same system when I am not. I started 
> displaying the name with a version level to make sure they are the 
> same.
> 
> I added this to all my programs to prevent getting confused:
> 
> _N(SectionName = "TraderMaBands");
> _N(Ver = "Ver1_2"); //  this is my version number 
> _SECTION_BEGIN(SectionName);  
> EnableTextOutput(False); // prevents incidental text from being 
> displayed in the interpretation
> Filename = StrLeft(_DEFAULT_NAME(),StrLen(_DEFAULT_NAME())-2) + " " + 
> Ver; // the name of the program and is displayed on the title line
> // CAUTION: VarPfx is used to make the static variables unique to 
> prevent bizarre results if you use multiple versions of the trading 
> program simultaneously. 
> VarPfx = Filename + Ver;  // static var prefix
> _N(Title = Filename + StrFormat(" - {{DATE}} \nOpen %g, Hi %g, Lo %g, 
> Close %g (%.1f%%) Vol " + " {{VALUES}}", O, H, L, C, SelectedValue( 
> ROC( C, 1 )) ));
> 
> 
> Barry
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "Edward Pottasch" <empottasch@xxx> 
> wrote:
>>
>> system I am testing currently is no high frequency system, makes 
> around 30 trades a day and I am reasonably confident it will perform 
> on the real account similar as on the simulation account .... but 
> time will tell. 
>> 
>> Good to hear about the buttons. The pull down buttons are very nice 
> although the code for them I believe is not on UKB. But I do not 
> really need very advanced bottons. Now I can turn auto trading 
> on/off, transmit on/off and buy / short / close position / reverse 
> position / cancel order   buttons to overrule the auto trade system. 
> I suggested in the feedback center to make it possible to embed the 
> parameter window inside the chart as a quick way to make buttons.
>> 
>> I'll have a look at what UKB says on IQFeed,
>> 
>> rgds, Ed
>> 
>> 
>> 
>>   ----- Original Message ----- 
>>   From: Herman 
>>   To: Edward Pottasch 
>>   Sent: Wednesday, August 20, 2008 1:11 PM
>>   Subject: Re[2]: [amibroker] Re: Amibroker and IB's 100 symbols 
> limit
>> 
>> 
>> 
>>   Yes, we also have trouble matching performance for different 
> locations using the sim account. I suspect that snapshots are time-
> shifted to preserve bandwidth. If they didn't, their servers would 
> operate extremely inefficient. this also means that snapshots 
> received on different computers may not be the same. Also, snapshots 
> are like intraday bars... the prices are arbitrary samples. I used to 
> collect a limited number of tickes to create a rolling "bar-window" 
> based on the real-time from my system clock, i.e., start a new 'bar' 
> immediately after you've gone cash. You don't need tick charts to do 
> this. If you trade fast you'll get a lot more trades and profits - if 
> your system is profitable.
>> 
>> 
>> 
>> 
>>   And, of course, when you trade real money the whole thing changes 
> again. For final and serious system testing you have no choice but to 
> trade real money.
>> 
>> 
>> 
>> 
>>   I have never used IQFeed. You can run the tests outlined on the 
> UKB to see how they process their data...
>> 
>> 
>> 
>> 
>>   Re Buttons... I have a wide assortment of new button functions... 
> just haven't had the time to fully test and publish them.
>> 
>> 
>> 
>> 
>>   herman
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>   Wednesday, August 20, 2008, 6:51:53 AM, you wrote:
>> 
>> 
>> 
>> 
>>         >
>>        hi Herman,
>> 
>> 
>> 
>>         yesterday I was testing my auto trade system on two 
> different simulation accounts on two different computers. 1 computer 
> made +2663$ (in theory) and the other around +1823$ (in theory), same 
> system, all because the data is just slightly different on both 
> computers causing some signals not to execute. When I downloaded the 
> data this morning they both made +2443$.  I did not experience (yet) 
> that the trade is executed in reality and that it doesn't appear in 
> the chart. I often see it appearing in the chart with some delay but 
> this seems due to delays on my computer.
>> 
>> 
>> 
>>         Last year I gave up eSignal because they were charging me 
> to pay like 20% tax above the normal price (since I am in Europe), 
> even after a dollar collapse the bills I had to pay eSignal were only 
> increasing. IQFeed does not do this. Any ideas if IQfeed is as 
> realiable as eSignal?
>> 
>> 
>> 
>>         Further your work on buttons is very nice. I am using some 
> simple buttons you made and is working great.
>> 
>> 
>> 
>>         regards, Ed
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>         ----- Original Message ----- 
>> 
>>         From: Herman 
>> 
>>         To: Barry Scarborough 
>> 
>>         Sent: Wednesday, August 20, 2008 12:08 PM
>> 
>>         Subject: Re: [amibroker] Re: Amibroker and IB's 100 symbols 
> limit
>> 
>> 
>> 
>> 
>>         I agree with Barry and yes, I have seen it happen: trades 
> can be filled before your IB chart even shows the trigger price - if 
> it ever does!!!! I have had fills that never show, even after 
> backfills. While using eSignal you can observe how you make the 
> market, i.e., set a new price. I still remember the excitement when I 
> could see my first ever trades popping up on the eSignal chart, I 
> felt like I was changing the world :-) Good data is a whole new ball-
> game.
>> 
>> 
>> 
>> 
>>         IB is not a data provider; they only provide minimum data 
> backfill to support trading activities. No matter how hard you try, 
> using IB data will eventually cost you in terms of time and money. 
> Not to mention the stress and frustration of working with unreliable 
> data. Sticking with IB for too long may prove to be penny-wise and 
> pound-foolish. IB Realtime data has odd features and if you trade 
> fast you better be aware of the possible problems (see UKB).
>> 
>> 
>> 
>> 
>>         If you need backfilled data to run your system the very 
> first thing you should do when your system makes a little money (or 
> before) is to subscribe to quality data. The money is well worth it.
>> 
>> 
>> 
>> 
>>         eSignal isn't bad for RT trading and PremiumData has great 
> EOD histories/categories for most popular markets.
>> 
>> 
>> 
>> 
>>         Best regards,
>> 
>>         herman
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>         Wednesday, August 20, 2008, 3:50:43 AM, you wrote:
>> 
>> 
>> 
>> 
>>         > One thing you can do is use two computers, we all have 
> two or more 
>> 
>>         > right, and process half on each one. You will need more 
> than one 
>> 
>>         > account. One can be their simulation account. Of course 
> if you are 
>> 
>>         > trying to auto trade that won't work unless you are 
> writing them to a 
>> 
>>         > file both computers can access. That is doable.
>> 
>> 
>> 
>> 
>>         > IBs back fill is a pain in the butt and is going to drive 
> you nuts. I 
>> 
>>         > have only 60 symbols and I run into pacing errors all the 
> time. I have
>> 
>>         > one formula that scans and plots all of them to keep my 
> data base 
>> 
>>         > current. I believe that formula has to be on the active 
> chart. If it is
>> 
>>         > in a background chart AB will not update it. But you have 
> to keep it 
>> 
>>         > current or you will run into the pacing errors. When you 
> scan all the 
>> 
>>         > symbols you can keep your data bases up to date and avoid 
> some of this
>> 
>>         > if you do it every day. And make sure you are only back 
> filling one day
>> 
>>         > or you will run into pacing errors. 
>> 
>> 
>> 
>> 
>>         > As soon as your system is making good money, or before 
> you run out of 
>> 
>>         > hair, switch to a real data feed that supports as many 
> symbols as you 
>> 
>>         > need and back fills without all the hassle IB gives. IBs 
> back fill 
>> 
>>         > policy is so stupid it defies description. The 100 limit 
> will be the 
>> 
>>         > beginning of your woes if you try to use IBs feed.
>> 
>> 
>> 
>> 
>>         > Another thing I ran into with IBs data feed, it is slow. 
> I can see 
>> 
>>         > changes on TWS that do not get posted on my system for a 
> significant 
>> 
>>         > delay. I have been told that a good data feed will cause 
> AB to trade 
>> 
>>         > before TWS shows the price. I believe it.
>> 
>> 
>> 
>> 
>>         > Barry
>> 
>> 
>> 
>> 
>>         >  --- In amibroker@xxxxxxxxxxxxxxx, "sonyfanaticsss" 
>> 
>>         > <sonyfanaticsss@> wrote:
>> 
>> 
>> 
>> 
>>         >> Hi,
>> 
>> 
>> 
>> 
>>         >> I've just constructed a database with about 200+ symbols 
> and I used
>> 
>>         >> Automatic Analysis to scan these symbols in real time 
> and put a few of
>> 
>>         >> them in the favorite list for further analysis later.
>> 
>> 
>> 
>> 
>>         >> The problem is that in the mid-way Amibroker told me I 
> have hit IB's
>> 
>>         >> 100 symbols limit. I'm aware of this limit, and I'm 
> wondering if it is
>> 
>>         >> possible to ask Amibroker to cancel the market data 
> subscription after
>> 
>>         >> it has scanned a symbol? (so it request data for one 
> symbol, run the
>> 
>>         >> afl and then cancel the data subscription, then move on 
> to the next
>> 
>>         >> symbol etc...)
>> 
>> 
>> 
>> 
>>         >> Thank you.
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>         > ------------------------------------
>> 
>> 
>> 
>> 
>>         > 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
>> 
>> 
>> 
>> 
>>         >     http://groups.yahoo.com/group/amibroker/
>> 
>> 
>> 
>> 
>>         >     Individual Email | Traditional
>> 
>> 
>> 
>> 
>>         >     http://groups.yahoo.com/group/amibroker/join
>> 
>>         >     (Yahoo! ID required)
>> 
>> 
>> 
>> 
>>         >     mailto:amibroker-digest@xxxxxxxxxxxxxxx 
>> 
>>         >     mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
>> 
>> 
>> 
>> 
>>         >     amibroker-unsubscribe@xxxxxxxxxxxxxxx
>> 
>> 
>> 
>> 
>>         >     http://docs.yahoo.com/info/terms/
>>
> 
> 
> 
> ------------------------------------
> 
> 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
> 
> 
> 

------------------------------------

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

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/