Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90


Any easier way to backtest stratgies

  • Filter
  • Time
  • Show
Clear All
new posts

    Any easier way to backtest stratgies


    I like the backtest for seeing if a strategy is viable but I realized it is not incredibly accurate.

    My next step is to take it to a playback connection using historical data.

    I compare things like if things work better with a new indicator like no EMA or two different EMA levels and the way I do it is rather archaic.

    I create all three strategies and test each other individually resetting the day everytime. When I try to click multiple strategies I see that the sync goes to False most likely because they still all have the same entry orders.

    Is there any faster way to do this?

    Thank you for your response.

    I’m having the same issue here... I compared Playback historical data and Strategy Analysis but there is a huge difference in results even though they are still positive. When I use the strategy in real time, it seems like all I get is more losses and than winners... Not sure now if the Strategy is not that good or what....


      These discussions don't mean much without providing the BarType information
      of the chart your strategy is running on.

      Renko and Range based charts have different characteristics than Minute and
      Tick based charts.

      Not viable? Not accurate? How should you address these problems?

      In my experience, the first step in trying to bring results closer together is to
      study the slippage experienced in all environments. That is, the usual issue
      causing uneven results is different entry prices for your entry orders (esp if
      you're using Market orders) and the usual suspect causing that is slippage.

      For example, when using Market orders,
      Slippage on UniRenko is always going to be at least 1 tick. This is because
      the UniRenko bar closes only when the next tick exceeds the current bar's
      boundaries. This means a real-life entry price at the Close of the UniRenko
      bar is extremely unlikely -- your entry price is almost always at least 1 tick
      beyond the bar close. Range bars have similar issues. Minute and Tick
      based charts not so much (or not at all).

      Thus, like I said, these general complaints aren't germane until you first focus
      on the BarType of the underlying chart. Then over a controlled period of time,
      devise experiments whereby you study every entry order in real-time, then
      study how Strategy Analyzer and the Playback Connection entries differ from
      your live entries -- your goal is to bring SA/PC results closer to real-time, not
      the other way around.

      In summary,
      It's usually the entry orders causing the differences. Once you understand
      your BarType well enough to get SA/PC entries closer to real-time entries,
      then you can start to trust what you see when you run SA/PC before doing
      real-time testing.

      Just my 2˘.



        Thank you so much for your input!

        You are certainly right about those things you mentioned.

        I was referring more about the efficiency of testing multiple strategies and if there was an easier way rather than clicking one strategy and then reloading the time frame and then trying the other strategy to see how it compared.

        I realized the entries of the playback function were too smooth and crisp because of the 0 slippage.


          Makes sense.... I am trying to find the best results between Range Bars and HeiKen Ashi/Tick... I keep switching back and forth whenever I switch something on my Strategy to try to find a good balance between Profit % and Ratio.... I appreciate your input!


            So SLIPPAGE, on STRATEGY ANALYSIS it has a slippage option there, should it be left at zero?..


              Hello litamm89,

              To increase accuracy for bar types that do not use RemoveLastBar(), add a 1 tick series for intra-bar granularity and place the orders to this series.


              Slippage is the amount of price change that can occur during transit time as an order is submitted through the internet to the exchange. This can be simulated in a backtest if you are experiencing slippage with live orders placed to a brokerage.
              Chelsea B.NinjaTrader Customer Service


              Latest Posts


              Topics Statistics Last Post
              Started by 7robert, Today, 11:50 AM
              0 responses
              Last Post 7robert
              by 7robert
              Started by ezrollin, Today, 10:40 AM
              7 responses
              Last Post NinjaTrader_Jesse  
              Started by sidlercom80, Today, 10:20 AM
              2 responses
              Last Post sidlercom80  
              Started by TraderElegante, Today, 09:53 AM
              2 responses
              Last Post TraderElegante  
              Started by Kreyenhagen, Today, 09:03 AM
              1 response
              Last Post NinjaTrader_ChrisL