In short, too many levels of indirection. I assume you are...

  1. 2,863 Posts.
    lightbulb Created with Sketch. 26
    In short, too many levels of indirection.

    I assume you are interested in mining the coal face, ie Real Time stock scanners.

    Effectively you are wanting to test each tick movement for all listed stocks.

    The preferred solution is a client/server architecture.

    If your choice is Excel as your client, then you are always going to be constrained by a client designed to cater for a wide range of solutions, instead of one purpose built for a low latency client/server architecture. This holds true for both DDE and RTD.

    This includes bottlenecks such as Excel handling all data synchronisation through a single thread, sharing data between instances of Excel, Microsoft timer restrictions...

    It is then better to roll your own client, using Windows unmanaged code as you are (eg. C++) or the .NET framework (C#) like Selma, or if you wanted uber speed a DirectX or OpenGL implementation!!

    Now for the server side you want access to an API for optimum flexibility and reduced interaction. The big trading houses rent infrastructure in close proximity to the ASX data servers connected with fibre. They also use the ASX feeds such as MarketSource to roll their software.

    This is not financially feasible for us mug punters, but we can get good performance without minimal system degradation by using a third party API. Though the limitation of the COM model will still cause headaches when trying to write fast, concurrent code.

    Google the Iguana Spark API - I think they have example code in C and a free trial, though have never used it myself.

    Hope that is of some use.

    Disclaimer: I don't work as a software engineer or anything like that, I am just a share trader.

    .
 
arrow-down-2 Created with Sketch. arrow-down-2 Created with Sketch.