Why do people still use this software?

Status
Not open for further replies.

TracerBullet

Well-Known Member
#11
Python is great, its a very easy to use and concise language with some great and fast libraries. As a standalone language, afl is a bit limited, but then its a not just an interpreter, it also gives you a decent charting and backtesting platform.
Though I dont really understand why some AB people denigrate python calling it a toy language or whatever ( or vv as done by op .. ). Both have their pros and cons.
 

mastermind007

Well-Known Member
#12
@mastermind007,

Please do not get bothered or entangled here (no sarcasm or pun intended - just man to man - simple).

The guy ardvark who started this thread, that was his first and last post in Traderji, and the tenacity presented can be easily deemed foolish inexperience. Moreover, it appears to me that he was trying to run a false propaganda to dim-in AmiBroker's reputation.

Then the guy OneThatGotAway who is a thief has been already banned from this forum.

AmiBroker is best and it will remain so.
Thank you very much, Cougar.

I did check that original post was made in 2019....

Which one is best, I do not know. I like some features in Amibroker and dislike few others too.
Same can also be said for Ninja or MT4 ....

All-in-all Amibroker is good value-for-money product at the price it is being sold.

Last but not the least, Kindly request super-admins to close this thread from further replies....
 

CougarTrader

Well-Known Member
#13
Though I dont really understand why some AB people denigrate python calling it a toy language or whatever ( or vv as done by op .. ). Both have their pros and cons.
The thing with Python is that you get ready-made libraries, so the skill of the User depends on how well he/she can "play" with the libraries to get the desired result.

Whereas in AmiBroker, there are no such readily available libraries - users are expected to know what they are doing.

In AFL, variables are vector-processed i.e. treated like an array even the StaticVars which gives AB tremendous speed and efficiency - you don't get that in Python.

Moreover, Python is not a structured programming language and often not resource friendly. For finance school students - Python or R or Excel is their best friend but not for professional Charting or Analysis (viz a viz Exploration, BackTesting (Individual + Portfolio), Optimization) purposes. Compare the execution speed of a complex chart or a CBT well-written in AFL to a simple AML.

With the advent of new Matrix and other Math functions in AFL, there is nothing that you can do in Python, that can't be done in AFL. On the contrary, there are many things that can be done in AFL, which cannot be done in Python. AFL is tailor-made for traders/investor needs. You can find your strategy's Sharpe ratio, Profit factor in few seconds that too optimized to each and every possibilities. I don't think anything else gives you the freedom, the way AFL does....

Which one is best, I do not know. I like some features in Amibroker and dislike few others too.
Same can also be said for Ninja or MT4 ....
To keep this comparison game short, below I have enlisted a group of few simple Plot functions available in AFL. Please tell me how many lines of code one has to write in NT or MQL in order to achieve the same features at same speed, efficiency, scaling and robustness? Or is it even possible in other languages???
Plot - plot indicator graph (AFL 1.8)
PlotOHLC - plot custom OHLC chart (AFL 2.2)
PlotShapes - plots arrows and other shapes (AFL 2.3)
PlotForeign - plot foreign security data (AFL 2.2)
PlotText - write text on the chart (AFL 2.80)
PlotTextSetFont - write text on the chart with user-defined font (AFL 2.80)
PlotVAPOverlay - plot Volume-At-Price overlay chart (AFL 2.4)
PlotVAPOverlayA - plot multiple-segment Volume-At-Price chart (AFL 3.20)
PlotGrid - Plot horizontal grid line (AFL 2.3)
You might like something in NT/MT because that is readily available to you which is not in AB.

In my experience, AFL is not catered to the public in simplified format - one has to toil hard to grasp the core concepts. It took a beginner like me for more than a full-long dedicated year to start to appreciate AFL and the masses are only after instant-gratification. Respect, patience, devotion are long gone virtue of mankind. May be that's why people get easily frustrated with AFL but every fault lies within the skill-set of oneself. And its just a matter of time-factored realization only.
 
#14
The word "trend these days of quant traders" is merely a cliche to hide human errors by blaming software tools.
A software ultimately is only as good as the human coding it/using it..
that said, as people here pointed out.. AFL is still Amibroker specific language whereas Python ( is inefficient compared to C++,Java etc ) is opensource, with wide variety of applications in FInance. Lot of packages come in readily for us to install and use - so anyday i would prefer Python applications vs something specific ( metatrader, Amibroker etc )

i completely work out of RaspberryPi + Python applications..
with web based GUIs writing soon..
so as such i would suggest people to go Python/R/C++/Java route that helps their tech skills & trading as well..
 

TracerBullet

Well-Known Member
#15
The thing with Python is that you get ready-made libraries, so the skill of the User depends on how well he/she can "play" with the libraries to get the desired result.

Whereas in AmiBroker, there are no such readily available libraries - users are expected to know what they are doing.
Yes and the libraries can be of very high quality and they reduce your work. In general, Amibroker is more limited to what it provides out of the box, which is not its fault. It is not meant to be a general purpose language, the target is traders.

In AFL, variables are vector-processed i.e. treated like an array even the StaticVars which gives AB tremendous speed and efficiency - you don't get that in Python.
Nonsense, panda/numpy are great libraries for array processing, i use them for my backtesting. AB will give you a built in backtester, AB has realtime DB which panda does not give directly.
With python you will have to write a backtester, its not so difficult to do and it can be just as fast ( faster in my case ). Or use a library like quantopian ?

