Discussion of article "Brute force approach to patterns search (Part III): New horizons" - page 4

 
Rorschach:

You don't need to read the whole thread, the whole point is in that post. Completely random bruteforce. 1 variant "optimise" sid pgsch, another variant change sign through N bars, N is selected by optimiser. Since you have not done this I'll try to transfer to opencl, mt does not allow to test it normally.

I don't understand "sid pgcch" anymore. For me it's like "avada kedabra". That's why I say explain the essence of the method. Completely
any bruteforce is random, that's why it's bruteforce, because random numbers are generated. If something is picked up by an optimiser, it is not bruteforce, but a mockery of hardware, because on third-party software it happens hundreds and thousands of times faster. The optimiser is not designed for these purposes in principle. That's the reason why everyone tries to make third-party software. Why do you need to torture your graphics, everything counts normally on processors. Write in a private message, only normally without self-made abbreviations and in detail what you do and why I will think and tell you what I think about it if you really need advice.
 
I think I've begun to understand what you have. It should be written like this: There is a system of conditions or formula in which an array or matrix of numbers falls, in which the modules of numbers are unchanged, but the signs of these numbers are constantly flipped. In your case you need to find the best way to generate signs, that is, you need a function that generates an array or matrix with numbers "1", "-1". Matrices or arrays (vectors) are multiplied element by element (not by the rule of matrix multiplication), so you get a new matrix with changed signs of its elements. In this case, the generation of random numbers will be more effective, because the variability of this method is maximum. By binding to the number of bars you limit your system (i.e. almost 100 per cent that some useful combinations will be thrown out). And the frequency of search of these combinations should be maximum, so it is simply contraindicated to do this in MQL.
 
Evgeniy Ilin:
I think I've begun to understand what you have. It should be written like this: There is a system of conditions or formula in which an array or matrix of numbers falls, in which the modules of numbers are unchanged, but the signs of these numbers are constantly flipped. In your case you need to find the best way to generate signs, that is, you need a function that generates an array or matrix with numbers "1", "-1". Matrices or arrays (vectors) are multiplied element by element (not by the rule of matrix multiplication), so you get a new matrix with changed signs of its elements. In this case, the generation of random numbers will be more effective, because the variability of this method is maximum. By binding to the number of bars you limit your system (i.e. almost 100 per cent that some useful combinations will be thrown out). And the frequency of search of these combinations should be maximum, so it is simply contraindicated to do this in MQL.

Approximately like this. To some extent, this is a decomposition into bases, where bases can be anything: sinusoids, random numbers, etc. etc.

 
Rorschach:

It goes something like this. To some extent, it is a decomposition into bases, where bases can be anything: sinusoids, random numbers, etc., etc.

It's also important how it's calculated. I just have a formula. If it gives a plus then buy, if it gives a minus then sell, but the modulus of the number is also taken into account. Every bar is calculated! I am looking for such a formula in which ideally the amplification of the output number gives the amplification of the signal to buy or sell. In alternative versions there will be a set of functions that eventually turn into a complex compound logical expression, the result of which will be "true" or "false". There is no way to adjust the signal itself ... I'll tell you something else in confidence. In essence, all these actions are equivalent to data compression as in an archive. The less conditions and the simpler they are and the more orders they give on the selected interval and the more their profit factor and other parameters, the closer our algorithm is to the market formula. At the same time, it is better not to do it on small samples. That's why I always say to take a sample of 10 years at least, or better the whole history at once, because we retrain on a section and then it turns out that we just caught a stratum in which a big half-wave is going up on this section, and then everything safely turns around and flies down as sharply. With trees and arbitrary networks of floating size there can be a trouble like the one I wrote above. The quote can be simply transformed into another type of data, which is understandable only to a tree, or into a network map and some additional matrices and numbers. Let's go to the forward and there it's wild....

Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
  • www.mql5.com
Тип bool - Целые типы - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Evgeniy Ilin:

It's also important how it's calculated. I have a formula. If it gives a plus then buy, if it gives a minus then sell, but the modulus of the number is also taken into account. Every bar is calculated! I am looking for such a formula in which ideally the amplification of the output number gives the amplification of the signal to buy or sell. In alternative versions there will be a set of functions that eventually turn into a complex compound logical expression, the result of which will be "true" or "false". There is no way to adjust the signal itself ... I'll tell you something else in confidence. In essence, all these actions are equivalent to data compression as in an archive. The less conditions and the simpler they are and the more orders they give on the selected interval and the more their profit factor and other parameters, the closer our algorithm is to the market formula. At the same time, it is better not to do it on small samples. That's why I always say to take a sample of 10 years at least, or better the whole history at once, because we retrain on a section and then it turns out that we just caught a stratum in which a big half-wave is going up on this section, and then everything safely turns around and flies down as sharply. With trees and arbitrary networks of floating size there can be a trouble like the one I wrote above. The quote can be simply transformed into another type of data, which is understandable only to a tree, or into a network map and some additional matrices and numbers. Let's go to the forward and there it's wild....

The fewer degrees of freedom, the less probability of overoptimisation. We need to check it like in neural networks. We should take three samples, train one of them, count metrics on the second one after training on the first one, and make final conclusions after training on the third one.

 
Rorschach:

The fewer degrees of freedom, the less probability of overoptimisation. It is necessary to check like in neural networks. Take three samples, train one, calculate metrics on the second sample after training on the first, and make final conclusions after training on the third sample.

Good idea, but it turns out to be self-deception. we took 50 per cent of the sample, say for brute force, then 25 per cent check metrics or whatever you want to check ))) . On the third site final check, but it is the same as to take the entire site from beginning to end. Not exactly, but that's essentially what it does. There's no better way to get a bigger sample. And no one will ever come up with a better way.

 
Rorschach:

The fewer degrees of freedom, the less probability of overoptimisation. It is necessary to check like in neural networks. Take three samples, train one, calculate metrics on the second sample after training on the first, and make final conclusions after training on the third sample.

The more free variables, the better "nailing the story" :-)

see elephant https://ru.wikipedia.org/wiki/Слон_фон_Неймана

 
Maxim Kuznetsov:

The more free variables the better "nailing the story" :-)

see about the elephant https://ru.wikipedia.org/wiki/Слон_фон_Неймана

By the way that's what I was going to say roughly but you did it better )

 
Pero donde está el programa para la búsqueda de patrones que no encuentro?
 
Miguel Angel Diaz Oviedo:
Pero donde está el programa para la búsqueda de patrones que no encuentro?

El programa será, pero solo después del cuarto artículo, se está preparando el artículo. También lo hará el producto. Es en el producto donde el programa estará disponible como adicional software. The actual version is desactualised after much longer. In this moment, the programme has mejorado mucho. cuanto voy a mostrar en el articulo