Friday, 3 November 2017

How to Use the ForexTester Easy Order Entry Script

This article is a practical guide for users of the EOE ForexTester Script. For a review of the ForexTester back-tester software see here. For installation instructions for the RPA strategy, see here.

Having installed your EOE software, how do you go about using it? This is a guide to setting up and using the strategy once it has been installed

Script Input Parameters

To bring up the script dialog box, right-click on one of the two Easy Order Entry scripts in the script window and select Edit Script Properties.


There are a number of input parameters to go through here.

1, Hot Key
This allows you to specify a key combination for executing the script. There are a number of options available in the drop-down so simply select an appropriate one.

2. Currency Pair
You must set this to the pair that you are trading. Otherwise you'll be scratching your head and wondering why nothing is happening when you apply the script.

3. Time-frame
Likewise, you must set this to same time-frame as the chart that you are working on, otherwise nothing will happen

4. Entry Method
There are two options here: Bracket Bar and Use pending order levels

In Bracket Bar mode, when the script is applied it takes the last bar on the chart and places the order and stop loss at either end of the bar (with appropriate offset, see below).

In Use pending order levels mode, when the script is applied it searches for pre-existing entry and stop-loss orders already on the chart. In this case the script will delete these orders and replace them with ones at the same level but with the desired risk sizing.

5. Trade Direction
This will either be long or short. For your convenience, two versions of the script are supplied, one with the default set to long and one to short. This way you can simply use whichever one you want without having to change settings on every trade

6. Entry Offset
This is the offset in points (the smallest allowable fluctuation in the price) from either end of the bar for the entry stop order and stop loss. Note, the spread will be correctly accounted for as well at the high of the bar.

7. Risk Definition
This is one of two options: specific $ value or Pct of equity balance

For specific $ value then you specify the fixed USD amount from which you want your risk percentage to be taken. In other words, this is as if you have a fixed account size of this amount so no compounding will occur.

For Pct of equity balance then the current equity account value is used for risk calculations. This means that your account trades will be compounded.

8. Act pct to risk
This is the percentage of the risk definition amount that is risked on each trade

9. Take Profit Type
This is either Reward to Risk or Fixed Points

With Reward to Risk then the Take Profit level is set to a fixed multiple of the initial risk amount. So with a value of 2.0 then you would make twice what you risked if your take profit level is reached

With Fixed Points then the take profit level is a fixed number of points (the minimum price fluctuation).

10. FX Conversion Rate
This is where you can set your FX conversion rate for pairs where the profits are not in USD. It is also possible to load in the appropriate conversion rate data in which case it will use that but it's often more convenient (and quicker as you don't have two sets of data to update) to set the figure here. A bit of trial and error will usually work out what figure to use here. Obviously for XXXUSD pairs this should be set to 1.0 but as a rule of thumb for XXXJPY pairs then 0.01 works reasonably well.


Using The Script


Once the input parameters have been set up correctly then you can apply the script to the chart any time that you want to make a trade either by using the Hot-key combination, or by double-clicking on the script in the Scripts Window.


ForexTester Easy Order Entry Script - Installation Instructions

This post is specifically about how to install the Easy Order Entry (EOE) script into ForexTester.

The EOE script will be supplied to you as a pair of Windows DLL libraries, so files called EasyOrderEntryLONG.dll and EasyOrderEntrySHORT.dll

To install:

1. Shut down your copy of ForexTester

