You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pure Price Action Liquidity Sweeps is a Smart Money Concept indicator that uses recursive fractal swing detection to identify significant pivot levels and detect liquidity sweep events.
1835
+
1836
+
Unlike simple swing-based approaches, this indicator employs a hierarchical pivot detection algorithm with configurable depth to find progressively more significant swing points. A liquidity sweep occurs when price wicks through a pivot level without closing beyond it—indicating institutional stop-hunting. Levels are automatically invalidated once price closes through them (mitigated).
1837
+
1838
+
Three detection granularities are available:
1839
+
1840
+
-**Short Term** (depth 1) – detects all basic swing pivots, yielding the most sweep signals.
1841
+
-**Intermediate Term** (depth 2) – uses two levels of fractal filtering for moderately significant pivots.
1842
+
-**Long Term** (depth 3) – three levels of recursion, producing only the most significant swing points and fewest sweeps.
1843
+
1844
+
```python
1845
+
defpure_price_action_liquidity_sweeps(
1846
+
data: Union[PdDataFrame, PlDataFrame],
1847
+
term: str="long",
1848
+
high_column: str="High",
1849
+
low_column: str="Low",
1850
+
close_column: str="Close",
1851
+
max_level_age: int=2000,
1852
+
bullish_sweep_column: str="ppa_sweep_bullish",
1853
+
bearish_sweep_column: str="ppa_sweep_bearish",
1854
+
sweep_high_column: str="ppa_sweep_high",
1855
+
sweep_low_column: str="ppa_sweep_low",
1856
+
) -> Union[PdDataFrame, PlDataFrame]:
1857
+
```
1858
+
1859
+
Example
1860
+
1861
+
```python
1862
+
import pandas as pd
1863
+
from pyindicators import (
1864
+
pure_price_action_liquidity_sweeps,
1865
+
pure_price_action_liquidity_sweep_signal,
1866
+
get_pure_price_action_liquidity_sweep_stats
1867
+
)
1868
+
1869
+
# Create sample OHLC data
1870
+
df = pd.DataFrame({
1871
+
'High': [...],
1872
+
'Low': [...],
1873
+
'Close': [...]
1874
+
})
1875
+
1876
+
# Detect pure price action liquidity sweeps (long-term fractal depth)
Liquidity Pools is a Smart Money Concept indicator that identifies zones where resting orders cluster, detected by tracking areas where price repeatedly bounces (wicks) from a level.
1908
+
1909
+
A **bullish pool** (support) forms when price wicks below a body-bottom level multiple times without closing below it. A **bearish pool** (resistance) forms when price wicks above a body-top level multiple times without closing above it. Zones are mitigated (invalidated) when price closes through them on two consecutive bars.
1910
+
1911
+
Key parameters:
1912
+
1913
+
-**Contact Count** – minimum wick bounces required to form a pool (default: 2). Higher = fewer, more reliable zones.
1914
+
-**Gap Bars** – minimum bars between contacts to prevent double-counting (default: 5).
1915
+
-**Confirmation Bars** – bars price must stay away before confirming the zone (default: 10).
-`liq_pool_bull_top` / `liq_pool_bull_bottom`: Boundaries of the most recent active bullish pool (NaN if none)
1976
+
-`liq_pool_bear_top` / `liq_pool_bear_bottom`: Boundaries of the most recent active bearish pool (NaN if none)
1977
+
-`liq_pool_bull_formed` / `liq_pool_bear_formed`: 1 when a new pool forms
1978
+
-`liq_pool_bull_mitigated` / `liq_pool_bear_mitigated`: 1 when a pool is mitigated (broken)
1979
+
1980
+
**Trading Strategy:**
1981
+
- Bullish pools are support zones where institutional buyers accumulate—look for long entries near the zone
1982
+
- Bearish pools are resistance zones where institutional sellers distribute—look for short entries near the zone
1983
+
- Mitigation signals a change in market structure; the zone is no longer valid
1984
+
- Increase `contact_count` for higher-quality, more reliable zones
1985
+
1986
+
#### Liquidity Levels / Voids (VP)
1987
+
1988
+
Liquidity Levels / Voids is a Smart Money Concept indicator that uses volume-profile analysis between swing points to identify price levels where little volume was traded — these are *liquidity voids* that price tends to revisit.
1989
+
1990
+
Between each pair of detected swing points, the price range is divided into equally-spaced levels and a volume profile is built. Levels where the traded volume is below a configurable threshold (as a fraction of the maximum level's volume) are classified as liquidity voids — low-volume zones that act as price magnets.
1991
+
1992
+
Key parameters:
1993
+
1994
+
-**Detection Length** — lookback/look-ahead period for swing detection (default: 47).
1995
+
-**Threshold** — volume fraction below which a level is a void (default: 0.21, i.e. 21%).
1996
+
-**Sensitivity** — number of price levels per swing range (default: 27). Higher = thinner, more granular zones.
0 commit comments