Position Management — Protection Layers

7. Position Management — Protection Layers

ManageAllPositions() executes on EVERY tick for every open position. Protection layers are applied in a strict priority order.

Layer 0: Virtual Stop Loss (Highest Priority — Emergency Cut)

This is not an SL sent to the broker — it is an internal loss-level monitor:

active_cap = base_capital (depending on mode)
pos_profit = profit + swap + commission
max_loss   = active_cap × Inp_Virtual_SL_Percent / 100

If |pos_profit| >= max_loss → immediate position close

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

This safeguard acts as the last line of defence against a catastrophic loss, regardless of spread, slippage or broker conditions.

Layer 0.5: Profit Lock (Aggressive Trailing Near TP)

Activates when price approaches TP within Inp_E_PL_Trigger_Points (500 pts):

  • Enables an aggressive trailing SL based on Inp_E_PL_TSL_Points (200 pts) from the current price
  • SL only moves in the direction of profit (ratchet — never backwards)
  • Protects accumulated profit just before TP is hit

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

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

A two-phase mechanism:

  • Phase 1: Standard Hard SL sent to the broker at the time of opening
  • Phase 2: Activates when profit_in_points >= Inp_E_ProfitToActivateBB (1,500 pts)

Once Phase 2 is active:

  • BUY: SL = MAX(BB_Lower, open_price + floor_dist) — follows the lower BB band (never below open + floor)
  • SELL: SL = MIN(BB_Upper, open_price - floor_dist) — follows the upper BB band

TSL BB has higher priority than Hard BE — once Phase 2 is active, Hard BE is ignored.

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

Layer 2: Hard Break-Even (Classic BE)

Moves the physical SL to (or above) the entry price when profit reaches Inp_HardBE_Trigger_Points (200 pts):

BUY:  new_SL = open_price + (Inp_HardBE_Level_Points × _Point)   // e.g. +100 pts
SELL: new_SL = open_price - (Inp_HardBE_Level_Points × _Point)

SL is only moved in the direction of profit. Once activated, the flag is_breakeven1_set = true — Hard BE is never repeated.

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

Layer 3: Virtual Negative Break-Even

An innovative mechanism that allows a position to „breathe” after achieving a significant profit:

  1. After reaching Inp_NegBE_Trigger_Points (5,000 pts) profit → activates is_breakeven2_set = true
  2. If the position retraces to Inp_NegBE_Level_Points (e.g. −3,000 pts) → position is closed
  3. Active only when Hard BE has NOT yet been set

Rationale: the position achieved a large profit (5,000 pts), so the system „allows” it to retrace to −3,000 pts before closing it. This dramatically reduces the number of prematurely exited trends.

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

Dynamic Take Profit (TP Extension on Strong Trend)

When price approaches TP within Inp_E_PL_Trigger_Points:

  1. Checks the BB (using a separate, wider deviation of Inp_E_BB_TP_Deviation = 3.0)
  2. If price breaches the outer BB band (strong trend confirmed!) → TP is pushed further by Inp_E_TP_Extension_Points (500 pts)
  3. Can be extended multiple times — no limit on the number of extensions

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

Dynamic Channel (Box Trading) — Price Tunnel

6. Dynamic Channel (Box Trading) — Price Tunnel

Restricts the trading zone to a dynamically defined price corridor.

Standard Box (Long-Term)

Updated every Inp_Channel_Update_Hours hours (default 6h):

  1. Records the current BID price as base_price
  2. g_Channel_Upper = base_price + Channel_Points_Up × _Point
  3. g_Channel_Lower = base_price - Channel_Points_Down × _Point
  4. Trading is only allowed when price is inside the channel

Default settings: Upper +20,000 pts, Lower −5,000 pts — an asymmetric channel assuming greater upside potential.

Log: "NEW STANDARD PRICE CHANNEL: Base: 2100.50 | Upper: 2300.50 | Lower: 2050.50"

Manual Box (Anti-Crash Protection)

Inp_ManualBox_Enable = true allows the trader to manually define absolute price boundaries:

  • Inp_ManualBox_Upper — upper boundary (price)
  • Inp_ManualBox_Lower — lower boundary (price)

Use case: the trader can manually define a tunnel before a major fundamental event or when operating in a specific market regime.

Channel Priority (IsPriceInChannel)

1. Muzzle Box (active during Impulse) — HIGHEST PRIORITY
2. Manual Box (if Inp_ManualBox_Enable = true)
3. Standard Dynamic Channel (if Inp_Channel_Enable = true)

Status displayed on the panel as g_Status_Channel.

Institutional Impulse + Muzzle Mode

5. Institutional Impulse + Muzzle Mode

One of the defining mechanisms of the system. It detects institutional impulses (sudden, violent moves generated by large capital) and immediately changes the system’s behaviour.

Impulse Detection

