Exchange Market Algorithm (EMA)
EMA is a behavior-inspired population-based metaheuristic that simulates stock-market trading to do global numerical optimization (it is not a trading strategy — the market is just the metaphor). Source: andrey-dik‘s MQL5 implementation.
How it works
The population is split into three trader groups by success:
- Elite (top ⅓) — keep their (best) positions unchanged.
- Middle class (middle ⅓) — learn by imitating the elite.
- Beginners (bottom ⅓) — learn from both groups and take higher risks.
Two phases per iteration: a balanced-market phase (conservative, mentor-imitation → exploit) and a fluctuating-market phase (aggressive exploration with random resets + opposition-based learning). See exploration-vs-exploitation.
Benchmark (context-relative)
Ranked 45/45 (37.40%) on the population-optimization-benchmark — near the bottom: “limited practical performance despite conceptual elegance.” A data point for the wiki’s worry about metaphor-inflation (a fresh metaphor over standard explore/exploit mechanics) and for the no-free-lunch-theorem (see synthesis).
Related
metaheuristic-optimization · exploration-vs-exploitation · population-optimization-benchmark · no-free-lunch-theorem · andrey-dik · deterministic-oscillatory-search