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

Pyramiding (skalowanie pozycji)

14. Pyramiding (skalowanie pozycji)

Inp_Pyramid_Multiplier      = 3.0   // Mnożnik (sonda → główna)
Inp_Pyramid_Max_Lots        = 2.0   // Twardy limit lotów na pozycję
Inp_Pyramid_OnlyProfitable  = true  // Piramiduj tylko gdy ostatnia pozycja na +

Logika:

  • Brak pozycji: lots = target_lots / 3.0 — otwierana mała sonda (1/3 normalnej)
  • Jest pozycja: lots = last_volume × 3.0 — skalowanie do pełnej wielkości
  • Jeśli OnlyProfitable=true i ostatnia pozycja na minusie → piramida zablokowana

Log: "Pyramid blocked: last position not in profit." / "LOT CAP: 4.50 -> 2.00"

Harmonogram i EOD Terminator

10. Harmonogram i EOD Terminator

Harmonogram sesji (lokalny czas terminala)

Każdy dzień tygodnia ma własne okno handlowe:

Poniedziałek:  Inp_Hours_Monday    = "00:00-22:00"
Wtorek:        Inp_Hours_Tuesday   = "00:00-22:00"
Środa:         Inp_Hours_Wednesday = "00:00-22:00"
Czwartek:      Inp_Hours_Thursday  = "00:00-22:00"
Piątek:        Inp_Hours_Friday    = "00:00-05:00"  // wcześniejsze zakończenie

Format: "HH:MM-HH:MM" — można wpisać wiele przedziałów oddzielonych przecinkiem np. "09:00-12:00,15:00-20:00". Sobota i niedziela automatycznie zablokowane.

EOD Terminator

Mechanizm awaryjnego zamknięcia wszystkich pozycji o określonej godzinie:

Piątek:        Inp_EOD_Time_Friday     = "21:39"
Inne dni:      Inp_EOD_Time_OtherDays  = "22:29"

Algorytm z retry:

  1. Próbuje zamknąć wszystkie pozycje na symbolu
  2. Jeśli broker odrzuci zlecenie → czeka 5 sekund → ponawia (max 10 prób)
  3. Po sukcesie: g_Last_EOD_Day = dt.day_of_year (nie powtarza tego samego dnia)

Log: "EOD TERMINATOR: Emergency closing all positions..." → "EOD SUCCESS: Closed position #123." → "EOD TERMINATOR: Chart cleared. Goodnight."

Zarządzanie pozycjami — warstwy ochrony

7. Zarządzanie pozycjami — warstwy ochrony

ManagePositions() wykonuje się na KAŻDYM ticku dla każdej otwartej pozycji. Warstwy ochrony są stosowane w ściśle określonej kolejności priorytetów.

Warstwa 0: Virtual Stop Loss (najwyższy priorytet — awaryjne cięcie)

Nie jest to SL wysłany do brokera — to wewnętrzna kontrola poziomu straty:

active_cap = base_capital (zależnie od trybu)
pos_profit = zysk + swap + prowizja
max_loss = active_cap × Inp_Virtual_SL_Percent / 100

Jeśli |pos_profit| >= max_loss → natychmiastowe zamknięcie pozycji

Log: "VIRTUAL SL HIT! Position #123 loss (-45.23) exceeded 4.00% of Active Capital (1132.50). Closing immediately."

To zabezpieczenie działa jako ostatnia linia obrony przed katastroficzną stratą, niezależnie od spreadu, poślizgu czy warunków brokera.

Warstwa 0.5: Profit Lock (agresywne trailing bliskie TP)

Aktywuje się gdy cena zbliży się do TP na odległość Inp_E_PL_Trigger_Points (500 pkt):

  • Włącza agresywny trailing SL oparty o Inp_E_PL_TSL_Points (200 pkt) od aktualnej ceny
  • SL przesuwa się tylko w kierunku zysku (ratchet — nigdy wstecz)
  • Chroni wypracowany zysk tuż przed osiągnięciem TP

Log: "Position #123: PROFIT LOCK Activated!"

Warstwa 1: Physical TSL BB (Bollinger Band Trailing SL)

