Which programming language should you use for trading?

Which programming language should you use for trading?


Choosing a trading platform is an important decision. Important points to consider are the platform’s features, its price, and the level of support that’s available. But there’s also a decision about which kind of programming language to use. Should you use an advanced, professional programming language or would a simple, but easy-to-learn language be a better choice? Let’s look at the advantages and disadvantages of each.

Programming with a professional programming language

Several trading platforms use an existing, well-established programming language that’s designed for professional programmers. Examples of these platforms are MultiCharts .NET [https://optimusfutures.com/Platforms/MultiChartsNET.php] (which allows coding in either C# or Visual Basic) and Sierra Chart [https://optimusfutures.com/Platforms/SierraChart.php] that adopted C++.

Advantages of a professional programming language

Professional programming languages have a few advantages. First, they have so much features and capabilities that they allow for programming practically anything. With C#, for instance, we can create professional websites, complete Windows applications, and even Windows and XBox games. What this means for trading is that we’re not limited by the features of the trading platform, and we could use a professional programming language to store trades in an external database, create custom pop-up messages, send customised emails, save charts as an image and upload them, and much more.

Another advantage is that these programming languages can be written in a professional code editor, like Microsoft Visual Studio (which also has a free edition, Community, for individual developers and small professional teams). These editors offer a lot of advanced features that make programming and debugging scripts much easier and efficient.

Professional programming languages also offer object-oriented programming techniques. With this feature complex ideas become easier to program since it allows code to model the problem we’re trying to solve. This not only makes complex code easier to understand (since it mimics real-world behaviour), it’s also easier to write and manage. That, in turn, reduces errors and programming time when coding very complex trading strategies.

Disadvantage of a professional programming language

The most important disadvantage of professional programming languages is their steep learning curve. Not only are these complex languages, there’s also a lot to learn even if you only want to do basic things. And while anyone can learn a professional programming language, it does require a significant time investment. Furthermore, because these programming languages have their own terminology for abstract operations, the available help online can be hard to comprehend.

Programming in a scripting language

Other trading platforms, like MultiCharts [https://optimusfutures.com/Platforms/MultiCharts.php] and TradeStation [https://optimusfutures.com/TradeStation.php], created their own proprietary programming language that’s developed with the needs of traders in mind. These languages are often not that advanced (and therefore more aptly called scripting languages) but offer some important benefits.

Benefits of a scripting language

The most important benefit of scripting languages is that they are (relatively) easy: they need less code to perform certain actions and the code that’s needed is also less complex. This not only reduces the time needed to learn a scripting language, it also makes implementing ideas in them that much quicker.

And because it doesn’t take that much time to learn a scripting language, it’s also easier to switch trading platforms: if you already have some programming experience from a trading platform, you can know how to program in another platform within a week.

Drawbacks of a scripting language

An important disadvantage of scripting languages is that their capabilities are limited. Several things that are standard in a professional programming language are missing from scripting languages. While scripting languages often can use DLLs (a small file that contains code written in a professional programming language), that does require know how to write DLLs in languages like C# and C++.

Another drawback of scripting languages is that you’re limited to the code editor that comes with the trading platform, which typically doesn’t have much features that makes programming more productive (think WordPad versus Microsoft Word) or lacks debugging features.

Which programming language should you choose?

While choosing a programming language is also a matter of personal preference, some general pointers for choosing a language are given below.

Choose a professional language like C# when one or several of these statements apply to you:

?      You love programming and would rather spend more time on it.

?      You already have some experience with an object-oriented programming language and prefer not to go back to a more basic language.

?      If you don’t have much programming experience, you’re willing to spend a decent amount of time in the next half year to learn programming.

?      You love to learn complex topics and don’t mind learning programming from a 700-page book.

?      You like to think logical and abstract about the things you’re going to code.

?      You want to go beyond the features that the trading platform holds and want to be able to program your own applications.

?      You plan to code complex quantitative trading strategies.

Here are several reasons why a scripting language might be a good choice for you:

?      You’re new to programming and are more comfortable learning programming with an easy-to-understand programming language.

?      You think programming your own scripts is a necessity but not something that you’d do for fun.

?      You view programming as a minor part of your trading activities, and would rather not spend too much time and energy on learning programming and coding scripts.

?      You only need to occasionally program an indicator or trading strategy or make small changes to an existing script.

?      You don’t like the idea of working with an abstract programming language and just want to code your idea so you can go back to your other activities.

?      You’re yet not sure that you’ll use the trading platform in the long term so you’d rather not spend a lot of time learning its programming language now.

There is a Substantial Risk of Loss in Futures Trading. Past Performance is Not Indicative of Future Results.

At Optimus Futures we offer a range of trading platforms [https://optimusfutures.com/Futures-Trading-Platforms.php] for traders with different needs and goals. If you need help choosing a trading platform, reach out [https://optimusfutures.com/Support.php] and we’ll assist you in getting started.

You are not signed in. Sign in to post comments.