Keyboard Shortcuts
Likes
- Twsapi
- Messages
Search
Re: twsapi: Re: Timing of events
Michel
开云体育Thanks
Scott, this is as I understand it.
So
there is no way to detect various trades at the same price and
size?
This
could be a very bad issue because it is important (at least for me, and I think
for many people) to compute volume along the day.
?
Michel.
|
Re: Timing of events
marinindextrader
Both tickPrice and tickSize are autonamous of one another. Further
they only fire when there is a change. An example would be 10 trades going off at the same price at different volumes would fire zero price events, and 10 size events. and vice versa 10 trades at different price but the same size would fire 10 price events and zero size events. and ten trades going off the same price and size would have the same effect as if no trade had occured at all. That is my understanding and experience with tickPrice and tickSize. Scott --- In twsapi@y..., "migurull" <migurull@t...> wrote: Hello,some questions/problems regarding 'tickPrice' and 'tickSize' events (I'mthis case, how to detect that a new quotation had taken place (for |
Timing of events
migurull
Hello,
I'm evaluating TWS ActiveX component in Visual Basic and I have some questions/problems regarding 'tickPrice' and 'tickSize' events (I'm using the web based Demo system for this evaluations): 1- When last price AND last size change at the same time(new quotation), is there some guarantee about the order in which tickPrice and tickSize events are rised? (ALWAYS tickPrice BEFORE tickSize?) 2- When quotation repeats at the same price and the same size, it seems that there is no tickPrice, nor tickSize events fired. In this case, how to detect that a new quotation had taken place (for example, in order to compute total traded volume by adding all last sizes)? Thanks for your help. Michel. |
C# .NET + TWS ActiveX = 'Catastrophic failure' exception?
pjslim99
I have connected fine using Java and C++ API to TWS, however using
Visual Studio.NET and C#, I get 'An unhandled exception of type: System.Runtime.InteropServices.COMException occured in mscorlib.dll: Catastrophic failure' I am doing the following - Start TWS running locally. - TWS: Settings->Enable ActiveX and Socket Clients - Create new C# project - Solution Explorer: Add Reference: Tws ActiveX Control module (Tws.ocx) - Add Button with handler and code: using TWSLib; . . TwsClass myTws = new TwsClass(); myTws.connect("", 7496); . . - and run the program. If I call any function or retrieve a property from the ActiveX control I get the same exception. Any thoughts? Anyone succesfully got C# + TWS API working? thanks, PJ |
Re: twsapi: Java API
gu6526
There are basically two methods to do this:
toggle quoted message
Show quoted text
1. wait() / notifyAll() communication In your main program use wait() to go to sleep without polling. Catch the interruptedException and go on. In the wrapper functions that receive the data do some checking that all your requested data have arrived and reactivate your main with notifyAll(). The wrapper functions are called asynchronously by the reader thread that was spawned from your main with the connect() call. 2. If you use a GUI, e.g. some Swing objects you can use the appropriate event handling to update your presentation objects with the asynchrounously received ticket data. The TestJavaClient application from IB is an example. Gernot In twsapi@y..., usernew <no_reply@y...> wrote: I need to get info on n tickers, so this is what I do at the moment: |
Re: twsapi: Java API
usernew
I need to get info on n tickers, so this is what I do at the moment:
tws.connect(); for(i=0; i<n; i++){ tws.requestdata(...) } tws.wait_trans(); // to make sure all the prices have arrived tws.disconnect(); // prices have arrived // so do stuff here Looking at the docs for request data, because I need info on n tickers, seems I would have to call requestdata n times My concern was making tws.wait_trans() not consume cycles. --- In twsapi@y..., "David" <kotomo@p...> wrote: usernew,you need to send requestData() only once - you can do it before the session. Davidhappen by the time requestData() returns ? I thought tickPrice etc. wereService. |
Re: twsapi: Java API
David
开云体育usernew,
maybe i do not know what you want or misunderstand TWS control
but you need to send requestData() only once - you can do it before the
session.
David
|
Re: twsapi: Java API
gu6526
You should look at EClientSocket.java:
toggle quoted message
Show quoted text
It spawns an asynchronous thread with tm_reader = new EReader( this, dis); The wrapper functions are called from this thread whenever a message is received by the client. So there is no need to wait! It's done all asynchronously. Gernot --- In twsapi@y..., Todd Turner <todd_a_turner@y...> wrote:
I believe that the callbacks only occur during a call |
Re: twsapi: Java API
Todd Turner
yep, I am pretty sure that all that requestData() does
is read data that has arrived from TWS, and call the appropriate EWrapper member function for tickPrice etc. If it was async, there would be no need to call requestData() every second, or ever. --- usernew <no_reply@...> wrote: So you are saying tickPrice, tickSize etc. are __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup |
AW: twsapi: Java API
开云体育You should look at EClientSocket.java: ? It spawns an asynchronous thread with tm_reader = new EReader( this, dis); ? The wrapper functions are called from this thread whenever a message is received by the client.? So there is no need to wait!? It’s done all asynchronously. ? Gernot ? -----Ursprüngliche Nachricht----- ? My program currently is
structured as follows: twsapi-unsubscribe@... Your use of Yahoo! Groups is subject to the . |
Re: twsapi: Java API
usernew
So you are saying tickPrice, tickSize etc. are guaranteed to happen
toggle quoted message
Show quoted text
by the time requestData() returns ? I thought tickPrice etc. were completely asynchronous. --- In twsapi@y..., Todd Turner <todd_a_turner@y...> wrote:
I believe that the callbacks only occur during a call |
Re: twsapi: Java API
Todd Turner
btw,
Have you been able to call connect, and then call disconnect and then call connect again? The second call to connect always seems to cause an exception inside the API, for me anyway. --- Todd Turner <todd_a_turner@...> wrote: I believe that the callbacks only occur during a __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup |
Re: twsapi: Java API
Todd Turner
I believe that the callbacks only occur during a call
to requestData(). In my initial testing I used Sleep with no problem. I now have Windows sending a WM_TIMER message to my apps message queue every 250 msecs now. --- usernew <no_reply@...> wrote: Yeah, I tried that and got exceptions. The problem __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup |
Re: twsapi: Java API
usernew
Yeah, I tried that and got exceptions. The problem might be that when
toggle quoted message
Show quoted text
you sleep the whole thread is put to sleep, so the event tickprice etc. callbacks can't happen. So, a regular sleep might not work well in this case. --- In twsapi@y..., Todd Turner <todd_a_turner@y...> wrote:
I am not familiar with Java, but you need some sort of |
Re: updateExtended(), extended properties, etc, etc
marinindextrader
Mick,
I havn't gotten to that point in my work, but perhaps ultimately OCA is not server sided? In other words the TWS manages internally a marker...that ostensibly is sent back and forth, but all of the OCA work is done on the client side? For me the point will be moot in a sense, because I intend to expand greatly on the OCA concept. Perhaps you might consider programming your own OCA procedures. That way in the future, you too can also expand on them. Its simple enough to add a flag to the dynamic array structure that tracks orders. Just a thought... Scott --- In twsapi@y..., mickjenks <no_reply@y...> wrote: Thanks Elliot,OCA. That was never the question. The placeOrder() method doesn'tinclude in its declaration a variable for sending an OCA identifier, nordoes it allow for TIF or Transmit to be sent with the individual orders. |
Re: updateExtended(), extended properties, etc, etc
bee_jay_61
--- In twsapi@y..., mickjenks <no_reply@y...> wrote:
Thanks Elliot,OCA. That was never the question. The placeOrder() method doesn'tinclude in its declaration a variable for sending an OCA identifier, nordoes it allow for TIF or Transmit to be sent with the individual orders.Once Again. Use the ActiveX properties to set OCA, TIF and Transmit. The ActiveX is written in C++ and uses then WinSocket API. Look at the C++ API for more information. |
Re: updateExtended(), extended properties, etc, etc
mickjenks
Thanks Elliot,
However, I have read the TWS docs and understand the purpose of OCA. That was never the question. The placeOrder() method doesn't include in its declaration a variable for sending an OCA identifier, nor does it allow for TIF or Transmit to be sent with the individual orders. Could someone explain how to implement these properties on an order to order basis? Thanks |
Re: twsapi: Java API
Todd Turner
I am not familiar with Java, but you need some sort of
system call Sleep(int timeout_msecs), so that the process blocks until the timeout occurs. This functionality is provided by the OS. --- usernew <no_reply@...> wrote: My program currently is structured as follows: __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup |
Java API
usernew
My program currently is structured as follows:
class TWS implements EWrapper { public void requestdata(...) public void tickPrice(...) public void tickSize(...) ... public void wait_trans() { for(i=0; i < xxxxx; i++); } } public class Main { tws.connect(); for(i=0; i<n; i++) tws.requestdata(...) tws.wait_trans(); tws.disconnect(); } Is there a better way to structure this program ? My concern is wait_trans(). It is continuously eating up cycles. My program does not need to do anything while it is waiting for the arrays to be populated, but I would still like to wait without consuming cycles. Thanks in advance |
Re: twsapi: Re: VB and ActiveX....updateExtended() Method????
Elliot Lee
On 2002-06-18 9:13, "BrianL_98" <brianl_98@...> wrote:
The IB documentation for OCA orders via the TWS API is pretty thin.As with many features, OCA functionality is parallel in the API and the GUI, so reading the TWS docs on this would be a good idea. The OCA string is an identifier assigned by you to group orders together. If an order with an OCA string set is executed or cancelled, all other orders with the same string will be cancelled. -- Elliot |