Why do people still use this software?

Status
Not open for further replies.

rmike

Well-Known Member
#21
While the OP may possibly have an underlying vested interest for his/ her remarks and the raison d etre for such a thread ..........

However any discussion with respect to a trading platform, especially pertaining to merits and comparisons generally has a tendency to degenerate into a childish competition of 'mine is bigger than yours' ....... :)

Keeping it all into perspective ........

If one knows how to trade, then one can successfully trade even with reference to free charts fed with 'close to realtime' data on the net OR from an excel sheet, even without recourse to charts, which has the ability to pull in web data and has the logic encoded!!!

A sterling example of the same is of grandmothers of yore, who could make money merely from hand drawn point and figure charts by referring to EOD data of previous day from the daily newspaper!!!

So, merely owning any trading platform does NOT make one a successful trader..... or even a trader!!!

What a trading platform does is to provide features (charting, indicators, database, watchlist/ portfolio) and tools (backtester, optimizer, plugins, modules) for one to test, analyze and validate ideas and hypotheses wrt trading in relation to choice of market(s)!!!

The efficacy of any trading tool is directly and proportionally dependent upon the proficiency of the person using it!!!

Proficiency is the key ability here!!!

That being said, the process and purpose of trading can also be met by general purpose languages and modules like Python, MATLAB, R and good 'ol Excel - to name a few!!!

However, the end result in all cases would be the same if proficiency is absent!!!

It takes serious work, perseverance and persistence to build up proficiency, as well as to upgrade it!!!

So if a person like the OP :rolleyes: who apparently does not have an iota of capacity for building proficiency for even acquiring a basic minimal understanding of a TA platform like amibroker (AND, in addition, thinks nothing of exposing his/ her lack of IQ by tom-tomming inane childish assumptions to the world, that too in a public forum o_O!!!) feels that he'd be able to do better by utilizing a general purpose language and rebuilding the wheel from scratch ....... :p ........ then, the only possible sane rejoinder can be Hallejuiah and Hail Mary!!!
 
Last edited:

against_tides

Well-Known Member
#22
I think we are comparing apples with oranges here.
 

TracerBullet

Well-Known Member
#23
So if a person like the OP :rolleyes: who apparently does not have an iota of capacity for building proficiency for even acquiring a basic minimal understanding of a TA platform like amibroker (AND, in addition, thinks nothing of exposing his/ her lack of IQ by tom-tomming inane childish assumptions to the world, that too in a public forum o_O!!!) feels that he'd be able to do better by utilizing a general purpose language and rebuilding the wheel from scratch ....... :p ........ then, the only possible sane rejoinder can be Hallejuiah and Hail Mary!!!
On a similar note, There is a silly negativity towards python from some AB users and even AB devs and then they start saying that AB can be used for anything implying that it should be used as a general purpose language ..

This is one example - https://forum.amibroker.com/t/is-it-possible-to-run-python-on-amibroker/1809

Tomasz August 26, 2017, 2:15pm #8

You’re mistaken. It shows that you have no academic background in computer science. It takes very very little for the machine to be able to execute ANY imaginable algorithm. Turing Machine is excellent example. One could argue that assembler or C/C++ is more powerful due talking directly to hardware but Python ??? Python was originally a toy language for people without programming expertise. It got popularity not because it was any good but because it does look “easy”. Even it’s syntax (no semicolons for statement end) shows its similarity to BASIC which was mediocre language for amateurs. If you want powerful AND FAST language use C/C++.
More importantly Python has serious problems with multithreading due to use of global interpreter lock https://wiki.python.org/moin/GlobalInterpreterLock
This alone is big show stopper.
In AmiBroker multithreading is hassle-free. Each AFL formula just works in parallel in separate threads without worries
Disclaimer: the above opinions are mine and your is likely to be different. All discussions about languages always lead to nowhere.
A lot of these things apply to AB too, it is just as much a toy as python is - having somewhat similar design. And it is much much more enjoyable to code in python. Calling it a mediocre language with similarly silly reasoning from a skilled person shows that we can get locked to a view i guess .. Multi processing is a hassle in python ( esp with windows, Linux is easier) but it can work and its syntax/design is beautiful.

Sometimes, maybe not for most, reinventing wheel in a different way can be easier and better too. That worked for me, to write things exactly as i want rather than to try to hack my way through AB.

Anyway, good luck with your trading.
 

rmike

Well-Known Member
#24
Well ........ even though the main point of my post was something else entirely ... but nevertheless ......... ,

Opinions are just that ......... 'Opinions!!!'

Though there are, indeed, a few facts in what Tomasz had to say ....

Python did initially start as a diminutive 'toy like' module,

It being an interpreted language, it will always be somewhat slower vis-a-vis a compiled language like C/ C++,

AND Yes! Mutithreading is not one of its native forte(s)!!!

However .........

Python has now come a long way from its beginnings and has been beefed up over the years by a multitude of specific and specialized libraries which have enhanced its application to multifarious fields!!!

But for someone who may have seen python in its nascent beginnings, it may be a human reflex to base an opinion on that recollection as a primary assessment!!!

Hence the very right disclaimer by him (to cater for human fallibility :)))

Tomasz said:
Disclaimer: the above opinions are mine and your is likely to be different. All discussions about languages always lead to nowhere.
Therefore, like I said earlier ........ any comparisons ultimately degenerate into a childish ............. ;)

TB said:
Sometimes, maybe not for most, reinventing wheel in a different way can be easier and better too. That worked for me
Reinventing the wheel is not an issue wrt people who are determined to put in what's necessary to go the distance ........ my post was intended as a pointer for the other kind!!!