On every new bar on Inp_Impulse_TF (default M1):

  1. Calculates average range and average volume over the last Inp_Impulse_AvgPeriod (20) candles
  2. Fetches ATR
  3. Calculates velocity = |current_close - prev_close| / prev_close
  4. Impulse detected if candle range > Inp_Impulse_Min_Range_Points (50 pts) AND at least ONE of the following is true:
  • velocity > Inp_Impulse_Velocity (0.5% price change)
  • current_range > RangeMult × avg_range (2× average)
  • current_range > ATRMult × ATR (2× ATR)
  • current_volume > VolMult × avg_volume (1.5× average volume)

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

Muzzle Mode — How the System’s Characteristics Change

After an impulse is detected, the system enters Muzzle Mode:

ParameterNormal ModeDuring Impulse (Muzzle Mode)
Min. Smart DI candle body2 pts150 pts
CCI block levelInp_Block_CCI_Level (350)Inp_Muzzle_CCI_Block_Level (130)
SELL signalsAllowedBlocked if Channel_Down = 0
Price channelStandard Dynamic ChannelMuzzle Box (anchored at impulse price)

Key point: When Inp_Muzzle_Channel_Points_Down = 0, the system operates exclusively as BUY ONLY during an impulse — selling is completely blocked. This allows the system to ride the momentum after a breakout move.

Dynamic Muzzle Channel

At the moment an impulse is detected, the system saves the current BID price (g_Muzzle_BasePrice). All subsequent signals must fall within:

  • Upper: base_price + Muzzle_Channel_Points_Up
  • Lower: base_price - Muzzle_Channel_Points_Down (or -DBL_MAX when Down = 0)

Muzzle Mode Deactivation

Muzzle Mode expires only when ALL of the following conditions are met:

  1. Cooldown elapsed: (current_time - impulse_time) > Impulse_Cooldown_Mins × 60
  2. Market has calmed: current_range ≤ 1.5 × avg_range AND current_volume ≤ 1.5 × avg_vol
  3. A local peak or trough has formed: the previous candle has a higher high (peak) or lower low (trough) than its neighbours

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

Makro Matrix Risk — dynamiczna punktacja instytucjonalna

4. Makro Matrix Risk — dynamiczna punktacja instytucjonalna

This is the most unique feature of the system. Before every order, AHS consults 19 global assets, analysing each through 5 indicators — a total of 95 indicator handles running in parallel.

Skład Makro Matrix Risk

Tech Titans (≈60% of the pool):

AssetBase Weight
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% of the pool):

AssetBase WeightSpecial Role
Bitcoin (BTC)10%Risk-On barometer
Gold (GOLD)10%Inverse correlation — Risk-Off
EURUSD10%Dollar strength proxy (DXY)
AUDJPY10%Carry trade / risk appetite

Dynamic Weighting — What Sets This System Apart

Base weights are a starting point, not fixed values. For each asset, a multiplier is computed based on current indicators:

Indicators per asset (H1 timeframe):
  → MA50, MA200   (long-term trend)
  → RSI(14)       (momentum / overbought-oversold)
  → CCI(14)       (deviation from mean)
  → MFI(14)       (money flow)

Multiplier logic for BUY scoring:
  → Bullish trend (MA50 > MA200):          +0.5
  → Oversold (RSI<30 or CCI<-100):        +0.5
  → Overbought (RSI>70 or CCI>100):       -0.5
  → Money flowing in (MFI>50):            +0.2

Multiplier logic for SELL scoring:
  → Bearish trend (MA50 < MA200):          +0.5
  → Overbought (RSI>70 or CCI>100):       +0.5
  → Oversold (RSI<30 or CCI<-100):        -0.5
  → Money flowing out (MFI<50):           +0.2

Minimum multiplier = 0.1 (prevents negative weights).

Scoring Mechanism

effective_weight = base_weight × multiplier
max_pool        += effective_weight           // maximum possible score

// Does this asset confirm the direction?
if BUY:  price > MA50 → align_score += effective_weight
if SELL: price < MA50 → align_score += effective_weight

// GOLD is inverse (is_inverse=true):
// Bullish GOLD = Risk-Off = confirms SELL, not BUY

final_alignment = (align_score / max_pool) × 100%

Block condition: If final_alignment < Inp_Macro_Min_Alignment_Percent (default 70%) → order blocked.

Lazy Evaluation

The Macro Matrix is not computed on every tick. It is triggered exclusively when a strategy generates a signal. This dramatically reduces CPU usage. Log: "BUY Align: 82% (Pool: 145)" / "Block BUY: Macro Score".

When No Market Is Active

When all assets are inactive (no data, markets closed) → max_pool = 0 → filter bypassed, trading allowed. The system never blocks itself when global data is unavailable.

Strategies — Detailed Algorithm Descriptions

3. Strategies — Detailed Algorithm Descriptions

3.1 Smart DI (Directional Index)

Concept: Measures the dominance of one market direction using the ADX indicator, analysing the difference between the DI+ and DI- lines.

