Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

cowcool

Best Strategy Backtesting Software

Recommended Posts

SIUYA, thanks a lot pal for confirming, this is really a shocker for me. I am using latest beta but situation is same, i cant back-test on value basis, if other experience MC users confirm this then it will be lot of help. By the way whats your latest platform ?

Share this post


Link to post
Share on other sites
Why not use 2 data streams one to generate signals and a single tick one (of the same instrument) to generate trades?

 

My one friend suggested that in other forum. Suppose, data series 1 is of 1min tf which is for generating trades, data series2 is of 15min tf for generating signals, now if signal appear true on data stream2 ex. High > new high of the day - and i command MC to buy limit order on next bar on data stream 1 which is of 1 min tf but, next bar didnt take out the new high of the day but 12th one min bar took the NHD then logic will be flawed & MC will through an error. :pullhair: :hammer:

Share this post


Link to post
Share on other sites

What I was thinking was something like

 

if c data2 > h data2 then trigger= true else trigger = false; // data 2 is a 5 minute bar for example

if (currententries=0) and trigger then buy next bar at open; //this will buy on the next tick if data 1 is a 1 tick bar

 

I don't really use strategies myself but can't see why something like this would not work.

Share this post


Link to post
Share on other sites

my platform - for what I require the best system I have found that is great for all aspects of back testing for a retail person is trading blox. It works for me. Possibly a little expensive upfront, but from all accounts it seems fantastic. I have no association with them and have only recently downloaded and learning the system myself, but from all accounts of other users and what I have seen its fantastic. It is built in the same way I built some complex excel based backtesters.... only faster, thats why i relented and bought it. It is not a charting system or for live auto trading however, and MC has its own advantages in this aspect.

I would suggest checking out their website/ user forum and seeing if it suits.

To date, I am not 100% sure if what you require is able to be done in this yet, but I am 90% sure its possible. Personally I test individual ideas, and then combine them - more so to test ideas work as opposed to running a systemised portfolio.

eg; they have in their manual

 

How do I enter an order with a stop?

 

Use a broker order like the following:

 

 

· broker.EnterLongOnOpen( exitStop ) - Buy on the open with an optional stop price

 

· broker.EnterShortOnOpen( exitStop ) - Sell on the open with an optional stop price

 

· broker.EnterLongOnStop( entryStop, exitStop ) - Buy on a stop with an optional exit stop price

 

· broker.EnterShortOnStop( entryStop, exitStop ) - Sell on a stop with an optional exit stop price

 

· broker.EnterLongAtLimit( entryLimit, exitStop ) - Buy at the limit with an optional stop price

 

· broker.EnterShortAtLimit( entryLimit, exitStop ) - Sell at the given limit with an optional stop price

Edited by SIUYA

Share this post


Link to post
Share on other sites
sorry if this has been said before - or if it seems obvious....

In order to be able to trade intra day you must have the correct intra day data. (Ideally down to the tick data)

Unfortunately the systems dont have a measure to be able to buy within a bar unless you can further subdivide the bar you are working on into smaller time frame bars.

you need to be able to see the sequence of trades that make up the bar. ie; which came first the high, or the low.

(I used MC for a while and initially missed this point myself when first looking at it). The only other way to do it is via a fudge.

 

with MultiCharts,

you can use 2 data streams to backtest your strategy.

 

e.g.

use a 5 min chart with a tick data stream

 

use a 5min chart as you would normally do,

so that all the signals are based on the 5 min bar intervals.

with precision backtesting, MultiCharts can read your tick data

and execute trades based on the tick price actions within that 5 min bar.

 

you should read up on the above manual links for more detail and instruction.

Share this post


Link to post
Share on other sites
with MultiCharts,

you can use 2 data streams to backtest your strategy.

 

e.g.

use a 5 min chart with a tick data stream

 

use a 5min chart as you would normally do,

so that all the signals are based on the 5 min bar intervals.

with precision backtesting, MultiCharts can read your tick data

and execute trades based on the tick price actions within that 5 min bar.

 

you should read up on the above manual links for more detail and instruction.

 

yes gone through this sir, and yet my question is same, how it helps me to code how to execute order at specific custom defined value in backtester? tried to use blow fish's approach but it gave wrong entry and exit points. Can some one make real code and post, like this is the way to do this, otherwise started believing MC has this obvious flaw for backtesting intraday methods, there might be some work around but that basic function suppose to be there for easy & frequent use .

Share this post


Link to post
Share on other sites
yes gone through this sir, and yet my question is same, how it helps me to code how to execute order at specific custom defined value in backtester? tried to use blow fish's approach but it gave wrong entry and exit points. Can some one make real code and post, like this is the way to do this, otherwise started believing MC has this obvious flaw for backtesting intraday methods, there might be some work around but that basic function suppose to be there for easy & frequent use .

 

