I prefer Multicharts and Ninja for charting and trading. However, I have found real challenges with their scanning (or lack thereof) of equities.
Ninja's market scanner is the best but it gets bogged down with too many securities.
Multicharts radar screen is good too but has its own quirks.
Neither allows you to have a full universe of equities and apply both fundamental as well as other screens to have a dynamic list.
For example - lets say i want to look at the charts every day for each equity >250k of volume that formed a hammer. To do that I have to load too many (3-4k) securities and both programs bog down. Further my subscription (IQ Feed) only allows 1000 of equities at a time. My workaround was to really narrow my list to like 500.... not really that smart.
So for fun (and because it is so inexpensive) and because i was going to be non trading for a while due to work travel, I bought a license to Amibroker to see how i liked it.....
Intro complete....more thoughts in next posting to avoid posting too long
My trading is like my avatar: Big, Hairy, and Full of S$&T.
The following 2 users say Thank You to greenroomhoo for this post:
Amibroker is far less intuitive than either Ninja or MC (which are pretty similar, except for their languages). It took me a lot longer than i expected to find my way around the program. Be prepared for a steep learning curve coming from MC, Ninja and even Sierra.
As far as time it takes to get up and running id rank them: Ninja, MC, Sierra, a bunch of others then...Amibroker.
Even after I have gotten my sea legs with the platform I still find its charting to not be as good as the others (this is of course personal preference and quite subjective).....that is where the BAD ends....and the GOOD far outweighs the BAD.....
The GOODs to follow in subsequent posts.
My trading is like my avatar: Big, Hairy, and Full of S$&T.
The following user says Thank You to greenroomhoo for this post:
As far as backtesting, I dont think there is even a comparison between it and Ninja/MC. The speed is a revelation. Not only is the speed impressive on backtesting but also in scanning for stocks and flipping charts. I loaded the entire database of current equities (6,000+) from Finviz into the software. I then downloaded all the available Yahoo Finance historical data and fundamental data for all 6,000 + equities going back many years. (note this took some time....maybe an hour or so).
To run a scan on that universe takes about 30 seconds (maybe less). A portfolio backtest on that same universe takes maybe less than that (none of this is possible in either Ninja or MC near as i can tell - maybe it is using Tradestation). Once you get a scan result there is NO LAG flipping chart to chart. It is quite impressive.
Now i dont like the charts much so i export the list into Market Analyzer and use Ninja from there on.
My trading is like my avatar: Big, Hairy, and Full of S$&T.
The following 2 users say Thank You to greenroomhoo for this post:
I've been an amibroker user for nearly 7 years. I'm not a coder at all, but I've had a few scans and systems coded for me, as well as using what is available openly....
NT and MC was a breeze to learn after amibroker, so I see where you're coming from learning to use this after NT and MC.
Amibroker is very useful for finding pullbacks and other patterns for EOD trading. I honestly can't imagine using NT or MC For EOD trading.
I like to scan for pullbacks and then watch list developing chart patterns for swing trading.
Great application, great price. Lots of free support such as Howard Bandy's book, An Introduction to Amibroker.
Cheers,
XS
The following 2 users say Thank You to xiaosi for this post:
i agree - sooo much better for swing trading equities. the learning curve is STEEP but worth climbing if one is swing trading equities.
Also i find the Yahoo board a bit challenging to use (massive understatement) coming from Bmikes or other resources for the other platforms.
The code i think is actually easier than both Easylanguage and Ninja. It may not be as flexible but simple things in it are so much easier to accomplish its quite confusing (coming from the other languages).
What type of scan do you use for pullbacks?
My trading is like my avatar: Big, Hairy, and Full of S$&T.
The best pull back scan I've found so far is the Dave Landry pullback scan, just on my iPad now, but if you google it there should be heaps of code come up....will post here later or tomorrow though.
XS
The following user says Thank You to xiaosi for this post:
All due to respect but you have no idea how much flexible AFL actually is. You have only scratched the surface so far.
Also objects like DOM or Panels etc. on chart ... that stuff has been possible for years in AB and e.g MC only recently came up with it. It's not even possible with EL/PL but needs C# in MC.
And another examples I have seen on the Internet recently is this
Try doing it with EL/PL. I have been using AB for many years and again I can guarantee that you have not even scratched the surface of what is really possible in AB.
Question: How do you embed videos here? Emded codes don't seem to work
would appreciate that greatly. any help getting more proficient with the application would be appreciated. do you have any coders you recommend? I have some stuff i would like to pay someone to do.
My trading is like my avatar: Big, Hairy, and Full of S$&T.
Out of interest I have just looked at the two code versions of Laundry pullback scan in the users' library and have found out that they are not effectively coded. If done a little bit better you can get nearly double-digit percent speed improvement just by better coding. Not sure which one of both you are looking for as I have no idea which one follows the rules by Laundry.
If you wish I can help you out on this. I'm proficient enough in AFL.
Still send it to me next time and it will be done at half the rate or even lower. Well even AB's own custom coding rate is lower than the one of those guys.
For scanning stocks Amibroker is an ideal tool.
I use it also for prototyping trading strategies.
If they seem to be profitable I code them in Multicharts.NET.
In that way I have a second opinion on my backtesting results.
And AFL is really easy to code, The code is just much shorter.
On the other hand I do not use Amibroker for trading because
in my opinion the charting feels just better in Multicharts.
The Realtimescanner is for life trading after having filled it with the
prefiltered stocks (by amibroker) just the better solution than using the
scanner of Amibroker.
But one feature I miss in Amibroker.
I have not found a suitable way to build an indicator using
intraday timeframes shown on an daily chart.
It is possible but the workaround solution link to multiple timeframe indicators is in my opinion not very elegant.
But this can be done better with ninjatrader or Multicharts.NET.
The following 2 users say Thank You to FB2012 for this post:
"If we don't loosen up some money, this sucker is going down." -GW Bush, 2008
“Lack of proof that something is true does not prove that it is not true - when you want to believe.” -Humpty Dumpty, 2014
“The greatest shortcoming of the human race is our inability to understand the exponential function.” Prof. Albert Bartlett
Still not sure what you actually mean but there is no such missing feature if you mean to plot a lower TF's indicator and higher TF price in one and the same chart sheet.
Actually you have different possibilities doing it ... either using GFX or using Timeframe functions.
See example chart showing 10-minute RSI and 60-minute Price using two options to plot it.
I'm curious to know, how do you chart a watchlist, market, industry, ... in one view meaning in one chart in other softwares?
For example you do an exploration and the exploration or backtest result list gets auto-moved to watchlist A.
Now let's say the watchlist containing the result list consists of 25 symbols, 50 symbols, etc.
In AB you could now view, scroll, zoom all of those symbols at once. If your monitor is small then you limit the number to let's say 9 symbols per scrolling page. If your monitor is large enough you could just view all symbols at once i.e. setting to 6 rows x 5 columns or 10 x 10.
Below AFL code showing 4 x 3 (customizable via parameters). Haven't found a way doing that elsewhere.
The whole chart including price and axes etc was done using GFX.
First and this foremost thanks @greenroomhoo for setting up this thread.
Frankly speking I've quite hooked up with an idea to migrate form Multicharts as my primary research tool to some other. I've pretty much got to a point when I quite fed up with the minor issues that are still and still persisting in that software which gradually increase my frustration. Therefore, I've decided to carry on with the current testing with MC and try to learn something else in the meantime and I've put my attention on Amibroker. I see a lot of positive feedback on the web regarding the flexibility, speed and overall robustness of Amibroker. I would be very grateful with some hints & tips especially from someone migration from Multicharts to Amibroker.
Funny that you have the same first name as the AB main developer.
Well, the question is what do you wanna do/achieve. If it is something specific then maybe it's better to start a new thread so it can be found more easily by people looking for similar issue.
Site Administrator Swing Trader Data Scientist & DevOps
Manta, Ecuador
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
Posts: 49,785 since Jun 2009
Thanks: 32,314 given,
97,577
received
AmiBroker looks interesting to me. I've just purchased the professional package bundle, and will try and spend some time with it soon to see how it stacks up. My biggest interest is the portfolio level backtesting.
But my biggest concern is the handling of tick level data in backtests and optimizations, as it is extremely unclear as to whether or not this is really supported. I often test years of tick data per instrument at a time. I am not concerned about system resources, as my workstation has 32GB of ram. I am instead concerned about accuracy and simply whether or not it will work with that much data at once. I googled and read forums but was unable to find any hint of an answer, so thought I would give it a shot myself.
it is a very different platform than MC. everything about it is different from how it handles data to customization to charting etc. it took me a long time to get up to speed with it. In fact, i downloaded a trial a year ago, tried it for a bit and got so frustrated i punted. This time i bought it so it would force me to dig in and figure it out.
It is the only platform i know of that allows me to do basic scans for equities from the universe of 6500 US equities VERY QUICKLY. And you can flip 100 charts in like five minutes. I believe you can do this with Tradestation (the scanning).....but for various reasons i am not interested in going back to TS.
The language is so simple it is almost confusing when coming from easy language or Ninja. That has been very hard for me.
As i said earlier i doubt i will ever use the charts for anything other than quick looks at scan results.
One other challenge is that i cannot find the "cult following" for the platform that greatly helps the learning curve. (Big Mikes is pretty much a Ninja Support forum and the Tradestation forums can basicly teach you MC). There is a Yahoo group for Amibroker but it is really clunky.
My trading is like my avatar: Big, Hairy, and Full of S$&T.
The following user says Thank You to greenroomhoo for this post:
Yes, it is supported to backtest/optimize tick data i.e. bid/ask combined.
If you import external tick data and want to import all tick (meaning ticks that have duplicate time stamps) you need to activate $TICKMODE 1 in the import wizard command or your self-created format file. But that 's all explained in the ASCII import section of the help file. Maybe I will upload an example today or tommorrow how to import bid/ask data. Or just ask their support channel if you're stuck.
The yahoo forum is mainly used via your email client. It was wished by more users to have this solution than having a standard forum so it was a democratic decision and has been discussed many times on the yahoo list. But there are quite a few AmiBroker forums/threads around the world also.
Just remembered that Howard Bandy who has written a few books about trading system development and Amibroker released a free e-book called "Introduction to AmiBroker" a few months ago. It can be downloaded here Introduction to AmiBroker — Home Page in the book section. It's kept very basic and just scratches the surface but for beginners it's a good additional help.
There is also the users' knowledge base AmiBroker Users? Knowledge Base and as that site tells you it contains entries by more experienced AB users.
To use that much of tickdata, there must be something tweaked in the registry as far as I know.
The path should be HKEY_CURRENT_USER\Software\TJP\Broker\Settings
The entry should be MaximumNumberOfBars
I think the entry must be generated by hand I have done that for exactly the same reasons.
But I do not have so much tickdata.
Where have you got that much tickdata ? Which vendor sells so much ?
Only if you use real-time data plugins and you want more than max 500,000 bars then you have to add that registry "easter egg"! If you use local data base in data base setting 'source' then that registry setting is not needed because then bars are not limited to 500k but unlimited.
tip: for backtesting/optimization create a separate off-line date base because if you trade intra-day no one uses a tick data base or 1-minute data base with bars going back to 2005 or whatever. That's insane.
The learning curve remains steep but i am slowly climbing it and as i have invested lots of time in it I really am amazed at what it can do.
It is really hard to get comfortable with coming from Ninja/MC etc. but if you really want to backtest ideas quickly it is vastly superior. One caveat - I am beyond searching for grails and indicator combinations and autotrading strategies. I simply use backtesting to measure edges (or mostly lack thereof). I also only use Amibroker for that (backtesting and scanning stocks).
To that end i ran a bunch of backtests on all equities (6000 +) going back to the mid 90s last weekend. Each backtest takes about a minute (maybe a bit less) to run on that huge data size. Just great if you want to quickly bounce an idea off the platform.
Every night I have amiquote download all the updated data for each equity. That takes some time. Then i run my scan for swing trading equities (takes 30 seconds). I get my 50-100 hits and can scroll those charts in about 10 minutes. That may generate 5 or so i want to look at more closely, which i do in Ninja. The scan to analysis in Ninja takes about....15-20 minutes TOTAL.
Previously i just had about 500-1000 pre-loaded in the Ninja Analyzer. This regularly bogged down the application (crashed it). I also had to "pre choose" which securities i watched. that took many hours to figure out. Now i just run my scan against all equities.
Bravo Amibroker.
PS - i still dont like the charting enough to use it much other than quick culling of the herd. And contrary to how the support group voted for its Yahoo email type forum -- i find it so difficult to user i dont even bother with it.
My trading is like my avatar: Big, Hairy, and Full of S$&T.
I also agree great to hear that you also think the same way about the heavy ninjatrader scanner, I have not tried it but it just seems as are MC and Ninja optimized for futures and are not optimized for handling multiple symbols. How is the experience with MC on your side for scanning large symbol stacks ?
I agree with that yahoo groups have a outdated user interface. But maybe it is just the cheapest way to build an support group. This enables amibroker to stay as cheap as they are.
MC is better but i cannot load in 6000!!!! The switching in charts in MC is also quicker than Ninjatrader. All things being equal i would rather use MC than Ninja to chart stocks (not futures) only, but I have a couple of custom things in Ninja i dont have in MC and i really like them.
I hope v8 of ninja improves the analyzer performance...
My trading is like my avatar: Big, Hairy, and Full of S$&T.
Most users want to user their email client and wanna archive the most important messages themselves. If my memory serves me right there was even a public vote on the yahoo list in regards staying at yahoo or using a forum type like this one here. But not sure anymore. Anyway so AB has left it as it is. You can't please everybody. Try it yourself in whatever category and you will fail.
And FYI for example MC's user forum contains around 48,000 messages since 2006. AB's yahoo forum contains around 90,000 messages since 2006 (of course it goes back even more years but to compare with MC forum I only included since 2006). So you can see that a standard forum interface doesn't guarantee more content.
In regards to charting I tried NT and MC few years ago also and couldn't stand it. AB charts provided more flexibility (and speed of course) to me. Additionally use AB for chart trading (coded my own trading environment in AFL).
I have now really dug into the application. The speed is amazing. In the space of about 1 week i was able to port over about 80% of my MC strats.
I was able to test all of them (culmination of years of work) on 6500 equities in about 15 minutes. The same test on the ND500 in MC takes about 2-3 minutes. That strat tested on 6500 equities in Amibroker takes about 15 seconds.
I continue to struggle with the application in general but i am getting better with it (and the code).
For those of you looking for a quick way to backtest ideas...i strongly recommend amibroker. the learning curve is steep but the time invested learning it will be paid back many many many times in the future as you can backtest ideas MUCH MUCH quicker than MC.
In many ways its like Sierra - powerful, inexpensive but not widely marketed.
My trading is like my avatar: Big, Hairy, and Full of S$&T.
The following 3 users say Thank You to greenroomhoo for this post:
Ref amibroker I was really interested in it but can you add strategies to a strategy window? Specifically I have about 38 systems in MC and I selected the ones I want to use and I get my backtest or live signals. But it is not clear to me how I can do this in amibroker without significant coding except if I am not that advanced with its use and I am missing some important functionality, which is possible.
You can open multiple strategy (or Analysis tabs) for example.
Each analysis tab can process a different system/scan/exploration/optimization at the same time.
Also if you have opened an analysis tab and you have set your individual settings then you can save the analysis as a project file (File>Save as...) with your individual system/analysis name and next time you just open the project file and settings are the ones saved previously for that particular analysis.
Otherwise ask the AmiBroker support for more info if you are looking for different solution.
What do you mean? It's all explained in the help or on their website.
I understand this, thanks. But I really want many systems on the same chart. I use price action lab to discover patterns and this program generates a system for each in Amibroker AFL. I want to all these different systems to the same chart. I have not been able to figure a way for doing this with Amibroker. probably I am missing something. Otherwise it is an excellent tool, I like it.
The graphs I made in the example are plotting each equity as rel. performances graph that start at 1.00 (100%)
and in the lower pane I made an additional plot example that just displays the maximum relative drawdowns.
To make multiple portfolio equities you just use Addtocomposite (ATC) that copies the ~~~Equity symbol to a new symbol with own name like ~~~CCI_System. Instead of ATC you can alternatively use StaticVars.
Code being added to your system code
In addition you can add CategoryAddSymbol function that moves each Equity to the same watchlist.
As for plotting you loop through the category number (here in the example it's a watchlist) and do your rel. perf. calculation or just plot fc.
RequestTimedRefresh( 1 );
_N( TickerList = CategoryGetSymbols( categoryWatchlist, 0 ) );
for ( i = 0; ( symbol = StrExtract( TickerList, i ) ) != ""; i++ )
{
fc = Foreign( symbol, "C" );
.
.
.
}
I started this thread a long time ago and just wanted to update with some more thoughts. I have to say i cannot believe how impressed I am with Amibroker. If you are starting out and/or into equities, I am not sure their is a better platform (I have Ninja, MC, and have worked a lot with Sierra) - perhaps tradestation is as good for equities - not sure.
First the speed is really incredible. You can backtest a strat on 6600 daily equities going back 20 years in about a minute. The same test on MCs portfolio backtester on 1000 symbols takes 15 minutes (depending on the code).
I think more importantly (again - if scanning for equities opportunities), you can scan for a setup and flip the results in amazing speed. The loading time of three charts is almost instantaneous - i really cannot believe how fast it is. What i have found is that there is no perfect filter when hunting for trades and i just need to get one that is close and can produce ~ 100 or so possibilities each day. Being able to quickly flip those opportunities is the difference between 10 minutes to review vs. 30 minutes (ninja and/or MC).
The other thing Amibroker does is it keeps all your drawings (Ninja does not - they are erased after 20 days/MC keeps the drawings). So i can go through and markup charts and dont have to do it again.
One other really cool thing Amibroker does is it allows you to link web page panes to your charts...and these panes can be from any financial site. So, if i click on an equity, two different web pages on my monitor pull up the google finance data and the Yahoo Finance web pages for that security. That is a really really really really cool feature.
You can also work with fundamental data in Amibroker - so i have a scan that picks off dividend rates higher than a threshold for example, etc.
Its not all roses of course. Amibroker learning curve is very very steep (much harder to learn than MC or Ninja were). The language takes time to understand and there are not treasures of already coded indis like there are for Ninja or MC. That said - i have already been around the block so my charts have nothing on them anyway.The floating windows need to be improved, the drawing tools cannot touch Ninja's in terms of customization, other stuff. As i said the learning curve was very very very very steep. I think i spent 3-4 solid full days just getting it going and i am not even close to being able to quickly code in the language (but i am improving).
But for a couple of hundred bucks and free EOD quotes (that you can auto import every night), i am not sure of a better, less expensive way to get into trading equities.
My trading is like my avatar: Big, Hairy, and Full of S$&T.
The following 2 users say Thank You to greenroomhoo for this post:
The language takes time to understand and there are not treasures of already coded indis like there are for Ninja or MC. That said - i have already been around the block so my charts have nothing on them anyway.
Well, it depends on:
--- > What indi's you are looking for ?
--- > Where are you looking for them ?
In general, futures.io (formerly BMT) and other forums are not 'treasure chests' of AFL code nor there is an abundance of people on these who have some knowledge about the ins and outs of that platform and are willing to help ( BTW the last one over here got banned ). The official yahoo is the place for that. A supportive community and a direct access to the developer.
Tomasz ( not the AmiBroker "Tomasz" )
The following user says Thank You to teyano for this post: