programming question

Discussion in 'Strategy Building' started by futuretrade, Aug 1, 2003.

  1. Ninja

    Ninja

    Did you use DDE? When IB released the TWS API I started with TWS-->DDE-->Excel and got funny results. Even Microsoft says that you should not use DDE for such realtime-applications.
     
    #11     Aug 1, 2003

  2. Really, Pascal? That's interesting because I have some intermediate experience with pascal but a few years back.
     
    #12     Aug 1, 2003
  3. maxpi

    maxpi

    DDE is a bottleneck if you try to bring too much data through it. Could be other problems that I don't know about. I don't consider IB a good source for data simply because that is not their main business. It seems like ActiveX is the better way to go. I guess if I was going to resurrect the Excel efforts, and I would love to but have not the time or need for it right now, I would look for ActiveX interfaces to data (I think Mytrack has that but they will limit you to 300 issues anyhow). IB has an ActiveX interface to their API and the Excel to IB interface seems like it would probably work, not sure who you would get data from. Some data providers have Excel plug-ins for realtime data, the only one other than Mytrack that I know of with a plug-in for historical data is quote.com and basically I don't want to use their data for a number of reasons but if that was the only source of historical data into Excel other than collecting it myself I would use them because they place no limit on symbols for history and I would use Esignal for realtime.

    Maybe this Excel thing is more doable nowadays, I know my current computer is way, way more stable than the one I had and XP is way better than Win98, the newer Excel is probably an order of magnitude better also, I'm tempted to try that again.
     
    #13     Aug 1, 2003
  4. Ninja

    Ninja

    I read some good posts about the problems with DDE when it is used to broadcast realtime data between applications. There even was a Microsoft document somewhere on their website stating that. Can't find that now. What I just found is Microsoft Knowledge Base Article - 189498. Interesting how they turn away from DDE:

    "This article describes how to use Dynamic Data Exchange (DDE) from a Visual Basic program. Although Visual Basic offers more powerful, robust and reliable intercommunication between programs by using OLE, it still supports the older DDE technology. You can use DDE to link to and share data between programs.

    Using OLE to communicate with other programs is better than using DDE with Visual Basic. OLE offers you better performance than DDE does. If a program supports OLE automation, it exposes an "Object Model" you can use to manipulate the program (through code) to complete actions for you. DDE is more useful in communicating with older programs that might not support OLE but do support DDE, and many 16-bit programs fall into this category.

    Microsoft recommends that you use OLE rather than DDE to communicate with another program when you are developing your Visual Basic program. However, because there are times when you may need or want to use DDE, this article describes how to use DDE from a Visual Basic program. "



    After my experiences with DDE I programmed a trading application which used TWS+ActiveX+VB. Not bad. However I wouldn't use it for an ATS.
     
    #14     Aug 1, 2003