Skip to content

Smart Money Concepts (SMC)

Marius edited this page Sep 3, 2026 · 3 revisions

Smart Money Concepts — Order Blocks (SMC)

Overzicht

De SMC-strategie identificeert supply en demand zones met behulp van de Smart Money Concepts (ICT) Order Block methode. Zones worden gedetecteerd waar een basis van small-range candles voorafgaat aan een expansion (large-range) candle, wat wijst op institutionele accumulatie of distributie. Er bestaan twee signaalvarianten:

  • smc — vuurt bij zone touch (wick komt in de zone).
  • smc.rejection — vuurt bij bevestigde bounce (candle sluit voorbij de proximal edge na een recente zone test).

Dit is een productie-strategie.

De signalen sluiten zelf geen zones. Wanneer een zone dicht gaat wordt bepaald door de gedeelde sluitregels (doorbraak, aantal bezoeken, midden), zie Zones (sluitregels). Voor SMC telt een bezoek pas als de wick het midden van de zone haalt (TouchLevel = Midpoint); bij DLZ en FVG is de rand al genoeg.

Hoe het werkt

Zone-detectie (ZoneSmc)

Order Block zones worden geïdentificeerd aan de hand van een basis + expansion patroon:

  1. Basis-candles: maximaal BaseMaxCandles (standaard 6) opeenvolgende candles met range ≤ BaseMaxRangeFactor × gemiddelde range (standaard 0,8×). Deze vertegenwoordigen consolidatie.
  2. Expansion candle: een candle met range ≥ ExpansionMinRangeFactor × gemiddelde range (standaard 1,5×) en body ≥ ExpansionBodyFraction × range (standaard 50%). Dit vertegenwoordigt de institutionele beweging.
  3. Zonegrenzen worden ingesteld op de high/low van de basis-candles.
  4. Zonesterkte: expansion ≥ StrongExpansionFactor (standaard 2,5×) = Strong; daaronder = Weak.
  5. Optioneel RequireOppositeBaseColor: vereist dat de laatste basis-candle de tegenovergestelde kleur heeft van de expansion (klassieke ICT-definitie).

De basis-candles en de wick van de expansion-candle zelf tellen niet mee als bezoek: het tellen begint pas na de expansion (TouchCountingFrom).

Signaal: SMC touch (smc)

Itereert over IntervalList (standaard: ["1h"]):

  • Long (demand zone): candle-wick snijdt de zone (Low ≤ zone.Top AND High ≥ zone.Bottom). Zone mag niet gesloten zijn. Indien OnlyStrong: zone moet Strong zijn.
  • Short (supply zone): spiegellogica.

Het signaal slaat daarnaast zones over waarvan TouchCount boven MaxTouches ligt. Met de standaardinstelling kan dat niet voorkomen, omdat de sluitregels de zone al bij MaxTouches bezoeken sluiten. Met MaxTouches = 0 (nooit opgebruikt) betekent deze controle dat alleen nog onbezochte zones een signaal geven.

Alarm is beperkt tot maximaal één keer per zone per uur.

Signaal: SMC rejection (smc.rejection)

Bevestigde bounce met lookback:

  • Long: huidige candle sluit boven zone.Top (proximal edge). Binnen de laatste RejectionLookback candles (standaard 3) moet minstens één candle in de zone gewickt hebben. Signaalprijs wordt ingesteld op zone.Top voor limit-order entry.
  • Short: huidige candle sluit onder zone.Bottom. Lookback moet een candle tonen die de zone heeft getest.

Signaalvoorwaarden

Long entry (smc — touch)

# Voorwaarde Beschrijving
1 Open demand zone bestaat Zone met Side = Long, niet gesloten
2 Zone niet uitgeput TouchCount ≤ MaxTouches
3 Wick snijdt zone Low ≤ zone.Top AND High ≥ zone.Bottom
4 Zone is Strong (optioneel) Wanneer OnlyStrong is ingeschakeld
5 Niet al gealarmeerd dit uur Beperkt tot eenmaal per zone per uur

Long entry (smc.rejection — bounce)

# Voorwaarde Beschrijving
1 Open demand zone bestaat Zone met Side = Long, niet gesloten
2 Close > zone.Top Prijs is teruggekaatst boven proximal edge
3 Recente zone test Een candle binnen RejectionLookback heeft in de zone gewickt

Instellingen

Parameter Standaard Beschrijving
IntervalList ["1h"] Timeframe-intervallen om te monitoren
AverageWindow 20 Trailing venster voor gemiddelde candle-range
BaseMaxRangeFactor 0.8 Maximale range van basis-candle als fractie van het gemiddelde
ExpansionMinRangeFactor 1.5 Minimale range-vermenigvuldigingsfactor voor expansion candle
ExpansionBodyFraction 0.5 Body van expansion moet deze fractie van de range zijn
StrongExpansionFactor 2.5 Expansion-factor voor Strong-classificatie
BaseMaxCandles 6 Maximaal opeenvolgende kleine candles in één basis
MaxBlocksPerInterval 50 Maximaal aantal zones bijgehouden per interval
RequireOppositeBaseColor false Klassiek ICT: laatste basis-candle tegenovergestelde kleur
OnlyStrong false Alleen vuren op Strong zones
MaxTouches 2 Aantal bezoeken dat een zone overleeft; daarna sluit hij. 0 = nooit opgebruikt, alleen een doorbraak sluit de zone. Zie Zones
TouchLevel Midpoint Hoe diep de koers moet komen voor een bezoek telt: Edge (wick raakt de rand) of Midpoint (wick haalt het midden)
CloseZonesPastMidpoint false Zone sluiten zodra de koers ooit het midden heeft gehaald. Met TouchLevel = Midpoint is dit hetzelfde als MaxTouches = 1
RejectionLookback 3 Candles om terug te kijken voor zone test (rejection-variant)

De standaard van MaxTouches was 1 toen het signaal zelf telde (0 en 1 touches toegestaan, zone bleef open). Sinds de gedeelde sluitregels betekent 2 hetzelfde: de zone sluit bij het tweede bezoek.

Gebruikte indicatoren

Indicator Doel
SMC zones (voorberekend) Basis + expansion patroondetectie
Gemiddelde candle-range Basis/expansion classificatie

Strategietype

  • Zone-gebaseerde supply/demand (ICT Order Block)
  • Productiestrategie

Bestandsstructuur

CryptoScanner.Analyzers/Smc/
├── SmcPlugin.cs                                  # Plugin registration (smc + smc.rejection)
├── Smc.md                                        # This document
├── Config/
│   ├── StrategySmcTabView.axaml                  # Settings tab UI
│   └── StrategySmcTabViewModel.cs                # Settings viewmodel
└── Signal/
    ├── SignalOrderBlockLong.cs                    # Long touch: wick into demand zone
    ├── SignalOrderBlockShort.cs                   # Short touch: wick into supply zone
    ├── SignalOrderBlockRejectionLong.cs           # Long rejection: confirmed bounce above zone
    └── SignalOrderBlockRejectionShort.cs          # Short rejection: confirmed bounce below zone

Sluitregels van de zones: CryptoScanner.Core/Zones/ZoneInvalidation.cs (zie Zones) Settings class: CryptoScanner.Core/Settings/Strategy/SettingsSignalStrategySmc.cs Enum values: CryptoSignalStrategy.OrderBlock = 1004, CryptoSignalStrategy.OrderBlockRejection = 1006

Registratie

Geregistreerd als productie-strategie in AnalyzerRegistration.cs. Strategienamen in de UI: smc, smc.rejection.

Clone this wiki locally