Automating the search for strategies. - page 2

 
a miner is needed, but still the search will be within the given conditions. Optimisation is also strategy search, in a narrow sense. The question is not correctly put.
 
Yuriy Asaulenko:

IMHO, the question is absolutely correct. Before drawing a strategy, it would be good to know whether it will work.

There are 2 ways to do this.

1.Excel - we write the strategy there and check it. any charts + good maths at your service. Yes, and + VBA.

2.MatLab - upload quotes to the database, connect it to MatLab and model the strategy there. Easier than in Excel.

Isn't it easier to do everything directly in MT4/5? Why use third-party programs if the search is about optimising a portfolio of strategies? Although I am not sure if that was the question?
 
Stanislav Korotky:
Isn't it easier to do everything directly in MT4/5? Why third-party programs if the search is about optimising a portfolio of strategies? Although I'm not sure if that was the question?
If you search for a strategy, it is not easier. I don't know about the rest, I haven't thought about it. Although, any modelling is easier in special environments, not in MT. MT is a final product, it is not designed for research and is not very suitable for it
 
Youri Tarshecki:

Every time I load variants into the autotester I think about it. Here's what I'm thinking

1. The strategy generator should work on the principle of evolutionary tree from simple to complex.

2. The variants should be immediately checked on the volking-forward and eliminated

3. Functions should be prepared manually, and the generator should work out only the variants of their interaction, i.e. create interdependencies.

By the way, in the English thread I met a mention of some Bulgarian software with elements of something like this. But since it was on MT4, I was not interested in it.

And here is another German one, also on MT4 http://darwins-fx-tools.com/.

In this variant the development is going on... A graph of interaction of functions is built, the search space is infinite...

Connections between functions will be more "meaningful", for example, the expression Open>Low makes sense, but Open>Volume does not, and other nuances....

 
Here's another example of a meaningless expression: =High>(Open-Close), also won't slip through.
 
Aliaksandr Hryshyn:
Here's another example of a meaningless expression: =High>(Open-Close), won't slip through either.

You will drown in trifles like this. By functions, I mean a certain internally consistent piece of code prepared in advance, which, with the help of indicators or independently, is responsible for some property of the EA. I.e. for a certain idea.

For example, a piece that defines fractals on history. Or a piece that counts everything that you do not give it. Or defining rates of change. Or determining levels.

The generator's task is to combine these different pieces into a single engineering solution. For example - count the number of fractals on the level and depending on the result we prioritise buying or selling. Or we determine the sum of accelerations on the level, compare it with the same on the history and make a correction factor in another function. Etc etc.

I.e. if we draw an analogy with the evolution of living matter - there are two types of mutations that provide material for selection. The first is point mutations, which, in fact, make up the overwhelming number of changes in the genome. The problem is that they usually lead to nothing. But since this process has been going on for billions of years and on huge statistics, there are constantly lucky ones. Personally, I do not have a million years, or a hundred, or even a dozen, to do a stupid search.

The second type of mutations is more rare, but more interesting, - is when recombination occurs, also spontaneous, but already whole ready solutions. For example, at formation of a new sexual organism there is a shuffling of different genes of the father and mother. Or there is the incorporation of a virus into the genome. Or the whole genome of an independent alien organism is taken over. Or there is a fusion of whole chromosomes to form a new species (hominids, by the way).

Therefore, the task of such a generator is to recombine such functions according to a certain algorithm. Only then there is a chance that something new will emerge

By freeing the trader from routine, such a generator would leave him the creative part - the opportunity to focus on new ideas. In addition, mechanisation always reduces the risk of subjectivity and helps to get rid of stamps.

 
Youri Tarshecki:

You will drown in details. By functions, I mean a certain internally consistent piece of code prepared in advance, which, with the help of indicators or independently, is responsible for a certain property of the Expert Advisor. I.e. for a certain idea.

For example, a piece that defines fractals on history. Or a piece that counts everything that you do not give it. Or defining rates of change. Or determining levels.

The generator's task is to combine these different pieces into a single engineering solution. For example - count the number of fractals on the level and depending on the result we prioritise buying or selling. Or we determine the sum of accelerations on the level, compare it with the same on the history and make a correction factor in another function. Etc etc.

