Podsumowanie filozofii systemu

Podsumowanie filozofii systemu

AHS nie jest prostym EA z jedną strategią. Jest to platforma hybrydowego zarządzania ryzykiem z wymiennym rdzeniem strategii, gdzie:

  1. Każda strategia może być Triggerem LUB Filtrem — ta sama logika służy zarówno do generowania sygnałów jak i ich weryfikacji
  2. Macro Risk Matrix patrzy na szerszy obraz rynku zanim pozwoli wejść w pozycję — 19 globalnych aktywów głosuje na każde zlecenie
  3. System reaguje na impulsy — gdy wykrywa gwałtowne ruchy, radykalnie zmienia swoje parametry, stając się bardziej selektywny i kierunkowy
  4. Ochrona wielowarstwowa — od poziomu pojedynczej pozycji (Virtual SL, Hard BE, TSL BB, Profit Lock, NegBE) przez poziom dzienny (Daily Loss, Daily Target) po poziom całego konta (Equity TSL)
  5. Click & Forget — trader może handlować manualnie, a EA automatycznie przejmuje zarządzanie ryzykiem każdej otwartej pozycji

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.