Seeking Win API response in other forum

Discussion in 'Automated Trading' started by syswizard, Jul 17, 2005.

  1. Could someone please offer some advice ? :
    Lightspeed with it's VPN has a very fast and reliable data feed....several seconds faster than ESignal or QCharts in many cases. However, the trading platform technical support has stagnated...yet I am in need of a "feature" to enter trades automatically.
    Several macro programs claim this is possible and I am considering using them to build a module to enter trades via orders that I "park" locally. The module would keep track of the "parked" orders and have a feature to change or remove them...among other things.

    What hit me today was this: Why not just do this with native C++ and a windows-based executable module instead ? Why ? : More reliable, faster, more efficient.

    Can anyone comment on this possibility and whether or not it is DOABLE and/or FEASIBLE and what level of effort it would take. Granted, a vast knowledge of the Windows API would be needed as the program would need to grab the "handles" of many of the GUI components active within Lightspeed...including the one that shows the prints of the trades. Since the makers of the Macro programs claim they can do this, I thought it must be doable within the Win API. Am I right ?

    Any and all suggestions welcome.
  2. You lose me on this one. Why access values directed to graphical components, when you can have direct access through a broker's api?
  3. Ah ! Because the vendor has provided no API to the platform, NOR the datastream and the technical support team is down to a skeleton crew of "nobodys" who can do "nothing".
    Remember: Wallstreet somewhat in shambles right now from this trading environment. Technical support and what-not are the first to "go". Now, even traders are being "let go".
  4. wizardx


    what is lightspeed? is it a data feed or a platform that allows you to enter trades? do you want windows api to pull data from lightspeed or do you want to be able to enter orders into lightspeed?
  5. short answer: BOTH. To be able to enter orders would require the ability to monitor the PRINTS coming thru....which are available by querying the "handle" of one of the GUI components of the Lightspeed interface.
    Again, I've been told this is possible with a certain "macro" program thru it's scripting language. However, I thought..."if the Macro program could do it, why not a separate windows executable instead ?"
  6. tntneo

    tntneo Moderator

    it will be extremely difficult to do this with an API.
    you may easily send keystrokes and mouse clicks, but 'reading' prints and quotes will be unreachable for you (or I).
    Using macro programs will help some, but these are some time very unreliable with programs which are not 'cooperating'.

    sorry about the negativity, but I try to bring down your expectations. maybe you can do this, but I doubt it.
    there is a reason why broker API is what we all use. And even that has complexity, bugs, and require good programming.
    trying to hack into a system creates an order (or two) of magnitude more problems.
  7. Bowgett


    I did similar thing to Fidelity's ATP. I was lucky they use COM objects so it was relatively easy to disassemble their system. Check if they use COM too. Because if they do it should be easier than grabbing text from winows and sending clicks.
  8. Bowgett


    I would also check if they have exported functions from their dlls because it is easy to call them too.
  9. The problem with this is anything you work on will be undocumented and unsupported i.e. if you attack the COM objects, since your broker does not really provide an API for general consumption. Any modifications/changes/whatever from the broker could lead to potentially disastrous results. Just be very careful.
  10. Thanks All...
    I ran DEPENDS on all of the DLL's in the Lightspeed package, and none of the function names had much do to with fetching data...mostly housekeeping and memory-management stuff.
    Well, without the source code and without a documented API, it looks like a Macro program is the only solution. Now the question becomes, how "cooperative" will Lightspeed be and what kind of overhead will the Macro program cause as it monitors these high-speed gui components.
    #10     Jul 18, 2005