Algorithm — step by step:

  1. Fetches DI+ and DI- values from ADX (buffer 1 — the previous closed bar, to avoid repainting)
  2. Calculates diff = |DI+ - DI-|
  3. Fetches data for the last closed candle on Inp_Strat_TF
  4. Calculates candle body size: body = |close - open| / _Point
  5. If Impulse/Muzzle Mode is active: the minimum candle body requirement rises from Inp_Strat_Min_Candle_Body to Inp_Muzzle_Min_Candle_Body (default 150 pts instead of 2 pts) — the strategy’s characteristics change during an impulse
  6. BUY signal: DI+ > DI- AND diff > Min_DI_Diff AND DI- < Max_Opposite_DI
  7. SELL signal: DI- > DI+ AND diff > Min_DI_Diff AND DI+ < Max_Opposite_DI

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

Key property: The Inp_Strat_Max_Opposite_DI parameter limits opposition strength — even when DI+ dominates, an overly strong DI- blocks the signal. It acts as a built-in trend quality filter.

3.2 MTF Point System (Multi-TimeFrame)

Concept: Scores trend alignment across 4 independent timeframes using EMA5/EMA7 crossovers. Each timeframe earns one point; a minimum score threshold is required.

Algorithm — step by step:

  1. On each of the 4 timeframes (TF1, TF2, TF3, TF4), fetches EMA5 and EMA7
  2. BUY point: EMA5 > EMA7 on that TF → score++
  3. SELL point: EMA5 < EMA7 on that TF → score++
  4. If score >= Inp_MTF_Min_Score (default 3 out of 4) → signal is active

Check condition: On every new bar of Inp_MTF_TF1 (the fastest TF)

Log: "MTF BUY" / "MTF SELL"

Philosophy: The system does not require perfect alignment — even 3 out of 4 timeframes is sufficient. This provides flexibility in fluid markets where all timeframes rarely agree simultaneously.

3.3 Three Consecutive Candles

Concept: Detects a mini-trend: 3 consecutive closed candles in the same direction with a minimum body size.

Algorithm — step by step:

  1. Fetches the last 3 closed candles on Inp_Filter_3Candles_TF
  2. For each candle: body = |close - open| / _Point
  3. If any candle’s body < Inp_Filter_3Candles_MinBody → signal is invalid
  4. BUY: all 3 candles are bullish (close > open)
  5. SELL: all 3 candles are bearish (close < open)

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

Strength: Simple, visually intuitive, and highly effective as a validator — it confirms momentum before Smart DI or MTF fire their signals.

Multi-Core Strategy Engine — „First Come, First Served”

2. Multi-Core Strategy Engine — „First Come, First Served”

This is the system’s most important architectural innovation. Despite the name suggesting a single strategy, AHS is a strategy engine with interchangeable cores, where each strategy can simultaneously fulfil two roles:

RoleParameterDescription
Trigger_As_Strategy = trueThe strategy GENERATES the trade signal
Validator_As_Filter = trueThe strategy CONFIRMS signals from other strategies

The „First Come, First Served” Rule

Strategies are evaluated sequentially in a fixed order:

EvaluateStrategies()
  1. Smart DI (if As_Strategy=true)       → signal? → filters → order → RETURN
  2. MTF Point System (if As_Strategy=true) → signal? → filters → order → RETURN
  3. 3 Consecutive Candles (if As_Strategy=true) → signal? → filters → order → RETURN

Critical implication: When strategy #1 (Smart DI) generates a valid signal and passes all filters, the system immediately opens an order and exits the function (return). Strategies 2 and 3 are never evaluated on that tick. There is no voting, averaging or consensus — the first valid signal wins.

Each strategy is checked only once per new bar (on its own timeframe), which eliminates multiple signals within the same candle.

Configuration Possibilities

  • SmartDI as trigger, MTF + 3Candles as filters — SmartDI fires the signal, but it must be confirmed by both other systems
  • All three as triggers — three independent strategies compete to open a trade
  • MTF as trigger, SmartDI as filter — MTF generates, SmartDI confirms
  • Any combination — each strategy can be independently enabled/disabled in either role

A Validator Does Not Validate Itself

Smart logic: strategy X acting as a filter does NOT validate its own signals. Example: if SmartDI is the trigger, the SmartDI filter is skipped (it does not check itself) — only MTF and 3Candles filters are checked.

// Validator skips its own source
if (Inp_SmartDI_As_Filter && trigger_source != "SmartDI") {
    if (!CheckSmartDI_Condition(is_buy)) return false;
}

Architecture & Module Connections

1. Architecture & Module Connections

The system is composed of five header files included into the compiled main file _AHS_Main.ex5:

_AHS_Main.ex5
  ├── AHS_Inputs.mqh      → All input parameters, enumerations, global state variables
  ├── AHS_Filters.mqh     → Market filters (The Shield): Macro Matrix, Impulse, Channel, ADX/MA, SmartDI, MTF, 3Candles
  ├── AHS_Strategy.mqh    → Multi-Core Engine: position sizing, order execution
  ├── AHS_Management.mqh  → Position management: TSL BB, Hard BE, Neg BE, Dynamic TP, EOD Terminator
  └── AHS_Panel.mqh       → Graphical information panel: status, MTF dashboard, positions list