Static vars is just a feature, it does not magically bring in any 'tremendous speed and efficiency'. Static is a basic feature in most languages and persistence can be easily achieved as well. I suspect you are not a programmer when you say such things, nothing wrong but please check what you say ...

Moreover, Python is not a structured programming language and often not resource friendly. For finance school students - Python or R or Excel is their best friend but not for professional Charting or Analysis (viz a viz Exploration, BackTesting (Individual + Portfolio), Optimization) purposes. Compare the execution speed of a complex chart or a CBT well-written in AFL to a simple AML.
Yes, AB has great charting and in my mind that is its only advantage over python for someone who can code reasonably ( although i have not really tried to look at charting with python).
What do you mean by 'structured programming language'. afl is interpreted too and so is also not resource friendly if you dont use it well. Why do you think is vector processing faster than loop ?

If anything, i really find afl very limiting in terms of language features, which is again fine as its not supposed to be a general purpose language.
One silly small example even in basic things - function scope by default is very unreliable. A variable is global or local based on how it is used first. So i have to read the entire code base to know whats happening in a function. This can lead to very subtle bugs if you are not aware. A much more sane approach will be local by default and global on declaration, anyway ...

With the advent of new Matrix and other Math functions in AFL, there is nothing that you can do in Python, that can't be done in AFL. On the contrary, there are many things that can be done in AFL, which cannot be done in Python. AFL is tailor-made for traders/investor needs. You can find your strategy's Sharpe ratio, Profit factor in few seconds that too optimized to each and every possibilities. I don't think anything else gives you the freedom, the way AFL does....
Now you are sounding like an advert. AB will give you convenience for what it provides OOB - which is good. But to say it cannot be done elsewhere is a bit much.

To keep this comparison game short, below I have enlisted a group of few simple Plot functions available in AFL. Please tell me how many lines of code one has to write in NT or MQL in order to achieve the same features at same speed, efficiency, scaling and robustness? Or is it even possible in other languages???

You might like something in NT/MT because that is readily available to you which is not in AB.

In my experience, AFL is not catered to the public in simplified format - one has to toil hard to grasp the core concepts. It took a beginner like me for more than a full-long dedicated year to start to appreciate AFL and the masses are only after instant-gratification. Respect, patience, devotion are long gone virtue of mankind. May be that's why people get easily frustrated with AFL but every fault lies within the skill-set of oneself. And its just a matter of time-factored realization only.
Appreciating a tool is fine, but lets not be blind to what other tools can do. AB is convenient and fast, has great charting, it has its pros and some reasonable limitations. It is not a general purpose language and is quite limited if used as such - which is ok.
python does not have the out of the box features, but is much better as a language ( it really is very good ) and has some great fast libraries. it will have its limitations too, multiprocessing needs some work to get it right, it is interpreted so cant compare to compiled languages ( libs alleviate it) etc etc, i am no expert ..
 

siddhant4u

Well-Unknown Member
#16
People here forget that AB has charting plus coding features. Python you have to code but which library provides charting? If you are to built one application similar to amibroker it will take min 2 year with team of 10s. You can ask this with gocharting guys who are building one for online platform.

Use the s/w which you think will make a traders life easy.
 

TracerBullet

Well-Known Member
#17
If you are to built one application similar to amibroker it will take min 2 year with team of 10s.
Yes, building something for everyone will not be easy.
But building something for yourself is not so difficult. I have done that for backtesting, and I suspect charting can also be done if you know how to do it, what to use etc but i have not tried it. But AB will give you all of that from start and in a pretty flexible way. Anyway good luck with trading ...
 

mastermind007

Well-Known Member
#18
FEW INPUTS ABOUT LIBRARY BEING LIMITED IN AFL

If you take care to hunt around, you do find good libraries for Amibroker. There is one library named SkyQuant that provides fabulous looking astrology charts and almost made me want to learn astrology

Then there is pricey Patternexplorer. There were few more that I have seen but do not remember the names...

Next, Amibroker allows you to expand its base functions by allowing you to write plugins / plus scripting engine, you can hook lot of things into amibroker....

Maybe few of us could team up and come up with a product that hooks up all of the Python libraries into Amibroker. That way, we can have best of both. We can call our product Payasam and shout out STFU to python freaks!!!

WRITING YOUR OWN BACKTESTER

Since Tracerbullet mentioned writing one's own backtester in python, I have one of my own experience to share. Now It does sound very funny even to myself, albiet with hindsight. In those days, I was still in my full time typical IT job (9am to 9pm Monday to Sunday shift with 10 second lunch breaks shifts).

One of my vendor clients who knew my C/C++/C# skills and my trading blunders introduced me to Amibroker and asked me to develop small AFL for him and key requirement he wanted was "back-test".
He was gonna pay from his own pocket so it was one of those in-your-spare-time-for-extra-buck jobs.

So, in the very first AFL that I developed for him, I coded entire back-test logic, first in C++ (my own comfort zone) and then rewrote whole thing in AFL. Believe it or not, I wrote 1500 plus lines of AFL code without even once using Buy/Sell/Short/Cover keywords and I had built my own backtester. Since I did not know analysis window, I pushed out entire back-test report in its Amibroker Interpretation window. I did not even notice Sheet1....Sheet8 at the bottom of every chart.

Funny part is that the client didn't know it any better and he was happy with whatever I developed and paid me slightly more than what we had negotiated for....
 
Status
Not open for further replies.

Similar threads