Spezifikation
1. INTRODUCTION
Triple Moving Average Momentum Execution Robot will be to execute trades on Meta Trader 4 or 5 (Developer to tell me which would be better, after understanding the requirement), that modify the position in each currency pair based on the current price, relative to the 3 predefined moving averages. The idea is to identify momentum in a simple way, and then run with it based on where the price is relative to the 3 nominated moving averages.
Perhaps this can be a field that can be modified as part of maintenance, but for a start I want to use DAILY moving averages: 30,60,120 (I want to be able to change these).
2. TRADING STRATEGY
A position will be opened when a nominated or selected currency pair trades above all 3 averages or below all 3 averages for the first time. This needs to be automated. We BUY if the price moves above all 3 averages, and we SELL if the price moves below all three averages. As long as the price does not move above ALL THREE MA’s or BELOW ALL THREE MA’s, no position is opened.
A simplified illustration is included below, finer details will be covered later in the Scope Document. The basic premise is that price above all 3 averages with an acceptable variance should be 100% long (1). Above 2 and below 1 should be 66% long (2). Below 2 and above 1 should be 66% short (3). Below all 3 should be 100% short (4). From the time the robot is activated, the open position can never be square. It is either 100% long or short, or 66% long or short. ALL trades are executed on a S/L basis, either adding to the position, or reversing it.
PROFIT TAKING:
1. I will take profits manually, and then reinstate market orders to match the size that the bot will execute on at the next breakthrough of the appropriate MA’s.
or 2. We set the bot to take profi at (eg.) 1.25% move, and then reinstate using a market order at 1% lower. Let’s discuss.
This illustration simplifies the strategy, more detail on the nuances is covered in 3. RISK MANAGEMENT below.
Currencies will be the focus, but the Robot should be able to execute on other asset classes if required.
At the beginning, the following currency pairs are a MUST:
USDZAR, EURZAR, GBPZAR, EURUSD, EURGBP, EURJPY, EURCHF, USDJPY, USDCHF, USDCAD, AUDUSD, NZDUSD, GBPUSD, GBPJPY, ZARJPY, USDNOK, EURNOK, USDSEK, EURSEK (I need to be able to add/remove pairs or commodities, etc)
3. RISK MANAGEMENT
1. A number of variables will need to be determined per currency pair, either by ‘number of pips’ or percentage movement through the average.
For example:
As a rule I would want the trades triggered when the price moves 0.15% through the moving average. For different currency pairs, this would mean a different number of pips. I would like this threshold to be determined manually, likely once a month.
2. I would also need to be able to define what represents 100% of a position and what represents 66%. This will vary as I fund the account monthly, hopefully show a profit, but also adjust my risk appetite as may be required. To start off with, the positions are likely to be small across a limited set of currency pairs, but then grow over time as the portfolio builds and I enter more currency pairs. This is all objective; it will need to be a field that is updated manually over time.
EG. For EURUSD I may decide that EUR 6,600 and EUR 10,000 are the starting metrics. If I manually change those positions at any point, I should be able to change the values that the robot executes on going forward and walk away. Same for other currency pairs, so these to be determined/changed by manual input.
4. PERFORMANCE METRICS
To start off with, I do not require the robot to do any analytics that MT4 or MT5 don’t already do as it pertains to profit factors, drawdown or % winning/losing trades.
5. TESTING
If back testing is possible, it would be good to see. Anything between 2 and 3 years would be good.
Forward testing in a demo environment is a MUST. Success criteria would be:
· General execution of the strategy for the listed currency pairs over multiple breaches of moving averages that signal time to trade, and execution of those trades.
· The ability to add new pairs, change slippage variances and positions sizes as determined by 66% or 100%.
6. MAINTENANCE AND UPDATES
I need to be able to deploy or withdraw the robot into or from any asset class instantly.
I need to be able to modify 66% and 100% position sizes, slippage variances, and asset classes instantly, at any time.
7. DELIVERABLES
A working robot that can be implemented in either MT4 or MT5 (will take guidance from developer on which may be better).
Basic User Manual
Agreed rate card / SLA from developer on how future work/amendments should be carried out and what their approximate costs may be.
Intellectual and produced property becomes mine. No reselling or sharing without my written consent.
NOTE:
I will need help in testing and deployment, keep that in mind when pricing please?