Who offers true tick by tick backtesting

Discussion in 'Automated Trading' started by bundlemaker, Feb 28, 2012.

  1. I was bummed out to find that NinjaTrader can not do this. As an example of what I mean, let's say system signals to go long X ticks above prior bar high. Ninja, supposedly (I haven't tried myself) will execute this correctly in a live situation, but in backtesting, the fill comes actually on the open of the bar FOLLOWING when the X tick high of the signal bar is exceeded.

    I know IRT and MarketDelta can do what I want (I've done it) but they offer no real time live execution solution that works properly.

    Can anyone state if this is doable in MultiCharts? Something else? I find it amazing this functionality isn't readily available, as it's the way a lot of people need/want to trade.

    Bob
     
  2. MultiCharts does true tick-by-tick backtesting very well. You can load tick data from a source of your choice, such as IQFeed or your own data files. Plus, in the 64-bit version, you can load years of tick data, backtest it, and trade live.
     
  3. NinjaTrader does offer tick by tick backtesting. You just have to build the strategy so that it will operate properly on a 1 tick chart.
     
  4. tim888

    tim888

    Are you sure? Did you try this?
     
  5. Perhaps, but it looks like it would be extremely difficult to code it. Other platforms (like Neoticker, MarketDelta, IRT) don't have to fool with multiple timeframes.

    If some one could point me to some sample code for something like the following I'd certainly give it a go...

    So, lets say I get a long signal (some set of conditions true using Range bars, call it an MA cross if you want). On the next bar, I want to go long X ticks above the signal bar high.

    How would this be coded in NT to backtest properly?
     
  6. Yes I did try it, then scanned the NT forum and started asking questions. The bottom line is that during a backtest, the finest data resolution available is OHLC for the bars in the chart. The net result is that entries occur 1 bar late in the backtest (compared to where the entry would be on live data).

    This is my experience and the NT forum Ninja guys verified this.
     
  7. tradelink is natively tick-based.

    also :
    *open source and free.
    * works with 17+ brokers and data feeds.
    *super fast multi-symbol tick-by-tick simulations (eg 250,000-1M ticks/sec).
    * has tens of thousands of downloads and hundreds of developers on community list

    to authors post :

    "long X ticks above prior bar high"

    here is a very simple example of doing this, you could also have time and tick-based bars and do it that way :

    Code:
    public class MyResponse : ResponseTemplate
    {
       var timebars = new BarListTracker();
    
       var ticks = new    GenericTracker < int > ();
       int LONGTICKS = 10;
       int ENTRYCONTRACTS = 1;
       void GotTick(Tick k)
       {
            // ensure ticks are counted for each symbol
            ticks.addindex(k.symbol);
            // build time based bars for each symbol
            timebars.newTick(k);
    
            // test for your entry condition
            if (ticks[k.symbol]++==LONGTICKS)
                  sendorder(new BuyLimit(k.symbol,ENTRYCONTRACTS,timebars[k.symbol][-1].High));
        }
    
    }
    
    google tradelink project or tradelink.org for more info
     
  8. Just use a 1 sec or 5 sec chart for backtesting if you want more realistic backtest fills at your breakout price. It may or may not be possible to do this based on how your method code is already setup.


    I have one where I use the daily high or low as trigger signal and ran into same problem. I just use a small range, volume or second chart to get the most accurate reading.
     
  9. spd

    spd

    You havent had luck with MarketDelta Trader? I havent used it for executions but it looks pretty slick.
     
  10. MarketDelta trader is a footprint with DOM, it has nothing to do with autotrading.
     
    #10     Feb 28, 2012