Algorithm Optimisation Championship. - page 94

 

I see the championship is already in full swing... hmmm... so who's winning? )))))))

 
Nikkk:

What was that? Was that an attempt to make a fool out of you? So now you're running to prove something. Such useless posts and crooked organizing actions have already discouraged even the most loyal participants who were there in the beginning. And now just summed up that it was not worth it.

To be jealous of something that has not been demonstrated at all is the top of stupidity. Why this blatant stupidity in the post.

In my post, I wasn't addressing specific people, but the states of mind that sometimes visit all of us.

Indeed, I didn't explain it clearly enough, and may have offended someone. My apologies. (Was wrong when I said that about the readers of this thread. Inappropriate and wrong.)

It's hard to discourage someone from taking part in a championship if they are eager to compete.

I think what I wouldn't write to offend such a person would bounce off them like peas off a wall.

Costs of organizing the championship, their own gaps in knowledge, and certainly the sloppy jargon bragging nerotrolly (such as myself) will not extinguish the desire to take a challenge from an equal.

Competition is an integral part of life, of evolution, of society. The basis of development as such.

I encourage participation in the championship, and I have great respect for all participants and observers, but to those who come just to stir and bring confusion, I have been and will be merciless in my posts.

I support the topicstarter, as long as the topicstarter himself supports fair and transparent competition.

Thank you for your attention.

 
Andrey Dik:
Yes, there was an offer to propose a candidate for the role of judge/referee (look back pages ago). No candidacies were forthcoming from Peter.
Well, it was me who suggested Anatoly's candidacy. )
 
Реter Konow:
Well, it was me who suggested Anatoly's candidacy. )
Very well, in the heat of the discussion I didn't even notice it. Then all the invective from detractors on the previous page towards me is inappropriate, unlike my kicking them in the ass).
 
Реter Konow:
...

Be prepared for no range and FF step limits, which means range [-DBL_MAX; DBL_MAX] in 0.0 increments.

 
Andrey Dik:

Be prepared for no restrictions on range and FF pitch, which means range [-DBL_MAX; DBL_MAX] in 0.0 pitch.


Fine.
 

I agreed to participate, but sorry guys, I'm not ready yet. The connection interface is not obvious to me and I don't know which one is relevant. And there is no time to prepare and train my algorithm. And now it's holiday time.

Allow me to present my understanding of the championship through the eyes of a beginner, so to speak.

Often we need to find the maximum and minimum values (extremums) of something. For example, it is extremely important for scalpers to know the trading conditions, for example, max. and min. spread per timeframe at a certain broker. About this below. For now, how I see the Championship.

So the essence of the Championship is to find the extremums of some function, as the participants say, the fitness function (FF).

For example there is the Grand Theorem of Fermat.

For any natural number the equation a^n+b^n=c^n

has no solutions in non-zero integers .

i.e. for n=2 there is a solution: 3^2+4^2=5^2. But for n=3 and more it is stated that there are no solutions.

So far the great mathematicians have not been able to disprove the theorem. If you find such numbers you will be as famous as Perelman.

If you rewrite the formula a^3+b^3=c^3 as a^3+b^3-c^3=min, the problem reduces to finding the unknowns a, b, c in which the right side of the equation is minimal. That is an extremum is searched for.

How to find it? The easiest way is to set full cycles of a, b and c and wait forever. The point of the contest is to find an extremum with as few calls of the participant's algorithm to the equation as possible (FF).

In the given example the function is defined by a formula and it is known to the algorithm. But what can be done if the FF is unknown and extremums need to be found? Let's get back to spreads. Spread is determined both by the market condition and by the policy of a certain broker. What algorithm the broker has is anyone's guess. Suppose the min. spread on the timeframe is determined by three main factors - max and min prices and bar time H, L, T.Also, spread= f(H,L,T) is not given by the formula but by array spread= double[ H,L,T]. The task is to send to the FF (i.e. algorithm) such an array at which the FF is minimum. In fact, there are much more factors that determine the spread, and they are constantly changing.

I decided to write a panel to train my algorithm. This is what it looks like.

First, you click "Choose from List" to select a simple function from the list, for example, the equation I mentioned earlier.

This will connect your code. If there is no code in MQL yet, you can work in your environment and then enter the best parameters manually with the corresponding button and watch the result.

Further, if we press "Generate FF" we will randomly generate an unknown FF. To find its extremum, we need either to send arrays double[] from our environment or involve our own code in MQL. In both cases, the result will be displayed.

I will practice for now and perhaps I will participate in the Championship this fall, if it is alive.

P.S If you want to reply to my post, please do not quote my long text completely, so as not to cause inconvenience in reading the branch.

 
Yuri Evseenkov:


You know, I had the same difficulty in understanding the essence of the problem (and to some extent I still do due to lack of experience in solving optimization problems) as you did.

I also didn't understand the connection interface.

The task with text helped me to understand it sufficiently.

After solving it, almost everything falls into place. I believe the principle of its solution can be applied to other types of optimization problems as well. Of course, a more universal algorithm will have to be implemented, but I believe we do not need to change the direction of thought.

Once I described my understanding of optimization in the Open Championship branch and since the topic-starter did not offer any critics or corrections, I decided that I understood the optimization correctly. Here is my understanding of the problem: https://www.mql5.com/ru/forum/89230

If the topicstarter reasonably fails to criticize this view, perhaps this post will help you better understand it.

And yet, flip back to the task with the text. Try to understand it - it's very simple. If you need anything, just ask.

About time to prepare - I think we'll take it into account so that everyone will have enough time.

P.S. By the way, your panel can be very useful.

Чемпионат алгоритмов оптимизации поиска лучших значений параметров
Чемпионат алгоритмов оптимизации поиска лучших значений параметров
  • www.mql5.com
Алгоритмы оптимизации поиска лучших значений параметров применяются в разных областях науки и технологии...
 
Реter Konow:

If the topic-starter does not reasonably criticize this view, maybe this post will help you to understand it better.

Both yours and Yuri's approach "sin" with too concrete view on optimization problems, lacking abstraction, universality. This is fraught with unsatisfactory results where the FF is unknown, which is 99% of optimization problems in trading.

Look at the example with the text. There is a variant of the algorithm (not even an algorithm, but a simple connection interface) for the standard MT optimizer. Please note that the algorithm of the standard optimizer has no idea about a task at all, millions of traders feed it their tasks with parameters varying from several thousands to several hundreds of parameters and the optimizer successfully finds maximal values of what the user wants to find.

But I repeat once again, if it helps you to win the championship, you can use any opinion - in my opinion, the key to success is universality and "omnivorousness" of the algorithm.

The tag is Konow:

And yet, flip back to the task with the text. Sort it out - everything is simple there. If you need anything, just ask.

The example with the text is really very simple and clear. Its main purpose - to show the connection and interaction of the FF and the algorithm. Anyone who wants to understand the interfaces of connection, it is worth to see this example.

 
Yuri Evseenkov:

I decided to write a panel to train my algorithm. This is what it looks like.

If your panel is of any help to anyone, I'd be delighted. Put it here, if you like.

But I have no right to insist on its compulsory use by the participants, don't get me wrong.