DDE Excel linking

Discussion in 'Automated Trading' started by Big Game Hunter, May 30, 2009.

  1. Does anybody know how generic a standard this Excel DDE linking is? If I have an app that is coded in Visual Basic that works with IB via DDE excel links how easy is it likely to be for me to port it to another brokers DDE excel link? Will I have to retool it or is a generic standard that should just plug straight into another broker's socket?
     
  2. I dont think the language, or library, or functions (call it wathever you want) will be the same. For example, the send order may not take the same parameters... same thing for the data request.
    It would probably be better to start with the sample from the other broker and copy/modify the VB code.
    I tell without real experience so take it for what it's worth!
     
  3. DDE is "Dynamic Data Exchange", an older intra-application communications protocol. Excel supports communication with other applications via DDE. DDE is for sending variables and instructions between applications (in this case, application 1 is your instance of Excel, and application 2 is the broker's API application).

    The fact that multiple broker's APIs support DDE may make it somewhat easier to port your application to another broker's API, however, the issue you need to focus on is that the broker's APIs are going to be different and therefore the formatting of the instructions that you send to each via DDE will be different. So, if you have developed a connection to one broker via DDE, you'll have a head start in developing a connection to another broker, but that's all: a head start.

    If I remember correctly, I first wrote applications that used DDE back in 1992. It's OLD. While it's not extinct yet, I would not trust my money to trading over DDE. I believe it's subject to latency issues. Newer versions of Microsoft Windows and Excel use ActiveX to communicate with each other. I'd go with an ActiveX connection for most systems that don't require ultra high frequency. Hope this helps.
     
  4. dde is the same, it's a windows standard.

    however the names of the dde calls will be different... and not all brokers will support the same calls. eg

    broker1.getprice=IBM,GOOG

    might be

    broker2.lasttrade=LVS+MSFT

    also not all brokers will support the same info via their calls (most brokers don't support dde directly), so you would have to verify upfront that they had same info available.
     
  5. Thanks for the advice....
     
  6. Another common method is:

    =XXXXXX|FIELD!'SYMBOL

    Both eSignal and Obsidian do it this way.

    Example:

    MSFT LAST would be for eSignal:

    =WINROS|LAST!MSFT

    for Obsidian it would be:

    =SLX|LAST!MSFT

    Hope that helps... there is a sample worksheet for Obsidian offered here: http://www.silexx.com/obsidian/release/0.9.77.html
     
  7. You can design a broker agnostic trading system in excel but you will need to build a reference table of each broker's DDE commands and limit your trading functions to what is commonly supported by all.

    It's not a big ordeal for basic quotes, orders, positions and balances...
    Useful for comparing price data, spreading trades across two or more brokers, stand by situations and measuring overall broker performance.