ok, so you recognized the problem is not with MultiCharts, but with your programming code?

 

There are lots of coding resources at the Multicharts website.

Share this post


Link to post
Share on other sites
ok, so you recognized the problem is not with MultiCharts, but with your programming code?

 

There are lots of coding resources at the Multicharts website.

 

well its not that i am research shy person n looking for spoon feeding, i am just looking for direct answer how its coded in MC order type at specific value ? the simplest arrangement with any software, if MC doesnt provide then i believe partial problem is with MC not in coding, furthermore my question is still not answered here & dont see whats the point fingerpointing here n there.

Share this post


Link to post
Share on other sites
well its not that i am research shy person n looking for spoon feeding, i am just looking for direct answer how its coded in MC order type at specific value ? the simplest arrangement with any software, if MC doesnt provide then i believe partial problem is with MC not in coding, furthermore my question is still not answered here & dont see whats the point fingerpointing here n there.

 

 

Jabbing in a software thread with a coding problem is not going to lead to an answer you are looking for.

 

If you want specific help,

you should start a new thread,

with your "problem" clearly and logically laid out.

 

Blaming your inability on MultiCharts will not motivate anybody to enlighten you.

 

 

note: EasyLanguage has been around a lot longer than you.

Share this post


Link to post
Share on other sites

Oh just remember that i suppose to post here about the solution about my issue, its bar magnifier in multichart backtestin properties which need to be enable & you get your entry NEAR ABOUT YOUR STOP VALUE but not exact at the given stop value if you are unlucky enough to not to have tick data for past few years( just few mb to GB of data ) within the bar even if you say buy next bar at market in easy lang. Sorry for my ignorance as i just shifted to easy lang from investor rt, getting use to the platform now.

Edited by alex_laxya

Share this post


Link to post
Share on other sites

By the way this is biggest draw back of easy lang when it comes to back test scalp strategies which some times enter and exit within one minute in high beta stocks. You must have tick data to back test & which is very impractical if you intend to test on 5 years of data( which is must for robust backtesting). Quantitative strategies are difficult to test for sure. Nothing against any platform, still MC is way better than investor rt, since it provides lot of freedom, at the end of day its part of the package. Talking in perspective of back testing issuers nothing about coding.

Share this post


Link to post
Share on other sites
By the way this is biggest draw back of easy lang when it comes to back test scalp strategies which some times enter and exit within one minute in high beta stocks. You must have tick data to back test & which is very impractical if you intend to test on 5 years of data( which is must for robust backtesting). Quantitative strategies are difficult to test for sure. Nothing against any platform, still MC is way better than investor rt, since it provides lot of freedom, at the end of day its part of the package. Talking in perspective of back testing issuers nothing about coding.

 

let me get this straight...

 

you want to have accurate backtesting... so you got yourself some tick data,

good boy.

 

now you are complaining that it is taking you toooooo frick'n loooong

to run your 5 years of tick data? LOL

 

Maybe I can loan you my Cray?

 

I bet you are going to complain about the trouble it takes to count the millions of dollars

when your backtest became successful.

 

 

keep your chin up... you might get there, eventually. ;-)

Share this post


Link to post
Share on other sites

just a few notes on backtesting:

 

1. Backtesting is not real. Don't treat it as gospel.

 

2. Understanding the mechanics (spells: L-I-M-I-T-A-T-I-O-N) of backtesting will save you lots of headache.

 

3. different software handle backtesting differently... don't assume.

 

4. backtesting is to test a trading hypothesis, not validating trading codes.

for code validation, you need live testing.

(or forward testing at the minimal)

 

5. ideally you should test your "system' on at least 3 "business" cycles of data.

ie: 3 up moves and 3 down moves.

for some systems, that means 3 bull runs and 3 bear runs,

for other systems, it might mean 3 years of data.

for scalping, that means 3 intraday oscillations.

 

 

Backtest is fun !

Enjoy it to the fullest.

Edited by Tams

Share this post


Link to post
Share on other sites

great summary on backtesting TAMS.

it is not as easy (as some folks make it out to be).

One of the other key elements to backtesting is making sure you have clean accurate data. This in itself is an extremely important and large job. (Hint: relying on purchased or especially free data is not all there is).

If you are testing on inaccurate data, then you may as well be testing using random data.

(which still has some value in itself)

Share this post


Link to post
Share on other sites
let me get this straight...

 

you want to have accurate backtesting... so you got yourself some tick data,

good boy.

 

now you are complaining that it is taking you toooooo frick'n loooong

to run your 5 years of tick data? LOL

 

Maybe I can loan you my Cray?

 

