Institutional Impulse + Muzzle Mode

5. Institutional Impulse + Muzzle Mode

Jeden z kluczowych mechanizmów. Wykrywa instytucjonalne impulsy (nagłe, gwałtowne ruchy generowane przez duży kapitał) i natychmiast zmienia charakterystykę systemu.

Wykrywanie impulsu

Na każdym nowym barze na Inp_Impulse_TF (domyślnie M1):

  1. Oblicza średni zasięg i średni wolumen z ostatnich Inp_Impulse_AvgPeriod (20) świec
  2. Pobiera ATR
  3. Oblicza velocity = |current_close - prev_close| / prev_close
  4. Impuls wykryty jeśli zasięg świecy > Inp_Impulse_Min_Range_Points (50 pkt) ORAZ spełniony przynajmniej jeden z warunków:
  • velocity > Inp_Impulse_Velocity (0.5% zmiany ceny)
  • current_range > RangeMult × avg_range (2× średniej)
  • current_range > ATRMult × ATR (2× ATR)
  • current_volume > VolMult × avg_volume (1.5× średniego wolumenu)

Log: "Institutional Impulse Detected! Activating MUZZLE MODE for 15 mins."

Muzzle Mode — jak zmienia się charakterystyka systemu

Po wykryciu impulsu system wchodzi w Muzzle Mode (tryb wyciszenia):

ParametrNormalny trybPodczas Impulsu (Muzzle Mode)
Min. ciało świecy Smart DI2 pkt150 pkt
Poziom blokady CCIInp_Block_CCI_Level (350)Inp_Muzzle_CCI_Block_Level (130)
Sygnały SELLDozwoloneBlokowane jeśli Channel_Down=0
Kanał cenowyStandardowyMuzzle Box (anchor w momencie impulsu)

Kluczowe: Gdy Inp_Muzzle_Channel_Points_Down = 0, podczas impulsu system działa wyłącznie jako BUY ONLY — sprzedaż jest całkowicie blokowana. Pozwala to uchwycić trend po biciu.

Dynamiczny Muzzle Channel

W momencie wykrycia impulsu system zapamiętuje aktualną cenę BID (g_Muzzle_BasePrice). Wszystkie kolejne sygnały muszą mieścić się w:

  • Upper: base_price + Muzzle_Channel_Points_Up
  • Lower: base_price - Muzzle_Channel_Points_Down (lub -DBL_MAX gdy Down=0)

Wygaszenie Muzzle Mode

Muzzle Mode wygasa gdy spełnione są WSZYSTKIE warunki:

  1. Upłynął cooldown: (czas_teraz - czas_impulsu) > Impulse_Cooldown_Mins × 60
  2. Rynek się uspokoił: current_range ≤ 1.5 × avg_range AND current_volume ≤ 1.5 × avg_vol
  3. Ukształtował się szczyt lub dołek: poprzednia świeca wyższy high (peak) lub niższy low (trough) niż sąsiednie

Log: "Market calmed down. MUZZLE MODE deactivated."

Macro Risk Matrix — dynamiczny scoring instytucjonalny

4. Macro Risk Matrix — dynamiczny scoring instytucjonalny

To najbardziej unikalna funkcja systemu. AHS przed każdym zleceniem pyta o zdanie 19 globalnych aktywów, analizując ich kondycję przez pryzmat 5 wskaźników każdy — łącznie 95 uchwytów wskaźnikowych.

Skład Macro Risk Matrix

Tech Titans (≈60% puli):

AktywoWaga bazowa
Apple (AAPL)8%
Microsoft (MSFT)8%
Nvidia (NVDA)8%
Amazon (AMZN)5%
Meta (META)5%
Alphabet (GOOGL)5%
Tesla (TSLA)4%
Broadcom (AVGO)4%
Costco (COST)3%
Netflix (NFLX)2%
PepsiCo (PEP)2%
Cisco (CSCO)2%
T-Mobile (TMUS)2%
Adobe (ADBE)1%
AMD1%

Global Macro (≈40% puli):

AktywoWaga bazowaSpecjalna rola
Bitcoin (BTC)10%Risk-On barometr
Gold (GOLD)10%Odwrotna korelacja — Risk-Off
EURUSD10%Proxy siły dolara (DXY)
AUDJPY10%Carry trade / apetyt na ryzyko

Dynamiczne ważenie — co wyróżnia ten system

Wagi bazowe to punkt wyjścia, nie wartości stałe. Dla każdego aktywa obliczany jest multiplier na podstawie aktualnych wskaźników:

Wskaźniki dla każdego aktywa (H1):
  → MA50, MA200 (trend długoterminowy)
  → RSI(14)     (momentum/wykupienie-wyprzedanie)
  → CCI(14)     (odchylenie od średniej)
  → MFI(14)     (przepływ pieniądza)

Logika mnożnika dla BUY scoring:
  → Trend byczty (MA50 > MA200):          +0.5
  → Wyprzedanie (RSI<30 lub CCI<-100):   +0.5
  → Wykupienie (RSI>70 lub CCI>100):     -0.5
  → Pieniądz napływa (MFI>50):           +0.2

Logika mnożnika dla SELL scoring:
  → Trend niedźwiedzi (MA50 < MA200):    +0.5
  → Wykupienie (RSI>70 lub CCI>100):    +0.5
  → Wyprzedanie (RSI<30 lub CCI<-100): -0.5
  → Pieniądz odpływa (MFI<50):          +0.2

Minimalna wartość mnożnika = 0.1 (ochrona przed wagą ujemną).

Mechanizm scoringu

effective_weight = base_weight × multiplier
max_pool += effective_weight            // maksymalny możliwy wynik

// Czy aktywo potwierdza kierunek?
if BUY:  price > MA50 → align_score += effective_weight
if SELL: price < MA50 → align_score += effective_weight

// GOLD jest odwrotny (is_inverse=true):
// Bycze GOLD = Risk-Off = potwierdza SELL, nie BUY

final_alignment = (align_score / max_pool) × 100%

Blokada: Jeśli final_alignment < Inp_Macro_Min_Alignment_Percent (domyślnie 70%) → zlecenie zablokowane.

Lazy Evaluation

Macro Matrix NIE jest obliczana na każdym ticku. Jest wyzwalana wyłącznie w momencie gdy jakaś strategia wygeneruje sygnał. Dramatycznie redukuje zużycie CPU. Log: "BUY Align: 82% (Pool: 145)" / "Block BUY: Macro Score".

Jeśli żaden rynek nie jest aktywny

Gdy wszystkie aktywa są nieaktywne (brak danych, rynek zamknięty) → max_pool = 0 → filtr pomijany, trading dozwolony. System nie blokuje się sam gdy brakuje danych globalnych.

Strategie — szczegółowy opis algorytmów

3. Strategie — szczegółowy opis algorytmów

3.1 Smart DI (Directional Index)

Idea: Mierzy dominację jednego kierunku rynkowego na podstawie wskaźnika ADX, analizując różnicę między liniami DI+ i DI-.

Algorytm krok po kroku:

  1. Pobiera wartości DI+ i DI- z ADX (bufor 1 — poprzednia zamknięta świeca, by uniknąć repaintingu)
  2. Oblicza diff = |DI+ - DI-|
  3. Pobiera dane ostatniej zamkniętej świecy na Inp_Strat_TF
  4. Oblicza rozmiar ciała świecy: body = |close - open| / _Point
  5. Jeśli aktywny Impulse/Muzzle Mode: minimalne ciało świecy wzrasta z Inp_Strat_Min_Candle_Body do Inp_Muzzle_Min_Candle_Body (domyślnie 150 pkt zamiast 2 pkt) — charakterystyka strategii zmienia się podczas impulsu
  6. Sygnał BUY: DI+ > DI- AND diff > Min_DI_Diff AND DI- < Max_Opposite_DI
  7. Sygnał SELL: DI- > DI+ AND diff > Min_DI_Diff AND DI+ < Max_Opposite_DI

Log: "Smart DI BUY" / "Smart DI SELL"

Kluczowa właściwość: Parametr Inp_Strat_Max_Opposite_DI ogranicza siłę opozycji — nawet jeśli DI+ dominuje, zbyt silne DI- blokuje sygnał. Działa jako wbudowany filtr jakości trendu.

3.2 MTF Point System (Multi-TimeFrame)

Idea: Scoring zgodności trendu na 4 niezależnych timeframach przy użyciu krzyżowania EMA5/EMA7. Punktuje każdy timeframe i wymaga minimum X punktów.

Algorytm krok po kroku:

  1. Na każdym z 4 timeframów (TF1, TF2, TF3, TF4) pobiera EMA5 i EMA7
  2. BUY point: EMA5 > EMA7 na danym TF → score++
  3. SELL point: EMA5 < EMA7 na danym TF → score++
  4. Jeśli score >= Inp_MTF_Min_Score (domyślnie 3 z 4) → sygnał aktywny

Warunek sprawdzania: Co nowy bar na Inp_MTF_TF1 (najszybszy TF)

Log: "MTF BUY" / "MTF SELL"

Filozofia: System nie wymaga stuprocentowej zgodności — nawet 3 na 4 TF jest wystarczające. Daje elastyczność przy płynnych rynkach, gdzie wszystkie TF rzadko wskazują jednocześnie.

3.3 Three Consecutive Candles (3 Candles)

Idea: Wykrywa mini-trend: 3 kolejne zamknięte świece o tym samym kierunku z minimalnym ciałem.

Algorytm krok po kroku:

  1. Pobiera 3 ostatnie zamknięte świece na Inp_Filter_3Candles_TF
  2. Dla każdej świecy: body = |close - open| / _Point
  3. Jeśli ciało którejkolwiek świecy < Inp_Filter_3Candles_MinBody → sygnał fałszywy
  4. BUY: wszystkie 3 świece są wzrostowe (close > open)
  5. SELL: wszystkie 3 świece są spadkowe (close < open)

Log: "3 Candles BUY" / "3 Candles SELL"

Siła: Prosta, wizualnie intuicyjna, bardzo skuteczna jako walidator — potwierdza momentum zanim Smart DI lub MTF dadzą sygnał.

Multi-Core Strategy Engine — „kto pierwszy ten lepszy”

2. Multi-Core Strategy Engine — „kto pierwszy ten lepszy”

Jest to najważniejsza innowacja systemu. Wbrew nazwie sugerującej jedną strategię, AHS to silnik z wymiennymi rdzeniami strategii, gdzie każda strategia może jednocześnie pełnić dwie role:

RolaParametrOpis
Trigger (wyzwalacz)_As_Strategy = trueStrategia GENERUJE sygnał transakcyjny
Validator (walidator)_As_Filter = trueStrategia POTWIERDZA sygnały innych

Zasada „kto pierwszy ten lepszy” (First-Come-First-Served)

Strategie są ewaluowane sekwencyjnie w stałej kolejności:

EvaluateStrategies()
  1. Smart DI (jeśli As_Strategy=true)  → sygnał? → filtry → zlecenie → RETURN
  2. MTF Point System (jeśli As_Strategy=true) → sygnał? → filtry → zlecenie → RETURN
  3. 3 Consecutive Candles (jeśli As_Strategy=true) → sygnał? → filtry → zlecenie → RETURN

Kluczowe znaczenie: Gdy strategia nr 1 (Smart DI) wygeneruje sygnał i przejdzie przez wszystkie filtry, system natychmiast otwiera zlecenie i wychodzi z funkcji (return). Strategie 2 i 3 nie są już w tym ticku sprawdzane. Nie ma głosowania, uśredniania ani konsensusu — pierwszy ważny sygnał wygrywa.

Każda strategia sprawdzana jest tylko raz na nowy bar (na własnym timeframie), co eliminuje wielokrotne sygnały wewnątrz tej samej świecy.

Możliwe konfiguracje

  • SmartDI jako trigger, MTF+3Candles jako filtry — SmartDI daje sygnał, ale muszą go potwierdzić oba pozostałe systemy
  • Wszystko jako trigger — trzy niezależne strategie rywalizują o otwarcie zlecenia
  • MTF jako trigger, SmartDI jako filter — MTF generuje, SmartDI potwierdza
  • Dowolna kombinacja — każda strategia może być włączona/wyłączona niezależnie w obu rolach

Walidator nie weryfikuje samego siebie

Inteligentna logika: strategia X działając jako filtr NIE waliduje sygnałów własnych. Przykład: jeśli SmartDI jest wyzwalaczem, filtr SmartDI jest pomijany (nie sprawdza sam siebie) — sprawdzane są tylko filtry MTF i 3Candles.

// Walidator pomija własne źródło
if (Inp_SmartDI_As_Filter && trigger_source != "SmartDI") {
    if (!CheckSmartDI_Condition(is_buy)) return false;
}

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

Adaptive Hybrid System - Multi-Core Strategy Engine -US100
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.