API Support Forum
OEC API > Market Data > Missing lots of ticks
Author Topic: Missing lots of ticks
(7 messages, Page 1 of 1)
Moderators: VPfau
DBrubaker673
Posts: 55
Joined: Jul 18, 2007


Posted: Jul 18, 2007 @ 12:09 PM             Msg. 1 of 7
This morning I was comparing your ticks in ESU7 with an eSignal feed, and I was getting only about 10% of the ticks, and some of them were coalesced (volumes 4+1 esignal == 5 oec). The first problem is much worse than the first.

1. Is this a bug, or don't you try to send every tick to me?
2. Do you coalesce ticks?
3. If you don't send all ticks to OnPriceTick, can I get them later with
RequestTicks()?

Thanks,
Dale

Code used:
OECClient.Global.Subscribe(Contract); // subscribe command
void OnPriceTick(Contract Contract, Price Price) // capture event

Dale
SergeK
-Developer-
Posts: 475
Joined: Jan 26, 2007


Posted: Jul 18, 2007 @ 12:19 PM             Msg. 2 of 7
to receive every tick you need to use SubscribeTicks call and handle OnTicksReceived event.

common subscription is intented just for UI update and limited to 20 updates per seconds. Also OnPriceChanged/OnPriceTick events raised not only on ticks, but on best bid/ask updates too.

You can get historical ticks using SubscribeTicks (from specified time to current time) or with RequestTicks (for the time interval).
DBrubaker673
Posts: 55
Joined: Jul 18, 2007


Posted: Jul 18, 2007 @ 12:27 PM             Msg. 3 of 7
SergeK,

Thank you for the quick response.

I tried that this morning, and I never received an OnTicksReceived event. Tried again just now and thought I had failed again. Then 57,000 ticks came thru! SinceI had a startDate of 1 minute ago, I didn't expect so many. Any way to request fewer ticks to start with?

Thanks,
Dale

Code:
OECClient.Global.OnTicksReceived += new OnTicksReceivedEvent(OnTicksReceived);
void OnTicksReceived(Subscription Subscription, Ticks Ticks)
DateTime startDate = DateTime.Now.AddMinutes(-1);
OECClient.Global.SubscribeTicks(subscribedContract, startDate);

Dale
DBrubaker673
Posts: 55
Joined: Jul 18, 2007


Posted: Jul 18, 2007 @ 12:48 PM             Msg. 4 of 7
Duh. I forgot .ToUniversalTime()
So now it works, except thta your tick coalescing makes tick bars "wrong" -- a problem you share with Interactive Brokers.

Any hope for more ticks? Or am I stuck?
Thanks,
Dale

Dale
SergeK
-Developer-
Posts: 475
Joined: Jan 26, 2007


Posted: Jul 18, 2007 @ 02:57 PM             Msg. 5 of 7
could you please provide an example of coalescing:
ticks received from OEC API and ticks you are comparing with (with timestamps), so we can verify our data provider?
DBrubaker673
Posts: 55
Joined: Jul 18, 2007


Posted: Jul 19, 2007 @ 09:59 AM             Msg. 6 of 7
I emailed it to API@openecry.com this morning

Dale
SergeK
-Developer-
Posts: 475
Joined: Jan 26, 2007


Posted: Jul 19, 2007 @ 10:59 AM             Msg. 7 of 7
Thank you for the example and source code. We will research this problem and respond as soon as possible.