Trend is your friendThis indicator evaluates the trend based on crosses of two McGinley moving averages. It paints candles accordingly (it does not repaint), so you can see what the indicator is saying more clearly and stay in your trade until you see a period of consolidation or a reversal. You can control how far away those moving averages need to be for you to consider it a trend. If this distance is not met candles color is not changed and it shows you that the market is in a period of consolidation. I also added visualization of RSI, so you can have an easier time finding appropriate profit targets. For stop loss I would recommend placing it a couple points above or below the previous high / low that is located above / below you final target for entry. You can also use a certain percentage that works for you. I tried adding a stop loss based on ATR, but I did not like the results. Using market structure is a better choice in my opinion.
Here is a basic trading strategy for the default settings:
Wait for the indicator to start printing a series of green or red candles. After that you can enter a long or a short around moving averages. Another valid place to entry is the specific RSI zone. If we are in an uptrend buying when RSI is oversold can be beneficial as you expect market to recover. I do not recommend changing RSI from 14. Vice versa for the downtrend. It gives you an edge as you know at what price RSI will be oversold and allows you to place trades in advance. Pretty neat! You need to realize that no indicator or strategy can give you an exact entry. There will always be some margin of error. What I wanted to say is that if there is a strong trend up and you buy around your key moving averages and when RSI is oversold you entered in good places and there is a pretty good chance you will make money.
Time frame settings:
If you want to use tighter stop losses I would recommend sticking to 15m. Do not go lower. It is not worth the stress. 1h and 4h seems to be very good as well, but expect your stop losses to be wider. What I personally tend to do is display 15m, 30m and 1h and compare it. Think of it as a short, mid and long term. That way you can see things little bit better.
Examples:
1H chart BTC
4h chart EUR / USD
1D chart NASDAQ
15m chart BTC (Daytrading)
That last chart shows that even if you were longing while the trend was about to change you still had a good chance to close it with a little profit and switch to short easily. The default settings is what has worked the best for me. Feel free to change them as you see fit and do not forget to let me know if you find something that works better :)
Notes:
Either disable wick display or change it to a neutral color like gray for both green and red candles. Unfortunately pine script does not allow wick painting, so if you have red / green wicks it will look terrible. If RSI visualization makes your candles look too small you can go to settings and disable the display of individual RSI levels. You will still be able to see the zones, but the scale won't be affected.
在腳本中搜尋"market structure"
Ichimoku-Hausky_v2.1Made a little update to my trading system. This system is made so that you can easily follow the trend and know when to get out. You still have to know basic market structure to find a good entry.
NB!! I see that i placed the entry wrong on the example, you have too wait for the EMA to go below the MA :)
I have posted the right one at the bottom.
Take profit can be set at last low or you can use trail stop on the EMA, MA, Kijun-sen or Tenkan-sen.
Example rules:
Buy:
IF Market is in a trend or are possibly close to break out of range
THEN see if price has closed above cloud
IF price has closed above cloud
THEN see if EMA has crossed above MA
IF EMA has crossed above MA
THEN buy or wait for pullback
Sell:
IF Market is in a trend or are possibly close to break out of range
THEN see if price has closed below cloud
IF price has closed below cloud
THEN see if EMA has crossed below MA
IF EMA has crossed below MA
THEN buy or wait for pullback
HTF Control Shift CandlesHTF Control Shift Candles highlights reversal-type candles that show a decisive shift in market control between buyers and sellers. These candles are detected by measuring wick length relative to the entire range and the close’s position within that range. A bullish control shift occurs when a candle forms with a long lower wick and closes in the top portion of its range, showing strong rejection of lower prices and a buyer takeover. A bearish control shift occurs when a candle forms with a long upper wick and closes in the bottom portion of its range, showing rejection of higher prices and a seller takeover. Candles are automatically recolored for fast visual recognition, and alerts are built in so traders never miss a potential shift in control.
This tool is specifically designed for 30-minute and higher timeframes, where control shift candles carry greater significance for swing and intraday setups. Inputs allow you to adjust wick percentage (wickPct) and body percentage (bodyPct) thresholds for different levels of sensitivity. For example, with wickPct = 0.5 and bodyPct = 0.3, a bullish control shift requires the lower wick to be at least 50% of the entire range and the close to finish in the top 30%. By tuning these values, traders can refine the detection for different volatility regimes or personal trading strategies.
Bar Close Confirmation Only
This indicator confirms signals only after the candle has closed. The calculation requires final values for open, high, low, and close, which are not fixed until the bar finishes forming. That means no mid-bar or intrabar repainting — alerts and highlights trigger only once the bar is complete. For example, if a candle temporarily has a long lower wick but closes back in the middle of its range, it will not be marked as a bullish control shift. This ensures accuracy by waiting for the final candle close before confirming that buyers or sellers truly maintained control.
Control shift candles can be especially useful around liquidity sweeps, support/resistance zones, or after extended moves, as they often mark key turning points. A bullish control shift near demand may provide an early entry confirmation for longs, while a bearish control shift at supply may signal short opportunities or exits from longs. This makes the indicator a versatile tool for anticipating reversals, timing entries with precision, and filtering signals on higher timeframes where market structure shifts are most impactful.
Liquidity Lines 2.0Liquidity Lines Indicator Description:
This indicator detects points of liquidity based on reversals in price action. It simulates simple moving average (SMA) candles and identifies when raw price candles engulf either the low of a bullish SMA candle or the high of a bearish SMA candle. The liquidity point is then placed at the high of the bearish SMA candle or the low of the bullish SMA candle. These levels often correspond to areas where many traders place stop-loss orders and can provide insight into where “smart money” might be hunting liquidity.
Features and Alerts:
Liquidity Lines automatically track upper and lower liquidity levels and plot them as customizable horizontal lines on the chart. Users can adjust line length, color, width, and style, and choose whether lines extend to the right. The indicator also detects when these liquidity levels are “swept” by price and triggers alerts in real time, allowing traders to be notified of potential stop-loss hunts or key market reactions as they happen. This makes it easy to monitor critical liquidity zones without constantly watching the chart.
How to Use Strategically:
Traders can use these liquidity points to anticipate potential price reactions. For example, if price approaches a lower liquidity line from above, it may act as support or a zone where stop orders are being triggered. Conversely, an upper liquidity line may act as resistance or a trigger zone for stops above the market. Combining these levels with your existing market structure, trend analysis, or confirmation signals can help identify high-probability entries, exits, and areas where smart money activity may occur.
Keks Key Level Fx SessionsThis script is designed to automatically plot and manage key levels for the major FX trading sessions (London, New York, and Asia). It helps traders identify the most relevant price areas that often act as support, resistance, or breakout zones during active market hours.
Key features:
Marks session highs, lows, and midpoints
Visualizes key intraday levels for better market structure analysis
Highlights potential breakout and retest areas
Works across multiple timeframes for flexibility
Clean and minimal chart design to avoid clutter
This tool is especially useful for traders who rely on session-based strategies, such as breakout trading, retests, or range trading, by providing a clear visual guide to the most important price zones.
Extreme Zone Volume ProfileExtreme Zone Volume Profile (EZVP)
Originality & Innovation
The Extreme Zone Volume Profile (EZVP) revolutionizes traditional volume profile analysis by applying statistical zone classification to volume distribution. Unlike standard volume profiles that display raw volume data, EZVP segments the price range into statistically meaningful zones based on percentile thresholds, allowing traders to instantly identify where volume concentration suggests strong support/resistance versus areas of potential breakout.
Technical Methodology
Core Algorithm:
Distributes volume across user-defined bins (20-200) over a lookback period
Calculates volume-weighted price levels for each bin
Applies percentile-based zone classification to the price range (not volume ranking)
Zone B (extreme zones): Outer percentile tails representing potential rejection areas
Zone A (significant zones): Secondary percentile bands indicating strong interest levels
Center Zone: Bulk trading range where most price discovery occurs
Mathematical Foundation:
The script uses price-range percentiles rather than volume percentiles. If the total price range is divided into 100%, Zone B captures the extreme price tails (default 2.5% each end ≈ 2 standard deviations), Zone A captures the next significant bands (default 14% each ≈ 1 standard deviation), leaving the center for normal distribution trading.
Key Calculations:
POC (Point of Control): Price level with maximum volume accumulation
Volume-weighted mean price: Total volume × price / total volume
Median price: Geometric center of the price range
Rightward-projected bars: Volume bars extend forward from current time to avoid historical chart clutter
Trading Applications
Zone Interpretation:
Zone B (Red/Green): Extreme price levels where volume suggests strong rejection potential. Price reaching these zones often indicates overextension and possible reversal points.
Zone A (Orange/Teal): Significant support/resistance areas with substantial volume interest. These levels often act as intermediate targets or consolidation zones.
Center (Gray): Fair value area where most trading occurs. Price tends to return to this range during normal market conditions.
Strategic Usage:
Reversal Trading: Look for rejection signals when price enters Zone B areas
Breakout Confirmation: Volume expansion beyond Zone B boundaries suggests genuine breakouts
Support/Resistance: Zone A boundaries often provide reliable entry/exit levels
Mean Reversion: Price tends to gravitate toward the volume-weighted mean and POC lines
Unique Value Proposition
EZVP addresses three key limitations of traditional volume profiles:
Visual Clarity: Standard profiles can be cluttered and difficult to interpret quickly. EZVP's color-coded zones provide instant visual feedback about price significance.
Statistical Framework: Rather than relying on subjective interpretation of volume nodes, EZVP applies objective percentile-based classification, making support/resistance identification more systematic.
Forward-Looking Display: Rightward-projecting bars keep historical price action clean while maintaining current market structure visibility.
Configuration Guide
Lookback Period (10-1000): Controls the historical depth of volume calculation. Shorter periods for intraday scalping, longer for swing trading.
Number of Bins (20-200): Resolution of volume distribution. Higher values provide more granular analysis but may create noise on lower timeframes.
Zone Percentages:
Zone B: Extreme threshold (default 2.5% = ~2σ statistical significance)
Zone A: Significant threshold (default 14% = ~1σ statistical significance)
Visual Controls: Toggle individual elements (POC, median, mean, zone lines) to customize display complexity for your trading style.
Technical Requirements
Pine Script v6 compatible
Maximum bars back: 5000 (ensures sufficient historical data)
Maximum boxes: 500 (supports high-resolution bin counts)
Maximum lines: 50 (accommodates all zone and reference lines)
This indicator synthesizes volume profile theory with statistical zone analysis, providing a quantitative framework for identifying high-probability support/resistance levels based on volume distribution patterns rather than arbitrary price levels.
Swing Highs/Lows & Candle Patterns[LuxAlgo] [Filtered]Swing Highs/Lows & Candle Patterns - Tweaked Version
This indicator is a customized and enhanced version of LuxAlgo’s original Swing Highs/Lows & Candle Patterns indicator. It identifies and labels critical swing high and swing low points to help visualize market structure, alongside detecting key reversal candlestick patterns such as Hammer, Inverted Hammer, Bullish Engulfing, Hanging Man, Shooting Star, and Bearish Engulfing.
With added options to selectively display only Lower Highs (LH) and Higher Lows (HL), this tweaked version offers greater flexibility for traders focusing on specific market dynamics. Users can also customize the lookback length and label styling to fit their preferences.
Credit to LuxAlgo for the original concept and foundation of this powerful tool, which this script builds upon to support more tailored technical analysis. Ideal for swing traders and technical analysts seeking improved entry and exit signals through a combination of price swings and candlestick pattern recognition.
HorizonSigma Pro [CHE]HorizonSigma Pro
Disclaimer
Not every timeframe will yield good results . Very short charts are dominated by microstructure noise, spreads, and slippage; signals can flip and the tradable edge shrinks after costs. Very high timeframes adapt more slowly, provide fewer samples, and can lag regime shifts. When you change timeframe, you also change the ratios between horizon, lookbacks, and correlation windows—what works on M5 won’t automatically hold on H1 or D1. Liquidity, session effects (overnight gaps, news bursts), and volatility do not scale linearly with time. Always validate per symbol and timeframe, then retune horizon, z-length, correlation window, and either the neutral band or the z-threshold. On fast charts, “components” mode adapts quicker; on slower charts, “super” reduces noise. Keep prior-shift and calibration enabled, monitor Hit Rate with its confidence interval and the Brier score, and execute only on confirmed (closed-bar) values.
For example, what do “UP 61%” and “DOWN 21%” mean?
“UP 61%” is the model’s estimated probability that the close will be higher after your selected horizon—directional probability, not a price target or profit guarantee. “DOWN 21%” still reports the probability of up; here it’s 21%, which implies 79% for down (a short bias). The label switches to “DOWN” because the probability falls below your short threshold. With a neutral-band policy, for example ±7%, signals are: Long above 57%, Short below 43%, Neutral in between. In z-score mode, fixed z-cutoffs drive the call instead of percentages. The arrow length on the chart is an ATR-scaled projection to visualize reach; treat it as guidance, not a promise.
Part 1 — Scientific description
Objective.
The indicator estimates the probability that price will be higher after a user-defined horizon (a chosen number of bars) and emits long, short, or neutral decisions under explicit thresholds. It combines multi‑feature, z‑normalized inputs, adaptive correlation‑based weighting, a prior‑shifted sigmoid mapping, optional rolling probability calibration, and repaint‑safe confirmation. It also visualizes an ATR‑scaled forward projection and prints a compact statistics panel.
Data and labeling.
For each bar, the target label is whether price increased over the past chosen horizon. Learning is deliberately backward‑looking to avoid look‑ahead: features are associated with outcomes that are only known after that horizon has elapsed.
Feature engineering.
The feature set includes momentum, RSI, stochastic %K, MACD histogram slope, a normalized EMA(20/50) trend spread, ATR as a share of price, Bollinger Band width, and volume normalized by its moving average. All features are standardized over rolling windows. A compressed “super‑feature” is available that aggregates core trend and momentum components while penalizing excessive width (volatility). Users can switch between a “components” mode (weighted sum of individual features) and a “super” mode (single compressed driver).
Weighting and learning.
Weights are the rolling correlations between features (evaluated one horizon ago) and realized directional outcomes, smoothed by an EMA and optionally clamped to a bounded range to stabilize outliers. This produces an adaptive, regime‑aware weighting without explicit machine‑learning libraries.
Scoring and probability mapping.
The raw score is either the weighted component sum or the weighted super‑feature. The score is standardized again and passed through a sigmoid whose steepness is user‑controlled. A “prior shift” moves the sigmoid’s midpoint to the current base rate of up moves, estimated over the evaluation window, so that probabilities remain well‑calibrated when markets drift bullish or bearish. Probabilities and standardized scores are EMA‑smoothed for stability.
Decision policy.
Two modes are supported:
- Neutral band: go long if the probability is above one half plus a user‑set band; go short if it is below one half minus that band; otherwise stay neutral.
- Z‑score thresholds: use symmetric positive/negative cutoffs on the standardized score to trigger long/short.
Repaint protection.
All values used for decisions can be locked to confirmed (closed) bars. Intrabar updates are available as a preview, but confirmed values drive evaluation and stats.
Calibration.
An optional rolling linear calibration maps past confirmed probabilities to realized outcomes over the evaluation window. The mapping is clipped to the unit interval and can be injected back into the decision logic if desired. This improves reliability (probabilities that “mean what they say”) without necessarily improving raw separability.
Evaluation metrics.
The table reports: hit rate on signaled bars; a Wilson confidence interval for that hit rate at a chosen confidence level; Brier score as a measure of probability accuracy; counts of long/short trades; average realized return by side; profit factor; net return; and exposure (signal density). All are computed on rolling windows consistent with the learning scheme.
Visualization.
On the chart, an arrowed projection shows the predicted direction from the current bar to the chosen horizon, with magnitude scaled by ATR (optionally scaled by the square‑root of the horizon). Labels display either the decision probability or the standardized score. Neutral states can display a configurable icon for immediate recognition.
Computational properties.
The design relies on rolling means, standard deviations, correlations, and EMAs. Per‑bar cost is constant with respect to history length, and memory is constant per tracked series. Graphical objects are updated in place to obey platform limits.
Assumptions and limitations.
The method is correlation‑based and will adapt after regime changes, not before them. Calibration improves probability reliability but not necessarily ranking power. Intrabar previews are non‑binding and should not be evaluated as historical performance.
Part 2 — Trader‑facing description
What it does.
This tool tells you how likely price is to be higher after your chosen number of bars and converts that into Long / Short / Neutral calls. It learns, in real time, which components—momentum, trend, volatility, breadth, and volume—matter now, adjusts their weights, and shows you a probability line plus a forward arrow scaled by volatility.
How to set it up.
1) Choose your horizon. Intraday scalps: 5–10 bars. Swings: 10–30 bars. The default of 14 bars is a balanced starting point.
2) Pick a feature mode.
- components: granular and fast to adapt when leadership rotates between signals.
- super: cleaner single driver; less noise, slightly slower to react.
3) Decide how signals are triggered.
- Neutral band (probability based): intuitive and easy to tune. Widen the band for fewer, higher‑quality trades; tighten to catch more moves.
- Z‑score thresholds: consistent numeric cutoffs that ignore base‑rate drift.
4) Keep reliability helpers on. Leave prior shift and calibration enabled to stabilize probabilities across bullish/bearish regimes.
5) Smoothing. A short EMA on the probability or score reduces whipsaws while preserving turns.
6) Overlay. The arrow shows the call and a volatility‑scaled reach for the next horizon. Treat it as guidance, not a promise.
Reading the stats table.
- Hit Rate with a confidence interval: your recent accuracy with an uncertainty range; trust the range, not only the point.
- Brier Score: lower is better; it checks whether a stated “70%” really behaves like 70% over time.
- Profit Factor, Net Return, Exposure: quick triage of tradability and signal density.
- Average Return by Side: sanity‑check that the long and short calls each pull their weight.
Typical adjustments.
- Too many trades? Increase the neutral band or raise the z‑threshold.
- Missing the move? Tighten the band, or switch to components mode to react faster.
- Choppy timeframe? Lengthen the z‑score and correlation windows; keep calibration on.
- Volatility regime change? Revisit the ATR multiplier and enable square‑root scaling of horizon.
Execution and risk.
- Size positions by volatility (ATR‑based sizing works well).
- Enter on confirmed values; use intrabar previews only as early signals.
- Combine with your market structure (levels, liquidity zones). This model is statistical, not clairvoyant.
What it is not.
Not a black‑box machine‑learning model. It is transparent, correlation‑weighted technical analysis with strong attention to probability reliability and repaint safety.
Suggested defaults (robust starting point).
- Horizon 14; components mode; weight EMA 10; correlation window 500; z‑length 200.
- Neutral band around seven percentage points, or z‑threshold around one‑third of a standard deviation.
- Prior shift ON, Calibration ON, Use calibrated for decisions OFF to start.
- ATR multiplier 1.0; square‑root horizon scaling ON; EMA smoothing 3.
- Confidence setting equivalent to about 95%.
Disclaimer
No indicator guarantees profits. HorizonSigma Pro is a decision aid; always combine with solid risk management and your own judgment. Backtest, forward test, and size responsibly.
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Enhance your trading precision and confidence 🚀
Best regards
Chervolino
NQ FVG + MSS ChecklistThe NQ FVG + MSS Quick Checklist is a simple yet powerful visual tool for traders focusing on the Nasdaq 100 (NQ) futures. It provides a step-by-step checklist to assess trade setups based on key market concepts like Fair Value Gaps (FVG), Market Structure Shifts (MSS), session highs/lows, and previous day levels.
This indicator helps you quickly see which elements of your trading plan are met before entering a trade. Each checklist item can be manually toggled, and a cumulative Trade Score provides a quick visual guide to setup strength.
Key Features:
Step-by-step checklist for NQ trading setups
Track levels: Session highs/lows & Previous Day High/Low
Spot 5M FVG and Retests
Identify MSS on 1M and find 1M FVG inside MSS
Manual SL & TP guidance
Trade Score for quick setup strength assessment
Fully visible table overlay on top of the chart
How to Use:
Mark session & previous day levels
Observe reaction at key levels (Sweep or Continue)
Identify 5M FVG and any retests
Spot 1M MSS and 1M FVG inside MSS
Set SL/TP based on FVG extremes and next session levels
Check the cumulative Trade Score for setup confirmation
Note: This indicator is manual input-based, letting traders tick off items as they analyze the chart, making it a lightweight trading checklist HUD that stays on top of all chart elements.
SCTI-D1SCTI-D1 Indicator Introduction / 指标简介
The SCTI-D1 (Smart Composite Trading Indicator - Daily) is a comprehensive, multi-feature trading tool designed for serious traders who demand depth, flexibility, and clarity in their market analysis. This indicator combines several powerful concepts into one seamless workflow, including:
Multiple EMA Systems with customizable lengths and visibility
PMA (Projected Moving Average) with fill options between lines
VWAP with configurable anchors and deviation bands
Divergence Detection for MACD and Histogram
Volume Profile with node detection (peaks, troughs, highs, lows)
Smart Money Concepts including order blocks, fair value gaps, equal highs/lows, and market structure shifts
Whether you trade stocks, forex, or cryptocurrencies, the SCTI-D1 helps you identify key levels, track institutional activity, and spot high-probability reversal signals—all in one clean, customizable interface.
SCTI-D1 指标简介
SCTI-D1(智能综合交易指标 - 日线版)是一款功能全面的交易工具,专为需要深度、灵活性和清晰市场分析的专业交易者设计。该指标将多种强大概念融合在一个流畅的工作流程中,包括:
多组EMA系统,可自定义长度和显示
PMA(投影移动平均线),支持均线间填充色
VWAP,可配置锚定周期和偏差带
背离检测,支持MACD和柱状图
成交量分布,支持节点检测(峰值、谷值、最高、最低)
聪明钱概念,包括订单块、公允价值缺口、等高/等低和市场结构转换
无论您交易股票、外汇还是加密货币,SCTI-D1 都能帮助您识别关键水平、跟踪机构资金动向并发现高概率反转信号——所有功能均集成在一个清晰可定制的界面中。
HH&LL / MSS Detector [Tek Tek Teknik Analiz]This indicator provides a safe trading opportunity by drawing Market Structure Shift levels to determine the direction of the market after capturing the peaks and valleys in the price flow.
[RealEdgeFX] - Manipulation CandleOverview
The Manipulation Candle indicator highlights potential liquidity grabs and false breakouts directly on the chart. It focuses on moments when price sweeps prior highs or lows but closes in the opposite direction, suggesting a possible manipulation before a market reversal.
Core Logic
The indicator compares the current candle against the previous one and colors the bar when specific conditions are met:
Sell Manipulation (dark red)
When the current candle breaks above the previous high but then closes below the prior low.
→ This often signals a stop hunt to the upside followed by bearish intent.
Buy Manipulation (light green)
When the current candle breaks below the previous low but then closes above the prior high.
→ This suggests a liquidity sweep to the downside before bullish continuation.
Neutral candles remain uncolored to avoid clutter and keep the focus on high-impact moments.
Design Approach
Clarity: Only the candles that meet strict criteria are marked, reducing noise.
Liquidity Focused : Built for traders who want to quickly spot manipulative price action.
Non-Repainting : Once a candle is identified as manipulation, the color stays fixed.
Usage
Add it as an overlay on your chart.
Watch for green or red manipulation candles as alerts of possible reversals or liquidity events.
Combine with your own market structure or bias tools to increase accuracy.
Transfer Function Filter [theUltimator5]The Transfer Function Filter is an engineering style approach to transform the price action on a chart into a frequency, then filter out unwanted signals using Butterworth-style filter approach.
This indicator allows you to analyze market structure by isolating or removing different frequency components of price movement—similar to how engineers filter signals in control systems and electrical circuits.
🔎 Features
Four Filter Types
1) Low Pass Filter – Smooths price data, highlighting long-term trends while filtering out short-term noise. This filter acts similar to an EMA, removing noisy signals, resulting in a smooth curve that follows the price of the stock relative to the filter cutoff settings.
Real world application for low pass filter - Used in power supplies to provide a clean, stable power level.
2) High Pass Filter – Removes slow-moving trends to emphasize short-term volatility and rapid fluctuations. The high pass filter removes the "DC" level of the chart, removing the average price moves and only outputting volatility.
Real world application for high pass filter - Used in audio equalizers to remove low-frequency noise (like rumble) while allowing higher frequencies to pass through, improving sound clarity.
3) Band Pass Filter – Allows signals to plot only within a band of bar ranges. This filter removes the low pass "DC" level and the high pass "high frequency noise spikes" and shows a signal that is effectively a smoothed volatility curve. This acts like a moving average for volatility.
Real world application for band pass filter - Radio stations only allow certain frequency bands so you can change your radio channel by switching which frequency band your filter is set to.
4) Band Stop Filter – Suppresses specific frequency bands (cycles between two cutoffs). This filter allows through the base price moving average, but keeps the high frequency volatility spikes. It allows you to filter out specific time interval price action.
Real world application for band stop filter - If there is prominent frequency signal in the area which can cause unnecessary noise in your system, a band stop filter can cancel out just that frequency so you get everything else
Configurable Parameters
• Cutoff Periods – Define the cycle lengths (in bars) to filter. This is a bit counter-intuitive with the numbering since the higher the bar count on the low-pass filter, the lower the frequency cutoff is. The opposite holds true for the high pass filter.
• Filter Order – Adjust steepness and responsiveness (higher order = sharper filtering, but with more delay).
• Overlay Option – Display Low Pass & Band Stop outputs directly on the price chart, or in a separate pane. This is enabled by default, plotting the filters that mimic moving averages directly onto the chart.
• Source Selection – Apply filters to close, open, high, low, or custom sources.
Histograms for Comparison
• BS–LP Histogram – Shows distance between Band Stop and Low Pass filters.
• BP–HP Histogram – Highlights differences between Band Pass and High Pass filters.
Histograms give the visualization of a pseudo-MACD style indicator
Visual & Informational Aids
• Customizable colors for each filter line.
• Optional zero-line for histogram reference.
• On-chart info table summarizing active filters, cutoff settings, histograms, and filter order.
📊 Use Cases
Trend Detection – Use the Low Pass filter to smooth noise and follow underlying market direction.
Volatility & Cycle Analysis – Apply High Pass or Band Pass to capture shorter-term patterns.
Noise Suppression – Deploy Band Stop to remove specific choppy frequencies.
Momentum Insight – Watch the histograms to spot divergences and relative filter strength.
Dynamic 5DMA/EMA with Color for Multiple Products🔹 Dynamic 5DMA/EMA with Slope-Based Coloring (All Timeframes)
This indicator plots a dynamic 5-period moving average that adapts intelligently to your chart's timeframe and product type — giving you a clean, slope-sensitive visual edge across intraday, daily, and weekly views.
✅ Key Features:
📈 Dynamic MA Length Scaling:
On intraday timeframes, the MA adjusts for your selected market session (RTH, ETH, VIX, or Futures), calculating a true 5-day average based on actual session length — not just a flat bar count.
🔄 Automatic Timeframe Detection:
Daily Chart: Uses standard 5DMA or 5EMA.
Weekly Chart: Applies a true 5-week MA.
Intraday Charts: Converts 5 days into bar-length equivalent dynamically.
🎨 Color-Coded Slope Logic:
Green = Rising MA (bullish slope)
Red = Falling MA (bearish slope)
Neutral slope = previous color held for visual continuity
No more guessing — direction is instantly clear.
⚠️ Built-In Slope Flip Alerts:
Set alerts when the slope of the MA turns up or down. Ideal for timing pullback entries or exits across any product.
⚙️ Session Settings for Proper Scaling:
Choose your product's market structure to ensure accurate 5-day conversion on intraday charts:
Stocks - RTH: 390 mins/day
Stocks - ETH: 780 mins/day
VIX: 855 mins/day
Futures: 1440 mins/day
This ensures the MA reflects 5 full trading days, regardless of session irregularities or bar interval.
📌 Why Use This Indicator?
Most MAs misrepresent trend direction on intraday charts because they assume static daily bar counts. This tool corrects that, then adds slope-based coloring to give you a fast, visual read on short-term momentum. Whether you’re swing trading SPY, scalping VIX, or position trading futures, this indicator keeps your view aligned with how institutions see moving averages across timeframes.
🔧 Best For:
VIX & volatility traders
Short-term SPY/SPX traders
Swing traders who value clean setups
Anyone wanting a true 5-day trend anchor on any chart
Fixed 4H BTC/Altcoins Correlation for Scalping
Fixed 4H Timeframe: The calculation is hardcoded to the 4-hour timeframe. This ensures the correlation value remains stable and relevant for structural analysis while you trade on lower timeframes.
Clean On-Screen Display: Instead of a separate plot line that can clutter the chart, the indicator displays the correlation value in a clean, simple table in the top-right corner.
Dynamic Coloring: The correlation value is color-coded for quick visual assessment:
Green: Strong correlation (> 0.70)
Yellow: Moderate correlation (0.30 to 0.70)
Red: Weak or negative correlation (< 0.30)
Customizable Inputs: Users can easily configure the BTC symbol (e.g., BINANCE:BTCUSDT, COINBASE:BTCUSD), the correlation lookback period (Length), and the price source (Source) to match their reference indicators or preferences.
Add the indicator to your chart (for example, a 5-minute chart of any altcoin).
The table in the top-right corner will immediately display the altcoin's current correlation to BTC, based on 4-hour data.
Use this value to gauge market sentiment. A high positive correlation suggests the altcoin is likely to follow BTC's moves. A low or negative correlation suggests the altcoin is moving independently.
For perfect synchronization with another standard correlation indicator, go to the script's settings (⚙️ icon) and ensure the Length and Source parameters are identical to your reference indicator.
This tool aims to bridge the gap between high-frequency trading and high-timeframe market structure, providing a crucial piece of information in a simple, stable, and accessible format.
Multi-Timeframe SFP + SMTImportant: Please Read First
This indicator is not a "one size fits all" solution. It is a professional and complex tool that requires you to learn how to use it, in addition to backtesting different settings to discover what works best for your specific trading style and the assets you trade. The default settings provided are my personal preferences for trading higher-timeframe setups, but you are encouraged to experiment and find your own optimal configuration.
Please note that while this initial version is solid, it may still contain small errors or bugs. I will be actively working on improving the indicator over time. Also, be aware that the script is not written for maximum efficiency and may be resource-intensive, but this should not pose a problem for most users.
The source code for this indicator is open. If you truly want to understand precisely how all the logic works, you can copy and paste the code into an AI assistant like Gemini or ChatGPT and ask it to explain any part of the script to you.
Author's Preferred Settings (Guideline)
As a starting point, here are the settings I personally use for my trading:
SFP Timeframe: 4-Hour (Strength: 5-5)
Max Lookback: 35 Bars
Raid Expiration: 1 Bar
SFP Lines Limit: 1
SMT Timeframe 1: 30-Minute (Strength: 2-2) with 3-Minute LTF Detection.
SMT Timeframe 2: 15-Minute (Strength: 3-3) with 3-Minute LTF Detection.
SMT Timeframe 3: 1-Hour (Strength: 1-1) with 3-Minute LTF Detection.
SMT Timeframe 4: 15-Minute (Strength: 1-1) with 3-Minute LTF Detection.
Multi-Timeframe SMT: An Overview
This indicator is a powerful tool designed to identify high-probability trading setups by combining two key institutional concepts: Swing Failure Patterns (SFP) on a higher timeframe and Smart Money Technique (SMT) divergences on a lower timeframe. A key feature is the ability to configure and run up to four independent SMT analyses simultaneously, allowing you to monitor for divergences across multiple timeframes (e.g., 15m, 1H, 4H) from a single indicator.
Its primary purpose is to generate automated signals through TradingView's alert system. By setting up alerts, the script runs server-side, monitoring the market for you. When a setup presents itself, it will send a push notification to your device, allowing you to personally evaluate the trade without being tied to your screen.
The Strategy: HTF Liquidity Sweeps into LTF SMT
The core strategy is built on a classic institutional trading model:
Wait for a liquidity sweep on a significant high timeframe (e.g., 4-hour, Daily).
Once liquidity is taken, look for a confirmation of a shift in market structure on a lower timeframe.
This indicator uses an SMT divergence as that confirmation signal, indicating that smart money may be stepping in to reverse the price.
How It Works: The Two-Step Process
The indicator's logic follows a precise two-step process to generate a signal:
Step 1: The Swing Failure Pattern (SFP)
First, the indicator identifies a high-timeframe liquidity sweep. This is configured in the "Swing Failure Pattern (SFP) Timeframe" settings.
It looks for a candle that wicks above a previous high (or below a previous low) but then closes back within the range of that pivot. This action is known as a "raid" or a "swing failure," suggesting the move failed to find genuine momentum.
Step 2: The SMT Divergence
The moment a valid SFP is confirmed, the indicator's multiple SMT engines activate.
Each engine begins monitoring the specific SMT timeframe you have configured (e.g., "SMT Timeframe 1," "SMT Timeframe 2," etc.) for a Smart Money Technique (SMT) divergence.
An SMT divergence occurs when two closely correlated assets fail to move in sync. For example, after a raid on a high, Asset A makes a new high, but Asset B fails to do so. This disagreement suggests weakness and a potential reversal.
When the script finds this divergence, it plots the SMT line and triggers an alert.
The Power of Alerts
The true strength of this indicator lies in its alert capabilities. You can create alerts for both unconfirmed and confirmed SMTs.
Enable Alerts LTF Detection: These alerts trigger when an unconfirmed, potential SMT is spotted on the lower "LTF Detection" timeframe. While not yet confirmed, these early alerts can notify you of a potential move before it fully happens, allowing you to be ahead of the curve and find the best possible trade entries.
Enable Alerts Confirmed SMT: These alerts trigger only when a permanent, confirmed SMT line is plotted on your chosen SMT timeframe. These signals are more reliable but occur later than the early detection alerts.
Key Concepts Explained
What is Pivot Strength?
Pivot Strength determines how significant a high or low needs to be to qualify as a valid structural point. A setting of 5-5, for example, means that for a candle's high to be considered a valid pivot high, its high must be higher than the highs of the 5 candles to its left and the 5 candles to its right.
Higher Strength (e.g., 5-5, 8-8): Creates fewer, but more significant, pivots. This is ideal for identifying major structural highs and lows on higher timeframes.
Lower Strength (e.g., 2-2, 3-3): Creates more pivots, making it suitable for identifying the smaller shifts in momentum on lower timeframes.
Raid Expiration & Validity
An SFP signal is not valid forever. The "Raid Expiration" setting determines how many SFP timeframe bars can pass after a raid before that signal is considered "stale" and can no longer be used to validate an SMT. This ensures your SMT divergences are always in response to recent liquidity sweeps.
Why You Must Be on the Right Chart Timeframe to See SMT Lines
Pine Script™ has a fundamental rule: an indicator running on a chart can only "see" the bars of that chart's timeframe or higher.
When the SMT logic is set to the 15-minute timeframe, it calculates its pivots based on 15-minute data. To accurately plot lines connecting these pivots, you must be on a 15-minute chart or lower (e.g., 5-minute, 1-minute).
If you are on a higher timeframe chart, like the 1-hour, the 15-minute bars do not exist on that chart, so the indicator has no bars to draw the lines on.
This is precisely why the alert system is so powerful. You can set your alert to run on the 15-minute timeframe, and TradingView's servers will monitor that timeframe for you, sending a notification regardless of what chart you are currently viewing.
Volatility Wick Trap — Smart Reversal EngineThe Volatility Wick Trap — Smart Reversal Engine is a precision reversal detection tool designed for traders who rely on smart money footprints, volatility compression, and liquidity wick exhaustion to time entries near market turns.
💡 Core Components:
Volatility Squeeze Detection: Identifies candles where range compresses significantly compared to the 14-period average true range, highlighting potential breakout zones.
Liquidity Wick Exhaustion: Detects candles with dominant upper or lower wicks, signaling failed liquidity grabs or stop hunts.
Contextual EMA Filter: Uses a 21-period EMA to filter signals, improving accuracy by aligning with market structure bias.
🔍 How It Works:
Green diamond lines mark bullish hidden reversal zones.
Red diamond lines mark bearish hidden reversal traps.
These lines only appear when volatility compresses and wick traps are confirmed within the trend context.
✅ Clean. Minimal. Tactical.
Ideal for scalpers, swing traders, and smart money enthusiasts looking to fade emotional price spikes.
Zig Zag with HHLLThis powerful tool calculates and displays two Zig Zag patterns simultaneously while dynamically identifying key market structure points—Higher Highs (HH), Lower Lows (LL), Higher Lows (HL), and Lower Highs (LH).
Because the script is dynamic, the most recent HH, HL, LL, or LH can update in real-time as price action evolves. For example, if the price continues to rise, a previously marked HL may be reclassified as an LL. Likewise, a falling LH may later turn into a HH if the market reverses.
This script is versatile and can be applied to various trading strategies, including trend analysis, support and resistance identification, breakout setups, and more.
Added a new input parameter decimals that allows you to control the decimal precision:
Set to -1 (default) for automatic detection based on the symbol's minimum tick size
Set to 0-8 for a specific number of decimal places.
How it works:
Auto mode (decimals = -1): The script automatically determines how many decimal places to show based on the instrument's minimum tick size. For example:
Forex pairs (0.00001) → 5 decimals
Stocks ($0.01) → 2 decimals
Crypto (0.00000001) → 8 decimals
Manual mode (decimals = 0-8): You can force a specific number of decimal places if needed
Advanced DMA Pattern Detection SystemAdvanced DMA Pattern Detection System with Smart Intelligence
Professional-grade moving average indicator that combines traditional DMA analysis with advanced pattern recognition and probabilistic forecasting.
Core Features:
6 Key DMAs (5, 10, 20, 50, 100, 200) with descriptive labels showing trading purpose
Advanced Pattern Recognition - Detects Institutional Accumulation, Distribution Phases, Bull/Bear Transitions, and Choppy Markets
Probability Engine - Assigns confidence scores (0-100%) with Low/Medium/High classifications
Historical Validation - Tracks success rate of last 20 pattern signals for real performance data
Smart Alert System - Only triggers on significant pattern changes (20%+ probability shifts)
Dual Display System:
Movable Information Table - Shows current pattern, probability, confidence level, success rate, and recommended action
Chart Alerts & Background Colors - Visual confirmation of high-confidence setups (80%+ patterns)
Traditional DMA Labels - Clear identification of each average's trading significance
Complete Customization:
Master on/off controls for entire system
Individual toggles for all components (DMAs, table, alerts, colors)
Adjustable alert sensitivity (Conservative/Medium/Aggressive)
6 table positions to fit any chart layout
Perfect For: Swing traders, position traders, and anyone wanting systematic trend analysis with quantified probability scores rather than subjective interpretation.
Bottom Line: Transforms basic moving averages into an intelligent trading system that tells you exactly what the market structure means and what to do about it.
🇰🇷 Kim'in Kim'out — Korean Premium TrackerKim’in Kim’out is a premium-tracking TradingView indicator that reveals Korean market sentiment by comparing real-time asset prices on Upbit (KRW) and Binance (USDT).
It detects when Korean traders are spot accumulating (Kim’in) or spot distributing (Kim’out) — enhanced by volume confirmation and trend context.
Perfect for crypto scalpers, swing traders, and arbitrage hunters.
⚙️ How It Works
Kimchi Premium: Measures how much more (or less) Koreans are paying on Upbit compared to Binance.
Volume Confirmation: Filters signals by comparing Upbit volume vs its moving average.
Signal Logic:
🔼 Kim’in: Premium exceeds the buy threshold + high volume
🔽 Kim’out: Premium drops below the sell threshold + high volume
Trend Context: Premium trend line gives insight into sustained interest/disinterest.
🎛️ Settings Overview
Input Description
Select Cryptocurrency Choose from supported coins (BTC, ETH, SOL, etc.)
Buy Threshold (%) How high the premium must be to trigger a Kim’in signal
Sell Threshold (%) How low the premium must be to trigger a Kim’out signal
Volume MA Period The number of candles for volume average
Volume Multiplier Volume spike ratio needed to confirm a signal
Show Info Table Toggle detailed premium stats in a side panel
Show Premium Zones Visual background zones (green/red/yellow)
Debug Mode Shows extra signals that trigger without volume confirmation
✅ How to Use It
Add the indicator to any chart (e.g. BTC/USDT)
Choose a coin from the dropdown (BTC, ETH, etc.)
Watch for:
Green Triangle Up (Kim’in) = Korean spot buy pressure confirmed
Red Triangle Down (Kim’out) = Korean selloff or disinterest
Use the Info Table (top-right) to see:
Premium %
Volume confirmation
Real-time KRW-USD exchange rate
Upbit vs Binance price comparison
Set Alerts:
Right-click on a signal → Add Alert on "Kim’in" or "Kim’out"
Or use the prebuilt alertconditions
🔔 Alert Messages
🇰🇷 Korean Premium BUY signal detected → Kim’in
🇰🇷 Korean Premium SELL signal detected → Kim’out
🧪 Best Practices
Use on 1H or 4H timeframe for best results
Confirm with broader market structure or confluence tools
Spot divergences between Binance and Upbit to predict regional flow shifts
🚫 Limitations
Works only with coins that have both Binance USDT & Upbit KRW pairs
Premium may be delayed by low liquidity or FX rate fluctuations (USDKRW)
Not suitable for lowcaps not listed on Upbit
Created by UKMC Crypto
90/30 Minute Cycle BoxesThis indicator automatically draws time-based cycle boxes to help visualize market structure and cyclical behavior.
Features:
90-Minute Primary Cycles: Highlights each 90-minute interval with a colored box, showing the high and low of that period.
30-Minute Sub-Cycles: Each 90-minute box is divided into 3 sub-boxes representing 30-minute phases.
Multi-Timeframe Compatible: Works on all timeframes, adapting dynamically to your chart.
Visual Clarity: Alternating box colors make it easy to track price action within and across cycles.
This tool is ideal for traders who use time cycles in their analysis, especially those applying ICT, Smart Money Concepts, or time-based market theories.
Multi-Timeframe SMTSummery
The Multi-Timeframe SMT indicator is designed to identify and visualize Higher Timeframe (HTF) data on a Lower Timeframe (LTF) chart, allowing traders to see the broader market context without changing their current chart's resolution. It accurately draws pivots and SMT divergences from higher timeframes on the corresponding candles of your current lower timeframe chart.
Its core features include:
Multi-Timeframe Analysis: Configure and monitor pivots on up to four independent timeframes, from intraday to monthly.
Customizable Pivot Detection: Define the strength of pivots by adjusting the number of bars to the left and right.
SMT Divergence: Automatically identifies bullish and bearish SMT divergences by comparing the price action of the main chart symbol with a chosen correlated asset.
Early SMT Detection: A unique feature that monitors a lower "detection timeframe" to provide early warnings of potential SMT setups before they're confirmed on the main timeframe. Note that this early detection is only shown on timeframes equal to or lower than the "Detection timeframe" you have set.
Visual Cues & Alerts: Clear on-chart labels, lines, and fully customizable alerts notify you of confirmed pivots and SMT divergences, ensuring you don't miss key opportunities.
Important Nuance Regarding Pivot Label Display
Due to a self-imposed limit within this script's drawing management logic, the indicator might quickly reach its drawing capacity if you enable pivot crosses for multiple timeframes simultaneously. When this internal drawing limit is exceeded, the script is designed to automatically remove the oldest drawings to make space for new ones.
Therefore, to ensure optimal performance and visibility of the most recent and relevant pivots, it's highly recommended to only enable the "Show Pivot Crosses" option for one timeframe at a time. If you wish to view pivots for a different timeframe, simply disable the pivot crosses for the currently active timeframe and then enable them for your desired one. This approach prevents the rapid cycling and disappearance of pivot labels, providing a clearer and more stable visual experience.
In-Depth Explanation of the Logic
This script is built on two primary concepts: pivot points and Smart Money Technique (SMT) divergence. It systematically collects historical data on multiple timeframes, identifies pivots, and then compares them between two assets to find divergences.
Pivot Point Identification
A pivot is a turning point in the market. A pivot high is a candle that has a higher high than the candles to its immediate left and right. Conversely, a pivot low is a candle with a lower low than its neighbors.
How it Works in the Script:
The script tracks the highest high and lowest low for each period of the selected timeframe (e.g., for each 4-hour candle). When a new high-timeframe candle closes, it stores that high/low value and its bar index in an array. The checkForPivot() function then checks if a recently stored high or low qualifies as a pivot.
Key Inputs:
Left Strength (leftBars1): The number of candles to the left that must have a lower high (for a pivot high) or higher low (for a pivot low).
Right Strength (rightBars1): The number of candles to the right that must meet the same criteria.
For example, with Left Strength and Right Strength both set to 3, a pivot high is only confirmed when its high is greater than the highs of the 3 previous high-timeframe candles and the 3 subsequent high-timeframe candles. Increasing these values will identify more significant, longer-term pivots.
Smart Money Technique (SMT) Divergence
SMT Divergence is a concept popularized by The Inner Circle Trader (ICT). It occurs when two closely correlated assets fail to move in sync. For instance, if Asset A makes a higher high but Asset B fails to do so and instead makes a lower high, this creates a bearish SMT divergence. It suggests that the "smart money" may not be supporting the move in Asset A, signaling a potential reversal.
Bearish SMT: Main asset makes a higher high, while the correlated asset makes a lower high. This is a potential sell signal.
Bullish SMT: Main asset makes a lower low, while the correlated asset makes a higher low. This is a potential buy signal.
How it Works in the Script:
Data Request: For each timeframe, the script uses the request.security() function to fetch the high and low data for both the main chart symbol (syminfo.tickerid) and the chosen Comparison Asset.
Pivot Comparison: When a new pivot is confirmed on the main asset, the script checks if a corresponding pivot also formed on the comparison asset at the same time.
Divergence Check: It then compares the direction of the pivots. For a bearish SMT, it checks if the main asset's new pivot high is higher than its previous pivot high, while the comparison asset's new pivot high is lower than its previous one. The logic is reversed for bullish SMT.
Visualization: If a divergence is found, the script draws a red (bearish) or green (bullish) line connecting the two pivots on your chart and places an "SMT" label.
Early SMT Detection
This is a proactive feature designed to give you a heads-up. Waiting for a 4-hour or daily pivot to form can take a long time. The early detection system looks for SMT divergences on a much smaller, user-defined Detection timeframe (e.g., 15-minute).
How it Works in the Script:
Awaiting Setup: After a primary pivot (Pivot A) is formed on the main timeframe (e.g., a Daily pivot high), the script begins monitoring.
Intraday Monitoring: It then watches the Detection timeframe (e.g., 15-minute) for smaller intraday pivots.
Potential Divergence: It looks for an intraday pivot that forms a divergence against the primary Pivot A.
Watchline & Alert: When this "potential" divergence occurs, the script draws a dashed white line and triggers a "Potential SMT" alert. This isn't a confirmed SMT on the main timeframe yet, but it's a powerful early warning that one may be forming.
Drawing & Object Management
To keep the chart clean and prevent performance issues, the script manages its drawings (lines and labels) efficiently. It stores them in arrays and uses a drawing limit to automatically delete the oldest drawings as new ones are created, ensuring your TradingView remains responsive.
How to Use the Indicator
Configuration
Enable Timeframes: Use the checkboxes (Enable Timeframe 1, Enable Timeframe 2, etc.) to activate the timeframes you want to monitor. It's often best to start with one or two to keep the chart clean.
Select Timeframes: Choose the higher timeframes you want to analyze (e.g., 240 for 4-hour, D for Daily, W for Weekly).
Set Pivot Strength: The default of 3 for Left/Right strength is a good starting point. Increase it to find more significant market structure points or decrease it for more frequent, shorter-term pivots.
Configure SMT:
Check Enable SMT for the timeframes where you want to detect divergence.
Enter a Comparison Asset . This is crucial. Ensure the assets are correlated.
To use the early warning system, check Enable early SMT detection and select an appropriate Detection timeframe (e.g., 15 or 60 minutes for a Daily analysis).
Institutional Sessions Overlay (Asia/London/NY)Institutional Sessions Overlay is a professional TradingView indicator that visually highlights the main trading sessions (Asia, London, and New York) directly on your chart.
Customizable: Easily adjust session start and end times (including minutes) for each market.
Timezone Alignment: Shift session boxes using the timezone offset parameter so sessions match your chart’s timezone exactly.
Clear Visuals: Colored boxes and optional labels display session opens and closes for fast institutional market structure reference.
Toggle Labels: Show or hide session open/close labels with a single click for a clean or detailed look.
Intuitive UI: User-friendly grouped settings for efficient configuration.
This tool is designed for day traders, institutional traders, and anyone who wants to instantly recognize global session timing and ranges for SMC, ICT, and other session-based strategies.
How to use:
Set your chart to your local timezone.
Use the "Session timezone offset" setting if session boxes do not match actual session opens on your chart.
Adjust the hours and minutes for each session as needed.
Enable or disable labels in the “Display” settings group.
Tip: Use the overlay to spot session highs and lows, volatility windows, and institutional liquidity sweeps.