Writing a GUI in C# part 2

Thank´s for all the useful answers I got!. I am now able to connect to TWS, via a control supplied by IB. Visual Studio lets me
see a whole list of methods.

As a my next step I attempt to call the mehod 'reqMktData()
Unfortunately I don't know what values to put in the parameter list. Are there any descriptions, other than general things such as int, string etc.

I found two overloaded methods

1)
reqMktData(int id, string symbol, string secType, string expiry, double strike, string right, string multiplier,
string exchange, string primaryExchange, string curency);

2)
reqMktData2(int id, string localSymbol, string secType, string exchange, string primaryExchange, string curency);

id, - what does it refer to? just sending an int with the value zero
won´t work.
symbol - here I put DAX (which works in the IB trader work station)
secType - I have no idea what this refers to
strike, right, multiplier, - I have no idea what this refer to either
exchange - here I put DTB (which works in the IB trader work station)
Primary Exchange - I have no idea what this refer to either
Local account - I have no idea what this refer to either
 
Quote from Fredrik99:

Thank´s for all the useful answers I got!. I am now able to connect to TWS, via a control supplied by IB. Visual Studio lets me
see a whole list of methods.

As a my next step I attempt to call the mehod 'reqMktData()
Unfortunately I don't know what values to put in the parameter list. Are there any descriptions, other than general things such as int, string etc.

I found two overloaded methods

1)
reqMktData(int id, string symbol, string secType, string expiry, double strike, string right, string multiplier,
string exchange, string primaryExchange, string curency);

2)
reqMktData2(int id, string localSymbol, string secType, string exchange, string primaryExchange, string curency);

id, - what does it refer to? just sending an int with the value zero
won´t work.
symbol - here I put DAX (which works in the IB trader work station)
secType - I have no idea what this refers to
strike, right, multiplier, - I have no idea what this refer to either
exchange - here I put DTB (which works in the IB trader work station)
Primary Exchange - I have no idea what this refer to either
Local account - I have no idea what this refer to either

If you download the TWS API you will se a sample in VB.NET... if you prefer a C# sample look here:
http://finance.groups.yahoo.com/group/TWSAPI/
 
I already use that vb sample as a model for the app I am trying to create in C#. Although I can study the methods, I cannot
use them properly.

Even running the VB-app produces errors, since I don´t know what to enter in the boxes.This is one of the error messages I get: 'No security definition has been found for the request: Invalid destination exchange specified.'

Is there an explanation of these properties somewhere?

Thanks

Fredrik
 
Quote from Fredrik99:


1)
reqMktData(int id, string symbol, string secType, string expiry, double strike, string right, string multiplier,
string exchange, string primaryExchange, string curency);

2)
reqMktData2(int id, string localSymbol, string secType, string exchange, string primaryExchange, string curency);

id, - what does it refer to? just sending an int with the value zero
won´t work.
symbol - here I put DAX (which works in the IB trader work station)
secType - I have no idea what this refers to
strike, right, multiplier, - I have no idea what this refer to either
exchange - here I put DTB (which works in the IB trader work station)
Primary Exchange - I have no idea what this refer to either
Local account - I have no idea what this refer to either

For DAX:

secType = "FUT" // "STK" for a stock
strike = empty string // Applies to options only
right = empty string // Applies to options only
multiplier = empty string // not needed
primaryExchange = "DTB"
currency = "EUR"
expiry = "200606"

id is a unique integer that you must assign to uniquely identify the instrument for which you are requesting market data. Any *unique* value except perhaps zero will do. When you get a tickPrice event, you use this integer value to identify the instrument that the tick applies to. Your code must handle this mapping.

I use Java, it will be the same in C#.

There is a reasonable level of API doc in the online TWS users guide. In general, methods and properties are all documented, though some of it is a little bit terse.
 
When I put these values into the VB-app,things started to
work.Now I'll move on to the C# code. Thank´s a lot.

Id: 1
Symbol: DAX
Type: FUT
Expiry:20060616
Strike:0
Exchange: DTB
Exchange: DTB
currency = "EUR"
 
Here is a simple C# Windows Forms app that demonstrates connecting to the TWS API, and retrieving market data. This might help you out. It should connect to TWS and request market data for "SPY", and then print out price and size tick events into your Debug console window. I just converted this from another simple program I use. It seems to compile, but I cannot test it during market hours. If you try to use it and it doesn't work, let me know and I will fix it after market hours.
 

Attachments

Does IB provide a web service for real-time stock and option quotes?

I built a gui in java using yahoo data and INET for real-time quotes. Run sql, display results in tables ... INET only provide prices on the orders they fill, so often times that are large gaps...
 
Does IB provide a web service for real-time stock and option quotes?

I built a gui in java using yahoo data and INET for real-time quotes. Run sql, display results in tables ... INET only provide prices on the orders they fill, so often times that are large gaps...

Not that I know of. Does INET provide a webservice for real-time quotes?
 
Indeed they do ... its fricking awesome!!!

the MAJOR draw-back is it only provides prices on orders they fill...
So, at times you don't know what have the stocks are trading at...

I have fifteen threads running, grabbing 100 at a time (max per request). Store in a DB .. query em against historical stats ...

You need to apply for a token ... Its Free!

url: http://xml.island.com/ws/xml/quote.xml?token= [put your token here] &symbol=IBM+MSFT


http://data.inetats.com/ds/dev/index.jsp?symbol=

You can thank me later ;)
 
Back
Top