Backtesting and Research: MultiCharts or AmiBroker - AmiBroker | futures io social day trading
futures io futures trading


Backtesting and Research: MultiCharts or AmiBroker
Updated: Views / Replies:31,376 / 74
Created: by dnof Attachments:4

Welcome to futures io.

(If you already have an account, login at the top of the page)

futures io is the largest futures trading community on the planet, with over 90,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors Ė all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you donít need to worry about fake reviews.

We are fundamentally different than most other trading sites:
  • We are here to help. Just let us know what you need.
  • We work extremely hard to keep things positive in our community.
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts.
  • We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.
  • We expect our members to participate and become a part of the community. Help yourself by helping others.

You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

Closed Thread
 4  
 
Thread Tools Search this Thread
 

Backtesting and Research: MultiCharts or AmiBroker

  #61 (permalink)
Membership Revoked
London England
 
Futures Experience: Advanced
Platform: Amibroker
Favorite Futures: Forex, Futures
 
Posts: 16 since Feb 2012
Thanks: 4 given, 6 received


TonyB View Post
Mike, thanks for the follow-up. Makes sense as AB doesn't have an emphasis on discretionary trading...

I don't think so. You decide what's your emphasis. And you decide how you wanna design that emphasis. There are examples enough

 
  #62 (permalink)
Site Administrator
Manta, Ecuador
 
Futures Experience: Advanced
Platform: My own custom solution
Favorite Futures: E-mini ES S&P 500
 
Big Mike's Avatar
 
Posts: 46,240 since Jun 2009
Thanks: 29,355 given, 83,237 received

Moderator Note


ArshT has been permanently banned for rude behavior. Such behavior is not tolerated here.




Mike

Due to time constraints, please do not PM me if your question can be resolved or answered on the forum.

Need help?
1) Stop changing things. No new indicators, charts, or methods. Be consistent with what is in front of you first.
2) Start a journal and post to it daily with the trades you made to show your strengths and weaknesses.
3) Set goals for yourself to reach daily. Make them about how you trade, not how much money you make.
4) Accept responsibility for your actions. Stop looking elsewhere to explain away poor performance.
5) Where to start as a trader? Watch this webinar and read this thread for hundreds of questions and answers.
6)
Help using the forum? Watch this video to learn general tips on using the site.

If you want
to support our community, become an Elite Member.

 
  #63 (permalink)
Elite Member
Newcastle, Australia
 
Futures Experience: Intermediate
Platform: Multicharts 8 - Full Version
Broker/Data: IB
Favorite Futures: SPI,FTSE100, 6E, 6A
 
Posts: 285 since Oct 2010
Thanks: 108 given, 177 received


Hi All,

I wish to apologies for the direction this thread took after I started posting.
I was not trying to start a war between camps, just giving my two cents worth based on my experience with both programs.

I will bow out of this thread and leave it to others.

Again, sorry.

Neil.

The following user says Thank You to NW27 for this post:
 
  #64 (permalink)
Site Administrator
Manta, Ecuador
 
Futures Experience: Advanced
Platform: My own custom solution
Favorite Futures: E-mini ES S&P 500
 
Big Mike's Avatar
 
Posts: 46,240 since Jun 2009
Thanks: 29,355 given, 83,237 received

There is nothing wrong with debate and disagreeing with one another. The reason he was banned was because he was being rude in his posts, name calling, etc. That is simply uncalled for and not tolerated, and has no place here.

Mike

Due to time constraints, please do not PM me if your question can be resolved or answered on the forum.

Need help?
1) Stop changing things. No new indicators, charts, or methods. Be consistent with what is in front of you first.
2) Start a journal and post to it daily with the trades you made to show your strengths and weaknesses.
3) Set goals for yourself to reach daily. Make them about how you trade, not how much money you make.
4) Accept responsibility for your actions. Stop looking elsewhere to explain away poor performance.
5) Where to start as a trader? Watch this webinar and read this thread for hundreds of questions and answers.
6)
Help using the forum? Watch this video to learn general tips on using the site.

If you want
to support our community, become an Elite Member.

The following user says Thank You to Big Mike for this post:
 
  #65 (permalink)
Go Bears!
Bay Area, CA - US
 
Futures Experience: Beginner
Platform: TOS, TS & MC
Broker/Data: TDA & TS
Favorite Futures: Stock, Options and now Futures (ES)
 
TonyB's Avatar
 
Posts: 514 since Dec 2010
Thanks: 227 given, 134 received

