-
Notifications
You must be signed in to change notification settings - Fork 19
Smart Money Concepts (SMC)
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.
Order Block zones worden geïdentificeerd aan de hand van een basis + expansion patroon:
-
Basis-candles: maximaal
BaseMaxCandles(standaard 6) opeenvolgende candles met range ≤BaseMaxRangeFactor× gemiddelde range (standaard 0,8×). Deze vertegenwoordigen consolidatie. -
Expansion candle: een candle met range ≥
ExpansionMinRangeFactor× gemiddelde range (standaard 1,5×) en body ≥ExpansionBodyFraction× range (standaard 50%). Dit vertegenwoordigt de institutionele beweging. - Zonegrenzen worden ingesteld op de high/low van de basis-candles.
- Zonesterkte: expansion ≥
StrongExpansionFactor(standaard 2,5×) = Strong; daaronder = Weak. - 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).
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.
Bevestigde bounce met lookback:
-
Long: huidige candle sluit boven zone.Top (proximal edge). Binnen de laatste
RejectionLookbackcandles (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.
| # | 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 |
| # | 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 |
| 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.
| Indicator | Doel |
|---|---|
| SMC zones (voorberekend) | Basis + expansion patroondetectie |
| Gemiddelde candle-range | Basis/expansion classificatie |
- Zone-gebaseerde supply/demand (ICT Order Block)
- Productiestrategie
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
Geregistreerd als productie-strategie in AnalyzerRegistration.cs. Strategienamen in de UI: smc, smc.rejection.
- Home
- Inleiding
- Exchanges en markttypes
- Installatie
- Instellingen
- Hoofdscherm
- Kleurkiezer
- Opstartparameters
- Veelgestelde vragen
- Bandbreedte-index (afgeschreven)
- SignalR
- Photino
- Webversie
- Support
- Alle strategieën
- Zones (sluitregels)
- Actief
- Experimenteel
- Niet beschikbaar