Learning to code is scary for would-be systematic traders. On top of that, there are different opinions online about the skill level required to be successful in algo trading.
Some say that systematic or algorithmic trading requires you to be a super programmer, while others claim that you can achieve excellent results with nothing but free internet resources.
As is often the case, the truth lies somewhere in the middle.
While some programming knowledge is certainly helpful, you don't need to be the new Mark Zuckerberg to achieve impressive results.
Our founder, Andrea Unger, knew nothing of programming when he first began his study of systematic trading. Now, after twenty years, he is the only four-time winner of the World Cup Trading Championships.
One reason many people believe you need advanced programming skills to be successful in systematic trading is that some trading platforms do indeed require such skills.
To use the MetaTrader platform, for example, it's necessary to learn to program in MQL, an extremely complex programming language that can require hundreds of lines to code even the simplest strategies.
Fortunately, this problem can be easily bypassed by using a trading platform with simplified programming languages, such as MultiCharts or TradeStation.
As we said, becoming a systematic trader doesn't require any experience in the field of programming. However, this doesn’t mean that you won’t need to learn some basic programming skills to safely and effectively manage your own systems.
Indeed, many believe that ready-to-use shortcuts can allow a systematic trader to completely avoid learning to code. Think, for example, of software designed to translate trading instructions into lines of code or bots, that is, short pieces of code in various languages that can be easily found on the Internet at a low price (or even for free).
The problem with these shortcuts is that if you don't know how to program, you are entrusting your money to something you don't fully understand. For example, you won't be able to tell if the software has translated your instructions correctly, or if the bot does exactly what you need it to do.
Let me make a comparison: Trading via systems created by others that you don’t fully understand is a bit like trying to communicate with a Chinese person via Google Translate without knowing a word of Chinese. You'd probably be able to converse somewhat, but you'd lose a lot of nuance along the way. You might even make embarrassing gaffes, such as swapping the word mom (mā) for the word horse (mǎ).
The same concepts apply in trading, with the extra burden that any mistake can cost you dearly.
As we said at the beginning, there are two major schools of thought when it comes to systematic trading; it’s only for master programmers, or anyone can get by on shortcuts.
Fortunately, there is a middle ground, that is, a solution that's simple to implement, yet very reliable.
In this video, Andrea Unger talks about this solution, as well as his relationship with programming.
As you can see in the video, the best solution is to choose programming languages created specifically for systematic trading. Some platforms allow you to use simplified languages that have nothing to do with the complexity of MQL.
Here are some examples of simplified language platforms (and the name of the relevant languages):
MultiCharts > Power Language
TradeStation > Easy Language
ProRealTime > ProBuilder
It must be said that ProRealTime, while providing a very simple language, is a platform with fairly limited functionality.
In contrast, Power Language and Easy Language are 99% similar to each other, which means that you can share codes between TradeStation and MultiCharts with minimal changes. This is a major advantage should you decide to use both platforms or switch from one to the other.
For more information on how to choose the best trading platform, also read: Software for Systematic Trading - How to Choose the Best Platform.
Let's look very briefly at how these languages work.
As mentioned, codes written with these systems aren't complex at all; just follow a logical structure and proceed in an orderly manner.
At first you declare inputs and variables, such as numbers, text strings, or Boolean values (variables that can only be either true or false)
Then you enter conditions, whose “if...then” structure is logical and intuitive
Finally, enter entry and exit orders
These languages also contain keywords that allow specific trading instructions such as "buy" to buy or "sellshort" to sell.
As you can see, systematic trading doesn’t require complex programming skills. It’s normal to experience difficulties in the beginning. However, after a little practice and perseverance, you can develop the skills necessary for success in systematic trading.
Before we close, keep in mind that this article has talked about specific languages for systematic trading. This is because systematic trading is the approach we use at Unger Academy since it allows us to achieve excellent results without spending entire days in front of a screen. In fact, in systematic (or automated/algorithmic) trading, we create an algorithm with precise instructions that will then do most of the work for us.
This requires minimal programming skills, but as we've seen in the previous paragraphs, it's not that difficult.