I see that I missed a lot. Dang. Truly unfortunate that it came to this... Such a discussion really should be civil and respectful. I suppose if I was fully engaged with a platform, with much time invested into it, I'd have some passion too. But, I'd like to think that I'd conduct myself in a way that was not rude though. Oh well...

After searching on "multicharts amibroker backtesting", I found quite a few discussions on other forums. AmiBroker definitely has quite a few users, and does seem to offer a lot. A platform poll on one forum thought they were the most desirable...

i did find some commentary that was critical though, and if still true (a bit dated), that would be an issue for some... Here's one I found on the MC board:

"Amibroker does not have a true dynamic portfolio like MultiCharts does. Amibroker tests each symbol independently and then by hindsight simply deletes those trades that could not have occurred due to the capital limitations. Their program does not understand that next day there can be capital available to open a position. However, there will be no signal to open this position for it has been deleted. At the same time, a new order hasnít been generated because the system does not know about the previous dayís deletion.

The result of what Amibroker calls backtesting is nothing more than an advanced batch-testing, which has nothing to do with portfolio trading. Neither does this model have anything to do with the reality."

From here: MultiCharts: Trading Software for Automated Trading and Backtesting • View topic - Portfolio Backtesting Limitation

On a somewhat related note, I went to go download the newest version of MCDT and found that I need to join FB in order to do so? Gosh, I hope not...

 
  #66 (permalink)
 Vendor: www.amibroker.com 
Wroclaw,PL
 
Futures Experience: Advanced
Platform: AmiBroker
Favorite Futures: Stocks &Futures
 
amibroker's Avatar
 
Posts: 5 since Feb 2012
Thanks: 0 given, 19 received

I am Tomasz Janeczko, the author of AmiBroker. I spent 17 years of my life writing every single line of code in AmiBroker.

I don't want to enter any debate here because everyone has its own preferences, so it is just up to everyone to test free trials of various softwares and make his/her mind by him/herself.

I came here just for one reason - to correct false statements that were posted in this thread.

@TonyB - I understand that you are Multicharts user and you probably have minimum knowledge about AmiBroker and that is fine.
But making judgements and copying misinformation on AmiBroker posted on MultiCharts own forum sent by MC employee is not the best idea and not fair. Mrs Marina Pashkova (MC employee) post on Multicharts forum is an example of our competitor practice of spreading simply false information. I don't know if they do this just because they don't know Amibroker, or for the purpose of making their software selling better. It is not surprising that they are not happy with our software being more capable than theirs yet 10x less expensive.

So, to the matter, AmiBroker FULLY supports true dynamic portfolio. In fact it was supporting portfolio backtesting YEARS BEFORE Multicharts did. Whats more - Multicharts COPIED some of our portfolio backtester features when we pointed out their limitations. AmiBroker DOES NOT remove any trades in hindsight. And AmiBroker has complete knowledge that next day capital can be available and will open the trade if today it can't because of no funds. This mode in AmiBroker talk is called backtestRegularRaw. See amibroker.com/guide/h_portfolio.html
for more details.

The only excuse for Mrs Marina Pashkova may be that she could have checked AmiBroker back in 2000 (12 years ago). But since 2004 (way before Multicharts existed) AmiBroker has FULL TRUE DYNAMIC PORTFOLIO backtester,
with several backtest modes in many ways superior to MC.
What is superior you may ask? AmiBroker allows you to implement scoring and ranking systems , it allows you to implement your own backtesters (custom backtester), it allows dynamic rebalancing (modifying position on symbol A based on symbol B positions), custom smart optimizers (3 of them coming with AmiBroker as open source), etc, etc.

I have no desire to convince anyone to buy AmiBroker - my software sells great and I am happy and I don't need to prove anything to anyone.

But one thing hurts - when someone (like Mrs Marina Pashkova in the mentioned thread) deliberately lies about your work.
Someone said "If you tell a lie big enough and keep repeating it, people will eventually come to believe it". It is sad that nowadays no-one checks the facts.

It is simply not fair.


Thanks for listening.

Tomasz Janeczko
amibroker.com


Last edited by amibroker; February 29th, 2012 at 04:17 AM.
The following 8 users say Thank You to amibroker for this post:
 
  #67 (permalink)
Go Bears!
Bay Area, CA - US
 
Futures Experience: Beginner
Platform: TOS, TS & MC
Broker/Data: TDA & TS
Favorite Futures: Stock, Options and now Futures (ES)
 
TonyB's Avatar
 
Posts: 514 since Dec 2010
Thanks: 227 given, 134 received

