Apr 23, 2015
It’s been now almost 2 and a half years since I started this journey of designing a fully automated trading strategy. I certainly don’t believe “I’ve arrived” and I still have much to learn, however, there are many things that I have learnt throughout the last 2 and a half years that perhaps you’d be able to use for your own trading strategies.
My desire for this is that you too would similarly arrive to the same conclusion I’ve had about trading upon progressing throughout this series:
Develop a trading system to your disposition and risk profile, faithfully follow it - review and refine when needed.
My hope is that you too will discover how to create a profitable trading strategy and in this series I’d like to share with how I came to find such a system. The journey can truly be enjoyable, but be prepared for some hard yards ahead. I hope this series will help in your quest, but it isn’t a pill that will magically make you skip all the potholes along the way.
And therefore it should go without saying that before we ever do jump into this series that you be made aware that the code snippets dotted throughout may be prone to error. I may have had to reformat the code to make it more digestible and in doing say may have broken it. Please make sure you fully test any snippets before putting it into production - in fact, a good exercise to get yourself into is not to copy and paste the code, but to manually type it in yourself into your MetaTrader platform.
And this leads to another point that should quickly be made mention of the code within this series is all MetaTrader. I know other platforms exist, however, I’ve only designed my systems in MetaTrader. To help those who have other systems such as NinjaTrader I’ll document my code with comments in English for you to translate into your platform of choice.
Anyway, with all of that in mind let us have a look at what I’ll be covering in this series.
When I considered how and what I would like to write I looked at all my thought processes and choices both coding-wise as well as the non-coding elements too. I then bundled these things up into a logical framework that hopefully by the time this series is finished makes cohesive sense.
So our starting point in this series will be the internal thought process. We’ll start by asking the deep questions first. By doing so it will help lay a foundation that we are able to work upon and will help us get through the tough patches.
Next, we’ll look at all the requirements needed before we get started writing even one line of code.
Then we’ll begin by looking at the coding framework of our system and how we need to establish certain aspects within our code early to help us avoid being wiped out. (If I knew this earlier on I believe I wouldn’t have wiped out so many accounts - miss this step at your own peril!)
Then we’ll define our strategy of entry and exits. And I’ll explain at this stage how with one snippet of code it completely flipped my thinking on my trading systems and I believe it was at this “aha” moment where my trading systems stopped losing so much money. I believe with all the previous steps up this point amatuer traders can discover this “aha” moment, but you would need to have done everything else beforehand.
After that we’ll then put our critical hat on and begin to design our reports. We’ll look at how to implement metrics within our system to continually monitor areas of improvement and how to get that information to us at certain times throughout the week and month. There’s another internal element that I’ll highlight at this stage which most people would probably gloss over, but without it, this stage becomes worthless which then prevents you from determining whether your trading system is viable or not.
Then there’s the final element. This is the part I’m a little reluctant to share, as up to this point you’ll certainly have enough understanding on how to design an automated trading system, but this was the part for me during this journey that was an absolute shock. It turned my thinking on it’s head and my trading accounts went from either being slight losses or profits to being very profitable.
I think I’ll have to be in a good mood to share the last element.
Anyway, my hope throughout this series is that by the end of it you would have discovered at least ONE thing that will help improve your automated trading strategy.
I’m now at a point where I only spend a few minutes a day checking my systems and maybe once a week shuffling funds into different trading accounts. Even though I have a good foundation on how to design any new trading system, I find my role not so much as a trading system designer, but one more of a portfolio manager with each automated system being a “fund” of whom I determine what amount of money gets divided up into which system for the week.
Maybe this is how you’ll similarly find yourself after applying and going through the same process.
I wish you all the best in your automated trading system design.
In the second part (first episode here) of this mini-series on coding your own MetaTrader system we detail the following aspects: The importance of writing comments when designing your MetaTrader system - it's certainly something that isn't obvious when you are programming away and the benefits are only seen in...
Now that the majority of bugs have been exterminated from the release of my automated trading systems, I’ve been thinking about new ideas and incorporating new aspects within the systems. Obviously the core of what happens with the trend line plots and detection of trend line touches within the system...
I recall about a year ago seeking a service that could do some of the aspects of forex trading such as stop-and-reverse without having me physically glued to my computer. One such service that I came across was Pecunia Systems. If offered the ability for me to conduct “Stop-And-Reverse” trades,...