Dwufazowy mechanizm:

  • Faza 1: Standard Hard SL wysłany do brokera przy otwarciu
  • Faza 2: Aktywuje się gdy profit_in_points >= Inp_E_ProfitToActivateBB (1500 pkt)

Po wejściu w Fazę 2:

  • BUY: SL = MAX(BB_Lower, open_price + floor_dist) — podąża za dolnym pasmem BB (nigdy poniżej otwarcia + podłoga)
  • SELL: SL = MIN(BB_Upper, open_price - floor_dist) — podąża za górnym pasmem BB

BB TSL ma wyższy priorytet niż Hard BE — gdy Faza 2 aktywna, Hard BE jest ignorowane.

Log: "Position #123 entered Phase 2 (TSL BB)."

Warstwa 2: Hard Break-Even (klasyczny BE)

Przenosi fizyczny SL do (lub powyżej) ceny otwarcia gdy zysk osiągnie Inp_HardBE_Trigger_Points (200 pkt):

BUY: new_SL = open_price + (Inp_HardBE_Level_Points × _Point)  // np. +100 pkt
SELL: new_SL = open_price - (Inp_HardBE_Level_Points × _Point)

SL jest przesuwany tylko w kierunku zysku. Po jednorazowej aktywacji flaga is_breakeven1_set = true — Hard BE nie jest powtarzany.

Log: "Position #123: Hard Break-Even set at +100 pts."

Warstwa 3: Virtual Negative Break-Even

Innowacyjny mechanizm pozwalający pozycji „oddychać” po osiągnięciu pewnego zysku:

  1. Po osiągnięciu Inp_NegBE_Trigger_Points (5000 pkt) zysku → aktywuje się is_breakeven2_set = true
  2. Jeśli pozycja cofnie się do poziomu Inp_NegBE_Level_Points (np. -3000 pkt) → pozycja jest zamykana
  3. Działa wyłącznie gdy Hard BE NIE jest jeszcze ustawiony

Sens: pozycja osiągnęła duży zysk (5000 pkt), system „pozwala” jej wrócić do -3000 pkt zanim ją zatnie. Drastycznie zmniejsza liczbę przedwcześnie zamkniętych trendów.

Log: "Position #123: Virtual Negative BE Activated." → "Position #123: Closed by Virtual Negative BE."

Dynamic Take Profit (rozszerzanie TP przy silnym trendzie)

Gdy cena zbliży się do TP na Inp_E_PL_Trigger_Points:

  1. Sprawdza BB (z osobnym szerszym odchyleniem Inp_E_BB_TP_Deviation = 3.0)
  2. Jeśli cena przebija zewnętrzne pasmo BB (silny trend!) → TP jest przesuwany dalej o Inp_E_TP_Extension_Points (500 pkt)
  3. Można wielokrotnie rozszerzać — bez limitu liczby rozszerzeń

Log: "Position #123: Dynamic TP Extended by 500 points!"

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.

Pełna Dokumentacja Techniczna

AHS — Adaptive Hybrid System v78.00

Multi-Core Strategy Engine dla MetaTrader 5 (MQL5)

Projekt realizowany od 10 lipca, ponad 12 godzin dziennie, często przez cały tydzień — do 21 kwietnia.



SPIS TREŚCI

  1. Architektura i powiązania modułów
  2. Multi-Core Strategy Engine — koncepcja “kto pierwszy ten lepszy”
  3. Strategie — szczegółowy opis algorytmów
  4. Macro Risk Matrix — dynamiczny scoring instytucjonalny
  5. Institutional Impulse + Muzzle Mode — zmiana charakterystyki podczas impulsu
  6. Dynamic Channel (Box Trading) — tunel ceny
  7. Zarządzanie pozycjami — warstwy ochrony
  8. Ochrona konta — poziom systemowy
  9. Obsługa manualna (Click & Forget)
  10. Harmonogram i EOD Terminator
  11. News Filter
  12. Filtr Tygodniowy i Fibonacci
  13. Zarządzanie kapitałem i wielkością pozycji
  14. Pyramiding (skalowanie)
  15. Panel informacyjny
  16. Licencja i aktualizacje
  17. Pełna lista parametrów wejściowych (Inputs)




1:500