Therefore, the task of such a generator is to recombine such functions according to a certain algorithm. Only then there is a chance that something new will appear

What if one piece of code (a function) offers to buy and another to sell. How can the generator combine these pieces into a consolidated solution?

Should we empirically prioritise them? Or, suppose one function A believes that the price will go down with probability P(A), and another function B believes that the price will go up with probability P(B), then what? Should we apply the formulae of probability theory?

 
Yuriy Asaulenko:
If you're looking for a strategy, it's not easier. I don't know about the rest, I haven't thought about it. Although, any modelling is easier in special environments, not in MT. MT is a final product, it is not designed for research and is not very suitable for it
That depends. For me it is easier to model strategy in MT, and it is not a problem to add any estimation algorithms on top of it.
 
Yuri Evseenkov:

What if one piece of code (function) offers to buy and another to sell. How can the generator combine these pieces into a consolidated solution?

Should we empirically prioritise them? Or, suppose one function A believes that the price will go down with probability P(A), and another function B believes that the price will go up with probability P(B), then what? Should we apply the formulas of probability theory?

As far as I understand, these pieces of code (functions) need analogue values at the output, and binary values - buy/sell - will be already in the trading strategies combined from these functions with the help of genetic selection.
 
Youri Tarshecki:

You will drown in details. By functions, I mean a certain internally consistent piece of code prepared in advance, which, with the help of indicators or independently, is responsible for a certain property of the Expert Advisor. I.e. for a certain idea.

For example, a piece that defines fractals on history. Or a piece that counts everything that you do not give it. Or defining rates of change. Or determining levels.

The generator's task is to combine these different pieces into a single engineering solution. For example - count the number of fractals on the level and depending on the result we prioritise buying or selling. Or we determine the sum of accelerations on the level, compare it with the same on the history and make a correction factor in another function. Etc etc.

I.e. if we draw an analogy with the evolution of living matter - there are two types of mutations that provide material for selection. The first is point mutations, which, in fact, make up the overwhelming number of changes in the genome. The problem is that they usually lead to nothing. But since this process has been going on for billions of years and on huge statistics, there are constantly lucky ones. Personally, I do not have a million years, or a hundred, or even a dozen, to do a stupid search.

The second type of mutations is more rare, but more interesting, - is when recombination occurs, also spontaneous, but already whole ready solutions. For example, at formation of a new sexual organism there is a shuffling of different genes of the father and mother. Or there is the incorporation of a virus into the genome. Or the whole genome of an independent alien organism is taken over. Or there is a fusion of whole chromosomes to form a new species (hominids, by the way).

Therefore, the task of such a generator is to recombine such functions according to a certain algorithm. Only then there is a chance that something new will emerge

By freeing the trader from routine, such a generator would leave him the creative part - the opportunity to focus on new ideas. Besides, mechanisation always reduces the risk of subjectivity, helps to free oneself from stamps.

There are indeed a lot of little things.

I try to make a universal system so that I could add different possibilities of analysing indicators, candlesticks, etc. with minimum effort. Each function has information about what data it can work with and what data will be output. Indicators will also be described, what kind of data they provide. Data are divided into types, both simple and complex, for example {double} and {int,double}. They are divided into categories, for the same example "price" and "positions on the chart", another example: "straight line" (can be used to define channels), etc. They are divided by "scale type". Categorised by "scale type", for example "constant" (strategy parameter), "index" (there is a minimum and maximum), "ratio" (there is only one reference point, e.g. price, volume), etc. It is necessary to modify the strategy in a consistent way, there is such a nuance, modification in one place can affect the conditions of modification in another place.

That's right... To reduce the number of combinations of the search and used the above restrictions (type, scale, category), for now it will be enough and point changes (adding/removing one/few functions).

"recombination is also spontaneous, but of whole ready-made solutions" - this thought came to mind), it is difficult to imagine how it can be realised. A group of combined functions will most likely have more connections with the "outside world" than a single function, so there will be fewer opportunities to wedge it all in. The algorithm becomes very complicated, let's leave it till better times)).