Architektura i powiązania modułów

1. Architektura i powiązania modułów

System składa się z pięciu plików nagłówkowych dołączanych do skompilowanego pliku głównego _AHS_Main.ex5:

_AHS_Main.ex5
  ├── AHS_Inputs.mqh      → Wszystkie parametry wejściowe, enumeracje, zmienne globalne stanu
  ├── AHS_Filters.mqh     → Filtry rynkowe (The Shield): Macro Matrix, Impulse, Channel, ADX/MA, Smart DI, MTF, 3Candles
  ├── AHS_Strategy.mqh    → Multi-Core Engine: kalkulacja wielkości pozycji, wykonanie zlecenia
  ├── AHS_Management.mqh  → Zarządzanie pozycjami: TSL BB, Hard BE, Neg BE, Dynamic TP, EOD Terminator
  └── AHS_Panel.mqh       → Graficzny panel informacyjny: status, MTF dashboard, lista pozycji

Przepływ OnTick() — krok po kroku

Każdy napływający tick przez główną pętlę EA przechodzi przez ściśle określoną sekwencję:

OnTick()
  1. Sprawdzenie licencji (CLicenseManager.IsExpired)
  2. Sprawdzenie harmonogramu sesji (IsScheduleAllowed)
  3. EOD Terminator (CheckForEODClose) → awaryjne zamknięcie wszystkich pozycji
  4. Aktualizacja dziennego P/L i reset dzienny
  5. Sprawdzenie Account Protection:
       → DailyLossReached? → blokada nowych zleceń
       → DrawdownFreeze?   → blokada nowych zleceń
       → DailyTargetReached? → blokada nowych zleceń
  6. Equity Trailing Lock (master equity trailing SL)
  7. Institutional Impulse Detection (CheckInstitutionalImpulse)
  8. Dynamic Channel Update (UpdateDynamicChannel) co X godzin
  9. News Filter → blokada przed/po newsach
 10. ManageAllPositions() → zarządzanie wszystkimi otwartymi pozycjami
 11. Sprawdzenie warunku cooldown + limitu pozycji
 12. EvaluateStrategies() → Multi-Core Engine szuka sygnału
 13. Aktualizacja panelu informacyjnego

Wszystkie etapy są niezależne — zarządzanie pozycjami (krok 10) działa niezależnie od wyszukiwania sygnałów (krok 12). Oznacza to, że nawet jeśli nowe zlecenia są zablokowane, otwarte pozycje są zawsze zarządzane.