You are on page 1of 12

Discussion Paper: What Trading Software to Use?

My Software Solution
For trading I use the following;

- Software: VBA for Excel for developing strategies & producing orders.
 I use Office 2003 … yes, I know its old, but it works for me.
- Data: Premium Data/Data tools for my end of day data.
 https://www.premiumdata.net/
- Broker: Interactive Broker for trading futures. I manually enter my orders.
 https://www.interactivebrokers.com

When traders ask for advice on what software to use I’m reluctant to give any.

I’m reluctant, not because I’m mean or not bothered to help out, but because I’m simply ignorant.

You see I haven’t personally bought an off the shelf trading program since I bought TradeStation 4(?) in
the 1990s. I can still remember how excited I was when I bought it. At the time Trade Station was
regarded as the number one cutting edge trading package available. And I can still remember how
deflated I felt when I realised after opening it that Easy Language didn’t look so easy!

I really felt deflated. Talk about taking the wind out of my sails.

But then I came to a sensible realisation.

I realised that if I was going to learn a script coding language I might as well put some extra effort into
learning a language that would have more application.

Application in not only helping me to investigate/develop/review/validate trading ideas, but learn a


coding language that would have a wider use in other areas, like work.

So I decided I should learn VBA for Excel. I attended two weekend courses. The first one was an
introductory course on VBA for Excel and the second an intermediate weekend course. After that I
haven’t looked back.

Using VBA for excel, once learnt, is relatively straight forward.

It commences with a spreadsheet, or workbook.

Copyright © and all Rights Reserved 2001-2022 1


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

To access VBA for Excel you just need to press “Alt & F11”. This will open the VBA Editor.

Once the VBA Editor is open it allows me to commencing coding.

Coding in VBA for Excel allows me to chart patterns and ideas.

Copyright © and all Rights Reserved 2001-2022 2


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

It allows me to back-test strategies.

That’s it.

After completing two weekend VBA courses I was off and running.

However it wasn’t without speed bumps and continuous learning.

There was a lot of frustration, but through effort, trial and error I’ve been independent doing my own
coding now for over 20 years.

I think my ability to become independent and personally verify every trading idea I have ever wanted to
consider for trading has been singularly, after learning the importance and implication of ROR, the most
important foundation stone to my trading success.

Now this is the path I followed.

I’m not advocating others do the same as I’m only sharing with you my journey.

But as a consequence of me using VBA for Excel I’m basically clueless about what third party
programmes are out there?

However, even given those constraints, I am happy to share this Discussion Paper which I hope can
give some insight into the choices faced by traders concerning trading software.

And please understand this paper is not meant to be a complete, exhaustive or thorough review of
trading programmes as I’m not a “software” guy.

Copyright © and all Rights Reserved 2001-2022 3


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

Trading Programmes Available


First up I know from chats with my traders the following software solutions are available;

Trading Programs Used

- AmiBroker
- Channalyze
- MultiCharts
- RealTest
- Trade Navigator
- Tradeguider
- TradeStation and
- Trading Blox

Direct Programming Languages Used

- Visual Basic
- Python
- Java and
- Ruby

The more popular trading programmes are;

- TradeStation
- MultiCharts
- Amibroker and
- Trading Blox.

The more popular direct programming language is;

- Python

Copyright © and all Rights Reserved 2001-2022 4


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

My Thoughts
My primary suggestion concerning trading software comes down to peoples’ time constraints;

Time Rich (or young, with all the time in the world ahead of them):
o I’d suggest learning to code via either using a;
• Spreadsheet/macro combination like VBA for Excel, or a
• Programming language like Python.
 Disadvantage
• Will present a steep learning curve.
• Will be more time consuming.
 Advantage
• Will make you independent, not reliant on third parties.
• Will give you great productivity skills for the workplace.
• Will be less expensive.

Time Poor (or someone senior, with less time ahead of them):
o I’d suggest learning an off the shelf third party trading/backtesting programme such as;
• RealTest with Script Language (requires external data).
• MultiCharts with PowerLanguage (requires external data).
• Trade Navigator with TradeSense (requires external data).
• TradeStation with EasyLanguage (data included for small mthly fee).
 Disadvantage
• Will become dependant on a third party programme.
• Will become constrained by third party offering.
• Could become vulnerable to possible piracy of strategies.
• Could become vulnerable to third party failure (i.e. Quantopian).
• More expensive.
 Advantage
• Will present a flatter learning curve.
• Will be less time consuming.

Copyright © and all Rights Reserved 2001-2022 5


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

Comments from Traders


Since I’m clueless about what’s available out there from third party suppliers I’m happy to share the
following observations from a number of my traders.

VBA for Excel


I initially tried highly rated books for learning VBA. I started off with “Excel VBA Programming for
Dummies”, hahaha. But stopped maybe 5-6 chapters in as it was very dry and slow to move at any
pace. Also it was not that engaging and practical.

So I tried short YouTube intro/beginner courses for VBA which were a bit better but not enough.

Then I finally bought a Udemy course called;

"Unlock Excel VBA and Excel Macros"

I've only done 50% of but its given me enough knowledge to build a half cooked backtester.

Google doesn't hurt either.

And I’m very pleased with the new skills I've developed through learning/working in VBA in the past few
months.

Amibroker/RealTest/NinjaTrader/MultiCharts
I was recently trying to find a package that would be simpler to program your systems in, but there isn't
really a pre-made charting program that does what we need out of the box. There are many programs
out there, but some are limited by really basic things like currencies or not dealing with futures - many
seem only designed for shares or forex.

Amibroker
I personally started with Amibroker about 8 years ago, and while it can do futures it can't handle (easily
without advanced programming) picking individual contracts. Good integration with Norgate Data
though, and using the CCB data series allows you to test futures systems very easily. Other pluses are
that it does good charting and indicator plotting quite easily, and the programming language is fairly
straightforward - you can stick to for loops and if/else statements and cycle through bars one at a time if
that style of programming comes easily, but it also has metrics and fast vector based features if you
prefer programming it more like Matlab. There is a large amount of example code on the user
discussion forum, although sometimes the culture on the forum isn't the most newbie-friendly
environment, the software author particularly has written much reference material and so anyone
asking a question that is answered in the manual or online resources usually gets a fairly terse pointer
at these. It can be attached to Interactive Brokers Trader WorkStation (TWS) for automation, but the
real-time trading features require a lot of custom code. Doesn't have much support for multi-strategy
development, all the strategies would need to be coded into the same file (or be included through
include statements) to run a backtest and position sizing starts getting very complex that way. On the
plus side it's quite cheap compared to MultiCharts or NinjaTrader or the like, and with a licence you get
to keep running the last version released before your time runs out for good, so unless you want to stay
with the very latest version this could be a once off purchase.
Copyright © and all Rights Reserved 2001-2022 6
Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

RealTest
I moved on to RealTest as it has much better integration with Norgate Data for futures - it runs multiple
systems at the same time in a much friendlier way than Amibroker, and works on daily/weekly/monthly
data (not down to tick data like Amibroker ). The programming language is a little different to Amibroker
in that for loops and if/else statements aren't supported in a program flow kind of way. Everything is
very fast, but you can't step through bar by bar, instead you need to use built-in functions like
"WhenTrue" or "HighestSince" etc, ... think of all variable names as columns in a spreadsheet, and if
you can reduce your logic to a spreadsheet it is quite simple to replicate in RealTest. Future-leak errors
can't happen with this kind of programming language, unless you specifically refer to the future with a
reference. The downside is that other than plotting basic indicators it is very challenging to get
RealTest to plot custom indicators like a SimpleSwingChart - I got them coded and working quite
quickly, but working out how to plot them took much longer. Still, it is achievable. Once you have a
system defined it is very easy to backtest, check the intermediate calculations, list orders, check trades
and to combine into a portfolio of multiple systems.

Subscription based system for upgrades.

The developer (Trader Marsten Parker, featured in Jack Schwager’s book Unknown Market Wizards) is
very friendly and active.

Sometimes if I've found what looks to be a program bug it gets fixed within hours, especially when it's
easily replicated - this should be thought of as a good thing. I have tried to do a bunch of strange and
unusual things with RealTest, and most people wouldn't have run into any of the bugs we found -
features also get updated regularly. In the past two months Marsten added a way to access the CCB
data series from each individual contract, as well as doing things like ranking all of the individual
contracts by Open Interest or some other indicator, which then lets you run the system on the CCB
price series, but working out which individual contract to use for trade entry and exit.

It's not quite as easy to learn as Amibroker, but the manual is excellent and the support forum is fairly
active and very friendly.

