Specification
Requirements Specification
A. Introduction: we have built an EA that works with 2 indicators (detailed in section C). We look for one strong currency and one weak currency, both on an individual basis, then the EA pairs them for an entry after confirming momentum. For example:
Ø Step 1 - ACS28 Indicator - this is indicator one; link provided in section C (first one; see attachment 1). On the 6 th of May at 9am, CHF (orange) is strong and USD (red) is weak, now we wait for a sequential trend of CHF strength and USD weakness (for several candles), and then we confirm with step 2. The exact values of the lines are on the window (black box on the left).
Ø Step 2 - Impulse Indicator - this is indicator two; link provided in section C (second one; see attachment 2). Then we look for confirmation to verify momentum. On the 3 rdof May and 16:30 we can see that CHF (orange line) is above the trigger line (dotted horizontal yellow line). The exact values of the lines are on the window (black box on the left).
Ø Step 3 -Now we open the trade (assuming steps 1 & 2 happened at the same time of course).
B. Problem description: the EA (mentioned above) is finished, but we need a separate script to call precise data from the ACS28 & Impulse indicators (links provided in section C below) which are required for the EA (we have not been able to call these data precisely). The x2 indicators need to be called multiple times for multiple timeframes, and this has caused problems because multiple calling changes the values of the x2 indicators. The currencies need to be called individually (not as pairs).
C. Description of indicators that need to be called: they both calculate values of market and values of x8 major currencies simultaneously, which requires live and current data from x28 charts. They indicate volume, trend, volatility, and momentum. Product links:
Ø https://www.mql5.com/en/market/product/13948?source=Unknown#!tab=reviews
Ø https://www.mql5.com/en/market/product/18155?source=Unknown#!tab=reviews
D. Methods tried so far: we want to be clear that the solution requires creativity as traditional methods have not worked to solve points 1, 2 & 3 of the requirements section below. These unsuccessful methods are:
Ø using the iCustom function directly in the strategy in different frequencies (calling every candle, on every tick and just before the entry signal). The candle data on which the data was calculated was updated every new candle on all of the timeframes and instruments.
Ø calling the x2 indicators in separate programmes as a script. The candle data on which the data was calculated was updated every new candle on all of the timeframes and instruments.
E. Proposed method for solution: developing a global script which calls and records all values at once thus making sure the values are not changeable (using global variables to use for different instances of strategy). Of course, new ideas which achieve this goal are welcome, but this is our basic requirement.
F. Requirements:
1)
All data must be called 100% accurately (to 5th decimal point); this accuracy must always exist at any given moment when we choose to verify at a later date. The data must be accurate for all time frames (M1, M5, M15, M30, H1, H4, D1, W1, MN). All data refers to the values that appear on data window (ctrl+D) for both indicators, which are:
Ø ACS28 (based on default settings): USD; EUR; GBP; CHF; JPY; AUD; CAD; NZD; Market Momentum; and +Market Fib 100.
Ø Impulse (based on default settings): USD; EUR; GBP; CHF; JPY; AUD; CAD; NZD; MKT; and +Trigger
2)
For Impulse: every time there is a new tick, we need all the data (from point F-1 above) for the current candle. Also we need the data from the previous 6 candles for all of these timeframes: (M1, M5, M15, M30, H1, H4, D1, W1, MN).
For ACS28: every time there is a new candle (not new tick), we need all the data (from point F-1 above) for the previous 6 candles for all of these timeframes: (M1, M5, M15, M30, H1, H4, D1, W1, MN).
Ø All this data must be constantly saved so that the EA (mentioned in the introduction section) can use these for our own validations, live trading and historical tests.
Ø All the data (mentioned in point F-1 above) must be recorded in the trading platform log.
Ø All the data (mentioned in point F-1 above) must be saved on our hard-drive.
3)
Exclusive to the Indicators: ACS28 data must be updated on every M1 candle; and Impulse’s data must be updated on every tick, immediately before calling the data to ensure data is precise. Please note that the indicator must work on the most updated candle data from all x28 majors, so the platform’s data will need to be updated constantly.
4)
MQL4 language and source code required.
---------------------------------------------------------
Helpful files including indicators sample code, and code related to previous attempts can be provided.
Please only get in touch if you are serious and available to start within 48 hours.
We look forward to moving onto the next stage with you (prototype/model).
Many thanks.