Announcement

Collapse
No announcement yet.

How to trade from Option Chain window?

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

  • How to trade from Option Chain window?

    I am looking at the Option Chain window. When right-click on a Option Item, either call or put, it will promt out a popup menu, on which there is an menu item 'Direct Trading'. 'Direct Trading' has 4 subitems, BUY OPEN, SELL CLOSE, SELL OPEN, BUY CLOSE. When I clicked any of them, I was expecting that my application can intercept a "PlaceOrder" event. But it didn't happen?! I really want to know what was going on behind? If there any other to trade option?

    BTW, my program has no problem in getting an order that was placed through "ORDER TICKET" panel.

    Jason-R

  • #2
    Hi Jason,

    Setting this up is fairly easy to do, it all depends on who you are using as your brokerage. There are three basic types; integrated, web and direct access. I've included a list of the different brokerages that we work with and which category they fall under. As far as setting up the hand shake between eSignal and your brokerage, this can be done in the with the preferences in the "Trade" menu (the screenshot below). You have to tell eSignal which type of setup you want to execute with, be it integrated or direct access. Once this is setup, should work well for you. Thanks.




    Comment


    • #3
      Hi, Duane
      I still could not get the OnPlaceOrder called.

      My setting is:

      ActiveX Trading (No Broker) : Default (true), Visible (true), version (220/1)

      eSignal Paper Trading: false, false, 220/1

      Default Trade Button Action: Direct Access

      Again, I can capture the OnPlaceOrder if I placed an order through "Order Ticket" Panel. But if I clicked "Direct Trading"->"Buy Open", nothing happened in my application.

      Jason

      Comment


      • #4
        You should add this code to your app so that your entitlements are checked.

        ' This should be set to the user name of the user
        esignal.SetApplication("YOUR USERNAME")

        'CODE TO CHECK FOR ENTITLEMENT
        Do While (esignal.IsEntitled) = False
        Thread.Sleep(1000)
        Loop

        ' entitlement refers to whether a particular user is allowed to access eSignal via ActiveX
        If (esignal.IsEntitled()) Then

        ' this is to ensure that everything is reset, in case of a crash or hard exit of a previous
        ' instance of the control
        esignalbrokergui.ResetBroker()
        ' this informs SmartBroker that we support cancels
        esignal.SetSupportFlags(IESignal.supportFlags.sfCA NCEL)
        ' this will appear in the menus and the SmartBroker header
        esignalbrokergui.SetBrokerName(("My Broker Example"))
        CreateCategoriesAndColumns()
        AddCommands()
        Else
        MsgBox("Not entitled!")
        End If

        Comment


        • #5
          Hi, Robi,

          I have no problem with the entitlement. Otherwise my program would not able to get the "OnPlaceOrder" event.

          But my program was notified of "OnPlaceOrder" only when user placed an order through the "Order Ticket" panel. This panel was turned on by menu "Trade"->"Attach Order Ticket".

          However, if I clicked popup menu item "Buy Open" in the Option Chain window, my program was notified of nothing. I believe that clicking on the "Buy Open" "Sell Close" "Sell open" "Buy Close" must eventually fire something that could be captured in a 3rd party application. Otherwise, there is no reason for them to be there.

          P.S. To get to the "Buy Open", you can right-click on an option entry to bring up the pop menu, where you then select "Direct Trading".

          Jason Ruan

          Originally posted by eSignal Robi
          You should add this code to your app so that your entitlements are checked.

          ' This should be set to the user name of the user
          esignal.SetApplication("YOUR USERNAME")

          'CODE TO CHECK FOR ENTITLEMENT
          Do While (esignal.IsEntitled) = False
          Thread.Sleep(1000)
          Loop

          ' entitlement refers to whether a particular user is allowed to access eSignal via ActiveX
          If (esignal.IsEntitled()) Then

          ' this is to ensure that everything is reset, in case of a crash or hard exit of a previous
          ' instance of the control
          esignalbrokergui.ResetBroker()
          ' this informs SmartBroker that we support cancels
          esignal.SetSupportFlags(IESignal.supportFlags.sfCA NCEL)
          ' this will appear in the menus and the SmartBroker header
          esignalbrokergui.SetBrokerName(("My Broker Example"))
          CreateCategoriesAndColumns()
          AddCommands()
          Else
          MsgBox("Not entitled!")
          End If

          Comment


          • #6
            The Direct Trading menu is not associated with the Integrated Trading, which is where the 3rd party notifications more or less go through. If you want stuff in the right-click menu, you need to add your own "trade commands" (using AddBrokerTradeMenuCommand) and those will appear in the popup.

            Comment

            Working...
            X