Thanks Gyles for the information. Three Cheers! The Demo did come out and downloaded just out of curiosity, must say it is good and shall help people to have a better idea of TradersStudio. Thanks, Mr. Murray for the work done!
Mr. Murray, I have been an ardent reader of your articles on allbusiness.com. However, just recently none of your articles are available on allbusiness.com, please let me know the reason and where else can I access your articles? Thanks
The very nice initial roundup of this thread is probably a bit dated 6 years later. Are there any new threads or other web sources where I can find a nice walk-through to see the differences between technical/quantitative analysis? I need a tool where I can back-test and use own suppliers of data since I will be using data for the Swedish stock market (along with the US markets).
Thanks for the tip! Actually I have been looking at that. I heard that it is a bit harder to code than for instance EasyLanguage (TradeStation). In what ways, would you say, is Amibroker better than other solutions, besides price?
TradersStudio is easier to code than AMIBroker, it's a cross between VBA and EasyLanguage. It's better to do portfolio based trading and money management than either product. If you are trading futures you have reports in dollar values, it calculate move values. This is something AMIBroker at least last time I looked could not do. You can even trade international futures and do daily currency conversion so you can make US and international futures in the same basket. Take a look at TradersStudioBlog.com for more details.
Don't think so from my experience. When I first started using AmiBroker I immediately understood how AFL works. It's actually very easy and codes are compact. But AFL is not the only one language usable via AmiBroker. C/C++/NET/vbscript/jscript can be used also. What does that mean? What does that mean "it calculate move values"? The same has been possible in AmiBrokler for years. You can even do dynamic currency conversion (EOD and intraday). Note: am no affiliated to any software vendor.
So here are two language versions of same logic. I don't know if you are a programming beginner. So let's take a simple CCI system. Buy if CCI crosses above 100 value. Sell if CCI crosses below 100 value. Short if CCI crosses below -100 value. Cover if CCI crosses above -100 value. Entry/exit at next bar. First code is using Easy Language/Power Language: Code: value1 = CCI(20); if marketposition = 0 then begin if value1 crosses over 100 then buy next bar market else if value1 crosses under -100 then sellshort next bar market; end else if marketposition = 1 then begin if value1 crosses under 100 then sell next bar market; end else if marketposition = -1 then begin if value1 crosses over -100 then buytocover next bar market; end; Second one is using AFL Code: <code>[COLOR=#000000]<code>[COLOR=#0000ff][B]SetTradeDelays[/B][/COLOR][COLOR=#000000]( [/COLOR][COLOR=#800080]1[/COLOR][COLOR=#000000], [/COLOR][COLOR=#800080]1[/COLOR][COLOR=#000000], [/COLOR][COLOR=#800080]1[/COLOR][COLOR=#000000], [/COLOR][COLOR=#800080]1[/COLOR][COLOR=#000000] );[/COLOR]</code>[/COLOR]</code><code>[COLOR=#000000]<code>[COLOR=#000000]<code>[COLOR=#008000]// one bar delay -> entry at next bar[/COLOR]</code> [/COLOR]</code> CCI_ = [/COLOR][COLOR=#0000ff][B]CCI[/B][/COLOR][COLOR=#000000]( [/COLOR][COLOR=#800080]20[/COLOR][COLOR=#000000] ); [/COLOR]</code><code>[COLOR=#000000][B]Buy[/B][/COLOR][COLOR=#000000] = [/COLOR][COLOR=#0000ff][B]Cross[/B][/COLOR][COLOR=#000000]( CCI_, [/COLOR][COLOR=#800080]100[/COLOR][COLOR=#000000] ); [/COLOR][COLOR=#008000]// buy if crosses over 100[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000][B]Sell[/B][/COLOR][COLOR=#000000] = [/COLOR][COLOR=#0000ff][B]Cross[/B][/COLOR][COLOR=#000000]( [/COLOR][COLOR=#800080]100[/COLOR][COLOR=#000000], CCI_ ); [/COLOR][COLOR=#008000]// sell if crosses under 100[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000][B]Short[/B][/COLOR][COLOR=#000000] = [/COLOR][COLOR=#0000ff][B]Cross[/B][/COLOR][COLOR=#000000]( -[/COLOR][COLOR=#800080]100[/COLOR][COLOR=#000000], CCI_ );[/COLOR][COLOR=#008000]// sellshort if crosses under -100[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000][B]Cover[/B][/COLOR][COLOR=#000000] = [/COLOR][COLOR=#0000ff][B]Cross[/B][/COLOR][COLOR=#000000]( CCI_, -[/COLOR][COLOR=#800080]100[/COLOR][COLOR=#000000] );[/COLOR][COLOR=#008000]// buycover if crosses over -100[/COLOR]</code> <code></code> <code>[COLOR=#000000] <code>[COLOR=#008000]// entry/exit at open price [/COLOR]</code>[/COLOR][COLOR=#000000][B]BuyPrice[/B][/COLOR][COLOR=#000000] = [/COLOR][COLOR=#000000][B]SellPrice[/B][/COLOR][COLOR=#000000] = [/COLOR]</code><code>[COLOR=#000000]<code>[COLOR=#000000][B]Open[/B][/COLOR][COLOR=#000000];[/COLOR]</code>[/COLOR][COLOR=#000000][B] ShortPrice[/B][/COLOR][COLOR=#000000] = [/COLOR][COLOR=#000000][B]CoverPrice[/B][/COLOR][COLOR=#000000] = [/COLOR][COLOR=#000000][B]Open[/B][/COLOR][COLOR=#000000];[/COLOR]</code> My guess, 50% will say this one is simpler and another 50% will say that one is simpler. Another guess, 100% will say that one is shorter than the other one.