Tomasz, welcome to the forum. I noticed a few minutes ago that "amibroker" was viewing this thread was hoping you would post. Thank you for doing so.

First, I'm sorry if you feel what I posted was inappropriate. Clearly (I hope to most, at least), it was not my intent to supply misinformation. I am a guy simply doing his best to learn all that I can about trading platforms, and these two are now receiving most of my interest... I'd like to know the pros and cons of these systems, and I value the input of others who have more experience than me in both back-testing and trading, as well as these programs in particular. Basically, people who are best able or equipped to ask the right questions and understand what is being said. An internet search found that information from the MC board and while I would have gladly replied to that discussion, I'm unable to do so as it is for MC subscribers only. I have just the free version (MCDT). So, I posted it here for feedback and hopefully to spur some constructive discussion... I hope you can appreciate my position.

With 17 years invested into AB, I truly understand your position. This is your baby and you are proud of it. From what little I've experienced and read thus far, you should be. If you haven't already done so, you might want to consider contacting that poster (Marina)...

From all that I have learned and experienced, the capability, speed, repeatability (back-test results) and price of AB, make it a legitimate contender. The two things that are holding me back at the moment are the limited broker relationships and the uncertainty of the AFL learning curve's steepness.

Toward that end, member NW27 has several posts in this thread of interest. I realize that you might have better things to do, but to have those factually addressed would be fantastic.

Tomasz, thanks again.

 
  #68 (permalink)
 Vendor: www.amibroker.com 
Wroclaw,PL
 
Futures Experience: Advanced
Platform: AmiBroker
Favorite Futures: Stocks &Futures
 
amibroker's Avatar
 
Posts: 5 since Feb 2012
Thanks: 0 given, 19 received


NW27 View Post
I politely ask, perhaps you can show me sample AFL code I need to put into a System that will allow me to detect when I'm in a trade.
I just updated my Amibroker to the latest version and still cannot find a reference.

Using Multicharts as an Example :
 
Code
If MarketPosition = 0 AND BuySetup then   // No current position but we do have a Buy Setup
    Buy ("LE") 3 contracts next bar at (high + PointSize) stop;  // This may or may not get filled on the next bar
    
// Long Initial Stops    
If MarketPosition > 0 AND barssinceentry = 0 then
    InitialStop = Low[1] ;
If MarketPosition > 0 AND barssinceentry > 0 then 
    Sell ("L_IS") next bar at InitialStop stop;

If MarketPosition = 3 AND Close > EntryPrice+5 then
    Sell ("PT1_IS") 1 contracts this bar at Market;

If MarketPosition >= 2 AND Close > EntryPrice+10 then
    Sell ("PT2_IS") 2 contracts this bar at Market;
MarketPosition is an internal variable that displays the number of contracts/shares that we are long or short.
It is maintained by MC.
Using the above example, if after 5 ticks profit, I decide to Sell 1 contract, MarketPosition would now = 2.
Again MC automatically maintains how many contracts I have remaining in my position.
[...]
What is the AFL System code for AB to do this style of thing ???

Neil.

AmiBroker code for that (that is one of many possible implementations) is:

 
Code
Buy = BuySetup; 
Sell = 0; // sell is via stops
SetPositionSize( 3, spsShares ); // 3 contracts entry
ApplyStop( stopTypeLoss, stopModePoint, BuyPrice - Ref( Low, -1 ), 0 ); 
SetCustomBacktestProc("");
if( Status("action") == actionPortfolio )
{
   bo = GetBacktesterObject();
  
   bo.PreProcess(); // Initialize backtester
  
   for( bar=0; bar < BarCount; bar++)
   {
    bo.ProcessTradeSignals( bar );
  
    for( pos = bo.GetFirstOpenPos(); pos; pos = bo.GetNextOpenPos() )
    {
      Contracts = pos.Shares;
      Closeprice = pos.GetPrice( bar, "C" );

      if( Contracts == 3 AND Closeprice > pos.EntryPrice + 5 )
           bo.ScaleTrade( bar, pos.Symbol, False, Closeprice, Closeprice ); 

      if( Contracts >=2 AND Closeprice > pos.EntryPrice + 10 )
           bo.ScaleTrade( bar, pos.Symbol, False, Closeprice, 2 * Closeprice ); 
     }
    }
   bo.PostProcess(); // Finalize backtester
}
AmiBroker portfolio backtester maintains the LIST of positions (not just one variable as TS/MC), as it can open multiple positions on multiple symbols and tracks all of them. The list of open positions is accessible from the formula level via GetFirstOpenPos/GetNextOpenPos as shown in the code above. This way you get the access to the Trade object that has IsLong/IsShort methods to detect whenever you are currently long or short on given position, you can query current position value, size (number of shares/contracts), you can scale positions up/down and do everything imaginable.
AmiBroker backtester interface is object oriented and what may initially look as a little more complex stuff to write gives you infinite flexibility at the end of the day. The problem with Tradestation/MC Easylanguage is that it is "easy" only at the beginning, at some point you hit the wall of either something being not realizable or running way too slow to be usable or simply blowing up entire app because you run out of resources. Try running backtest on whole universe of US markets (8000+ symbols) or do some advanced sorting/ranking/rebalancing systems and then you will know what I am talking about. But of course there are many traders out there and different trading methodologies. For traders who trade 1 or 2 instruments only and some simple strategies Easylanguage may look good. AmiBroker serves different purpose - it is mainly advanced system development platform for quantitative system traders.

If you have any future questions/comments please contact our technical support : support at amibroker dot com because quite frankly I am very busy and I don't have time to spend on forums as I would rather spend free time with my family or improving the software that I use by myself for trading and system design.

Thank you for listening and happy trading.

Tomasz Janeczko
amibroker.com

The following 5 users say Thank You to amibroker for this post:
 
  #69 (permalink)
 Vendor: www.multicharts.com 
Columbus, Ohio, US
 
Futures Experience: Intermediate
Platform: MultiCharts
Broker/Data: Multiple/Multiple
Favorite Futures: ES, EUR/USD
 
MultiCharts's Avatar
 
Posts: 168 since Oct 2010
Thanks: 74 given, 170 received

Tomasz,

I think time has come for you and I to answer usersí questions and provide information from primary sources, so that there are no myths floating about. To calm the emotions a little bit, Iíd like to begin by saying that our statements several years ago were made with intention of presenting objective information, although we did allow inaccuracies and that must be admitted. I donít know where the accusation comes from that Marina was trying to ďdeliberatelyĒ state false information; that is hearsay since itís just your conjecture without any proof.

We simply took a demo of your program, got backtesting results, and published them. Later we found out that Amibroker can be used correctly only after reading the help from A to Z. We apologize for that. In the past we made two statements regarding the backtesting speed, and capabilities of portfolio backtesting. Our test results are objective and can be recreated. Another question is that we did not expect for your program to behave drastically differently after changing some obscure parameters that are not obvious to a new user.

In the first instance, we used your backtester and it was slower than MultiCharts. You explained it by saying that portfolio backtesting is by definition slower than individual backtesting, which we were not aware of. In MultiCharts the individual and portfolio backtesting work with essentially the same speed, so we didnít know that a good program could work like you described. We are ready to conduct new objective speed tests with you to show users that, with all other things equal, the speed of our programs is comparable. I am not sure who will have the slightly better numbers, but itís obvious that the difference will not be drastic.

Regarding portfolio backtesting. Marina based her thought process on standard working procedures, where you do two sets of calculations and then filter out trades. In this case, her statements are correct in saying that portfolio logic did not enter into the trade creation process, and only filtered out redundant ones. One result of using such logic is the increased speed, which can be seen in the link you published.

To obtain correct calculations, itís necessary to use Raw2 method, as you mention in your article:

ďIn Raw2 modes all exit signals (even redundant ones) are passed to second phase of backtest just in case that you want implement strategy that skips first exit. Lets suppose that you want to exit on some condition from first phase but only in certain hours or after certain numbers of bars in trade or only when portfolio equity condition is met. Now you can do that in Raw2 modes. Note that Raw2 modes can get significantly slower when you are using custom backtester code that iterates thru signals as there can be zillions of exit signals in the lists even for symbols that never generated any entry signals, therefore it is advised to use it only when absolutely necessary. Raw2 modes are also the most memory consuming. Note also that if you run the system WITHOUT custom backtest procedure there should be no difference between Raw and Raw2 modes (other than speed & memory usage) as first matching exit signal is what is used by default.Ē

You also need to use custom backtesting interface thatís described here:
http://www.blueowlpress.com/Documents/amibroker-custom-backtester-interface.pdf

This interface is there for a reason. It essentially provides low-level control over the way backtesting works, forcing the programmer to do the work that the backtester should be doing. That means that all other calculation methods except for ďcustomĒ are actually batch testing with the second stage of calculations. This is what Marina discovered.
We apologize. We did not know that to test a simple strategy a trader (not a programmer) must spend such considerable time and effort.

