When you start a new robot forex trading system you want to keep an eye on how it performs with all the metrics like drawdown, profit, Sharpe ratios etc etc.
But the best way I find to monitor a new forex system is to simply keep an eye on it, without being glued to the screen.
The way I accomplish this is by starting with the following question:
What do I want to see?
Generally I want to see what a currency pair is looking like before it places a trade. And then depending on the system I might want to take regular snapshots during the trade or when the trade has closed.
It really boils down to that question above. What is it you’d want to see with your forex system to ensure it’s working as desired?
After you’ve arrived at some sort of answer you’d then be looking at how you’d be able to accomplish viewing the charts of the system.
How can I watch my system without being glued to it?
Currently, I have a full time job, and I enjoy my work. While I do enjoy trading the currency market I much prefer to leave my robots doing all the hard work for me.
Therefore, because time is precious, and I don’t want to watch the screen 24 hours a day 5 times a week I have developed a simple technique to send through screen shots of my charts at my designated times and these then get automatically uploaded from my Windows VPS to my private Dropbox account.
If you’d like to do something similar then continue reading on and to see how I was able to get everything set up and functional.
For this technique to work it is assumed you already have the following:
- Windows VPS (I’m currently using AWS, but any is fine)
- Dropbox account (you could try other cloud based backups like Google Drive or OneDrive, but for this example we’re using Dropbox)
- Dropbox installed on your Windows VPS
Step 1 – Create New Take Screenshot Function
The first thing you will want to do is to create a new function in your code labelled
takeScreenshot something that looks a little like this:
Step 2 – Call the Screenshot Function in Your Code
Now it’s over to you.
You will need to find places in your code where you would like to call your code and you would call the
takeScreenshot function by inserting any tag string into the function parameter.
For example, within my trading code I like to take a screenshot once a trade has been placed, I therefore have code looking like this:
ord = OrderSend( Symbol(), OP_BUYSTOP, ... ); if (ord > -1) takeScreenshot("Breakout");
Then every time the system places that breakout trade it takes a screenshot.
Step 3 – Moving the file to a Dropbox folder
When you create the file we move it into our Dropbox folder so that it can automatically sync with the cloud, and we can view it from our Dropbox app.
There is a simple Windows command line tool called
robocopy which will do this task for us.
The way we will set this up is by instructing
robocopy to move the file from our destination
MQL4Files directory into our custom Dropbox folder and to check every 10 minutes (you can change the frequency to whatever you wish).
To do this we need to locate the full path of the source folder and the destination folder.
Once you have these open up the command line and enter the following command:
robocopy "C:UsersAdministratorAppDataRoamingMetaQuotesTerminal<HASH_STRING>MQL4Files" "C:UsersAdministratorDropbox<YOUR_DIRECTORY_NAME>" /MOV /MOT:10
In that command there are a couple of things you would need to change to match your set up, such as
<HASH_STRING> this is a string of numbers and letters pertaining to the instance of your MetaTrader installation, and
<YOUR_DIRECTORY_NAME> will be the name of the directory you want your screenshots to go to. If you want to change the frequency of time edit the number 10 in
/MOT:10 to whatever quantity of minutes you would prefer.
You should then see your command line looking a little something like this:
It’s important that you leave this command window running in the background as
robocopy will check every 10 minutes (or whatever you set the
/MOT flag to).
Finally, check your Dropbox app to confirm the screenshot function is working if you do happen to have any problems with screenshots generating just be sure the string you’re passing into that function doesn’t have any funny symbols or characters. Make sure they are alphanumeric (or dash and underscore) characters as this can prevent the file from being created.
With your new set up you should be able to make better informed decisions on how your system is performing by checking its visuals without you needing to be glued in front of the screen all day long. This is also very helpful for those trades which you’ll be unable to monitor, such as the times when you’re out and about or asleep.