Good to know that the language kinda speaks to you!!! Though, I do recollect someone being more of a C/C++ aficionado in a not too distant past, till a forum mate enticed him with the siren song of Python!!! :p;):D
 
Last edited:

TracerBullet

Well-Known Member
#25
Though there are, indeed, a few facts in what Tomasz had to say ....

Python did initially start as a diminutive 'toy like' module,

It being an interpreted language, it will always be somewhat slower vis-a-vis a compiled language like C/ C++,

AND Yes! Mutithreading is not one of its native forte(s)!!!

However .........

Python has now come a long way from its beginnings and has been beefed up over the years by a multitude of specific and specialized libraries which have enhanced its application to multifarious fields!!!

But for someone who may have seen python in its nascent beginnings, it may be a human reflex to base an opinion on that recollection as a primary assessment!!!

Hence the very right disclaimer by him (to cater for human fallibility :)))
Continuing on silly discussion one last time,

Most stuff would probably start as toy/hobby, its really irrelevant. I read ( or misread) that AB was initially for personal use, so then AB was also that once. Comparison to Basic and conclusion from that was silly.

afl is interpreted too, and is much more limited in terms of language features and datastructures ( does it even have a hashmap/dictionary ?)
The speed comes from native code, in this case vector processing. Same is the case with python. Which one is faster in interpreted code, i dunno and it probably does not matter as it will much slower than native code.
Multithreading is fine, problem is that multithreading does not work on multiple cores which then requires a bit of a workaround through multiprocessing libs, which work fine but are a hassle( esp in windows, apparently as it does not allow process forking).
btw i just did some data import in AB, i think that import is not multithreaded :) ( could be wrong ).

AB is good ofc for its target purpose, and i am not trying to pick on him. But there is a bit of tendency in some AB lovers to denigrate python while ironically praising AB - when some of the weaknesses are shared and with python being much nicer to work with as a general purpose language.

Good to know that the language kinda speaks to you!!! Though, I do recollect someone being more of a C/C++ person in a not too distant past, till a forum mate enticed him with the siren song of Python!!! :p;)
yeah man, python is great for what it does. Too much work and hassle to do same in other languages. Yours was probably the first python code that i read.
 

mastermind007

Well-Known Member
#26
Hi friends

Kindly refer to this blog from QuantInsti authored by Vibhu Singh, Shagufta Tahsildar, and Rekhit Pachanekar. Blog was purportedly written on 12 August 2019 but it has two clap-clap-clap comments that were present on the blog 2 years ago!!!

In the blog, authors extol the virtues of their Python maiden supported with buncombe claims it to be superior than all other fair maidens that walked the IT garden before her . Referring to the same stackoverflow survey that the authors quoted but ignored the important para

Over 40% of respondents have less than five years of professional coding experience. Developers who work with languages such as VBA, F#, and Clojure have the most years of professional coding experience, while developers who work with languages like Python, PHP, and Kotlin have the fewest.
Best part is that using the prowess of Python code (76 lines of code including blank lines) they prove that CAGR of humble MACD(12, 26, 9) Indicator is 30% and the Sharpe ratio is 0.68!!!!

Just for comparison, the same strategy coded in Amibroker consumes 25 lines. AFL is ticker agnostic and time-frame agnostic whereas python code will require change to change the symbol file.

Code:
    _N(Title = "{{VALUES}}");
    Plot(Close, "Price", IIf(Close > Open, colorDarkGreen, IIf(Close <= Open, colorDarkRed, colorLightGrey)),
    styleCandle | styleNoLabel);

    data12d_EMA = EMA(Close, 12);
    data26d_EMA = EMA(Close, 26);

    Plot(data12d_EMA, "EMA 12", colorDarkGreen, styleLine | styleNoLabel);
    Plot(data26d_EMA, "EMA 26", colorDarkRed  , styleLine | styleNoLabel);
    
    dataMACD = data26d_EMA - data12d_EMA;
    
    dataSignal = EMA(dataMACD, 9);

    // Better to plot them in a separate pane....
    //Plot(dataMACD, "MACD", colorBlue, styleOwnScale | styleNoRescale | styleLine | styleNoLabel);
    //Plot(dataSignal, "SIGNAL", colorYellow, styleOwnScale | styleNoRescale | styleLine | styleNoLabel);

    Sig1 = Cross(dataMACD, dataSignal);
    Sig2 = Cross(dataSignal, dataMACD);

    Cover = Buy   = ExRem(Sig1, Sig2);
    Sell  = Short = ExRem(Sig2, Sig1);
    
    SetPositionSize(Max(1, RoundLotSize), spsShares);
Conclusion:
Maybe this is why mutual funds lose so much money; They rely heavily on python that gives 30% CAGR using MACD!!
 

CougarTrader

Well-Known Member
#28
Reproducing Python example in AFL via dyn. variables.
@trash, often I have observed that people who either do not delve deep in AFL, or even worse, exhibit shameless atrocity to use pirated versions of AB does "the too much" talking and (quite necessarily) get into comparisons. Its a false-ego thing, I guess!

For the purpose of knowledge seeking, exploration to different venues and avenues is well justified. Thank you for clearing the air.

Anyways on the other side, imagine a guy who studies the AmiBroker manual (first), pays for it, understands, tests, experiments for decent amount of time (in terms of years and several 1000s of hours) to fructify his trading needs like a benevolent student. Would that person, ever need to shift focus to anything else after realizing the sheer (yet simple) power of AFL?
 
Last edited:
Status
Not open for further replies.

Similar threads