Machine learning in trading: theory, models, practice and algo-trading - page 230

 

So, my conception of how we could implement "machine learning" in MQL trading:


First, about the basic concepts:

1. The signature is a digital description of the character of parameter value changes. The signature is made by a special algorithm. It has a format. It is stored in a special block (array). It is the final result of all algorithms, calculations and operations.

2. current period - a set period of time. It is implemented in a ring buffer, through which parameter values pass. Each new value moves the whole queue of previously recorded values and becomes the head of the array, and the oldest value is deleted. The current periods can be many, and each can be dedicated to a different time scale and a different parameter.

3. Parameter value range - the range within which the value of the parameter changes. It is set experimentally during the testing of the system. The range between min and max values can include the division into small ranges, serving to break up the whole variety of parameter values and bring them to a convenient scale.

4. Time intervals between incoming values - are measured in the process of entering the values into the ring buffer. Along with the ranges are necessary to compose the nature of the value change and the subsequent mathematical analysis.

5. Value change curve - conditional, intra-program value change, which combines the values themselves and the time intervals between them. The result is a graphical curve (represented in two-dimensional array) to which you can apply various methods of mathematical analysis.

6. Mathematical filters - analysis methods (formulas) revealing various features of value change within the current period.

7. Bringing the value to a range - generalization of the current value in order to reduce the number of its variants. It is necessary in the character analysis.

8. Signature statistics collection - Process which is carried out during testing of the system or during running in real conditions. Actually "experience" of the system is collected, its "acquaintance" with various situations representing various characters of behavior of values of various parameters is carried out. These signatures are stored in a special database.

9. Signature base - memory unit, where all actual signatures are stored. A place of storage of the system's "experience", filtered by the constant statistical selection. Within the base selection and rotation of actual signatures and gradual ousting of less actual ones is carried out. The selection is driven by current period from which certain signatures are taken into the database after they are created (after analysis and filtering of values, of course.) The most frequent ones are crowding out the less frequent ones.


Description of the system working process:

Let us imagine a program engine, - on the one hand receiving values of parameters, on the other hand giving ready signatures of patterns of their changes over different periods of time. The engine, which also saves these signatures in the database and rotates them in the database.

Suppose a user dials a group of parameters simply by pointing the engine to predefined variables or environment parameters. These parameters begin to be "observed" by the engine. That is, their values go to ring buffers, are summarized in time periods and analyzed through mathematical filters. As a result - the ready signatures are fed into the database.

Next, the user begins to "train" the engine. He does this as follows:

Links the values of input parameters of his strategy to specific signatures. That is, sets the dependence of input parameters values on specific digital "casts" of the current situation. Also, the user can link his function calls to the selected signatures, simply indexing these calls. The engine will call the user functions by their number on the selected signatures.

However, the system is not independent at this stage, as the user is forced to manually "train" the system by linking the best values of the input parameters of his strategy to specific signatures. Let's imagine how this system could be further developed towards absolute independence:

For this, the system should not only gather signatures at the learning phase, but optimize the input parameters of the strategy in parallel, so that the maximum profitability of this strategy would be achieved. At the moment maximum profitability is reached, the values of input parameters will be linked to the specific signature reflecting the situation where these values are most effective. Then having a set of signatures reflecting various market situations, the system will have ready-made settings of strategy input parameters for each such situation.

//===================================================================================

Perhaps this approach has nothing to do with the classical understanding of machine learning, but the fact that it implements its purpose in trading is certain. So far this is all in general terms, but I have no doubt about the validity of this approach and the feasibility of its implementation in MQL.

Please share the opinion of IO specialists and others who are interested in it.

Thank you for your attention.



 
pantural:

Thank you so much, it's just what the doctor ordered! Short and clear! All the MO in 10 lines! Pantaral is pleased, Pantaral thanks you! Yo hei, kamon!

double perceptron() 
  {
   double w1 = x1 - 100;
   double w2 = x2 - 100;
   double w3 = x3 - 100;
   double w4 = x4 - 100;
   double a1 = iAC(Symbol(), 00);
   double a2 = iAC(Symbol(), 07);
   double a3 = iAC(Symbol(), 014);
   double a4 = iAC(Symbol(), 021);
   return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);
  }

Now you can tell the difference between childish naivete and fat trolling...

But apparently it's the former.

pantural:

Hello, everyone. I'm Pantural.

My third time trying to settle on forex, I feel that this is something, but life bends its course, and beyond the plummer 2 depo 200 $ each, it did not come. I think now probably the situation is better than 4 years ago, at least spreads are wow cool (oh my god! It is the pantural! wow!)

 
Tag Konow:

So, my conception of how we could implement "machine learning" in MQL trading:

