Skip to content

Dominant Liquidity Zones (DLZ)

Marius edited this page Sep 3, 2026 · 3 revisions

Dominant Liquidity Zones (DLZ)

Overzicht

De DLZ-strategie bewaakt vooraf berekende support/resistance-zones afgeleid van ZigZag-analyse. Wanneer de koers een open zone raakt, geeft de strategie een alarm af. Een secundaire "near"-variant geeft een vroegtijdige waarschuwing wanneer de koers een zone nadert. Dit is een productiestrategie en een van de kernstrategieën op basis van zones in de scanner.

Het signaal sluit zelf geen zones. Wanneer een zone dicht gaat wordt bepaald door de gedeelde sluitregels (doorbraak, aantal bezoeken, midden), zie Zones (sluitregels).

Twee signaalvarianten:

  • dlz — vuurt wanneer de koers een zone raakt (maximaal één keer per zone per uur; de zone blijft open tot de sluitregels hem sluiten).
  • dlz.near — vuurt een vroegtijdige waarschuwing wanneer de koers binnen WarnPercentage van een zone komt.

Hoe het werkt

Zonebron

Zones worden vooraf berekend door ZoneDlz met behulp van ZigZag-draaipuntanalyse over een configureerbare candle-lookback. Elke zone heeft:

  • Top / Bottom — prijsgrenzen
  • Side — Long (demand/support) of Short (supply/resistance)
  • Strength — Strong of Weak (op basis van zone-eigenschappen)
  • TouchCount — aantal bezoeken tot nu toe; bij MaxTouches bezoeken sluit de zone (zie Zones)

Zones kunnen worden ingezoomd van hogere tijdsintervallen naar lagere voor extra precisie. Niet-ingezoomde zones gelden op hun oorspronkelijke interval; ingezoomde zones erven de grenzen van de bovenliggende zone, geschaald naar het lagere tijdsinterval.

Signaal: DLZ touch (dlz)

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

  • Long: voor elke open demand-zone (gesorteerd op Top aflopend), als candle Low <= zone.Top, vuurt het signaal. De zone blijft open; of hij daarna dicht gaat (body-close onder zone.Bottom, of MaxTouches bezoeken bereikt) bepalen de sluitregels na elke afgesloten candle.
  • Short: voor elke open supply-zone, als candle High >= zone.Bottom, vuurt het signaal. Spiegellogica voor het sluiten.

Het alarm is beperkt tot één keer per zone per uur (AlarmDate), omdat een zone zijn eerste touch overleeft en anders elke candle van dezelfde test opnieuw zou melden.

Weak zones kunnen worden overgeslagen wanneer ZoneStartApply = true.

Signaal: DLZ near (dlz.near)

Alleen alarm — sluit geen zones:

  • Long: alarmPrice = zone.Top × (100 + WarnPercentage) / 100. Vuurt als candle Low <= alarmPrice.
  • Short: alarmPrice = zone.Bottom × (100 − WarnPercentage) / 100. Vuurt als candle High >= alarmPrice.

Maximaal één alarm per zone per uur.

Signaalvoorwaarden

Long entry (dlz)

# Voorwaarde Beschrijving
1 Open demand-zone aanwezig Zone met Side = Long in de geconfigureerde intervallen
2 Candle Low <= zone.Top Koers raakt de zone van bovenaf
3 Zone niet Weak (optioneel) Wanneer ZoneStartApply is ingeschakeld
4 Niet al gealarmeerd dit uur Beperkt tot eenmaal per zone per uur

Short entry (dlz)

# Voorwaarde Beschrijving
1 Open supply-zone aanwezig Zone met Side = Short in de geconfigureerde intervallen
2 Candle High >= zone.Bottom Koers raakt de zone van onderaf
3 Zone niet Weak (optioneel) Wanneer ZoneStartApply is ingeschakeld
4 Niet al gealarmeerd dit uur Beperkt tot eenmaal per zone per uur

Instellingen

Parameter Standaard Beschrijving
IntervalList ["1h"] Tijdsintervallen die worden bewaakt op zones
CandleCount 500 Lookback-periode voor zoneberekening
CandleCountZoom 125 Lookback voor ingezoomde zones
ZonesApplyUnzoomed false Niet-ingezoomde (oorspronkelijk interval) zones toepassen
MinimumUnZoomedPercentage 0.0 Minimale zonebreedte in % voor niet-ingezoomde zones
MaximumUnZoomedPercentage 0.0 Maximale zonebreedte in % voor niet-ingezoomde zones
ZoomLowerTimeFrames true Zones inzoomen naar lagere tijdsintervallen
MinimumZoomedPercentage 0.2 Minimale zonebreedte in % voor ingezoomde zones
MaximumZoomedPercentage 0.7 Maximale zonebreedte in % voor ingezoomde zones
WarnPercentage 0.25 Afstand in % voor "near"-waarschuwingssignalen
NearZonePercentage 0.25 Nabijheid in % voor gecombineerde strategiecontroles
MaxTouches 2 Aantal bezoeken dat een zone overleeft; daarna sluit hij. 0 = nooit opgebruikt, alleen een doorbraak sluit de zone. Zie Zones
TouchLevel Edge 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, ongeacht het aantal bezoeken (heette DisqualifyOnMitigation)
RejectionLookback 1 Aantal candles terug voor zone-afwijzing
ZoneStartApply false Weak zones overslaan
ZoneStartCandleCount 5 Zone-start-lookback voor sterkte
ZoneStartPercentage 2.5 Zone-start-percentagedrempel

Gebruikte indicatoren

Indicator Doel
ZigZag (Primary, configureerbaar) Zonegrenzen detecteren via draaipuntanalyse

Strategietype

  • Zone-gebaseerde supply/demand
  • Productiestrategie

Bestandsstructuur

CryptoScanner.Analyzers/Dlz/
├── DlzPlugin.cs                              # Plugin registration (dlz + dlz.near)
├── Dlz.md                                    # This document
├── Config/
│   ├── StrategyDlzTabView.axaml              # Settings tab UI (complex layout with zone filters)
│   └── StrategyDlzTabViewModel.cs            # Settings viewmodel
└── Signal/
    ├── SignalDominantLevelLong.cs             # Long: alarm when candle touches demand zone
    ├── SignalDominantLevelShort.cs            # Short: alarm when candle touches supply zone
    ├── SignalDominantLevelNearLong.cs         # Long near: alarm when approaching demand zone
    └── SignalDominantLevelNearShort.cs        # Short near: alarm when approaching supply zone

Sluitregels van de zones: CryptoScanner.Core/Zones/ZoneInvalidation.cs (zie Zones) Instellingenklasse: CryptoScanner.Core/Settings/Strategy/SettingsSignalStrategyDlz.cs Enum-waarden: CryptoSignalStrategy.DominantLevel = 1000, CryptoSignalStrategy.DominantLevelNear = 1001

Registratie

Geregistreerd als productiestrategie in AnalyzerRegistration.cs. Strategienamen in de UI: dlz, dlz.near.

Clone this wiki locally