OnTick() Flow — Step by Step

Every incoming tick passes through a strictly defined sequence in the main loop:

OnTick()
  1.  License check (CLicenseManager.IsExpired)
  2.  Session schedule check (IsScheduleAllowed)
  3.  EOD Terminator (CheckForEODClose) → emergency close all positions
  4.  Daily P/L update and daily reset
  5.  Account Protection checks:
        → DailyLossReached?    → block new orders
        → DrawdownFreeze?      → block new orders
        → DailyTargetReached?  → block new orders
  6.  Equity Trailing Lock (master equity trailing SL)
  7.  Institutional Impulse Detection (CheckInstitutionalImpulse)
  8.  Dynamic Channel Update (UpdateDynamicChannel) every X hours
  9.  News Filter → freeze before/after news events
 10.  ManageAllPositions() → manage all open positions
 11.  Cooldown check + position count limit check
 12.  EvaluateStrategies() → Multi-Core Engine searches for a signal
 13.  Information panel update

All stages are independent — position management (step 10) runs regardless of whether new signals are being sought (step 12). Even when new orders are blocked, open positions are always managed.

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

Pełna lista parametrów wejściowych

17. Pełna lista parametrów wejściowych (Inputs)

GLOBAL SETTINGS

ParametrDomyślnieOpis
Inp_MagicNumber
EA Magic Number
7000001Unikalny identyfikator EA. Musi być różny dla każdego wykresu/symbolu na tym samym koncie
Inp_MaxTotalPositions
Max Allowed Positions
10Maksymalna liczba jednocześnie otwartych pozycji na symbolu
Inp_Cooldown_Seconds
Cooldown after Open/Close (sec)
60Pauza (w sekundach) po otwarciu lub zamknięciu zlecenia. Zapobiega nadmiernej aktywności
Inp_Manage_Manual_Trades
Manage Manual Trades (Magic = 0)
trueGdy true, EA zarządza pozycjami manualnie otwartymi (Magic=0)

CAPITAL MANAGEMENT (RISK)

ParametrDomyślnieOpis
Inp_Capital_Mode
Lot Calculation Mode
CAPITAL_COMPOUND_AUTOTryb obliczania kapitału bazowego: AUTO (saldo) lub FIXED (stała kwota)
Inp_Compound_Enable
Enable Compound Buffer (TXT)
trueWłącza Compound Buffer — baza = Fixed + akumulowany zysk z TXT
Inp_Compound_Freq
Compound Frequency
FREQ_WEEKLYCzęstotliwość aktualizacji bufora: Daily / Weekly / Monthly
Inp_Fixed_Capital_Amount
Base Amount
(Manual Locked Base)
10000.0Stała kwota bazowa (używana w trybie FIXED lub jako baza Compound)
Inp_MaxTotalMarginPercent
Max Margin Budget (%)
100.0Maksymalny % bilansu przeznaczony na budżet marginu
Inp_Risk_Percent_Per_Trade
Risk per Trade (%)
20.0% budżetu ryzykowany na jedno zlecenie (wylicza wielkość lota przez SL)
Inp_Pyramid_Multiplier
Pyramid Multiplier
(Probe -> Main)
3.0Mnożnik wolumenu: sonda (÷3) → główna (×3)
Inp_Pyramid_Max_Lots
Hard Cap: Max lots for any single position
2.0Bezwzględny limit lotów dla pojedynczej pozycji
Inp_Pyramid_OnlyProfitable
Pyramid only if last is in profit
truePiramidowanie tylko gdy ostatnia pozycja generuje zysk

ACCOUNT PROTECTION (LIMITS)

ParametrDomyślnieOpis
Inp_Daily_Loss_HardLimit
HARD STOP: Daily Loss Limit (%)
4.0HARD STOP: % dzienna strata zamraża nowe zlecenia na cały dzień
Inp_Drawdown_FreezeLimit
FREEZE: Max Drawdown Limit (%)
0.5FREEZE: % aktualnego drawdownu blokuje nowe zlecenia
Inp_Daily_Target_Profit
TARGET: Daily Profit Limit (%)
15.0TARGET: % dziennego zysku zatrzymuje trading (dzień uznany za sukces)

EQUITY TRAILING LOCK (MASTER)

ParametrDomyślnieOpis
Inp_Equity_TSL_Trigger
Activation Threshold (%)
5.0% wzrostu equity aktywuje equity trailing
Inp_Equity_TSL_Buffer
Trailing Distance (%)
0.2% trailing dystans — equity spada o tyle poniżej szczytu → zamknięcie wszystkiego

VIRTUAL STOP LOSS (ACCOUNT PROTECTION)

ParametrDomyślnieOpis
Inp_Virtual_SL_Percent
Virtual SL per Position (%)
4.0Awaryjne zamknięcie gdy strata na pozycji przekroczy X% aktywnego kapitału

TRADING SCHEDULE (LOCAL TIME)

