I plan to study strategy using algorithms such as neural networks, described as follows
- Step 1: Read the full historical data of 1 currency pair in the past for example XAUUSD
- Step 2: Process that data into redefined data that is intended as input data for step 3.
- Step 3: Build a logical algorithm that scans the data in the past and compares the data in the present time, then makes a decision on buying and selling
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 each tick
However, this data is big because it provides details about the price per tick, which in turn slows down the trading process.
So Step 2 will be needed to process this data so that it is simpler and lighter in size and faster to process
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 at which point, stop loss at which point, at that time, what is the RSI, MA, CCI, ATR Ask price, Bid price.
It’s like you are watching a movie again and you can completely know the segments in the movie, from which you select the necessary points and save and create a more concise movie summary (like the Film Review clips).
The meaning of this treatment is: Build 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/Stoploss
More optimized:
Determine the processing point.
For example a road 1 million meters long, we cannot process every millimeter. So let’s cut it every 1 km and we’ll take a situation there.
In my case: for each 1000Point will choose a situation
Create an attribute that classifies data with a certain precision
How to do: after creating the above data table, we continue to process the data to be more optimized 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 appreciated, so high accuracy.
(Make your own rules and regulations for this assessment.)
Here for simplicity I only classify by 3 levels: Low, Medium, High
This data will be the model to use for step 3
3. Process data and make business decisions
In step 3:
Determine the processing point. Similarly: for each 1000Point will choose a situation
We will compare current situations with past situations, if it is the same then make the same decisions as the results had in the past.
Talk in more detail:
We compare the current indicators (RSI, MA, CCI, Ask/Bid price) across all past situations created in step 2 ie RSI, MA, CCI, Ask/Bid price).
If similar to all indices with similarity, for example greater than 90%, then execute Buy/Sell, Takeprofit/Stoploss orders as in the past data.
Note how dynamic you can allow for customization if you want.
In this step 2 cases will happen
Case 1:
The current result is the same as the result in the past data, then we save the situation and the result again in the past data.
Case 2:
Current result is not correct, unlike past data we correct this situation and store result in past data table
Optimization: For faster browsing
Select first to browse by category of historical data accuracy.
Compare with the past situation with high accuracy first, if there is no case then go to medium level, continue to go to low level, if no situation add step 4
4. Refresh update of new data
in step 4: We can treat as follows, every 100,000Point ie experiencing 100 situations, we can repeat step 1 and step 2.
The goal is to refresh the data, get new data, and from there the data becomes more and more accurate
It is the algorithm described in words:
I will rely on these basic descriptions to build an automatic strategy, during the construction process, there will definitely be many problems that need to be handled, maybe the completion time will be 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