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:
| Role | Parameter | Description |
|---|---|---|
| Trigger | _As_Strategy = true | The strategy GENERATES the trade signal |
| Validator | _As_Filter = true | The 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;
}