ParametrDomyślnieOpis
Inp_Hours_Monday
Monday Trading Hours
„00:00-22:00”Okno handlowe poniedziałek
Inp_Hours_Tuesday
Tuesday Trading Hours
„00:00-22:00”Okno handlowe wtorek
Inp_Hours_Wednesday
Wednesday Trading Hours
„00:00-22:00”Okno handlowe środa
Inp_Hours_Thursday
Thursday Trading Hours
„00:00-22:00”Okno handlowe czwartek
Inp_Hours_Friday
Thursday Trading Hours
„00:00-05:00”Okno handlowe piątek (krótsze — weekend risk)

END OF DAY CLOSE (EOD)

ParametrDomyślnieOpis
Inp_EOD_Enable
Enable EOD Terminator
trueWłącza EOD Terminator
Inp_EOD_Time_Friday
Friday Kill Time (HH:MM)
„21:39”Godzina awaryjnego zamknięcia w piątek
Inp_EOD_Time_OtherDays
Other Days Kill Time (HH:MM)
„22:29”Godzina awaryjnego zamknięcia inne dni

NEWS FILTER

ParametrDomyślnieOpis
Inp_News_Filter_Enable
Enable News Filter (Freeze)
trueWłącza filtr kalendarza ekonomicznego
Inp_News_Mins_Before
Freeze X minutes BEFORE news
30Ile minut przed newsem zamrozić trading
Inp_News_Mins_After
Freeze X minutes AFTER news
12Ile minut po newsie kontynuować zamrożenie
Inp_News_Block_High
Block on HIGH impact (Red)
trueBlokuj przy newsach czerwonych (High Impact)
Inp_News_Block_Mid
Block on MID impact (Orange)
trueBlokuj przy newsach pomarańczowych (Mid Impact)

SMART DI MUZZLE MODE

ParametrDomyślnieOpis
Inp_Muzzle_Enable
Enable Muzzle Mode on Impulse
trueWłącza Muzzle Mode przy impulse
Inp_Muzzle_Min_Candle_Body
Muzzle ON: Min Candle Body (Points)
150Minimalne ciało świecy dla Smart DI podczas impulsu (pkt)
Inp_Muzzle_CCI_Block_Level
Muzzle ON: CCI Block Level
130.0Ostrzejszy próg blokady CCI podczas impulsu
Inp_Muzzle_Channel_Points_Up
Muzzle ON: Upper Boundary (Points)
5000Górna granica Muzzle Box od ceny impulsu (pkt)
Inp_Muzzle_Channel_Points_Down
Muzzle ON: Lower Boundary (Points) 0 = BUY ONLY
0Dolna granica Muzzle Box. 0 = BUY ONLY MODE

INSTITUTIONAL IMPULSE

ParametrDomyślnieOpis
Inp_Impulse_TF
Impulse Timeframe
M1Timeframe wykrywania impulsu
Inp_Impulse_Enable
Enable Impulse Detection
trueWłącza wykrywanie impulsów
Inp_Impulse_Velocity
Velocity Trigger
0.005Próg prędkości ceny (0.5% zmiany close/close)
Inp_Impulse_RangeMult
Range Multiplier vs Avg
2.0Mnożnik zasięgu vs. średnia (×2 = impuls)
Inp_Impulse_ATRMult
Range Multiplier vs ATR
2.0Mnożnik zasięgu vs. ATR (×2 = impuls)
Inp_Impulse_VolMult
Volume Multiplier vs Avg
1.5Mnożnik wolumenu vs. średnia (×1.5 = impuls)
Inp_Impulse_AvgPeriod
Period for Averages
20Okres obliczania średnich
Inp_Impulse_Cooldown_Mins
Muzzle Duration after Impulse (mins)
15Minimalny czas trwania Muzzle Mode (minuty)
Inp_Impulse_Min_Range_Points
Min Range to trigger Impulse (Points)
50Minimalny zasięg świecy żeby w ogóle sprawdzać impuls (pkt)

BOX TRADING (DYNAMIC CHANNEL)

ParametrDomyślnieOpis
Inp_Channel_Enable
Enable Box Trading
trueWłącza dynamiczny tunel cenowy
Inp_Channel_Update_Hours
Channel Update Frequency (Hours)
6Co ile godzin przesuwa się kotwica kanału
Inp_Channel_Points_Up
Upper Boundary (Points)
20000Odległość górnej granicy od kotwicy (pkt)
Inp_Channel_Points_Down
Lower Boundary (Points)
5000Odległość dolnej granicy od kotwicy (pkt)

MACRO RISK MATRIX

ParametrDomyślnieOpis
Inp_Macro_TF
Macro Timeframe
H1Timeframe analizy makro aktywów
Inp_Macro_Enable
Enable Macro Matrix
trueWłącza Macro Risk Matrix
Inp_Macro_Min_Alignment_Percent
Required Alignment (%)
[Realistic Value]
70.0Wymagany % wyrównania do otwarcia zlecenia

Dla każdego z 19 aktywów (AAPL, MSFT, NVDA, AMZN, META, GOOGL, TSLA, AVGO, COST, NFLX, PEP, CSCO, TMUS, ADBE, AMD, BTC, GOLD, EURUSD, AUDJPY):

ParametrOpis
Inp_Macro_Use_XXXXbool — Włącz/wyłącz aktywo z macierzy
Inp_Macro_Sym_XXXXstring — Nazwa symbolu u brokera (np. „AAPL_CFD.US”)
Inp_Macro_Weight_XXXXdouble — Waga bazowa (%) w puli scoringu

HARD BLOCKS (RSI & CCI)

ParametrDomyślnieOpis
Inp_Block_Enable
Enable RSI & CCI Blocks (ON/OFF)
falseWłącza twarde bloki RSI i CCI
Inp_Block_TF
Timeframe for Hard Blocks
M15Timeframe dla hard blocków
Inp_Block_RSI_Max
Block BUY if RSI > X
85.0BUY zablokowany gdy RSI > X
Inp_Block_RSI_Min
Block SELL if RSI < X
15.0SELL zablokowany gdy RSI < X
Inp_Block_CCI_Level
Block BUY if CCI > X, SELL
if CCI < -X
350.0BUY blok gdy CCI > X; SELL blok gdy CCI < -X

MARKET FILTERS (ATR, ADX, VOL)

ParametrDomyślnieOpis
Inp_Filter_Enable
Enable ATR, ADX, Vol Filters (ON/OFF)
falseWłącza filtry ATR/ADX/Volume
Inp_Filter_TF
Timeframe for Market Filters
M5Timeframe filtrów
Inp_Filter_ATR_Period
ATR Period
5Okres ATR
Inp_Filter_MinATR_Night
Min ATR (Night: 20:00 – 05:00)
5.0Min ATR nocą (20:00-05:00) — rynek zbyt spokojny = brak handlu
Inp_Filter_MinATR_Day
Min ATR (Day: 05:00 – 20:00)
14.0Min ATR w dzień (05:00-20:00)
Inp_Filter_Min_ADX
Min ADX Level
25.0Minimalny ADX — brak trendu = brak handlu
Inp_Filter_ADX_Period
ADX Period
14Okres ADX
Inp_Filter_Min_Vol_Ratio
Min Volume Ratio
0.1Min. stosunek bieżącego wolumenu do poprzedniego

ADX + MA TREND FILTER

ParametrDomyślnieOpis
Inp_E_ADX_TF
ADX & MA Timeframe
M15Timeframe filtru ADX+MA
Inp_E_Use_ADX_MA_Filter
Enable ADX + MA Trend filter
falseWłącza zaawansowany filtr trendowy
Inp_E_ADX_Period
ADX Period for Trend Filter
14Okres ADX
Inp_E_ADX_MA_MinLevel
ADX level to activate filter
30.0Minimalny ADX aktywujący filtr
Inp_E_ADX_DI_MinLevel
Minimum DI+ / DI- level
20.0Minimalny poziom dominującego DI
Inp_E_ADX_DI_Diff
Minimum DI+
and DI- difference
20.0Minimalna różnica DI+ i DI-
Inp_E_ADX_BlockOnFallingDiff
lock if DI difference is falling
trueBlokuj gdy różnica DI maleje (słabnący trend)
Inp_E_ADX_FallingDiff_Tolerance
Falling difference tolerance
5.0Tolerancja dla malejącej różnicy DI
Inp_E_MA_Trend_Period
MA period for trend
50Okres MA trendu
Inp_E_MA_Trend_Method
MA method
EMAMetoda MA (EMA, SMA, etc.)
Inp_E_MA_Shift_Delta
Shift for comparison
5Przesunięcie do porównania nachylenia MA

ANTI-CRASH PROTECTIONS

ParametrDomyślnieOpis
Inp_ManualBox_Enable
Enable
Manual Price Box
falseWłącza ręczny tunel cenowy
Inp_ManualBox_Upper
Upper Boundary (Price)
21500.0Górna granica (cena absolutna)
Inp_ManualBox_Lower
Lower Boundary (Price)
19000.0Dolna granica (cena absolutna)
Inp_WeeklyFilter_TF
Weekly Filter Timeframe
W1Timeframe filtru tygodniowego
Inp_WeeklyFilter_Enable
Block if below last week Low
trueBlokuj jeśli cena poniżej low poprzedniego tygodnia
Inp_Fibo_TF
Base Period for Fibo
D1Timeframe analizy Fibonacci
Inp_FiboFilter_Enable
Enable Fibo
Extension Block
trueBlokuj na ekstremalnych rozszerzeniach Fibo

MULTI-CORE ENGINE: SMART DI

