DDE speed with IB

Discussion in 'Trading Software' started by the_dude, Jan 17, 2002.

  1. dozu888

    dozu888

    BeenHere, thanks so much.

    Jaba, if you have c++ experience, it would probably take you couple of hours to go through a VB primer book and get something working.

    VB is piece of cake.
     
    #11     Jan 17, 2002
  2. jaan

    jaan

    of course it is.

    - jaan
     
    #12     Jan 18, 2002
  3. For those who want to develop with DDE in VB: DDE will not be supported in VB.NET (the next version) . You will be forced to stick to VB 6 (or earlier), code your own DDE component or purchase one.
     
    #13     Jan 18, 2002

  4. That was my experience with ensign DDE/excel. When the ES mini moved fast, all the bids and offers weren't transmitted successfully to excel, and during this test run, I was definitely sending very few symbols to excel, definitely less than 20. I'll try it with IB...today's expiration day anyway so I have an excuse to fuck around. :)
     
    #14     Jan 18, 2002
  5. H2O

    H2O

    Hi, I love the code snippets (VB) I get the tickers working but the orders not.

    Used your code, any idea what is going wrong ?

    Here's the code I use, hopefully you can find the bug ?

    Private Sub Cancel_Click()
    LblCancel.LinkMode = 0
    LblCancel.LinkTopic = "eDemo|ord"
    LblCancel.LinkItem = "id010?cancel"
    LblCancel.LinkMode = 1
    End Sub

    Private Sub Order_Click()
    LblControl2.LinkMode = 0
    LblControl2.LinkTopic = "eDemo|ord"
    LblControl2.LinkItem = "id010?place?BUY_100_CSCO_STK_BEST_LMT_18_"
    LblControl2.LinkMode = 1

    LblStatus.LinkMode = 0
    LblStatus.LinkTopic = "eDemo|ord"
    LblStatus.LinkItem = "id010?status"
    LblStatus.LinkMode = 1
    End Sub

    Private Sub Start_Click()
    LblControl.LinkMode = 0
    LblControl.LinkTopic = "edemo|tik"
    LblControl.LinkItem = "id001?req?CSCO_STK_BEST"
    LblControl.LinkMode = 1

    LblLast.LinkMode = 0
    LblLast.LinkTopic = "edemo|tik"
    LblLast.LinkItem = "id001?last"
    LblLast.LinkMode = 1



    End Sub

    Private Sub Stop_Click()
    LblControl.LinkMode = 2
    LblLast.LinkMode = 2
    LblLast.Caption = ""
    End Sub


    As you see I try to use both functions (ticker and order) in 1 from. I first tried only the order, didn't work either.
     
    #15     Jan 19, 2002
  6. Peter (or anyone)

    I am a programmer wannabe... I have played with VC++ and got a couple books, but I am still pretty much nowhere with it as far a proficiency.

    My question is this: I have heard a bit about the new VisualStudio.net that is comming down the pike. As a newbie, do you think I should wait and get started fresh with .net or plug away with 6.0? Are they going to be different to the degree that am amateur would even notice?

    I don't need the "latest and greatest" just to say I have it, but on the other hand I don't want to invest time and money into learning something soon-to-be outdated.

    Any opinions?

    (sorry, kind of off topic)
     
    #16     Jan 19, 2002
  7. Actually, DDE will no longer be supported in the .NET platform, so if you want to use it, you better hurry up :) Microsoft acknowledges that this is early 90s technology that doesn't scale well and performs poorly. DDE also is also not reliable (delivery is not guaranteed - see previous posting for details), so using it for a trading application is just plain nuts in my opinion.

    Wait for the new ActiveX control that IB has mentioned on this site in a different thread.
     
    #17     Jan 19, 2002
  8. I would go with Visual Studio.NET.

    DDE support is not a reason to stick with VB6. DDE support in VB has always been too limited (and unreliable). If you want to write a reliable DDE based app in VB, you have to use specialised DDE ActiveX controls. I always used DDEClient. That one can be used with the .NET framework as well.

    About the difference between VB 6.0 and .NET. Yep, they are very different. VB 6.0 code cannot be used in .NET. It has to be converted. With .NET Microsoft broke the backwards compatibility to introduce new concepts.

    To Vikana.
    DDE is more reliable than COM. An application can lose events, but it doesn't drop Window messages (DDE messages). It stacks them up. What can happen is that the client app doesn't process the messages fast enough (excel is notorious for this problem). I have written a a realtime data loader program based on DDE that links Signal (satelite feed) with a SQL database. I subscribe to over 1000 symbols simultaneously. No problem with performance (but I had to go multi-threaded to get it working).

    Peter
     
    #18     Jan 20, 2002
  9. Hey guys I need a little advice. I've been reading about the dde/excel setup and am wondering if I would be able to use it. I have no programming experience at all. I don't have excel2000 but would get it if I could do this one thing. I want to instruct IB to run a .25 trailing stop on an open position. I only trade the QQQ so I would only need to set it up once, I think. I work in the afternoons and when a trade is going my way I hate to close it out before I go. If I could use a trailing stop it would be great. Would I be able to set this up without programming experiece?
     
    #19     Jan 20, 2002
  10. BeenHere

    BeenHere

    >Hi, I love the code snippets (VB) I get the
    >tickers working but the orders not.

    >Here's the code I use, hopefully you can
    >find the bug

    I haven't tried to replicate your problem yet (I will do so after market hours today hopefully), but I only notice one difference between what you've done and what I do. Pick a dramatically higher order ID numbers (something like 999995) and try again. Someone wrote in this forum that if the order ID number is lower than a previous ID, it won't work. I have no idea it this is true or not.

    Don't worry about both the ticker and order code being on one form, that is not your problem. In fact, I've never tried the order code without executing the ticker code before it to bring up a line in TWS.

    I'll work on it later.

    Good luck
     
    #20     Jan 23, 2002