Announcement

Collapse
No announcement yet.

Quotes via efs?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Quotes via efs?

    I am wondering how to get the bid and offer via efs. I am using a system to trade with efs and Dynaorder and it would be helpful to get quotes for entering orders. I am willing to consider any kind of combination of DLL calls or programming hacks to accomplish this. Thanks for any assistance.


    -Christian

  • #2
    Currently access to bid and ask isn't supported in EFS.
    Garth

    Comment


    • #3
      Thanks,

      The only solution I can think of right now:

      Write a DLL incorporating the TWS API from Interactive Brokers, where I can access bid/offer. Call that DLL from efs.


      -Christian

      Comment


      • #4
        Are there plans to have bid/ask variables supported in EFS at a future time? I'd imagine this should be a pretty standard thing, especially for developing a trading system...

        It would be very useful for those of us that are shooting limit orders off through say, dynaorder for example.

        Thanks,
        Joshua C. Bergeron

        Comment


        • #5
          I think it would be great if they did, but I can also see the problems. Bid/ask is a lot more data than just trade data. With some lower end systems, we have already seen that having too many ES charts up can cause major problems. Start adding the ability for users to get bid/ask information would be asking for problems as some group of people out there would then try to display this information on all their 15 charts running on their 300MHz CPU under windows95 and then complain bitterly that everything hangs.

          Still, if some throttle methodology was used (filtering unchanged bid/asks, limiting the number of charts a bid/ask request could be done on, etc) I think this would be win for everyone. You are not even close to being the first person requesting this.

          Any comments eSignal?
          Garth

          Comment


          • #6
            I definately see what you are saying...

            I imagine even only creating a couple functions in their java interpreter to get access to just the current bid and ask would be sufficient for most people's needs?

            var bid = bid();
            var ask = ask();

            Anyway, those people using 300mhz machines should read the minimum requirements for this software

            Just my $.02

            Joshua C. Bergeron
            (jcb@othernet)

            Comment


            • #7
              I have that DLL, BTW, in case anyone is interested:


              Functions include:

              call("Bid")
              call("Ask")
              call("bidSize")
              call("askSize")
              call("lastSize")

              Note: you must have an Interactive Brokers account and TWS running in the background.

              Not sure how to distribute it, but I might have a spare copy

              Comment


              • #8
                Hey.. Cool.

                The call() function just calls an EFS file right? Are you using a custom DLL to fetch the bid/ask from the TWS API?

                I'm definately interested in checking it out. I'm sure a lot of people are. If you're willing to disclose the DLL (I'm a little sour on my windows programming skills, but I think a statically compiled DLL would do?)

                Maybe post it on esignalcentral? Up to you... If you don't post it I'll write one and post it

                Nice work..

                Joshua C. Bergeron
                jcb@othernet

                Comment


                • #9
                  Yes, it is a custom DLL. It is called from an efs script like any other DLL:

                  Here is how you declare it:

                  var tws = new DLL ("path to DLL");
                  tws.addFunction("start", DLL.INT, DLL.STDCALL, "start");
                  tws.addFunction("stop", DLL.INT, DLL.STDCALL, "stop");
                  tws.addFunction("setSymbol", DLL.INT, DLL.STDCALL, "setSymbol", DLL.STRING, DLL.STRING, DLL.STRING, DLL.STRING);
                  tws.addFunction("bid", DLL.DOUBLE, DLL.STDCALL, "bid");
                  tws.addFunction("bidSize", DLL.INT, DLL.STDCALL, "bidSize");
                  tws.addFunction("ask", DLL.DOUBLE, DLL.STDCALL, "ask");
                  tws.addFunction("askSize", DLL.INT, DLL.STDCALL, "askSize");
                  tws.addFunction("last", DLL.DOUBLE, DLL.STDCALL, "last");
                  tws.addFunction("lastSize", DLL.DOUBLE, DLL.STDCALL, "lastSize");
                  tws.addFunction("lastError", DLL.INT, DLL.STDCALL, "lastError");


                  In my premain, I write:

                  tws.call ("start");
                  tws.call ("setSymbol", "ES", "FUT", "200303", "GLOBEX");


                  Then I just call the functions where I need them:

                  if (close() >= tws.call ("ask"))
                  // Send call to Dynaorder or whatever


                  I close things out in postmain:

                  function postMain() {
                  tws.call ("stop");
                  }

                  What's the best way to post this?

                  The nice thing about this approach is that I can incorporate any of the TWS API functions, even ordering, directly into an efs script.

                  Now if only my system could still make a profit w/ market orders.

                  Comment


                  • #10
                    atlas

                    Is there a complete list of the TWS calls somewhere on the IB site?

                    Comment


                    • #11
                      Hi Atlas: If I understand this correctly, the DLL should be already on my hard drive since I have TWS operation in stand alone format, with the API enabled. Is this correct? If so, what is the name and location of the DLL? Any further hints and/or
                      pointers? TIA Bob

                      Comment


                      • #12
                        dloomis:

                        The TWS documentation may be found here. http://www.interactivebrokers.com/ht...lp/webhelp.htm


                        rhbishop:

                        What I did was to write a DLL that interfaces with the TWS API. So, in the DLL, I call eConnect(), eDisconnect(), reqMktData(), etc. the usual functions one writes to connect with the IB server. The quotes come back and are stored internal to the DLL. I then have a set of wrapper functions, e.g. bid(), bidSize(), etc. that query the quotes that have come back from the IB server that have been stored while the DLL is running. I then call those wrapper functions using the interface-to-DLL methods via efs. OK, I guess this sounds kind of confusing.

                        I could expose potentially any of the TWS API functions into this library, but I chose to support only the basic quote functionality.

                        I should have the DLL posted to the fileshare soon.

                        Comment


                        • #13
                          OK, apparently, you can't upload a DLL to the fileshare. If anyone is interested I can send you a copy.

                          -CB

                          Comment


                          • #14
                            Very interested. [email protected] . If you like I can put it up on a website for you so others can get access to it easily.

                            Thanks,
                            Joshua C. Bergeron

                            Comment


                            • #15
                              Atlas,

                              The DLL can not be posted to the fileshare (share.esignal.com)? Or to the forum (forum.esignal.com)?

                              I think the forum might reject it, but I think the fileshare will allow it as I've seen zips, exes, ... over there.

                              Let me know where you want to post it and I'll make the necessary adjustments to allow it.

                              m.
                              Matt Gundersen

                              Comment

                              Working...
                              X