ParametrDomyślnieOpis
Inp_SmartDI_As_Strategy
Use Smart DI as Strategy (Trigger)
trueSmart DI jako Trigger (generuje sygnały)
Inp_SmartDI_As_Filter
Use Smart DI as Filter (Validator)
falseSmart DI jako Validator (potwierdza sygnały innych)
Inp_Strat_TF
Strategy Timeframe
M15Timeframe Smart DI
Inp_Strat_ADX_Period
ADX Period for DI
14Okres ADX dla DI
Inp_Strat_Min_DI_Diff
Min Difference
between DI+ and DI-
20.0Minimalna różnica DI+ i DI-
Inp_Strat_Max_Opposite_DI
Max Level of Opposite DI
25.0Maksymalny poziom przeciwnego DI (filtr jakości)
Inp_Strat_Min_Candle_Body
Min Candle Body (Points)
2Minimalne ciało świecy w normalnym trybie (pkt)

MULTI-CORE ENGINE: MTF POINT SYSTEM

ParametrDomyślnieOpis
Inp_MTF_As_Strategy
Use MTF as Strategy (Trigger)
falseMTF jako Trigger
Inp_MTF_As_Filter
Use MTF as Filter (Validator)
trueMTF jako Validator
Inp_MTF_TF1
Timeframe 1
M5Timeframe 1
Inp_MTF_TF2
Timeframe 2
M15Timeframe 2
Inp_MTF_TF3
Timeframe 3
M30Timeframe 3
Inp_MTF_TF4
Timeframe 4
H1Timeframe 4
Inp_MTF_Min_Score
Minimum required score
(out of 4)
3Wymagana ilość TF
potwierdzających (z 4)

MULTI-CORE ENGINE: 3 CONSECUTIVE CANDLES

ParametrDomyślnieOpis
Inp_3Candles_As_Strategy
Use 3 Candles as Strategy (Trigger)
false3 Candles jako Trigger
Inp_3Candles_As_Filter
Use 3 Candles as Filter (Validator)
true3 Candles jako Validator
Inp_Filter_3Candles_TF
3 Candles Timeframe
M5Timeframe analizy świec
Inp_Filter_3Candles_MinBody
Min Candle Body for the 3 candles (Points)
1Minimalne ciało każdej z 3 świec (pkt)

HARD SL/TP (SENT TO BROKER)

ParametrDomyślnieOpis
Inp_Hard_SL_Points
Physical Stop Loss (Points)
3000Fizyczny Stop Loss wysyłany do brokera (pkt)
Inp_Hard_TP_Points
Physical Take Profit (Points)
4000Fizyczny Take Profit wysyłany do brokera (pkt)

VIRTUAL NEGATIVE BREAK-EVEN

ParametrDomyślnieOpis
Inp_NegBE_Enable
Enable Negative BE
falseWłącza Virtual Negative BE
Inp_NegBE_Trigger_Points
Trigger at Profit (Points)
5000Po osiągnięciu X pkt zysku
aktywuje NegBE
Inp_NegBE_Level_Points
Virtual SL Level
(Points, must be negative)
-3000Poziom wirtualnego SL
po aktywacji (ujemny = strata)

HARD BREAK-EVEN (CLASSIC)

ParametrDomyślnieOpis
Inp_HardBE_Enable
Enable Hard BE
trueWłącza klasyczny Hard Break-Even
Inp_HardBE_Trigger_Points
Trigger at Profit (Points)
200Po X pkt zysku → przesuwa SL na BE
Inp_HardBE_Level_Points
Physical SL Level (Points)
100Poziom SL po BE
(pkt powyżej otwarcia)

PHYSICAL TRAILING STOP (BB)

ParametrDomyślnieOpis
Inp_E_BB_TSL_TF
TSL BB timeframe
M1Timeframe TSL
Bollinger Bands
Inp_E_UseTSL_BB
TSL after Bollinger Bands
trueWłącza Bollinger Band
Trailing SL
Inp_E_ProfitToActivateBB
Profit to activate TSL BB
1500Zysk aktywujący Fazę 2
/ TSL BB (pkt)
Inp_E_BB_TSL_Period
TSL BB period
20Okres BB dla TSL
Inp_E_BB_TSL_Deviation
TSL BB deviation
1.9Odchylenie BB
dla TSL (1.9σ)
Inp_E_BB_TSL_Floor_Points
Min distance for TSL BB (Points)
2Minimalna odległość
SL od ceny otwarcia (pkt)

PHYSICAL DYNAMIC TP

ParametrDomyślnieOpis
Inp_E_BB_TP_TF
Dynamic TP timeframe
M1Timeframe Dynamic TP BB
Inp_E_UseDynamicTP
Dynamic TP
trueWłącza dynamiczne TP
Inp_E_TP_Extension_Points
TP extension (Points)
500O ile pkt rozszerzyć TP
przy silnym trendzie
Inp_E_BB_TP_Period
Dynamic TP period
20Okres BB dla TP
Inp_E_BB_TP_Deviation
Dynamic TP deviation
[Realistic Value]
3.0Odchylenie BB dla TP
(3.0σ = ekstremum)

PHYSICAL PROFIT LOCK

ParametrDomyślnieOpis
Inp_E_UseProfitLock
Profit lock
trueWłącza Profit Lock
Inp_E_PL_Trigger_Points
PL activation (Points)
500Aktywacja gdy cena jest X pkt od TP
Inp_E_PL_TSL_Points
Trailing SL in PL (Points)
200Dystans trailing SL w Profit Lock (pkt)