2. Find the folder where ForexTester is installed. This is usually something like
C:\ForexTester3\
(or C:\ForexTester2\ if you're running the older version)

3. Find the Scripts sub-folder (so C:\ForexTester3\Scripts for example) and copy the  two dll files there.

4. Re-start ForexTester and find the Scripts panel. This is usually on a tab next to the Data Window but if you can't find it then go to the View | Show Panels | Scripts menu option, making sure that there's a tick next to it. You should see the two scripts listed there though you won't initially see anything in the Hotkey section

The Scripts panel
    5. Right click on one of the scripts and select Edit Script Properties. This will bring up the script properties dialog box. The first time that you do this you will see a message like the one below saying that your software has not yet been registered.




    6. You will see a Hardware ID there (it won't be the same as in the picture above), copy it to your clipboard and then e-mail it to info@snapdragonsystems.com along with your name so that your payment status can be checked.

    7. Close the open dialog boxes and wait for an e-mail with your registration codes.


    Installing Your Registration Code

    1. You will be e-mailed a simple registration file called EOE.reg. Copy this to any convenient location on your computer, then right-click on it and select Merge (this may be different on different Windows operating systems). Alternatively you can simply double-click on it.

    2. Again, depending on the operating system, you may well get one or more messages asking if you're sure that want to make changes to your computer and registry and you may need to give Admin permission to this but rest assured that it's just installing a very simply entry to the registry. If you're in any doubt you can open the file in a text editor (it's a simple text file) to see the contents.

    3. Once this has been successfully installed then re-start ForexTester and once again open up the EOE properties dialog box. This time you should see various input parameters as in the image below.

    The EOE properties dialog after registration

    In the ForexTester Journal tab you should also see a message stating that the software is registered



    4. That should be it! Please refer to separate instructions on how to use the software (which will be posted as a separate blog entry).


    Troubleshooting
    If you have any problems with any part of this installation then one useful tip is to look at the Journal tab of ForexTester where helpful information is printed out. There you should see any error messages appear when ForexTester tries to load up the EOE dlls. Various messages about the registration status of the software are also printed out here.

    Having checked in the Journal tab then next step would be to get in touch with Snapdragon Systems at info@snapdragonsystems.com

    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.




    Friday, 8 September 2017

    How to Use the RPA Forex Tester Strategy

    This article is a practical guide for users of the RPA ForexTester Strategy. For a review of the ForexTester back-tester software see here. For installation instructions for the RPA strategy, see here.

    Having installed your RPA software, how do you go about using it? This is a guide to setting up and using the strategy once it has been installed

    Strategy Input Parameters

    Select the "Testing | Strategies List" menu option (or use the toolbar button). This will bring up the "Strategies list" dialog box where you should see the RPA strategy listed

    The Strategies List
    There are a number of input options which are described below:

    The first set of inputs
    1. Currency Pair. This has to be set to the market that you are trading, otherwise nothing will work. For example, if back-testing GBP/JPY then set it to GBPJPY (so the name matches your market data exactly).

    2, Time-frame. This has a drop-down to select one of the time-frame options. Once again, if you've got this set incorrectly then you will not see anything happening on the chart.

    In general, if you are wondering why you're not seeing anything happening on the chart, then it's probably one of these two options which is incorrectly set.

    3. Entry Method. This can be set to one of two options: "bracket bar" or "use pending order levels". The former option will generate entry and stop levels using pip offsets from the current bar. The latter option will look for pre-existing entry and stop levels and use those as the two levels. 

    4. Trade Direction. Long or short. Note that this overrides the "use pending order levels" trade direction if using that option so you may have entered a long trade and a stop level but if your Trade Direction input is set to short then it will use the lower level (the long stop level) as the entry and the upper level (the long entry) as the stop loss.

    4. Entry Offset (points). For "bracket bar" mode this is the offset in points (i.e. the minimum fluctuation, usually a pipette) beyond the high and the low of the bar to place the order elvels

    5. Risk Definition. There are two options for doing the risk calculation: "Pct of equity balance" or "Specific $ value". The former option will use a fixed percentage of the current equity balance to determine the risk; the latter option will instead use a fixed $ value which means that each trade will always risk the same amount.

    6. Risk Specific $ Value. If using the second option in 5 above then this is where the specific $ value is set

    7. A/c pct to risk. This is where the percentage that you want to risk per trade is set

    8. A/c Pct Return This is where the total target return is set if all your trades come off.

    The second set of inputs
    9 Take Profit (points) this is the total number of points that the market has to move (from the initial entry) all the way to where all the take profit orders are. So it's the take-profit distance for your original entry order

    10. 1st Add-on at % of final TP this is at what percentage of the total Take Profit distance (i.e. input 9) you want to place your first add-on.

    11. 2nd Add-on at % of final TP this is at what percentage of the total Take Profit distance (i.e. input 9) you want to place your second add-on.

    12. 3rd  Add-on at % of final TP this is at what percentage of the total Take Profit distance (i.e. input 9) you want to place your third add-on.

    13. Show Trade Summary Before Execution if set to true then it will show a summary of all the trade information for you to check

    14. FX Conversion Rate this is where you can set your FX conversion rate for pairs where the profits are not in USD. It is also possible to load in the appropriate conversion rate data in which case it will use that but it's often more convenient (and quicker as you don't have two sets of data to update) to set the figure here. A bit of trial and error will usually work out what figure to use here. Obviously for XXXUSD pairs this should be set to 1.0

    Switching the Strategy On and Off

    It's important that you grasp this aspect of using the strategy. Once the strategy has been applied then it runs through the complete of add-ons once and once the trade completes, either with a take-profit or a stop-out then that's it and it won't do anything else. In order to apply it again then it needs to be re-set.

    Enabling
    To enable the strategy you need to tick the check-box next to the strategy name. Note that this doesn't make the strategy live yet (see below)

    Enabling the strategy by ticking the check box

    Going Live
    Actually to go live with the strategy (so that it brackets the current bar etc.) you need, in testing mode, to select the Testing | Enable/Disable Strategy Execution option (or use the toolbar button). If you then advance the test one tick or one bar, you will see the orders being generated. 

    Resetting
    Once your trade cycle has been completed then to re-set the strategy simply untick and then re-tick this check box. In the journal tab you will see a message that the strategy has been reset (providing you had actually started the trade cycle). You should then disable the strategy execution until then next time that you want to apply it.


    Seeing it in Action

    You can see some video of the strategy in action in the description of the strategy here.



    Monday, 4 September 2017

    Installation Instructions for the Risk-free Pyramid Addon Strategy for ForexTester

    This post is specifically about how to install the Risk-free Pyramid Addon (RPA) Strategy into ForexTester.

    The RPA strategy will be supplied to you as a Windows DLL library, so a file called RPA.dll. To install:

    1. Shut down your copy of ForexTester

    2. Find the folder where ForexTester is installed. This is usually something like
    C:\ForexTester3\
    (or C:\ForexTester2\ if you're running the older version)

    3. Find the Strategies sub-folder (so C:\ForexTester3\Strategies for example) and copy the RPA.dll file there.

    4. Re-start ForexTester and select the "Testing | Strategies List" menu option (or use the toolbar button). This will bring up the "Strategies list" dialog box where you should see the RPA strategy listed
    The Strategies list dialog box
    5. Make sure that the RPA strategy is highlighted and then click on the Properties button which will bring up the Strategy Properties dialog

    Strategy properties dialog box
    6. You will see a Hardware ID there (it won't be the same as in the picture above), copy it to your clipboard and then e-mail it to info@snapdragonsystems.com along with your name so that your payment status can be checked.

    7. Close the two open dialog boxes and wait for an e-mail with your registration codes.


    Installing Your Registration Code

    1. You will be e-mailed a simple registration file called RPA.reg. Copy this to any convenient location on your computer, then right-click on it and select Merge (this may be different on different Windows operating systems). Alternatively you can simply double-click on it.

    2. Again, depending on the operating system, you may well get one or more messages asking if you're sure that want to make changes to your computer and registry and you may need to give Admin permission to this but rest assured that it's just installing a very simply entry to the registry. If you're in any doubt you can open the file in a text editor (it's a simple text file) to see the contents.

    3. Once this has been successfully installed then re-start ForexTester and once again open up the RPA properties dialog box. This time you should see various input parameters as in the image below.

    The properties dialog once you have successfully registered
    In the ForexTester Journal tab you should also see a message stating that the software is registered

    The Journal tab after successful registration
    4. That should be it! Please refer to separate instructions on how to use the software (which will be posted as a separate blog entry).


    Troubleshooting
    If you have any problems with any part of this installation then one useful tip is to look at the Journal tab of ForexTester where helpful information is printed out. There you should see any error messages appear when ForexTester tries to load up the RPA DLL. Various messages about the registration status of the software are also printed out here.

    An example of the journal entry for when the RPA strategy hasn't been registered - click to view full size
    Having checked in the Journal tab then next step would be to get in touch with Snapdragon Systems at info@snapdragonsystems.com


    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.

    NB until 21st September 2017 ForexTester are having a sale so there's even more off the usual price

    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.




    Inputs

    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

    Friday, 14 July 2017

    Metatrader 101: How To Use Offline Charts

    This is the one in a series of Metatrader 101 posts, partly so that I can have something to give to clients who are new to Mt4. It will cover the basics so people can get up and running quickly.


    In Metatrader you only have a limited choice of charts: bar, candle or line and a limited choice of time-frames. But if you want to use different time-frames more exotic charts such as Renko, Point and Figure etc, is this possible? The answer is yes using what are called Offline Charts.

    The basic principle is that you run a script on a "driver" chart which generates the necessary data for your new chart whether it's something like a 3 minute chart or a Renko chart. This generated data is stored in the historic data folder in real-time as the driver chart updates. Then to see this generated chart you go to the File | Open Offline chart menu which shows all the historic data files. Scroll down to find your generated chart and select it and voila!



    Step By Step
    Here are some step by step instructions. We'll use the PeriodConverter script to illustrate the process as this script comes with every Mt4 installation. We'll use this script to create a 3 minute chart.



    1. The first thing you need to do is to make sure that you have Autotrading enabled otherwise you'll spend a lot of time scratching your head as to why it's not working. Look for the  Autotrading icon in your toolbar at the top and make sure that it shows a green triangle not a red square.







    2. For this example your driver market should be an M1 chart for the market that you're interested in. We'll use EURUSD as an illustration. So first bring up an M1 EURUSD chart. It doesn't need any indicators etc. and it doesn't matter what it looks like. You just need it to be up. The important thing to remember is that you need to keep this driver chart up the whole time that you are using the offline chart, otherwise the offline chart will stop updating.



    3. Next find the PerdiodConverter script in the scripts section and drop it in your M1 EURUSD driver chart. The input dialog box for this script will appear with one input variable on the "Inputs" tab which is the Period multiplier factor. In our case we want an M3 chart so we want a multiplier factor of 3. Enter that in the input field and click OK. 

    3. At first glance nothing will appear to have happened. However if you look on the Experts tab of the Terminal window (Ctrl + T if it's not showing) then you'll see a message looking something like this:


    4. Next we need to go to the File | Open Offline menu option which will bring up a dialog box showing all the history data files. Scroll down until your find the one which is labelled EURUSD,M3 . Highlight this and then click on the Open button. This will open up the chart. 

    5. That's it! The new chart will update almost in real-time (it's programmed in the script to update every two seconds) and you can do all the usual stuff like add studies, EA's and trade off the chart etc.

    The finished EURUSD M3 chart
    Just remember, you need to keep the driver chart (EURUSD M1 in the example above) running for the Offline chart to update. 

    Different Time Periods
    If you wanted something like an H8 chart, instead of using EURUSD M1 as a driver you would use EURUSD H1 and then a multiplier factor of 8 etc. So just work out what driver time period makes the most sense for the chart period that you are after and then use the appropriate multiplier.




    Sunday, 29 January 2017

    Metatrader Programming Lesson 4 a) - Student Question

    I've been producing a series of Metatrader programming videos for a private forum which I thought that I would share here. They're designed to take people from scratch through to being able to program EA's, scripts and indicators. 

    Here's a quick video in response to a question from someone doing the programming course.


    Sunday, 22 January 2017

    Metatrader Programming Lesson 4

    I've been producing a series of Metatrader programming videos for a private forum which I thought that I would share here. They're designed to take people from scratch through to being able to program EA's, scripts and indicators.

    Lesson 4 - Homework Question


    Sunday, 15 January 2017

    Metatrader Programming Lesson 3

    I've been producing a series of Metatrader programming videos for a private forum which I thought that I would share here. They're designed to take people from scratch through to being able to program EA's, scripts and indicators. 

    This lesson is on if statements and selecting orders.

    Sunday, 8 January 2017

    MetaTrader Programming Lesson 2

    I've been producing a series of Metatrader programming videos for a private forum which I thought that I would share here. They're designed to take people from scratch through to being able to program EA's, scripts and indicators. 

    Lesson 2 of the programming series. This one is on variables and functions.




    Sunday, 1 January 2017

    MetaTrading Programming Lesson 1

    I've been producing a series of Metatrader programming videos for a private forum which I thought that I would share here. They're designed to take people from scratch through to being able to program EA's, scripts and indicators. 

    Lesson 1
    How to write your first script