I bet you are going to complain about the trouble it takes to count the millions of dollars

when your backtest became successful.

 

 

keep your chin up... you might get there, eventually. ;-)

 

well i dont have any intensions discussing about personal stuff, whether i would get there or not or may be i am already there, platform is new for me thats why i raised few basic questions ( & yes problem wasn't about coding ) that doesnt necessarily mean i am a noob who might need basic stuff about what back-testing is, if one really tested 5 years tick data then only can realise how impractical it is or what i am talking about, thats the issue arguing with paper traders lol yes we are mature enough not to rely much on back testing results even after using montecarlo sim & other advance approach.. rofl..its funny when some one stubborn about platform only cuz he/she spend few agonising years to learn the language, i dont have issues learnin c# now if platform doesnt fits in to my skim of things, i wont curve fit the platform by adding extra sleepage only 'cuz it fail to give me accurate entry, have a chill pill sit back & relax like a good kid, i am not talking about scalp alone, quant models cant be back-tested as simple as few statistical arbitrage say pair trading in MultiChart/TS. P. S. No further replies from my end as my issue has been solved.

Edited by alex_laxya

Share this post


Link to post
Share on other sites

oooh you want to do quant... brilliant

C# is powerful and flexible, it can do many things EasyLanguage cannot, (and vise versa)

I am sure C# is good for you.

Take a picture of your hair before you start.

Edited by Tams

Share this post


Link to post
Share on other sites

I've spent the last 6 months with a student version of Matlab trying to learn it and have finally given up and just going with R.

Matlab seems to update too frequently that the online examples of certain things are just a huge cluster fuck. You end up spending more time debugging examples than learning anything concept wise.

R just always seems to work, and if something is broken it points you to how to fix it.

Python has some cool stuff but I don't see why you would bother learning Python over R for this game unless you are already a very good Python programmer.

Even if you are a good programmer in a more traditional language, the value of something like R is that the algorithms have already been gone over with a fine tooth comb for you. Probably 10 guys who know the language better than you and 10 guys who are vastly better at algorithm analysis than you have already added their 2 cents for free. If you find something then you can just spend your time debugging the translation of the algorithm itself to a more efficient execution strategy, not that R doesn't have some nice parallel processing features though for brute force analysis. Good luck starting from nothing with a C variant..

As far as retail backtesting software, its all utter garbage. Its not rational to expect it to ever get better than garbage if aimed at retail trading given the failure rate. The focus will always be on the lowest common denominator in order to stay in business.

Edited by natedredd10

Share this post


Link to post
Share on other sites
I've spent the last 6 months with a student version of Matlab trying to learn it and have finally given up and just going with R.

Matlab seems to update too frequently that the online examples of certain things are just a huge cluster fuck. You end up spending more time debugging examples than learning anything concept wise.

R just always seems to work, and if something is broken it points you to how to fix it.

Python has some cool stuff but I don't see why you would bother learning Python over R for this game unless you are already a very good Python programmer.

Even if you are a good programmer in a more traditional language, the value of something like R is that the algorithms have already been gone over with a fine tooth comb for you. Probably 10 guys who know the language better than you and 10 guys who are vastly better at algorithm analysis than you have already added their 2 cents for free. If you find something then you can just spend your time debugging the translation of the algorithm itself to a more efficient execution strategy, not that R doesn't have some nice parallel processing features though for brute force analysis. Good luck starting from nothing with a C variant..

As far as retail backtesting software, its all utter garbage. Its not rational to expect it to ever get better than garbage if aimed at retail trading given the failure rate. The focus will always be on the lowest common denominator in order to stay in business.

 

Very rightly said. Heard lot of good things about R from few of my friends.

Share this post


Link to post
Share on other sites

I personally, use Tradestation. I have used it to backtest strategies and it is crap for that. It is not accurate. Fills, spreads, all pie in the sky. What you can use it for well is to manually backtest and then forward test. I am sure there are many other programs that work well. I think the key is historical data for your backtest. If you want to go back years then you need to find something that will run an auto strategy, but I don't think TS is the answer there.

For me I like to test 6 months back and the forward test live for a month. If it is working I will know by then. I can factor in news and other events, just as I would in the market.

Share this post


Link to post
Share on other sites
I personally, use Tradestation. I have used it to backtest strategies and it is crap for that. It is not accurate. Fills, spreads, all pie in the sky. What you can use it for well is to manually backtest and then forward test. I am sure there are many other programs that work well. I think the key is historical data for your backtest. If you want to go back years then you need to find something that will run an auto strategy, but I don't think TS is the answer there.

For me I like to test 6 months back and the forward test live for a month. If it is working I will know by then. I can factor in news and other events, just as I would in the market.

 

have you heard of GIGO ?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.