Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Strategy Analyzer: Slippage ?

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

    Strategy Analyzer: Slippage ?

    In running some recent tests on the Strategy Analyzer, it doesn't look like the slippage feature is working. Could you verify that it does?

    #2
    Hello spottysallrite,

    The slippage in a backtest is only applied to market orders and does not work with 1-tick intra-bar granularity or Order Fill Resolution High.

    Is the script placing market orders?

    Do you have the order fill resolution on high or 1-tick intra-bar granularity implemented?
    Chelsea B.NinjaTrader Customer Service

    Comment


      #3
      Yes, these are market orders, And, yes, this is trading on the 1 tick ES.

      When trading live on a sim account there is ALWAYS 1 tick of slip. So, is there any way to fix this conflict (ie, backtesting trading different from live sim) ?

      Comment


        #4
        Hello spottysallrite,

        The slippage is limited to within the bar of valid prices. When using a 1 tick series, the 1 tick is the bar. This means that slippage does not have an effect when the orders are submitted to a 1 tick series.
        Chelsea B.NinjaTrader Customer Service

        Comment


          #5
          So there's no way to have the Strategy Analyzer perform the same way as live trading?

          Comment


            #6
            Hello spottysallrite,

            Not when implementing 1-tick intra-bar granularity for accuracy. You could chose to delay your order 1 tick. When the conditions is true set a bool for the next BIP 1 update, then the bool is true in BIP submit the order and set the bool back to false.
            Chelsea B.NinjaTrader Customer Service

            Comment


              #7
              Really? Why not just fix the sim so that it doesn't always take out a 1 tick slip? (Or, allow the user to select in sim how much slip to apply.)

              Comment


                #8
                Hello,

                The backtest engine would still need to be filling orders within the valid prices provided.

                You can place orders to the primary series if you want this range available for slippage.
                Chelsea B.NinjaTrader Customer Service

                Comment


                  #9
                  No, the primary series (ES 1 minute) is too slow for this. This really needs to be implemented on the 1 tick, and the user should be allowed to select what slippage (either in backtesting or sim) he wants, if any. Why can't this be done?

                  Comment


                    #10
                    Hello spottysallrite,

                    It would lead orders at invalid prices.

                    I will submit your request for the development team to consider this.

                    Once I have a tracking ID for this request I will post in this thread for future reference.
                    Chelsea B.NinjaTrader Customer Service

                    Comment


                      #11
                      Well, I'm currently getting invalid fills in sim (ie, the fill price is always 1 tick less than the MIT price, or is that just what happens in live trading?)

                      ​Yes, please submit a request for this. (sim and backtesting should produce at least similar results, eg produce similar / same fill prices.)

                      At minimum, the automatic 1 tick slip should be taken out of the sim. Better, both the sim and backtest should allow the user to select the amount of slip, if any. And, this should be possible regardless of the series used. ie, it should be possible when using a 1 tick series for trades. (Ok, an explanation might be provided in the Help Guide to the effect of a warning that trades might be placed with prices that didn't exist at the time of the trade. Then again, for the ES during RTH there should be enough volume that this shouldn't be a problem.)

                      Now, what do I do about optimizing my strategies until this gets fixed? Delaying the execution by one tick doesn't solve this problem (as above).
                      Last edited by spottysallrite; 04-13-2023, 09:24 AM.

                      Comment


                        #12
                        Hello spottysallrite,

                        This request is being tracked with ID # SFT-5854.

                        Please note, we receive many requests and cannot reasonably implement all requested features or changes. Interest is tracked internally and if enough interest is tracked, it would be weighed against how feasible it would be to make those changes to consider implementing, so we cannot offer an ETA or promise of fulfillment.

                        When new features are implemented, they will be listed in the Release Notes page of the Help Guide. The ID number may be different than the internal feature request tracking ID, but the description of the feature will let you know if that feature has been implemented.

                        Release Notes - https://ninjatrader.com/support/help...ease_notes.htm

                        I would not have a workaround for forcing slippage when orders are placed to a 1 tick series.

                        To confirm, the MIT order is being submitted to the 1 tick series but is not filling at the stop price?
                        Chelsea B.NinjaTrader Customer Service

                        Comment


                          #13
                          The MIT orders are being triggered by the MIT price. (Trading on the ES 1 tick works fine, both in backtests and sim.) However, when trading sim, the fill price is always one tick less than the MIT price.

                          Perhaps the coders for the sim module were thinking that the MIT price is the ask price, so the fill price would be the bid price, which is (nearly always during RTH) one tick less than the ask price. (In that context, the term "slippage" doesn't strictly apply, but conceptually, it does.) If that was the thinking, then that same logic should be applied to the backtest module. ie, the fill price in backstesting should be one tick less than the MIT price.

                          In short, I just want the sim to produce the same (or at least similar) results as when backtesting. Very different results can be obtained even if the fill prices are just one tick off. ​

                          Comment


                            #14
                            Hello spottysallrite,

                            The MIT would become a market order and would fill at whatever the market price is.

                            A buy market order would fill at the ask, which is typically 1 tick above the last price. A sell market order would fill at the bid which is typically 1 tick below the last price.

                            A 1 tick ask series or 1 tick bid series to the chart and this will show this.

                            In backtest, only last data is used, so there may be a difference there.
                            Using the unmanaged approach, you could add a 1 tick ask series / 1 tick bid series with AddDataSeries() and submit buy orders to BIP 1 and submit sell orders to BIP 2)
                            Chelsea B.NinjaTrader Customer Service

                            Comment


                              #15
                              I appreciate your suggestion, but why would I want to triple my data load just to get the same result as simply subtracting one tick from the sell MIT price? (Remember, I'm using the ES during RTH, so there is rarely, if ever, more than a 1 tick difference between the bid and ask.)

                              Comment

                              Latest Posts

                              Collapse

                              Topics Statistics Last Post
                              Started by argusthome, 03-08-2026, 10:06 AM
                              0 responses
                              77 views
                              0 likes
                              Last Post argusthome  
                              Started by NabilKhattabi, 03-06-2026, 11:18 AM
                              0 responses
                              45 views
                              0 likes
                              Last Post NabilKhattabi  
                              Started by Deep42, 03-06-2026, 12:28 AM
                              0 responses
                              27 views
                              0 likes
                              Last Post Deep42
                              by Deep42
                               
                              Started by TheRealMorford, 03-05-2026, 06:15 PM
                              0 responses
                              32 views
                              0 likes
                              Last Post TheRealMorford  
                              Started by Mindset, 02-28-2026, 06:16 AM
                              0 responses
                              63 views
                              0 likes
                              Last Post Mindset
                              by Mindset
                               
                              Working...
                              X