Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
I've no background in programming or computer languages at all and now in my 30s I'm finding that I'd like to get stared, purely from a hobbyist perspective. I'm not looking to use this for trading at all however if I'm going to invest the time into learning how programming works and the basics of computer science then I'd like to start from the perspective of what might be useful in the future.
Also I noticed in the library the other day that there are classes for 5 years olds now so thinking I better learn something so my kids don't disown me I'm older!
I'd appreciate any insights into how I could get started and what language to go for, any good resources or books you'd recommend. Any help I'm most grateful.
Thanks.
Can you help answer these questions from other members on NexusFi?
There's plenty of free resources online to learn programming.
Getting started depends on a number of things - how familiar are you with logic concepts such as algorithms, logical operators such as AND, OR, etc., whether you are familiar with using Excel functions (nothing to do with programming per se but helps with the logic) and what kind of purpose you see yourself programming for.
There's a lot to be said about this matter but it depends on what kind of background you have.
Thanks very much for the reply. I'd probably say I have zero experience in the above areas I hadn't thought of Excel functions and have a very limited experience with this but have done some. In terms of applications I'd be getting into again I'm not sure, I understand this is a weak statement. I guess I'd like to have some practical ability in the area to try and help understand how the field of computer science, machine learning and AI develop in the future. Apologies that isn't the most specific of objectives!
No problem. The thing is, there's many different applications as you said. Web development which has a number of technologies and related languages (PHP, Javascript, HTML, etc.); app development for Android or Apple devices (not looked into it but likely to be based on C and its derivatives); AI/machine learning (Python, Lisp but also Java, etc.).
Another differentiation is the so-called "High-level" and "Low-level" programming languages.
High-level means that the language syntax is very similar to the English language and so it's easier to understand (example: PRINT 4+5 will give you 9 as result in BASIC language). The flip-side is that high-level languages are slower to process for computers.
Low-level means that syntax is closer to binary logic, which is processed much faster by a computer. The flip-side is that a command similar to that PRINT above may take several lines of code and may not make much sense.
So there's different ways to approach this.
Perhaps start looking at BASIC, which is supposed to be a relatively easy language to understand, or just browse Google with something like "getting started with programming", I am sure you will find tons of material to get you going.
Excel is a good place to start. udemy.com has great tutorials; or you can hunt for good free ones on youtube, etc. Next, you can learn Excel VBA. Again, Udemy or youtube. After that, I'd recommend learning a more powerful language like Rust.
Thanks everyone for the help. I like the idea of starting in Excel. Just this evening I was trying to update my trade log software from manual trade entry to broker import. In doing so I managed to wipe my trade history. I've never really gotten on with this kind of software and since I'm currently scalping, I think a simple Excel spreadsheet might be the way ahead, so learning how to utilise it will be a good start.
There are many studies about which programming languages are most widely used / most popular and the like.
The stackoverflow blog just reversed the question into "What are the most disliked programming languages?".
Of course i'm old school, but i remember mandatory Cobol and RPG at the uni in late 80's,
once me and my buddy we received a severe warning, we had exercised we needed to
complete and we wrote it as a minimal Cobol program and a call-out to Pascal
I am a programmer by profession and a futures trader on the algorithm side. So I will throw in my two cents. Just to get familiar with basic blocking and tackling aspects of programming logic, MS Excel is a great place to start as has been previously mentioned. You can really get a handle on the basics with if statements, and other basic logic formulas that do something based on criteria. Once you get familiar with these concepts you will find that most programming languages are very similar to this. My natural progression in programming was as follows:
Excel > VBA > SQL > VB. Net > C# > Java
I think visual basic is a very easy to understand first language because the syntax is almost like talking, so following what is going on is very easy. When you move over to C# which is Microsoft's other primary PL, it has almost all the same rules as VB, but it drops a lot of the verbiage and just uses characters and symbols to short cut things.
Moving from VB to C# is pretty natural, and moving from C# to Java or Java script is pretty natural also because they use similar syntax, rules and the likes.
Now with respect to how any PL can help you get setup in trading, here is my two cents.
Go with C#
NinjaTrader uses C# and MultiCharts .Net uses C#. Some of the other platforms do as well, but C# will get you in the door with 2 of the top platforms. Easy Language which is used by Tradestation and some others, is not a real PL per say, so much a proprietary PL for a given trading platform. I would say that going with C# you would pick up a PL that would be applicable to trading and beyond, whereas if you invest in Easy Language your benefit would be to trading only.
One final reason that I tip my hat to C# over others with respect to trading, is you have access to the vast fortune of Microsoft class libraries that you can extend into your trading system. If you want to pull in SQL, Lists, Arrays, Data Tables, or other more advanced objects into your trading platform, C# has you covered. If you go with a different platform and PL, you are going to struggle to gain access to the same riches.