I have reviewed a number of Backtesting programs.
I have outlined Multicharts and Openquant (smartquant) as possibly being best suited to my needs.
My criteria is to be able to backtest my own bought tick data (csv) from 2 vendors going back 15 yrs
Which software package is best able to do this?
Is Multicharts or Openquant able to do this from your experience?
On the outside it looks like it does but need experienced backtesters experience..
There are two versions of multicharts. Regular multicharts and multicharts DT.
Regular multicharts is the paid for package with backtesting and custom indicator creation.
Multicharts DT is basically the same charting software without the backtesting and powerlanguage features. However it is free.
Since you are worried about the tick data and I presume that it would be a deal breaker for you, I suggest you download the free version and test if your data works with it.
Assuming that it does then you could register for a 30 day trial of regular multicharts.
The following user says Thank You to kamicrazy for this post:
everyone here seems to forget amibroker, undoubtedly the fastest backtesting available on the market which will make a difference if you need to access 15yrs of tick data ... and it's very cheap
So far found the Multicharts DT in relation to mapping of own tick data files fine to use...
Compared to ninja no contest IMHO in relation to importing own data..
However I would like to be able to merge multiple data files first of all going back years..
Is this Possible?
gktk, I have amibroker on my list but havent got to it at the moment, its actually 3rd, Smartquant is 2nd..
So ill report back then..
Up to now I have being using excel but I have beign getting to my limit the last 2-3 yrs..
Need to upskill into using backtesting programs and programming in general...
Site Administrator Swing Trader Data Scientist & DevOps
Manta, Ecuador
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
Posts: 49,765 since Jun 2009
Thanks: 32,302 given,
97,540
received
An ASCII map in MultiCharts would be used for real-time mapping of data. If an external program updates the file, MultiCharts will read from it in real time.
With a regular import, you can import multiple times (like once per contract, or once per calendar year, etc). So it is no problem to "merge" data from multiple imports into a single instrument.
I haven't used Amibroker in years, so it slipped my mind. It is indeed powerful and very cheap...
As for SmartQuant, I tested it several years ago, but it was still being developed and I was concerned with the reliability of the platform. It looked interesting, though..
Site Administrator Swing Trader Data Scientist & DevOps
Manta, Ecuador
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
Posts: 49,765 since Jun 2009
Thanks: 32,302 given,
97,540
received
CSV should just be plain text, with commas separating values. Please post a screen shot of what you mean by corrupted.
I've not personally used the real-time ASCII mapping. Is this what you require? Real-time mapping, with the file being updated in real time outside of MultiCharts?
Don't confuse ASCII mapping with regular importing of data, they are two different things.
Understand the difference now, didnt before TBH..
Dont need the real time updating ATM so importing and being able to backtest own data is priority..
The message I get is
File is corrupted ES0306TK.csv
and also if I use text format
File is corrupted ES0306TK.txt
Got everything working, csv files issues, and not seeing name in file an issue, few others..
I have now loaded my first text file 128mb as an example, data looks like it is loaded correctly...
I have loaded the next data file into quotemanager, loads up fine and is available to see in Multicharts DT, however
How do you merge previous data files and the new data file so that it is continuous.?
When I know actually how to do it I will look into the accuracy issues of rollovers etc..
Site Administrator Swing Trader Data Scientist & DevOps
Manta, Ecuador
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
Posts: 49,765 since Jun 2009
Thanks: 32,302 given,
97,540
received
If you create a synthetic imported instrument, there isn't much need to do rollover. If you are importing years of CL tick data for instance, instead of CL 08-10, 09-10, 10-10, 11-10, 12-10 and etc, you could just create "CL" and import.
For real data feeds, like IQfeed, Zen Fire/Rithmic, etc, you can create a custom futures contract and then specify a rollover schedule in QuoteManager based on several different criteria including volume or dates.
Last year I did a video tutorial on creating an advanced NinjaTrader strategy, and you guys liked it. So I thought that since I don't use NT any more it would be a good idea to do the same strategy as an example in EasyLanguage with MultiCharts.
I'm continuing here from a bit of a discussion that started in the "introduce yourself" thread. I thought rather than clutter that up with a discussion about backtesting, I'd transfer it here. Apologies if I've picked the …
And then in August we're holding a webinar where a systematic trader for a big fund will be talking about how he uses MultiCharts.
Site Administrator Swing Trader Data Scientist & DevOps
Manta, Ecuador
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
Posts: 49,765 since Jun 2009
Thanks: 32,302 given,
97,540
received
You are getting off topic for your own thread, please create a new thread in the MultiCharts section for a MC specific question or problem. Briefly, your code looks fine but maybe you created more than just this (like you created a function called "causal") and the problem is there.