Discussing the article: "Harris Hawks Optimization (HHO)"

Check out the new article: Harris Hawks Optimization (HHO).

We implement the Harris Hawks Optimization algorithm in MQL5 and analyze five movement modes of agents controlled by a single parameter — the decaying escape energy E. The C_AO_HHO class is introduced; it is compatible with the unified test bench and features a reproducible implementation of Lévy flight. The algorithm was tested on the Hilly, Forest, and Megacity functions with 5, 25, and 500 coordinates — the results indicate anomalous behavior.

When optimizing the parameters of a trading system within a limited computational budget (evaluation attempts), you inevitably face a dilemma: either the algorithm gets stuck too early in the first local optimum it finds, or it spends too much time exploring the space and fails to fully exploit promising regions by the end of the iteration budget. In practice, the transition point between exploration and exploitation is usually set manually using static hyperparameters — and this choice depends heavily on the specific task, the dimensionality, and the discretization grid. Given the limited number of calls to the fitness function and the “one fitness evaluation per iteration” rule, a mechanism is needed that automatically shifts the search from broad coverage to a targeted attack as the budget is consumed, without manual threshold adjustments.

Harris Hawks Optimization (HHO) offers precisely this approach: it is based on a scalar “escape energy” E, which deterministically decreases from ±2 to 0 as iterations progress, automatically switching the algorithm between the exploration and attack phases. In this article, we did not limit ourselves to a biological metaphor: we reproduced all HHO modes (two exploration variants, four attack strategies, including a Lévy-flight dive), adapted them to the unified MQL5 test bench interface with its requirement of one fitness evaluation per iteration, and implemented the working class C_AO_HHO. However, a technical limitation of the test bench (the inability to make two calls to the fitness function in a single iteration) forced us to replace the direct check F(Y) < F(X) in the Lévy strategy with a proxy rule based on the history of improvements — a detail that is important for the reproducibility and interpretation of the results.

The purpose of this article is to provide a ready-to-use component (Init/Moving/Revision, with the parameters popSize and β), a reproducible testing protocol (3 functions: Hilly, Forest, Megacity; three dimensionality levels; 10,000 calls per run; 10 repetitions), and an honest assessment of the applicability of HHO to practical tasks—in particular, to the calibration of trading systems under a limited budget.

Author: Andrey Dik

What a great discovery!

I really appreciate this

Many thanks

quargil34 #:

What a great discovery!

I appreciate this

Many thanks

Thank you very much