It doesn't matter what language MO is in, what is important is that this is where the concept of MO is considered as follows:

1. An idea comes to mind

2. We took the first available package from R

3. Tested it, made sure that the package is rubbish or gives unsatisfying results according to the idea, go to point 2 to try all packages. When you run out of packages, go to step 1.

What you are trying to understand or implement - you will not be understood here, in the best case they will declare you a troll.

 
Andrey Dik:

It doesn't matter what language the MO is in, what is important is that this is where the MO concept is viewed as:

1. An idea comes to mind.

2. We take the first package we see from R

3. Tested it, made sure that the package is rubbish or gives unsatisfying results according to the idea, go to point 2 to try all packages. When you run out of packages, go to step 1.

And what you're trying to understand or implement - you will not be understood here, in the best case it will be declared a troll.

I agree with the first three points. But it's simple users behave this way. There are experts who should understand what I'm writing about.

If they also have nothing to say on the essence of the concept, then the local framework is so narrow that it does not allow any free thinking. Let's see...

 
Tag Konow:

I agree with the first three points. But it's simple users behave that way. There are experts who should understand what I'm writing about.

If they too have nothing to say on the essence of the concept, then the local framework is so narrow that it does not allow any free thinking. Let's see...

Not ordinary users, but very intelligent users, some with doctoral degrees, but they are R users, that says it all.

You can communicate on the subject with Yuri Reshetov, but he does not have long enough patience to write something here.

 
mytarmailS:

Whattoxic has shown is a kind of clustering, but with a teacher, the points in the beginning are signs or rather their numerical parameters, you have a target buy and sell, so before the training you marked out where there was growth (buy) and decline (sell), and the algorithm begins to stupidly separate the parameters of signs by target, like the blue area is buy, red is sell...

But right now the latest flavor is something like this

https://www.youtube.com/watch?v=05rEefXlmhI

https://www.youtube.com/watch?v=qv6UVOQ0F44

https://www.youtube.com/watch?v=xcIBoPuNIiw

But I am a total amateur at it.

This one is hilarious.)

https://www.youtube.com/watch?v=pgaEE27nsQw

Thanks for these videos, jumping dinosaurs especially deliver ))))

imho the neural network for mario illustrates an important point:

you can train an algorithm to pass a particular level (even a very difficult one)

but this does not mean that it will be as successful on another level

and if you look closely at how this bot passes a level, it becomes clear

that this is just tweaking and bot does not understand the meaning of the situation and he has no real gamer intelligence

the network just picked up the timing of the buttons

you can tell by the way mario pokes his face into obstacles and jumps into walls

his success is more random than logical.

just like in forex, a bot can successfully pass one section/level and fail another

because he has no trader's intelligence and the bot "doesn't understand" what he's doing...

To be successful at any sector/level the bot should have an object model of the world in which it exists

that is, the algorithm must not just optimize the patterns

The algorithm must operate with semantic categories and describe the situation as it is seen by the trader/gamer

The bot must distinguish the types of objects and their characteristics and evaluate the danger of the situation dynamically

And this requires quite a different level of heuristics than the simple neural network optimization

The result of learning must be a semantic model and knowledge about objects and processes

If it's absent then trading bots are doomed to random poking

it's often seen in the history of bots' transactions how stupidly the algorithm assesses the trading situation

and enters where a normal human trader would never get involved

That's why I'm pessimistic about robot writing

At best, you can make a semi-robot with a description of the subject area in the form of processing some typical situations

(for example, a flat out or a trend reversal)

But anyway, you need to keep an eye on your robot, before it starts screwing up like a Mario bot at a new level

 
transcendreamer:

...

I agree with your point of view.
 
Tag Konow:

I agree with the first three points. But it is ordinary users behave this way. There are experts who should understand what I am writing.

If they have nothing to say on the essence of the concept, then the local framework is so narrow that it does not allow any free thinking. Let's see...

MoD is first and foremost an engineering art, the result justifies any concepts. Give me the result. Here is the challenge for you: https://numer.ai/

Numerai
Numerai
  • numer.ai
A new kind of hedge fund built by a network of data scientists.
 
Tag Konow:

So, my conception of how we could implement "machine learning" as applied to MQL trading:

First about the basic concepts:...................

Please give your opinion to MQL specialists and anyone else who is interested.

I have no idea what is going on in this field.

I personally do not even understand it )

But I'm allowed, I don't consider myself a specialist.

 

MoD is first and foremost an engineering art, the result justifies any concepts. Give me the result. Here is a challenge for you: https: //numer.ai/

And what about the fact that you can understand it? Otherwise - "give, give... ".)) I will make this engine. But after I finish the main project.
Reason: