I plan to study a strategy using algorithms such as neural networks, described as follows
- Step 1: Read the entire historical data of 1 currency pair in the past for example XAUUSD
- Step 2: Process that data into a redefined data, intended as input data for step 3.
- Step 3: Create a logical algorithm that scans past data and compares current data, then makes a buy and sell decision
1. I will describe each step in more detail below
In step 1:
Rereading data from the past is simple because MT5 always provides data from the past for every tick
However, this data is great because it provides details about the price of each tick, which in turn slows down the trading process.
So Step 2 is required to process this data so that it is simpler and lighter in size and can be processed faster.
2. Process price history data processing
In step 2;
First we need to define what the ultimate purpose of the data is.
In this case: My goal is to separate which point to buy, which point to sell, take profit which point, stop loss which point, at that time, what is RSI, MA, CCI, ATR Ask price, Bid price.
Just like you watch a movie again and you can fully know the parts of the movie where you select the necessary points and save and make a shorter summary of the movie (like Movie Review clips).
The meaning of this treatment is: Establish how situations happened in the past, these situations have clear answers.
- The scenarios here are: RSI, MA, CCI, ATR, Ask/Bid price
- The answers are: Entry Buy/Sell, Takeprofit/Stoloss
More optimized:
Determine the processing point.
For example a road that is 1 million meters long, we cannot process every millimeter. So let’s cut it every 1km and let’s get a situation there.
In my case: because every 1000Point choose a situation
Create an attribute that classifies the data with a certain level of precision
How to do: after creating the above data array, we continue to process the data to further optimize as follows:
If the situations occur and the results occur more often and are similar to each other to a greater extent, then the situation is valued, ie high accuracy.
(Create your own rules and regulations for this assessment.)
Here for simplicity I only classify 3 levels: Low, Medium, High
This data is the model that will be used for step 3
3. Process data and make trading decisions
In step 3:
Determine the processing point. Same: for every 1000Point choose a situation
We compare current situations with past situations, if they are the same then make the same decisions as the previous results.
Contact for more details:
Let’s compare the current indicators (RSI, MA, CCI, Ask/Bid price) with all previous situations created in step 2 ie RSI, MA, CCI, Ask/Bid price).
If it is the same in all the indices with similarity, for example more than 90%, then execute Buy/Sell, Takeprofit/Stoploss orders like previous data.
Note how dynamic you can allow customization if you want.
In this step it happens in 2 cases
Case 1:
The current result is the same as the result of the previous data, then we save the situation and the result again into the previous data array.
Case 2:
The current result is not correct, unlike the previous data we correct this situation and save the result in the previous data range
Optimization: For faster browsing
Choose to browse by category in the appropriate historical data first.
Compare with the previous situation with high accuracy first, if there is no case then go to the medium level, continue to go to the low level, if there is no situation add step 4
4. Refresh to update the new data
in step 4: We can do the following, every 100,000Point ie experience 100 situations, we can repeat step 1 and step 2.
The purpose is to refresh the data, get new data, and from there the data becomes more and more accurate.
This is the algorithm described in the words:
I will rely on these basic definitions to build an automated strategy, during the construction process, there will definitely be many problems that need to be taken care of, maybe the completion time is longer than expected.
Looking forward to your comments and support
Please follow to receive new notifications
My channel: https://www.mql5.com/en/channels/autocontroltrade