Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Growing list of TD issues

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

    Growing list of TD issues

    Ok... didn't think live trading would be such a huge transition from live simulation.

    1. Issue with Limit order filled by TD and not updating the Ninja Strategy. This is sporadic and Ninja support has been reviewing this for about a week. The log file generates a cbi.marketdata exception with the QID symbol, could be related?

    2. Most of my strategies issue a Stop Market and Profit Target with each Long position entered. These orders are OCO. However, an Exit order generated in the strategy will NOT cancel the Stop Market and Profit Target orders and the Additional Sell order creates an error in TD and kills the strategy. Issuing a close order in TD creates the same error, so I guess this is a limitation in TD and not specific to the adapter. However this is not documented or flagged as a possible issue.

    3. In order to overcome issue #2, Support suggested I get rid of the Stop Loss order, so now I only create a profit target order with each Long position. I thought this had a decent chance of working, however, in my live trading today, the profit order is stuck in a "pendingSubmit" status. It's my understanding that the SetProfitTarget should submit a working limit order. Additionally, when the target price was hit, Ninja still did not "send" the order to TD. (as might happen with a stop loss in sim mode). Is there some param that I've missed?

    So, with strategies that worked flawlessly in live simulation, I've experienced nothing but obstacle after obstacle in live trading. Is the TD adapter not ready for primetime? I'm ready to switch to IB...I just want the automation to work.

    #2
    sublime,

    1 and 3. We have a pending issue and are working with TDA on this. We have a custom build we would like you to try and as you run into the issues again to include full trace and log folders for us to investigate. When you send in your logs and traces please also include the particular order ID of the order in question and the relevant timestamp of when it occurred. Thanks.



    Remember to clear your internet browser cache before you install this. The Cbi.MarketData exception is not related.
    Josh P.NinjaTrader Customer Service

    Comment


      #3
      Ok, I'll do it, but what issue(s) does this build address? Does the build address all three issues or just 2, or just 1 and 3. I want to know which scenario's to test.

      However, while these are being worked, I still want to trade. Do any of these issues exist with the IB adapter?

      Comment


        #4
        sublime,

        The custom build adds more trace information to help us in trying to pinpoint the exact location of interest. 2 is a limitation. Please try 1 and 3 for now. Thanks.

        As far as IB goes, please review this thread: http://www.ninjatrader-support2.com/...t=10297&page=4
        Josh P.NinjaTrader Customer Service

        Comment


          #5
          Alright... installed the build and tried it out this afternoon on a strategy. The strategy attempted to only create a profit target order with each long position.

          The result was the same. The profit target order stuck in PendingSubmit. I had to exit the order manually. Where would you like me to send the trace and log files?

          Comment


            #6
            Right here on the forums would work.
            Josh P.NinjaTrader Customer Service

            Comment


              #7
              If you find that the files are too large (I suspect they may be) please try using the Mail to Support feature and check trace and logs. In that email, please mention this thread as well as the timestamp your order occurred at. Thanks.
              Josh P.NinjaTrader Customer Service

              Comment


                #8
                Ok, sent to your support address. I hope it helps. I really want to get these transactions working. Until then, I'd still like to make some money, so let me know if you think this would work.

                I can send a profit target and stop loss order on every long position. We know this works. If the price triggers the limit order, TD cancels the stop market order and usually updates NT. Good Transaction. If the market instead turns against my position and triggers a strategy close, instead of calling the ExitLong method (which we know blows up) , could I instead call the SetStopLoss method and modify the stop loss order so that it triggers? Would this close my position as just as effectively as the ExitLong.

                I know this is not optimal, but it 1) allows me to submit a profit target and 2) should be able to close the position without all the errors.

                What do you think?

                Comment


                  #9
                  sublime,

                  There are a number of problems with the TDA broker, in addition to the stop/target issue (which I also had). By the way, I never resolved the stop/target issue... I just began to issue my own stop orders. (And NT does have excellent tools, with OnOrderUpdate/OnExecution, for doing precisely that.)

                  - you'll find that market orders (like EnterLong or ExitLong) with TIF set to "Gtc" will be rejected.

                  - the most serious issue of all for me... NT tries to differentiate between use of Buy versus BuyToCover based on what the internal database tells it about your current position. However, the internal database is often wrong/corrupted.

                  So, regardless of which function your code uses (EnterLong versus ExitShort)... regardless of what your portfolio position is (as indicated by Position.MarketPosition)... very possible to find yourself in a situation where BuyToCover orders are issued, and subsequently rejected by TDA.
                  Last edited by heech; 02-27-2009, 04:24 PM.

                  Comment


                    #10
                    sublime,

                    We have received your email and are in the process of reviewing it.
                    Josh P.NinjaTrader Customer Service

                    Comment


                      #11
                      sublime,

                      The reason it stays in PendingSubmit is because of a current limitation on the TDA adapter that requires OCO pairs to be submitted together. What this means is that you cannot use the Set() methods separately. To workaround this either submit both or if you only want to use one submit an explict ExitLongLimit() for profit targets or ExitLongStop() for stops.
                      Josh P.NinjaTrader Customer Service

                      Comment


                        #12
                        Heech, I've also run into each of these issues the hard way. The gtc I can handle. I've even minimized the situation when it mysteriously goes short on me. But I need to have a profit limit work. Have you given up on the TDA adapter? Which one do you use now?

                        I've already put in the months of backtesting and simulated testing to create some great, profitable strategies. But I can't implement them because of commo problems between NT and TDA.

                        Comment


                          #13
                          Ok, josh.. so

                          1. submit together and modify the stop market if I want to exit the position.

                          2. Or generate separate ExitLongLimit() and ExitLongStop() orders.

                          I think I can do that. Can I call the ExitLongLimit method right after the EnterLong method? Since I'd have to calculate the limit price, I might need to wait until NT knows I have a MarketPosition.Long

                          Comment


                            #14
                            Originally posted by sublime View Post
                            Heech, I've also run into each of these issues the hard way. The gtc I can handle. I've even minimized the situation when it mysteriously goes short on me. But I need to have a profit limit work. Have you given up on the TDA adapter? Which one do you use now?

                            I've already put in the months of backtesting and simulated testing to create some great, profitable strategies. But I can't implement them because of commo problems between NT and TDA.
                            How did you handle the accidental short problem...? I'd really like to hear ideas on that front. That's the killer issue for me.

                            I've moved on to IB as of... yesterday, in fact. So far at least, it's been working pretty well for me. The biggest complaint I've heard in the past relates to IB's data connection.. so I subscribed to Barchart as well.

                            Comment


                              #15
                              Originally posted by sublime View Post
                              Ok, josh.. so

                              1. submit together and modify the stop market if I want to exit the position.

                              2. Or generate separate ExitLongLimit() and ExitLongStop() orders.

                              I think I can do that. Can I call the ExitLongLimit method right after the EnterLong method? Since I'd have to calculate the limit price, I might need to wait until NT knows I have a MarketPosition.Long
                              What I did is call ExitLongLimit in my OnOrderUpdate function.

                              Or if you're concerned about partial fills (if memory recalls, that's also an issue on TDA)... you might want to do it inside OnExecution.

                              FWIW, I didn't really like TDA as a broker's handling of my stop orders. It's just a suspicion, but I couldn't help but feel there were several times the price dipped lower just so they could fill my stop order. In other words, share price would dip to my stop price for a single trade, and then bounce back up.

                              So, I ultimately moved to "simulated" stop orders using OnMarketData().

                              Comment

                              Latest Posts

                              Collapse

                              Topics Statistics Last Post
                              Started by fx.practic, 10-15-2013, 12:53 AM
                              5 responses
                              5,404 views
                              0 likes
                              Last Post Bidder
                              by Bidder
                               
                              Started by Shai Samuel, 07-02-2022, 02:46 PM
                              4 responses
                              95 views
                              0 likes
                              Last Post Bidder
                              by Bidder
                               
                              Started by DJ888, Yesterday, 10:57 PM
                              0 responses
                              8 views
                              0 likes
                              Last Post DJ888
                              by DJ888
                               
                              Started by MacDad, 02-25-2024, 11:48 PM
                              7 responses
                              159 views
                              0 likes
                              Last Post loganjarosz123  
                              Started by Belfortbucks, Yesterday, 09:29 PM
                              0 responses
                              8 views
                              0 likes
                              Last Post Belfortbucks  
                              Working...
                              X