INFO PANEL

ParametrDomyślnieOpis
Inp_PanelHeaderFontSize
Header font size
10Rozmiar czcionki nagłówka panelu
Inp_PanelContentFontSize
Content font size
9Rozmiar czcionki zawartości panelu
Inp_ShowPositionsOnPanel
Show positions list
truePokaż listę otwartych pozycji na panelu

Komunikaty z logów — przewodnik diagnostyczny

KomunikatZnaczenie
"Looking for signal (Multi-Core)"Silnik aktywny, szuka sygnału
"Institutional Impulse Detected! Activating MUZZLE MODE for 15 mins."Wykryto impuls instytucjonalny — system zmienia charakterystykę
"Market calmed down. MUZZLE MODE deactivated."Powrót do normalnego trybu
"NEW STANDARD PRICE CHANNEL: Base: X | Upper: Y | Lower: Z"Aktualizacja tunelu cenowego
"BUY Align: 82% (Pool: 145)"Macro Matrix: 82% aktywów potwierdza BUY
"Block BUY: Macro Score"Macro Matrix zablokowała sygnał BUY
"Block: ATR too low"Rynek zbyt spokojny
"Block: ADX too low"Brak trendu
"Block BUY: RSI > Max"RSI za wysoko (wykupienie)
"Block: ADX/MA Trend Filter"Filtr trendowy ADX+MA zablokował sygnał
"Block: Smart DI Validator"SmartDI jako filtr odrzucił sygnał MTF/3Candles
"Block: MTF Validator"MTF jako filtr odrzucił sygnał Smart DI
"OPEN OK: Smart DI BUY | 2100.50 | lots=0.10 | sl=2097.50 | tp=2104.50"Zlecenie otwarte pomyślnie
"OPEN FAIL: MTF BUY | retcode=10006"Błąd otwarcia zlecenia (retcode brokera)
"Position #123 entered Phase 2 (TSL BB)."Aktywacja Bollinger Band Trailing SL
"Position #123: Hard Break-Even set at +100 pts."BE ustawiony
"Position #123: PROFIT LOCK Activated!"Agresywne trailing aktywne
"Position #123: Dynamic TP Extended by 500 points!"TP rozszerzony przy silnym trendzie
"Position #123: Closed by Virtual Negative BE."Zamknięcie przez NegBE
"VIRTUAL SL HIT! Position #123..."Awaryjne zamknięcie przez Virtual SL
"LOT CAP: 4.50 -> 2.00"Zmniejszenie lotów do hard cap
"Pyramid blocked: last position not in profit."Blokada piramidy — ostatnia pozycja na minusie
"EOD TERMINATOR: Emergency closing all positions..."Zamknięcie EOD
"EOD TERMINATOR: Chart cleared. Goodnight."Wszystkie pozycje zamknięte, koniec dnia
"Macro: Bypass (No Markets)"Brak aktywnych rynków makro → filtr pominięty
"ERROR: Symbol AAPL_CFD.US does not exist on this broker!"Symbol makro niedostępny u brokera
"LICENSE EXPIRED! Visit:
https://strony.info/AdaptiveHybridSystem/
Wersja wymaga aktualizacji

Dynamic Channel (Box Trading) — tunel ceny

6. Dynamic Channel (Box Trading) — tunel ceny

Ogranicza strefę handlu do dynamicznie wyznaczonego korytarza cenowego.

Standardowy Box (długoterminowy)

Aktualizowany co Inp_Channel_Update_Hours godzin (domyślnie 6h):

  1. Zapamiętuje aktualną cenę BID jako base_price
  2. g_Channel_Upper = base_price + Channel_Points_Up × _Point
  3. g_Channel_Lower = base_price - Channel_Points_Down × _Point
  4. Handel dozwolony tylko gdy cena mieści się w kanale

Domyślne ustawienia: Upper +20000 pkt, Lower -5000 pkt — asymetryczny kanał zakłada większy potencjał wzrostowy.

Log: "NEW STANDARD PRICE CHANNEL: Base: 2100.50 | Upper: 2300.50 | Lower: 2050.50"

Manualny Box (Anti-Crash Protection)

Inp_ManualBox_Enable = true pozwala ręcznie ustawić granice absolutne cenami:

  • Inp_ManualBox_Upper — górna granica (cena)
  • Inp_ManualBox_Lower — dolna granica (cena)

Użycie: trader może ręcznie wyznaczyć tunel przed ważnym eventem fundamentalnym lub przy handlu w określonym reżimie rynkowym.

Priorytet kanałów (IsPriceInChannel)

1. Muzzle Box (aktywny podczas Impulse) — PRIORYTET
2. Manual Box (jeśli Inp_ManualBox_Enable=true)
3. Standard Dynamic Channel (jeśli Inp_Channel_Enable=true)

Status wyświetlany na panelu jako g_Status_Channel.

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.