rd
[BP Comment: RealTest looks very interesting to me. This is the first 3 party package I’ve heard
about that allows you to develop/test/run a portfolio (multiple) strategies over a portfolio of markets,
which is what I do with my home programmed Excel/VBA model. If you have the time its worth visiting
Marsten’s website; https://mhptrading.com/ .]

NinjaTrader/MultiCharts
I also played around with NinjaTrader and MultiCharts earlier this year, but found them quite clunky.
Definitely possible to put together your systems in both of those, but much harder to get started than
with either AmiBroker or RealTest.

Copyright © and all Rights Reserved 2001-2022 7


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

RealTest
After having worked with Tradestation, Wealthlab, Amibroker and MT4, I must say that you can see that
Marsten Parker, the developer op RealTest, is both a real trader and a good developer. There is a lot of
features in RealTest that makes it easy and attractive to trade multiple systems at the same time, which
is something that is more cumbersome with the other products mentioned. And Universal Trader is
about trading multiple systems.

Up until now RealTest is only supporting daily bars. Not an issue for Universal Trader, but might be a
limitation for some people. However, Marsten said that intraday adaptations are on his list for 2023 to
add.

Another thing to note is that Realtest has a pretty different programming model than the other products.
There are no loops possible, everything is programmed linearly in time. This gives some issues with the
Swing charts, especially in the case of having to go “back in time” to determine swing points in case of
multiple OSBs and ISBs. Jani has done a deep dive into this, and with the current RealTest features is
not able to solve this particular issue. Also in this case Marsten mentioned that he has adding a more
extended programming model on his work list for 2023.

All in all I am pretty happy with RealTest. You have to get accustomed to the different programming
model. Once the last bit with the swing points is solved sometime in the future, it will be a very good
solution.

MultiCharts/Visual Basic (VB)


This is how I do it:

I use MultiCharts to replicate your systems – it is easy to understand and the backtesting reports are
great.

Once I have replicated the system…I effectively have the programming logic to code up the system and
then audit the result against the MultiCharts backtest report. I use VB (could easily use
VBA/Excel)….the reason I do this is that I couldn’t get MultiCharts to generate the orders (i.e. new
orders and orders to manage existing positions/contract roll, create an order file to load into
InteractiveBroker and create a “plain english” text order file so I have a record of historical orders,
record all the trades in excel and track the systems performance metrics, P&L etc)……in VB or VBA
you can do the whole process with a push of a button (while you get a coffee).

I’m sure you use VBA to do a similar thing. From memory it took me about 2-3 years to learn to code
and build the “shell” of a program that I can use for pretty much anything (FX/Indexes/Commodities)
…..it was a bit like building a house…pretty satisfying to watch it take shape over time.

I found charting software packages do many things…but not everything that is needed. There is always
that one thing missing….

MultiCharts is a tremendous back testing tool.

Copyright © and all Rights Reserved 2001-2022 8


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

You probably could program MultiCharts to visually show a setup on a chart. MultiCharts can transmit
orders from a chart into InteractiveBroker (I don’t think it would send the stoploss across)….I’ve never
tried this on a daily chart….I would think you’d need to be quite careful with orders going straight across
(I prefer to upload orders to IB from a spreadsheet).

While I love MultiCharts…there is a known bug that pops up from time to time the “line 0, column 0
compile error” (stopping you compiling PowerLanguage)….I sometimes run into this after doing a
Windows update, very annoying and the software developers simply blame Microsoft….something in
the PC’s Registry files goes wonky – it tends to fix itself in subsequent updates. MultiCharts will allow
you to backtest multiple systems across multiple markets (say 30 futures contracts) quickly….but it
couldn’t do say 3000 stocks like AmiBroker can (Amibroker can run a system across 3000 stocks over
20 years of history in about 90 seconds)…Amibroker doesn’t do weekly/monthly high/low/close etc
without some coding

Excel/VBA
I use the current version of VBA for work….there is a bug: sometimes when you open an excel file, it
loses the reference to the VBA code – gives some error message effectively saying it can’t find the
code… quite scary when you first run into it. There is an easy fix: you have to open the excel file on a
different PC (say off a USB stick) and once open, save the file. It will then open normally.

IB provides a TWS API that includes an Excel file that you can (with some tweaking) use to upload
orders directly into IB. You can upload any type of order that IB support….however, it takes a little
Excel work to set it up exactly how you want it, e.g. entry STOP orders with attached Stop Loss; orders
that start working or cancel at a given date/time, MKT, MOC etc. It’s worth the effort...it will upload 20
or 30 orders in the blink of an eye. Testing it on a IB Paper Trading account is recommended.

TradeStation/MultiCharts
I think TradeStation / MultiCharts is a good place to start. Most of the trading systems you can buy are
usually in EasyLanguage (unless it's stocks, in which case, AmiBroker).

Traders do need a data source.

With MultiCharts you’ll need to secure an external data source like Norgate. It can auto-trade with your
own choice of broker.

TradeStation is a one stop shop providing software, data and brokerage. It’s a cheaper option then
MultiCharts. The platform is free and delayed real time end of day and intraday data is cheap, like $10 a
month. They (TradeStation and MultiCharts) use the same programming language (EasyLanguage).

MultiCharts v TradeStation
For a comparison between the two programs please refer to the following article;
https://www.benzinga.com/money/multicharts-vs-tradestation/

Copyright © and all Rights Reserved 2001-2022 9


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

Python
I wouldn't say that I am a developed programmer yet. I have been learning Python for the last couple of
months, and have just coded 5 of your strategies in last few weeks (to the point that it can check the
data and generates orders if satisfied by one click). I am finishing the other 4 strategies in next 2-3
weeks so the whole IDX portfolio will run from Python by just few clicks.

Python
I have programmed in many languages (mostly commercial business applications - C# on the backend,
frontend and web development) and have only recently started using Python.

It has a huge number of libraries available for trading etc (I have been using python mostly for Machine
Learning/AI for other projects and intend to use these for trading down the track).

FYI - I have found the following excellent course on Udemy for teaching people how to code trading
strategies, gather data, do plotting and analysis and a trading bot using Python:

https://www.udemy.com/course/complete-algorthmic-forex-trading-and-back-testing-system

I have found this awesome for me to improve my python skills but I also think this would be suitable for
anyone, regardless of programming experience. It covers so much and is explained very well.

Trade Navigator
I can highly recommend Trade Navigator from Genesis Financial Technologies. TradeSense, their
programming language is very close to English and I haven’t found anything it can’t do yet.

I hope these observations help.

Good validating, good money management and good risk management.

Brent Penfold
Helping traders since 2001
Sydney, Australia
March 2022

Copyright © and all Rights Reserved 2001-2022 10


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use?
a

Brent Penfold
Trader, Advisor, Author and Educator

Brent Penfold
Helping traders since 2001.

Brent Penfold is a 30-year veteran trader having begun his career in 1983 as an institutional trader with
Bank America. In addition to being a professional trader Brent is an advisor, author and educator.
Today Brent trades a diversified global portfolio of markets including indices, currencies, interest rates,
energies, metals, grains, softs and meats.

He is the author of three books;

• Trading the SPI (Wiley 2005) and


• The Universal Principles of Successful Trading (Wiley 2010).
• The Universal Tactics of Successful Trend Trading (Wiley 2020).

The Universal Principles of Successful Trading has become an international best seller that has now
been translated into Polish, German, Korean, Japanese and simplified and orthodox Chinese. Brent
expects The Universal Tactics of Successful Trend Trading to enjoy similar success.

Brent publishes daily newsletters for active index, currency and commodity traders and is a popular and
sought after international speaker who has presented to traders throughout the Asia Pacific region
including Australia, New Zealand, Malaysia, Singapore , Hong Kong , Vietnam, Thailand, India and
China.

Brent holds a Master of Commerce (Finance) degree. To learn more about Brent Penfold and his
services you can visit his web site:

www.IndexTrader.com.au

Please read the following Warning on the next page.

Copyright © and all Rights Reserved 2001-2022 11


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001
Discussion Paper: What Trading Software to Use? a

Warning – Please read

This Discussion Paper does not contain any trading advice, personal advice or general advice.

This Discussion Paper is educational only and is designed to encourage traders to independently verify
trading ideas before they consider using them in the market.

When researching certain trading ideas this Discussion Paper does not take into account individual
trader needs, their individual financial situation or their individual investment objectives.

If you wish to further explore the ideas shared in this Discussion Paper you will need to, with or without
the assistance of a licensed financial adviser, determine whether the particular trading idea is
appropriate in light of your particular needs, financial situation and investment objectives.

You need to understand there is risk of loss in trading and that this Discussion Paper does not indicate
future trading success.

By receiving this Discussion Paper you acknowledge that you understand and accept these warnings.

Copyright © and all Rights Reserved 2001-2022 12


Brent Penfold, Director, Brent Penfold Futures Pty Ltd.
Trading is risky and can result in the loss of a trader’s entire risk capital and more.
www.IndexTrader.com.au
Helping traders since 2001

You might also like