Regarding MultiChartsí Portfolio Backtester Ė itís simple and easy to use. We only have one calculation method, which works just like real life. More info here - Understanding Portfolio Backtesting - MultiCharts

It goes from bar to bar into the future and never goes back, which is exactly what happens in real life. If we copied anything from AB, we would also have 6 confusing calculation methods like you describe: Portfolio-level back testing

Regarding comparative speed tests under identical conditions Ė letís do it. I think your program will be slightly faster under the same conditions, but that difference will be negligible. The difference in speed is due to the fact that we have to maintain EasyLanguage compatibility. In your case, you are free to do what you want, so you can achieve better optimization. IN any case, with genetic optimization available, this issue is not important Ė the main goals are ease of use and convenience. In MultiCharts you donít need to read the entire help file before you can begin working. That has always been our guiding principle when building our program.

MultiCharts - Raising the Trading Standard.
Please send me a private message if you have any further questions about MultiCharts
The following 2 users say Thank You to MultiCharts for this post:
 
  #70 (permalink)
 Vendor: www.amibroker.com 
Wroclaw,PL
 
Futures Experience: Advanced
Platform: AmiBroker
Favorite Futures: Stocks &Futures
 
amibroker's Avatar
 
Posts: 5 since Feb 2012
Thanks: 0 given, 19 received


Oh yes, I heard that old "complexity" song already. One of your favorite and perfect excuse for ignorance. Sorry, but you are wrong again. Raw2 mode is not required. Custom backtester is also not required for realistic backtesting. The features are there because our users have different needs (usually very complex and diverging needs) and the only platform that allows implementing their ideas is AB. Raw2 in fact was added on request of *single person* (a friend of mine) for his quant research.
Realistic true portfolio level backtesting in AmiBroker is as simple as pressing Backtest button. No extra code, no extra settings. While speaking about complexity - our formulas are in majority of cases way shorter than on any other platform. Want a proof? Check the Traders' Tips section at Stocks and Commodities. AmiBroker formulas for articles are almost always the shortest.

The problem is that you do not know AmiBroker and its capabilities yet you feel free to spread information that is simply incorrect. I would appreciate if you stop. It would be better for you and me. For me simply because I have no time to waste correcting all of that. For you, because you want to be regarded as pro.

I follow live and let live approach. I have nothing against your software. Let customers download and try the software and decide by themselves.
Why don't you just let it go and accept the fact that not everyone is the same and no single platform is everybody's choice.

I am single person writing the software for myself. I decided to sell it because people asked me to make it available because they could not find anything comparable anywhere. So I did.

I don't even compete with you. I am too old and got one life to live and don't have time for your little games.

So would you please get off my back. Feel free to sing songs how MC is the next best thing since sliced bread but refrain from commenting about things you have no idea about, as with dozens of staff you have, by myself I have very little chance catching up correcting all the stuff you post here and there. Thank you.

This is over and out from me.
Remember: live and let live.

Best regards,
Tomasz Janeczko
amibroker.com


Last edited by amibroker; February 29th, 2012 at 02:58 PM.
The following 6 users say Thank You to amibroker for this post:

Closed Thread



futures io > > > > Backtesting and Research: MultiCharts or AmiBroker

Thread Tools Search this Thread
Search this Thread:

Advanced Search



Upcoming Webinars and Events (4:30PM ET unless noted)

Jigsaw Trading: TBA

Elite only

FuturesTrader71: TBA

Elite only

NinjaTrader: TBA

Jan 18

RandBots: TBA

Jan 23

GFF Brokers & CME Group: Futures & Bitcoin

Elite only

Adam Grimes: TBA

Elite only

Ran Aroussi: TBA

Elite only
     

Similar Threads
Thread Thread Starter Forum Replies Last Post
VIDEO: MultiCharts vs. NinjaTrader strategy backtesting and optimization Big Mike MultiCharts 53 June 12th, 2016 02:34 PM
Backtesting identical strategy tradestation and multicharts different results crbucks MultiCharts 7 April 26th, 2012 08:30 AM
[NinjaTrader]    NinjaTrader and Amibroker excite Platforms and Indicators 3 June 10th, 2011 01:43 AM
Do we need to use the bar magnifier when backtesting/optimization in MultiCharts? benharrell MultiCharts 8 May 4th, 2011 01:17 AM
MultiCharts backtesting and spread arjfca The Elite Circle 3 September 26th, 2010 09:06 AM


All times are GMT -4. The time now is 05:37 PM.

Copyright © 2017 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts
Page generated 2017-12-17 in 0.19 seconds with 20 queries on phoenix via your IP 54.163.210.170