Thursday, 19 April 2018

Snapdragon Systems Historic Data Service

Clean financial market data for back-testing
Through our various trading platforms and data feeds we have accumulated a reasonable history of finanical market data over the years. What we have now done is to clean it up (where possible it's from a single reliable and tradeable source), and convert it into a format that can easily be imported either into ForexTester or into Metatrader4 for back-testing. Below are the key points of the service

  • Spot forex: all pair combinations from the 8 major markets + some key CFD markets as well
  •  Goes back to the start of 2006 in 1 minute bars
  •  Comes in Ascii format for easy importing across a variety of platforms.
  • Will load straight into the ForexTester back-testing platform and also into the Metatrader4 History Center for Strategy Tester back-tests

Data is adjusted for the daylight savings difference between the US and Europe so you can either have the New York close always at the same time or the London Open always at the same time. Both sets of data are supplied.

  •     Price is GBP 100.00 to download all the data along with weekly updates for one month.
  •    Thereafter you can get weekly updates for GBP 60.00 per quarter. NB this is optional, so if you just want a one-off data dump then simply don't renew your subscription at the end of the first month.

For more enquiries or to order please get in touch via the Snapdragon Systems contact page on our web-site

We can also source other markets and time-frames. If you have a particular requirement that isn't covered by the Historic Data Service then please ask.

Full List of Markets Convered



Thursday, 5 April 2018

How to Convert Mt4 Back-test Data to Different Time-frames

This is another post in the series on how to do things in Mt4. This one covers how to import data for historic back-tests within the Mt4 StrategyTester and how to convert it to different time-frames.

If you want to do some back-testing in Metatrader4 using the built-in StrategyTester then the first thing you need to do is to import some good quality historic data. An excellent source for this is the Snapdragon Historic Data Service which has highly accurate clean 1 minute historic data going all the way back to the start of 2006. But how do you import it into Mt4 and how do you convert it to different time-frames?

Importing 1 Minute Data
1. The first thing you need to do is to bring up the History Center ( Tools | History Center menu option or just hit F2). This will show the History Center dialog box. Let's say that we're importing some 1 minute EURUSD data. Navigate on the left-hand side to this pair and double-click on it to show the different time-frame sub-categories. Highlight the 1 Minute sub-folder and then double-click on it to load in all the historic data that is already available. If you're wondering where it comes from, it's the data that is stored in the history folder of your Mt4 installation. Note, this is the same folder where all the off-line data goes that Mt4 generates (e.g. for non-standard time-frames or non-standard chart types). This is important for when we come to convert the data to different time-frames later on.

The History Center dialog box
2. If there is some data already there then we need to delete it to ensure that our data comes entirely from our trusted source. So highlight the top element, hold down the shift key and then scroll to the bottom and click on the last element. This should now highlight all the elements in the list. Now click on the Delete button to delete them all. This deletes the appropriate off-line data file. Note that as an alternative you can navigate within the Windows Explorer to the history folder and delete the appropriate files by hand if you prefer.

3. Now, making sure that the 1 Minute category is still highlighted on the left, click on the Import button and navigate to the M1 file that you want to import. Click through the subsequent dialog box and provided your data is in the correct format it should all import correctly and be shown in the list on the right-hand side.

Converting to a Different Time-frame
You've now managed to import some clean M1 data into Mt4 and you can go ahead and run your back-tests on it. But what if you want to back-test on say an M15 chart instead?  Well, with a bit more work we can also generate any other time-frame from our initial M1 data.

1. Say we are after M15 data. First delete all the existing off-line data for this time-frame in the same way as we did for step 2 above.

2. Now,  open up the M1 off-line data in a chart. To do this, go to the File | Open Offline menu option and when the dialog box comes up, navigate to the EURUSD,M1 chart which should contain our data. Make sure that the setting on your chart will load in all the data that you are after: Tools | Options, then the Charts tab and set the Max bars in history and Max bars in chart both to something suitably huge. 

3. You should now see all the data in your off-line chart. Next we need to convert it to our M15 time-frame. To do this we can use the Period Converter script that comes with your Mt4 installation. So drop the script into the chart and for the Period multiplier factor script input, put 15. 

Using the Period Converter to create M15 data
Once this has run you should now see the EURUSD,M15 file in the off-line file list and you should be able to load it into the History Center dialog box if you want. Note that there is no need to import this data as you've already created it in the history folder where all back-test data resides.

4. Repeat this process for all the different time-frames that you are going to want to test.

That should be it! You should now have clean data for all desired time-frames and you should be able to run successful back-tests on it using the Strattegy Tester.

Thursday, 2 November 2017

Video on the Easy Order Entry Script for Forex Tester

NB this video was first posted on a private forum hence the referral to a couple of traders by name there.

Monday, 4 September 2017

Riskfree Pyramid Addon Strategy for ForexTester

For users of ForexTester (and if you don't then perhaps view our review here), this is a strategy that can be used within the ForexTester software for aggressively pyramiding trades in a risk-free way.

Basically it does three add-ons and at each one the stop-loss on the combined position is moved to break-even.

By doing this multiple times very aggressive returns can be achieved with no additional risk apart from that of the initial trade.

For more details please watch our video below

Risk-free Pyramid Addon for Forex Tester

Tuesday, 29 August 2017

Forex Tester - Forex Back-testing Software

Over the years there have been any number of back-testing platforms but one which I've recently come across and which I really like is ForexTester. This has been designed very much to look like MetaTrader 4, which is my preferred FX platform anyway so I feel very much at home with it. What it enables you to do is to step through historic data on a bar by bar basis (or even tick by tick if you really want) and to place trades on the chart using a simple right-click just as you would for Mt4. It has drag-and-drop for it's stop losses and take profit levels and you can trade multiple positions, trade hedged positions in fact everything that you would expect to do on Mt4. It will keep track of all your fills, positions and account equity so it feels just like the real thing. In this way you can back-test your approach across years of historic data, thereby gaining a huge amount of market experience at a much faster pace than you would otherwise be able to if just forward testing in real time.

ForexTester in action
So, what are the pro's and con's? Well, if you're looking for a programmatic testing platform then this isn't really the ideal platform. For sure you can code up indicators, scripts and strategies on it but if you have fairly simple back-testing requirements then something like TradeStation or MultiCharts is going to be much better. The one exception to this would be if your strategy involved hedged positions (so both long and short positions simultaneously) in which case the two previous platforms can't easily accommodate it. In such situations I generally use ForexTester, coding my strategy up into a dll "EA" ForexTester Strategy in order to do all my testing.

So if this isn't a programmatic platform then what is it? Well, this is rather for more discretionary traders. If you trade using any method where there's an element of discretion or of "eyeballing the chart" then this is the perfect platform. Perhaps trend-line breaks, support or resistance or Fibonacci levels, all methods which are very hard to do programmatically, for all such approaches this would be the ideal platform. For those of you who are keen on indicators it has all the common ones at your disposal as well as various drawing tools such as Andrew's Pitchfork, wave counts, Fibonacci etc.

In fact I've become so enamoured with this platform that I've started to develop and sell some add-ons for it (see here for details) to make back-testing even easier and more hassle free. Think of it as the ForexTester equivalent of scripts and EA's. In addition I've also launched a simple historic data service whereby users can download historic data which can be imported into ForexTester.

I'll leave you with this fact: of all the successful professional traders that I know (and I know quite a few these days), the vast majority of them swear by ForexTeser and attribute their success to using it.

Stop Press!
I've now negotiated a special discount on the full price of ForexTester for Snapdragon Systems! Instead of the usual price of $299 it's now $269, so $30 off! To take advantage of this offer visit 
this page here.

Tuesday, 22 August 2017

FXStrategies Web-site

FXStrategies is a great little web-site that I've just recently come across through my association with the trader behind it, Frank Walbaum. Originally from Germany, Frank now lives and trades from his adopted home in Singapore. I got to know Frank at a recent FX conference where we were both speakers and we've kept in touch ever since. Frank is a professional trader who started off working in a family office for three years before moving to managing other people's funds in 2014. He has a refreshingly simple "naked trading" approach with no indicators or bells or whistles: instead it's about candle patterns and support and resistance lines for him. Each morning (9 a.m. UK time) Frank runs a "morning call" where he goes through his trades and discusses what he's presently looking at in the markets. It's also a chance to ask him questions and learn about his approach to trading.

For subscribers who pay his modest monthly fee, his web-site has loads of content including numerous webinar recordings (include some by myself on trading psychology), tutorials, podcasts, Metatrader code and all sorts of other stuff. You also get access to his trade call updates many times a week via Twitter. As a subscriber you can also ask Frank questions directly via Skype or e-mail. He is happy for others to learn how to trade his style and this offers a great opportunity to have direct access to a top professional trader.

So all in all it's a great little site and well worth looking into.

Just some of the tutorial content that's available on the site for subscribers

Friday, 18 August 2017

Free Metatrader 4 Trailing Stop EA

Here's a nifty little trailing stop EA that you can use for free. In fact in our Mt4 programming lessons we're going to be building it ourselves but for those who can't wait here's the finished article.

The Legal Bit
Please note that this EA is supplied "as is" and no warranty is made, either expressly or implicitly as to its behavior. Please do your own due diligence on a demo account before using it on a live account and you use it at your own risk.


The TrailTypeOptions selects which trail type to use.
1 is an N-bar hi/lo trail - so e.g. 5 bar trailing low for a long position or 10 bar trailing high for a short
2 is an SMA trail, so trailing at the price of a simple moving average
3 is an EMA trail so trailing at the price of an exponential moving average

The TrailLength is the trail length to use. For the N-bar hi/lo trail this is the number of bars back for your trail. For the other options it's the moving average length

The StopOffset is how far beyond the calculated point to put your stop. So if you're running a short 10 bar trailing high stop then you might want to place your stop a couple of pips above the 10 bar high to allow for the spread etc. NB this is specified in points - the minimum price movement so if you input 20 then this is 2 pips (for a market that is quoted in pipettes).

If StopOnClose is set to true then the position will only be closed out if the market closes beyond the stop level. NB use this carefully as you don't have a stop in the market at all in this case and if you should lose your internet connection then the EA won't be able to close your position.

For help on how to install it in Mt4 see this post here
For help on how to apply it to your chart see this post here