PHIMIND 222 PHIMIND 222 stacks three reads of the same chart and only speaks when
all three agree.
WHAT IT DRAWS
• Supply and demand zones, marked from major swings, with a BOS label
left behind when price breaks one
• Volumized order blocks — bull and bear, with the buy/sell volume
split drawn inside each block and overlapping zones merged
• Swing structure tagged automatically: HH, LH, HL, LL
• BUY / SELL labels
• A rolling table of the last five signals — time, side, price, the
zone it tapped, the structure, and the bias at the time
THE SIGNAL
A signal needs three things to line up:
1. Price taps a demand zone or bullish order block (or supply /
bearish for a sell)
2. The swing is a higher low for a buy, a lower high for a sell
3. Structure bias agrees — a bull BOS for a buy, bear BOS for a sell
Turn OFF "Require BOS confirmation" for the looser 2-of-3 version:
zone plus swing, no bias needed. Fewer misses, more noise.
SETTINGS WORTH KNOWING
• Signals-Only Mode — hides zones, blocks and structure tags, leaves
just the arrows. Start here if the chart feels busy.
• Swing High/Low Length — the noise filter. Higher = fewer, bigger
swings. It drives the structure tags and the signals.
• Zone Count — how far back order blocks are kept on the chart.
• Zone Invalidation — Wick or Close. Wick kills a zone sooner.
Works on any symbol and any timeframe. Everything is toggleable, so
run the full picture or strip it to arrows.
Built on open-source Smart Money and volumized order-block work from
the PulseWire community. Added here: the three-way confluence gate,
the automatic HH/LH/HL/LL tagging, Signals-Only mode, and the last-five
signal table.
This is a charting tool, not advice. It marks structure and zones — it
does not know Indicator

CORTEX MULTI-TIMEFRAME POI ENGINE# CORTEX MULTI-TIMEFRAME POI ENGINE
The CORTEX MULTI-TIMEFRAME POI ENGINE is a rules-based PulseWire indicator designed to identify, qualify, and manage supply-and-demand Points of Interest across multiple structural timeframes.
Rather than marking every pivot, opposing candle, or conventional order block, CORTEX applies a structured qualification process built around confirmed market structure, consolidation quality, displacement, retracement depth, imbalance, liquidity proxies, and breaker-block behavior.
## Multi-Timeframe Market Structure
CORTEX organizes market location into three distinct layers:
- **Daily POIs** establish higher-timeframe macro location.
- **H4 POIs** identify intermediate structural areas.
- **M15 and M5 AM-session POIs** support intraday refinement on NQ and ES.
Daily, H4, M15, and M5 layers are independently controlled, allowing traders to reduce chart clutter and focus only on the context relevant to their current workflow.
## POI Qualification
A standard CORTEX POI progresses through an objective detection pipeline:
1. Meaningful retracement
2. Compressed base formation
3. Institutional Footprint Candle refinement
4. Directional displacement
5. Mandatory break of structure
6. Liquidity and imbalance evaluation
7. Width and location validation
8. Transparent quality scoring
9. Confirmed zone creation
Break of structure is mandatory. Additional characteristics contribute to a configurable quality score rather than relying on unexplained probability claims.
Available qualification modes include:
- **Loose** for broader structural identification
- **Balanced** for the recommended combination of quality and frequency
- **Strict** for selective, higher-confluence zones
- **Custom** for complete user control
## Breaker-Block Fusion
The engine includes an independently developed ICT breaker-block module.
A potential order block becomes a breaker only after a later confirmed candle closes through its opposite boundary. Wick-only violations do not qualify.
Breaker blocks may:
- Create standalone breaker POIs
- Add confluence to existing supply or demand zones
- Merge with overlapping, same-direction POIs
- Refine the final area to the valid price intersection
- Increase the zone’s score without exceeding 100
Merged areas are classified as **Breaker-Confluent POIs**, helping distinguish ordinary structural zones from areas supported by a confirmed failed-block transition.
## CORTEX AM Session POI Layer
The intraday module is designed specifically for NQ and ES during the default **08:00–11:00 America/New_York** session.
It provides:
- M15 POIs on M15 and M5 charts
- M5 POIs on M5 charts
- Automatic daylight-saving adjustment
- Automatic NQ and ES futures-root recognition
- Optional manual instrument override
- Confirmed post-session BOS allowance
- Independent demand, supply, timeframe, and display controls
Mandatory default width limits are:
- **NQ: 250 ticks**
- **ES: 40 ticks**
Zone width is calculated using the instrument’s native minimum tick size. Candidates exceeding the applicable limit are rejected before publication.
## Transparent Scoring
Each POI receives an objective score from 0 to 100. Depending on the selected mode and timeframe, the score may incorporate:
- Confirmed BOS
- Base quality
- Retracement depth
- Departure strength
- Liquidity sweep
- Fair-value gap or imbalance
- Resting-liquidity proxy
- Breaker-block confluence
Scores and classifications can be displayed directly on zone labels and in the Data Window.
## Zone Lifecycle Management
Every confirmed POI is actively managed through the following lifecycle:
- **Fresh**
- **Tested**
- **Mitigated**
- **Invalidated**
- **Expired**
Users can configure mitigation and invalidation behavior, retain invalidated zones for historical review, and control how long intraday zones remain available.
## Non-Repainting Design
CORTEX uses confirmed source-timeframe information for zone creation.
Higher-timeframe results are transported using confirmed historical offsets, preventing unfinished Daily, H4, M15, or M5 candles from publishing premature zones. A confirmed POI may be anchored to its original footprint candle, but it does not become logically active before its qualifying structure is complete.
This deliberate confirmation delay is intended to support stable behavior across:
- Historical charts
- Realtime execution
- PulseWire Bar Replay
## Diagnostics and Alerts
The CORTEX diagnostics dashboard reports:
- Latest qualification stage
- Signals detected
- Candidates awaiting BOS
- Width-filter rejections
- Breaker flips
- Zones retained
- Session status
- Detected instrument
- Applicable tick limit
- Chart-timeframe compatibility
Alerts are available for new POIs, breaker zones, confluence, first tests, mitigation, and invalidation. Alerts should be configured for **Once Per Bar Close**.
## Intended Workflow
CORTEX is designed to support a top-down process:
1. Use Daily zones to establish macro location.
2. Use H4 zones to refine structural context.
3. Use M15 zones for intraday directional areas.
4. Use M5 zones for lower-timeframe refinement.
5. Evaluate price behavior at qualified zones rather than treating every zone as an automatic entry.
CORTEX does not claim to identify actual institutional orders. Supply, demand, liquidity, imbalance, and breaker classifications are objective technical proxies derived from price action.
This indicator is an analytical framework—not financial advice or a guarantee of future performance. Traders should combine it with appropriate confirmation, risk management, and independent judgment. Indicator

2pac futures times 3AM & 11AM Candle Boxes (NY Time)
---
**3AM & 11AM Candle Box — New York Time Session Levels**
This indicator marks two of the most-watched clock-time candles on any 5-minute chart: the candle that opens at **3:00 AM New York time** and the one that opens at **11:00 AM New York time**. Each candle's high and low get boxed in — grey for the 3AM candle, blue for the 11AM candle — and the box can stretch forward in real time so that level stays visible as price continues to trade through the day.
Why these two times matter: 3:00 AM NY sits right around the London session ramp-up, often marking the range price consolidates in before the New York session opens. 11:00 AM NY falls in the middle of the NY AM session, a common checkpoint traders use to judge whether the morning's move has real follow-through or is starting to stall. Boxing both gives you two clean, objective reference zones without having to eyeball chart time stamps.
**How to use it for entries**
The most common way to trade off these boxes is a **break and retest**: wait for price to close outside the box (above for a long idea, below for a short), then watch for price to pull back and test that broken edge as new support or resistance before continuing in the breakout direction. A stop typically sits just on the other side of the box; a target is usually the next visible structure, prior high/low, or a fixed risk-multiple.
**Confluence** is what separates a random break from a higher-quality one — look for the retest to line up with other things you already trust: a prior day's high/low, a round number, a VWAP touch, or a higher-timeframe trendline. The more of those stacking at the same retest zone, the more weight that level tends to carry.
Both boxes are fully adjustable — time, color, and whether they extend live or stop at a fixed width — so this works as a standalone session marker or as one more layer of confluence in a broader system.
*Not financial advice — for educational and charting purposes only.* Indicator

PolarLabs - SMC OB & Sweep SetupPolarLabs - SMC OB & Sweep Setup
SMC OB & Sweep Setup is a price-action indicator built around Smart Money Concepts (SMC). It looks for potential trade setups by combining liquidity sweeps, market structure breaks, Fair Value Gaps (FVGs), and Order Blocks (OBs).
The script follows a confirmation-based process:
1. Liquidity Sweep
It detects when price sweeps a previous swing high or swing low, then rejects back inside the level with a meaningful wick. This may indicate a potential liquidity grab.
2. Market Structure Confirmation
After a sweep, the indicator waits for price to break the opposing swing structure:
• Bearish setup: sweep above a swing high, followed by a bearish break of structure.
• Bullish setup: sweep below a swing low, followed by a bullish break of structure.
3. Fair Value Gap Filter
A valid setup also requires a Fair Value Gap to be present during the confirmation move, helping filter for stronger displacement.
4. Order Block and Risk Levels
Once confirmed, the script draws:
• The Order Block zone
• The Break of Structure (BOS) level
• Suggested Stop Loss level
• Take Profit 1 at 1:1 risk-to-reward
• Take Profit 2 at 1:2 risk-to-reward
Risk buffers can be calculated using either:
• ATR-based buffer — adapts to current market volatility
• Order Block range percentage — uses the size of the detected Order Block
How to read the chart:
• “Sweep” label: price has taken liquidity above/below a previous swing point and rejected.
• “BOS” label: market structure has been broken and the setup is confirmed.
• Red Order Block: potential bearish zone.
• Green Order Block: potential bullish zone.
• Red dotted line: Stop Loss.
• Green dotted line: TP1 (1R).
• Blue dotted line: TP2 (2R).
Important:
This indicator is designed to highlight potential SMC-based setups, not to guarantee profitable trades. Market structure, liquidity concepts, and Fair Value Gaps are interpreted algorithmically and may not match every trader’s discretionary definition. Always confirm setups with your own analysis and apply proper risk management.
Feedback, suggestions, and improvement ideas are welcome! Indicator

Institutional SMC & Order Flow Matrix PROInstitutional SMC & Order Flow Matrix PRO
Institutional SMC & Order Flow Matrix PRO is a clean, modern, and highly versatile technical charting tool engineered for traders practicing Smart Money Concepts and Order Flow Trading. Built with a focus on visual clarity, it eliminates unnecessary chart clutter by utilizing auto mitigating execution zones, swing anchored market structure lines, and an intelligent trend heatmap.
Key Features Overview
1. Precision Anchored Market Structure
Tracks Break of Structure and Change of Character signals with extreme precision. Lines originate directly from actual swing high or low pivot prices, while structure text labels sit neatly in the center of lines to prevent candle overlap.
2. Smart Auto Mitigating Order Block Zones
Automatically maps active institutional order blocks and imbalance execution zones. Mitigated zones automatically vanish from your chart once price fills the imbalance, keeping your workspace clean and professional.
3. Institutional Candle Heatmap
Features dynamic candlestick coloring driven by macro structural pivots. Bullish trend phases render in clean vibrant green, bearish phases in deep red, and high momentum displacement candles highlight in glowing gold.
4. Major Intermediate Term High and Low Badges
Automatically detects macro structural extremes. Displays solid red Intermediate Term High badges at major resistance tops and green Intermediate Term Low badges at major support bottoms.
5. Complete Manual Customization Suite
Includes comprehensive user settings for every element. Customize line styles, line thickness, border widths, box transparency, text alignment, text colors, and font sizes.
How to Use
Step 1: Identify Macro Trend Bias
Observe the Institutional Candle Heatmap theme to quickly determine current directional order flow.
Step 2: Monitor Centered Structure Signals
Look for precise Break of Structure lines and Change of Character signals anchored directly from swing points.
Step 3: Spot Gold Displacement Candles
Identify gold highlighted expansion candles that create fresh institutional order blocks.
Step 4: Trade Active Execution Zones
Utilize unmitigated bullish and bearish order block zones for high probability entries.
Settings Overview
Market Structure Settings
- Show Market Structure: Toggle structural line displays.
- Line Style and Thickness: Choose between Solid, Dashed, or Dotted lines with adjustable width.
Order Block Zone Settings
- Show Active Order Blocks: Toggle order block rectangles.
- Zone Fill Transparency: Adjust fill opacity from 0 to 100.
- Zone Text Settings: Customize display text, text alignment, font size, and text color.
Major Pivot Settings
- Show Major ITH / ITL Badges: Toggle visibility of macro pivot badges.
- Sensitivity: Adjust pivot lookback sensitivity.
Candle Heatmap Settings
- Enable Trend Candle Heatmap: Toggle dynamic trend candles and gold displacement highlights.
Disclaimer
This indicator is built strictly for educational, analytical, and charting enhancement purposes. It does not provide financial advice, trade recommendations, or guaranteed results. Always apply proper risk management principles. Indicator

[Kpt-Ahab] Poor Man's Orderflow Simple AlgoPilotImportant Notice and Risk Warning
The published settings were selected solely based on historical data for the asset and timeframe shown.
The displayed result may be random or over-optimized and cannot automatically be transferred to other assets, timeframes, or future market conditions. Even with the presented settings, the strategy may cause significant losses at any time, including the complete loss of the allocated strategy capital.
This script is intended exclusively for analysis and testing purposes. It does not constitute investment advice or a trading recommendation.
Description
This script uses reused and adapted code components from ** Auto RiskManagement & Backtest System 2.1b** and the ** Poor Mans Orderflow Simulator **.
These components have been combined into a standalone strategy that integrates simplified orderflow signals with position management, risk management, and backtesting functions.
How It Works
The strategy uses a simplified approximation of orderflow. It evaluates the relationship between candle body size and candle range, relative volume, candle direction, and recurring absorption and impulse events.
It does not use actual bid/ask, footprint, Level 2, or order book data.
Depending on the selected signal mode, direct breakouts, confirmed absorption clusters, impulse candles, or combinations of these conditions may generate long and short signals.
Position and Risk Management
The script supports, among other features:
* Long and short positions
* Fixed or trailing stop-loss levels
* Multiple partial profit targets
* Breakeven after the first profit target
* Optional additional entries
* Further entries may also be disabled after the specified total number of losing trades has been reached or when the maximum permitted drawdown is exceeded.
* Internal or external trading signals
* Automatic parameters based on asset class and timeframe
Additional entries and simulated leverage may significantly increase the risk of loss.
Backtest Limitations
Strategy Tester results are based exclusively on historical market data. Real-world results may differ significantly due to commissions, spreads, slippage, liquidity, price gaps, and execution delays.
Past performance is not a reliable indication of future results.
Position Closing Settings
The **Open Position Signals** setting determines how new signals are handled while a position is already open:
* **Wait-End-Deal:** All indicator signals are ignored until the current position has ended.
* **Wait-Signal-Close:** Only explicit signals for closing a long or short position are processed.
* **Wait-Reversal:** An opposing entry signal may also close the current position.
Several closing conditions are available for the integrated orderflow logic. For example, a position may be closed by an opposing impulse, a combination of a cluster and an impulse, or a confirmed opposing entry signal.
Further trading may also be restricted after a specified number of losing trades or when the maximum permitted drawdown is reached.
Trailing Stop, Breakeven, and Liquidation Line
The strategy supports both a fixed stop-loss and a trailing stop. The selected percentage represents the direct price distance from the average entry price and is not automatically adjusted by the simulated leverage.
In trailing mode, the stop is only moved in a direction that is favorable to the position. If the average entry price changes due to an additional entry, the existing stop is adjusted accordingly.
The stop may optionally be moved to the average entry price after the first profit target has been reached. A stop mode must be enabled for this function to operate.
The displayed liquidation line is only an internal estimate based on the simulated position and account values. It may differ significantly from the actual liquidation calculation used by a broker or exchange.
Using External Indicators
An external numerical signal source may be used instead of the integrated Poor Man’s Orderflow Simulator.
The external indicator must provide a selectable plot series containing the following values:
* **+1:** Long or buy signal
* **−1:** Short or sell signal
* **+2:** Close short position
* **−2:** Close long position
All other values, including `na`, produce no new signal.
The external indicator must output the required numerical values through a selectable plot. This plot can then be selected under **External Source**.
Whether and how an external signal is processed while a position is open also depends on the selected **Open Position Signals** setting.
-----------------------------------
Wichtiger Hinweis und Risikowarnung
Die veröffentlichten Einstellungen wurden ausschließlich anhand historischer Daten für das dargestellte Asset und den verwendeten Zeitrahmen gewählt.
Das Ergebnis kann zufällig oder überoptimiert sein und lässt sich nicht automatisch auf andere Assets, Zeitrahmen oder zukünftige Marktphasen übertragen. Auch mit den dargestellten Einstellungen kann die Strategie jederzeit erhebliche Verluste verursachen und das eingesetzte Strategiekapital vollständig verlieren.
Dieses Skript dient ausschließlich zu Analyse- und Testzwecken und stellt keine Anlageberatung oder Handelsempfehlung dar.
Beschreibung
Dieses Skript verwendet wiederverwendete und angepasste Codebestandteile aus Auto RiskManagement & Backtest System 2.1b und dem Poor Mans Orderflow Simulator .
Die Komponenten wurden zu einer eigenständigen Strategie verbunden, die vereinfachte Orderflow-Signale mit Positions-, Risiko- und Backtestfunktionen kombiniert.
Funktionsweise
Die Strategie verwendet eine vereinfachte Annäherung an Orderflow. Sie wertet das Verhältnis von Kerzenkörper und Handelsspanne, relatives Volumen, Kerzenrichtung sowie wiederkehrende Absorptions- und Impulsereignisse aus.
Dabei werden keine echten Bid-/Ask-, Footprint-, Level-2- oder Orderbuchdaten verwendet.
Abhängig vom gewählten Signalmodus können direkte Ausbrüche, bestätigte Absorptionscluster, Impulskerzen oder Kombinationen dieser Bedingungen Long- und Short-Signale erzeugen.
Positions- und Risikomanagement
Das Skript unterstützt unter anderem:
Long- und Short-Positionen
feste oder nachlaufende Stop-Loss-Marken
mehrere Teilgewinnziele
Breakeven nach dem ersten Gewinnziel
optionale zusätzliche Einstiege
Drawdown-Begrenzung und Begrenzung nach einer festgelegten Anzahl an Verlusttrades
interne oder externe Handelssignale
automatische Parameter nach Assetklasse und Zeitrahmen
Zusätzliche Einstiege und ein simulierter Hebel können das Verlustrisiko deutlich erhöhen.
Einschränkungen des Backtests
Die Ergebnisse des Strategietesters basieren ausschließlich auf historischen Kursdaten. Reale Ergebnisse können durch Gebühren, Spread, Slippage, Liquidität, Kurslücken und Ausführungsverzögerungen erheblich abweichen.
Vergangene Ergebnisse sind kein verlässlicher Hinweis auf zukünftige Ergebnisse.
Schließungseinstellungen
Über **Open Position Signals** wird festgelegt, wie neue Signale während einer bereits geöffneten Position behandelt werden:
* **Wait-End-Deal:** Alle Indikatorsignale werden bis zum Ende der Position ignoriert.
* **Wait-Signal-Close:** Nur ausdrückliche Signale zum Schließen einer Long- oder Short-Position werden berücksichtigt.
* **Wait-Reversal:** Zusätzlich kann ein entgegengesetztes Einstiegssignal die aktuelle Position schließen.
Für die integrierte Orderflow-Logik stehen verschiedene Schließungsbedingungen zur Verfügung. Eine Position kann beispielsweise durch einen gegensätzlichen Impuls, eine Kombination aus Cluster und Impuls oder ein bestätigtes entgegengesetztes Einstiegssignal geschlossen werden.
Zusätzlich kann der weitere Handel nach einer festgelegten Anzahl an Verlusttrades oder beim Erreichen des maximal erlaubten Drawdowns begrenzt werden.
Trailing-Stop, Breakeven und Liquidationslinie
Die Strategie unterstützt einen festen Stop-Loss sowie einen nachlaufenden Trailing-Stop. Der eingestellte Prozentwert beschreibt dabei den direkten Abstand zum durchschnittlichen Einstiegspreis und wird nicht automatisch durch den simulierten Hebel verändert.
Im Trailing-Modus wird der Stop nur in eine für die Position günstigere Richtung nachgezogen. Verändert sich der durchschnittliche Einstiegspreis durch einen zusätzlichen Einstieg, wird auch der bestehende Stop entsprechend angepasst.
Optional kann der Stop nach dem Erreichen des ersten Gewinnziels auf den durchschnittlichen Einstiegspreis verschoben werden. Hierfür muss ein Stop-Modus aktiviert sein.
Die angezeigte Liquidationslinie ist lediglich eine interne Schätzung auf Basis der simulierten Positions- und Kontowerte. Sie kann deutlich von der tatsächlichen Liquidationsberechnung eines Brokers oder einer Börse abweichen.
Verwendung externer Indikatoren
Anstelle des integrierten Poor-Man’s-Orderflow-Simulators kann eine externe numerische Signalquelle verwendet werden.
Hierfür muss der externe Indikator eine auswählbare Plot-Serie mit den folgenden Werten ausgeben:
* **+1:** Long- beziehungsweise Kaufsignal
* **−1:** Short- beziehungsweise Verkaufssignal
* **+2:** Short-Position schließen
* **−2:** Long-Position schließen
Bei allen anderen Werten oder bei `na` wird kein neues Signal ausgeführt.
Der externe Indikator muss die benötigten Zahlenwerte direkt über einen auswählbaren Plot bereitstellen. Anschließend wird dieser Plot unter **External Source** ausgewählt.
Ob und wie ein externes Signal während einer geöffneten Position verarbeitet wird, hängt zusätzlich von der gewählten Einstellung unter **Open Position Signals** ab. Strategy

Indicator

Indicator

MSnR CC Level [6 Types]MSnR CC Level
This script detects and maps Confirmation Candle (CC) levels, a 3-candle confirmation structure that checks whether a previously created level gets touched and rejected by the latest closed candle while keeping directional continuation.
Rather than looking at single swing points, CC detection requires a specific three-part pattern to validate a level. The result is a complete structural map of confirmed rejections inside the scan window, with each of the six CC types drawn so it can be told apart at a glance.
WHAT MAKES THIS DIFFERENT
1. Complete structural confirmation, not just arbitrary levels.
Most level tools draw lines where price has simply turned around. This tool requires a strict 3-candle structural proof. A level must be established, tested, and actively rejected with continuation to be drawn on the chart.
2. Identifies six distinct CC structures.
The script distinguishes between A CC, V CC, Bullish Gap CC, Bearish Gap CC, SBR CC, and RBS CC. The type is visually indicated, so you know exactly what structure formed the level without having to check the candles manually.
3. SBR and RBS are one-shot dynamic flips.
When an established level is broken, the script immediately starts looking for the very next candle to act as the signal candle, confirming a Support Become Resistance (SBR) or Resistance Become Support (RBS) setup.
THE SIX CC TYPES
A candle is Green when close is greater than or equal to open (a Doji counts as Green) and Red when close is less than open. The running candle is never used.
For the first four types, a 3-candle sequence is evaluated:
- Candle 1 establishes the reference level (the close of the first candle).
- Candle 2 provides the middle structure.
- Candle 3 is the signal candle that must reject the level and maintain directional strength.
V CC (Bullish)
Red, Green, Green. The signal candle low touches the V level, the body remains above it, and its close is greater than or equal to the middle candle's close.
Bullish Gap CC
Green, Green, Green. Follows the same touch, body, and continuation rules as the V CC.
A CC (Bearish)
Green, Red, Red. The signal candle high touches the A level, the body remains below it, and its close is less than or equal to the middle candle's close.
Bearish Gap CC
Red, Red, Red. Follows the same touch, body, and continuation rules as the A CC.
For the broken levels:
SBR CC
When a support level breaks down, the very next candle must act as the signal candle. It must reject the freshly flipped level from below, satisfying the same touch, body, and continuation rules as a bearish CC.
RBS CC
When a resistance level breaks up, the very next candle must act as the signal candle. It must reject the freshly flipped level from above, satisfying the same touch, body, and continuation rules as a bullish CC.
READING THE CHART
Colour tells you the side:
- Red labels: bearish rejections. A CC, Bearish Gap CC, SBR CC.
- Green labels: bullish rejections. V CC, Bullish Gap CC, RBS CC.
Each CC level starts at the candle that created its structure and extends to the right. The labels sit cleanly at the right edge of the chart to keep the price action visible. If multiple CC levels form at the same price, their labels are merged into a single entry to keep the chart clean. Nearby labels are automatically staggered horizontally to avoid overlap.
SETTINGS
Scan
- Scan Length (closed candles): how many closed candles are scanned backwards from the latest bar. Every CC Level found inside this window is drawn. The running candle is always excluded.
Display
- An individual switch for each of the six CC types, plus a toggle for the text labels.
Style
- Level Line Color, Label Size, and spacing options. You can adjust the distance used to merge same-price labels, the gap before staggering, and the horizontal stagger step.
ALERTS
Six alert conditions are available: A CC, V CC, Bullish Gap CC, Bearish Gap CC, SBR CC and RBS CC.
Each message carries the level type, the symbol, the timeframe and the closing price. The same messages are also sent through the alert function, so the "Any alert() function call" alert type can deliver everything through a single alert.
All alerts are evaluated only after a candle has fully closed.
REPAINTING
This script does not repaint.
- Detection reads confirmed candles only. The scan starts one bar behind the latest bar, so the candle that is still forming is never part of any calculation.
- Alert signals can only become true once a candle has finished. Price moving inside an open candle cannot make a signal appear and then disappear.
- Levels are rebuilt on the last bar from confirmed history. A level's price never moves. Once drawn, nothing shifts backwards.
When you create an alert, PulseWire may show a caution banner saying the indicator can repaint. That banner appears automatically for any script that uses the built in bar state variables, no matter how they are used, because the platform cannot check the intent behind them. This script uses them for the opposite purpose: one of them is what restricts every signal to bar close, and the other is what redraws the levels efficiently on the final bar. Choosing "Once Per Bar Close" when creating the alert is still recommended.
NOTES AND LIMITATIONS
- PulseWire caps drawings at 500 lines and 500 labels. A very long Scan Length will hit that ceiling and the oldest drawings will be dropped.
- The label offset and merge gap are measured in ticks. Expect to adjust these settings when moving between symbols with different tick values.
- Detection is purely structural. It reports where valid CC patterns have formed. It does not measure what happened afterwards, or produce entries, targets or stops.
HOW TO USE IT
Use these CC levels to map where the market has shown confirmed structural rejection. Areas where multiple CC structures stack together often represent stronger zones of interest.
These are reference areas, not automated entry signals. Use them alongside higher timeframe structure, and apply your own confirmation and risk management.
DISCLAIMER
This indicator is a level detection tool. It is not financial advice and it makes no claim about profitability. Trading involves risk. Always apply your own analysis and risk management. Indicator

Indicator

CM - Bollinger Bands Mean Reversion [CriptoMatiko]This indicator tracks **Bollinger Bands mean reversion signals**, replicating the entry and exit logic of a Python backtester that evaluated 81 long + 81 short parameter combinations on ETH/USDT 4H (Bybit Futures Linear, Mar 2025 – Aug 2026).
**The central finding:** the stop loss matters more than the band parameters.
| Setup | Direction | SL | Trades | Win Rate | Return |
|---|---|---|---|---|---|
| Standard (what tutorials teach) | Long | 2% | 110 | 38% | **-22.8%** |
| Optimized (indicator default) | Long | 1% | 110 | 38.2% | **+16.0%** |
| Buy & Hold ETH (same period) | — | — | — | — | -1.2% |
Same indicator. Same band parameters (20, 2.0). Different stop loss.
**Short side (optional):**
BB(20,2) shorts returned -17.4% — avoid with these settings. The optimizer found that shorts require different parameters: BB(10, 2.5) SL=1% TP=3R → +8.9% (Sharpe 7.81, 23 trades). Enable via the "Allow Short" input and adjust the parameters accordingly.
---
**Signal logic:**
- Long signal: bar closes **below** the lower Bollinger Band (no open position)
- Short signal: bar closes **above** the upper Bollinger Band (no open position)
- Entry: executed at the **next bar's open** (no lookahead)
**Exit logic — three mechanisms:**
1. **SL**: price hits SL% below (long) or above (short) the entry price
2. **TP**: price hits TP_ratio × risk from entry
3. **BB_UP / BB_DN**: bar closes beyond the opposite band (mean reversion complete)
**Default parameters (best Sharpe from 81-config long optimization):**
- BB Period: 20 | Std Deviation: 2.0 | Stop Loss: 1.0% | TP Ratio: 2.0R
**What makes this different from other BB indicators:**
- Parameters derived from a grid search (3 periods × 3 std devs × 3 SL% × 3 TP ratios × long/short/both)
- Simulated position tracking: entry marks appear on the next bar's open, matching backtester logic
- Three exit mechanisms with distinct markers (SL ✕ / TP ✓ / BB reversion ▽)
- SL and TP levels displayed as live lines during open position
- Short side included but with honest disclosure: BB(20,2) shorts underperform
- Uses ddof=1 standard deviation (biased=false) to match Python pandas behavior exactly
**Note:** This is an indicator with simulated position tracking, not a strategy. It shows signals and approximate trade timing for visual reference. For exact backtesting and the full optimizer: see GitHub link below.
**Tested on:** ETH/USDT 4H, Bybit Futures Linear. Validate on your own pair before using with real capital. Past performance does not guarantee future results. Indicator

Indicator

Session Levels Pro
**Session Levels Pro: PDH/PDL, Asia H/L, Premarket H/L, OR, FVG, POC**
A multi-session context tool that plots the key reference levels intraday traders use to read price action, all in one indicator.
**What it plots:**
- **Previous Day High / Low** — prior session's high and low, drawn as dotted lines
- **Asia Session High / Low** — high/low of the Asia trading window (default 18:00–03:00 exchange time), useful for spotting liquidity sweeps into the London/NY session
- **Premarket High / Low** — high/low of the pre-market session (default 04:00–09:30), plus **0.5 and 0.618 Fibonacci retracements** of that range — common reaction/reversal zones
- **Opening Range (OR)** — a box marking the high/low of the first few minutes after the regular session opens (default 09:30–09:45)
- **Fair Value Gaps (FVG)** — 3-candle imbalance zones, auto-drawn as boxes and automatically removed once price trades back through (mitigates) them
- **Session POC** — an approximate volume Point of Control for the current day, calculated from a volume-by-price histogram, plotted as a dotted line at the highest-volume price
**Why it's useful:**
These are the levels many day traders watch for liquidity grabs, mean-reversion, and breakout confirmation — previous day/Asia/premarket extremes often act as support/resistance, the OR defines the day's initial balance, FVGs mark imbalance the market may return to "fill," and POC shows where the heaviest trading activity occurred.
**Customization:**
Every element (sessions, colors, fib levels, FVG mitigation, POC bin count) is togglable and adjustable in the indicator settings, grouped by feature.
**Notes:**
- Best on intraday timeframes (1m–15m).
- Default session times assume US market hours in exchange timezone — adjust Asia/Premarket/OR session strings in settings if your instrument or broker uses different hours.
- POC is an approximation (histogram built from `hlc3` and bar volume), not a true tick-level volume profile. Indicator

Pipstorm & SessionsThis indicator is designed to help traders identify the behavior of price during the major forex trading sessions: Asian, London, New York AM, and New York PM.
It automatically highlights each trading session on the chart, making it easy to analyze session ranges, volatility, and market structure.
Key Features
Automatically marks Asian, London, NY AM, and NY PM sessions.
Displays each session's trading range with colored boxes.
Helps identify session highs and lows.
Useful for spotting liquidity grabs, breakouts, and reversals.
Supports Smart Money Concepts (SMC), ICT, and price action trading strategies.
Clean and simple visual layout for better chart analysis.
How It Can Be Used
Trade London breakouts after the Asian session.
Identify New York reversals and continuation setups.
Monitor liquidity above session highs and below session lows.
Improve entry and exit timing using session-based market behavior.
Suitable for Gold (XAU/USD), Forex pairs, and major indices.
Best Timeframes
Works effectively on M5, M15, M30, and H1 charts.
Disclaimer
This indicator is an analytical tool and should be used alongside proper risk management and market confirmation. It does not guarantee profitable trades. Indicator

MSnR Fresh & Unfresh LevelMSnR Fresh & Unfresh Level
This script tracks the real-time strength of support and resistance levels by assigning them one of two states: Fresh or Unfresh.
Every new level—whether it is an A Level, V Level, Bullish Gap, or Bearish Gap—starts its life in the strongest possible state: Fresh. As price action continues and interacts with these levels, their state changes based on exactly how price reacts to them. This provides an ongoing read of a level's current structural importance.
WHAT MAKES THIS DIFFERENT
1. Dynamic state tracking.
Most tools draw a line and leave it there forever. This indicator constantly monitors price interaction with every level. If a level is touched and rejected, its state updates. If it is broken, its state updates again. The chart always shows what the level means right now, not what it meant when it was created.
2. Breakouts revive old levels.
A level that has been tested multiple times doesn't just die. If price finally closes through it, breaking out to the other side, that level flips its role (support becomes resistance, or vice versa) and becomes Fresh all over again.
3. Clear visual distinction.
The two states are instantly recognizable through color coding. Fresh levels are displayed in deep green, while Unfresh levels are displayed in deep red. You don't need to guess whether a zone has been tested; the color tells you at a glance.
4. Built on market structure.
Levels are not arbitrary lines. They are built precisely from A Levels, V Levels, Bullish Gaps, and Bearish Gaps, using the closes as the level prices. This anchors everything in actual market agreement rather than just wicks.
THE TWO STATES
Fresh
The strongest state a level can be in. A level is Fresh under two conditions:
- When it is newly created. It has not yet been touched or tested on its current side.
- When it undergoes a breakout. If price closes through an existing level, the level flips to the opposite side and becomes Fresh again, because it is entirely untested in its new role.
Unfresh
A level that has been tested but still holds. A level becomes Unfresh when price comes back to it, touches it with a wick (High or Low), and gets rejected without closing through it. This means the market has reacted to the level at least once. While still a valid reference point, it is structurally weaker than a Fresh level.
HOW A LEVEL CHANGES STATE
Every level is continuously re-evaluated against new price action. The state transitions work like this:
Rejection -> Unfresh
For a resistance level (A Level, Bearish Gap), if the High touches the level but the Close stays below it, the level has been rejected and becomes Unfresh.
For a support level (V Level, Bullish Gap), if the Low touches the level but the Close stays above it, the level has been rejected and becomes Unfresh.
Breakout -> Fresh (and Flip)
For a resistance level, if price Closes above it, this is a breakout. The level flips to become support and becomes Fresh again.
For a support level, if price Closes below it, this is a breakout. The level flips to become resistance and becomes Fresh again.
Breakouts always take priority. If a single candle touches a level and then closes through it, that is a breakout, not a rejection. A single level can toggle back and forth between Fresh and Unfresh many times as it gets rejected, broken, rejected again, and broken again.
READING THE CHART
The visual language is straightforward:
- Green line and green label: The level is currently Fresh.
- Red line and red label: The level is currently Unfresh.
Both the line and the label update their color automatically when a level changes state. Lines extend forward from the point the level was created, and the label sits at the origin. You can easily spot clusters of Fresh levels or areas where multiple Unfresh levels indicate heavy previous testing.
SETTINGS
Scan
- Scan Length (closed candles): how many closed candles are scanned backwards. Every level inside that window is monitored and drawn.
Display
- Show Fresh Levels: Toggle visibility of levels currently in the Fresh state.
- Show Unfresh Levels: Toggle visibility of levels currently in the Unfresh state.
- Show Text Labels: Toggle the text labels on the levels.
Style
- Fresh Level Line Color: The color of the line for levels currently in the Fresh state.
- Unfresh Level Line Color: The color of the line for levels currently in the Unfresh state.
- Label Offset (ticks): How far the label sits above or below the level. This is measured in ticks, so adjust it depending on the asset you are trading.
- Label Size: The size of the text labels drawn at each level.
ALERTS
Three alert conditions are available: Fresh Created, Fresh -> Unfresh, and Unfresh -> Fresh.
Each message carries the event type, the symbol, the timeframe and the closing price. The same messages are also sent through the alert function, so the "Any alert() function call" alert type can deliver everything through a single alert.
All alerts are evaluated only after a candle has fully closed.
REPAINTING
This script does not repaint.
- Detection reads confirmed candles only. The scan starts one bar behind the latest bar, so the candle that is still forming is never part of any calculation.
- Alert signals can only become true once a candle has finished. Price moving inside an open candle cannot make a signal appear and then disappear.
- Levels are rebuilt on the last bar from confirmed history. A level's price never moves. Its state can change, but only forward and only when a candle CLOSES through it or rejects from it. Once drawn, nothing shifts backwards.
When you create an alert, PulseWire may show a caution banner saying the indicator can repaint. That banner appears automatically for any script that uses the built in bar state variables, no matter how they are used, because the platform cannot check the intent behind them. This script uses them for the opposite purpose: one of them is what restricts every signal to bar close, and the other is what redraws the levels efficiently on the final bar. Choosing "Once Per Bar Close" when creating the alert is still recommended.
NOTES AND LIMITATIONS
- This chart can become dense. Since every candle pair forms a level, a wide scan window will produce many levels. If you want fewer lines, lower the Scan Length.
- PulseWire caps drawings at 500 lines and 500 labels. A very long Scan Length will hit that ceiling and the oldest drawings will be dropped. The default is chosen to stay well inside it.
- The label offset is measured in ticks, and a tick is worth a very different amount on a crypto pair than on a forex pair. Expect to adjust it when you move between symbols.
- Level prices come from closes, so a level can sit in the middle of a long wick. That is deliberate, not a bug.
- The same level can toggle between Fresh and Unfresh multiple times. This is the intended behavior reflecting the ongoing story of market structure.
HOW TO USE IT
Use the states to gauge the strength of support and resistance zones. Fresh levels represent untouched, maximum-strength zones, making them ideal areas to watch for initial reactions. Unfresh levels indicate areas where price has already struggled, showing proven but potentially weakening support or resistance.
When multiple Fresh levels cluster together, it signals a highly confluent, untested zone. Breakouts that convert a cluster of old levels into Fresh levels in the opposite direction can signal significant structural shifts.
These are structural references, not automatic entry signals. Use them alongside higher timeframe context, and apply your own confirmation and risk management.
DISCLAIMER
This indicator is a level detection tool. It is not financial advice and it makes no claim about profitability. Trading involves risk. Always apply your own analysis and risk management. Indicator

Strategy

ATR Range FilterHere's a description you can paste into the publish dialog:
ATR Range Filter
Highlights candles whose range is unusually large relative to recent volatility.
What it does
For every bar, the script divides the bar's range (high − low) by the Average True Range. If that ratio meets or exceeds your threshold — 1.5 by default — the bar is redrawn with a custom border and wick colour. All other bars are left untouched, so your normal chart styling shows through.
How it works
ATR uses Wilder's (RMA) smoothing, the standard definition, with a configurable lookback (default 14). The comparison is (high − low) ÷ ATR, so the threshold reads directly as a multiple: 1.5 means the bar is one and a half times the average true range.
An option is included to exclude the current bar from the ATR calculation and use the previous bar's value instead. This is useful around session opens, where a short ATR lookback is still averaging in quiet pre-session bars and can understate real volatility, producing false flags.
Settings
ATR length and threshold multiple
Separate border and wick colours for up and down bars
Optional body recolouring (off by default, so only the outline changes)
Optional numeric label showing the exact ratio above each flagged bar
Optional background tint
Alert condition when a bar exceeds the threshold
Ratio is plotted to the Data Window for reference
Ideas for use
Outsized bars often mark volatility expansion, news reactions, stop runs, or exhaustion moves. Depending on your approach you may want to stand aside after one, wait for the range to settle, or treat it as a signal in its own right. The indicator only identifies the condition — what you do with it is up to your own testing.
This is a visual filter, not a trading system, and produces no buy or sell signals. Indicator

Indicator

Indicator

Indicator

Strong EngulfingThis indicator marks outside bars that both swept the previous
bar's extreme and closed away from it, near their own end.
How it works
A bar qualifies on the long side when all four conditions hold:
1. Its low trades below the previous bar's low.
2. It closes above the previous bar's body top.
3. Its high trades above the previous bar's high.
4. Its close lands in the top third of its own range,
measured as (high - close) / (high - low).
The short side applies the mirror of each condition.
Conditions 1 and 3 together mean the previous bar sits entirely
inside the marked bar. Condition 4 is expressed as a ratio of
the bar's own range rather than in points, so the threshold
carries the same meaning across symbols and timeframes.
What separates this from a plain engulfing
A standard engulfing pattern only compares bodies, so a bar can
qualify without ever trading below the previous low. Requiring
that sweep in condition 1 excludes bars that expanded upward
without first reaching below the previous bar's extreme. The
close-position filter in condition 4 further excludes outside
bars that gave most of their range back before the close.
Evaluation timing
All conditions are checked with barstate.isconfirmed, so marks
are placed on closed bars only and never appear intrabar and
then disappear.
Settings
- Long side / Short side: enable each direction independently.
- Arrows: show or hide the triangle markers, with a color for
each side.
- Paint the signal candle: recolors the body of the qualifying
bar. Border and wick keep the colors from the chart's own
candle settings, which Pine cannot override on the main
series.
The close-position threshold is fixed at one third and is not
exposed as an input, since it forms part of the pattern
definition rather than a tuning parameter.
Alerts
Two conditions are available, one per side, each firing on the
close of a qualifying bar.
This script is for chart analysis only and is not investment
advice. Indicator

NAS100 Practical SMC 5m v12//@version=6
// Apply to NAS100 5-minute standard candles.
strategy("NAS100 Practical SMC 5m v1", overlay=true, pyramiding=0, process_orders_on_close=true,
initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100,
commission_type=strategy.commission.percent, commission_value=0.02, slippage=2, calc_on_order_fills=false)
g1 = "SMC setup"
sessionNY = input.session("0935-1200", "New York session", group=g1)
lookback = input.int(12, "Liquidity lookback bars", minval=3, group=g1)
emaLen = input.int(20, "Confirmed 1-hour bias EMA", minval=2, group=g1)
g2 = "Risk"
buffer = input.float(8, "Stop beyond sweep", minval=1, group=g2)
rr = input.float(2.0, "Reward/risk", minval=1, step=0.25, group=g2)
maxTrades = input.int(2, "Max trades per day", minval=1, group=g2)
inSession = not na(time(timeframe.period, sessionNY, "America/New_York"))
// Last closed H1 bar only: prevents look-ahead.
h1Close = request.security(syminfo.tickerid, "60", close , lookahead=barmerge.lookahead_on)
h1Ema = request.security(syminfo.tickerid, "60", ta.ema(close, emaLen) , lookahead=barmerge.lookahead_on)
bullBias = h1Close > h1Ema
bearBias = h1Close < h1Ema
sellSide = ta.lowest(low , lookback)
buySide = ta.highest(high , lookback)
// Sweep must take local liquidity and close back inside; confirmation is the next candle.
bullSweep = inSession and bullBias and low < sellSide and close > sellSide
bearSweep = inSession and bearBias and high > buySide and close < buySide
var int bullBar = na
var int bearBar = na
var float bullLow = na
var float bearHigh = na
if bullSweep
bullBar := bar_index
bullLow := low
if bearSweep
bearBar := bar_index
bearHigh := high
buySignal = not na(bullBar) and bar_index == bullBar + 1 and close > high
sellSignal = not na(bearBar) and bar_index == bearBar + 1 and close < low
if not na(bullBar) and bar_index > bullBar
bullBar := na
if not na(bearBar) and bar_index > bearBar
bearBar := na
var int count = 0
if ta.change(time("D")) != 0
count := 0
var float entry = na
var float stop = na
var float target = na
if strategy.position_size == 0 and count < maxTrades and buySignal
entry := close
stop := bullLow - buffer
target := entry + (entry-stop)*rr
count += 1
strategy.entry("SMC BUY", strategy.long)
if strategy.position_size == 0 and count < maxTrades and sellSignal
entry := close
stop := bearHigh + buffer
target := entry - (stop-entry)*rr
count += 1
strategy.entry("SMC SELL", strategy.short)
if strategy.position_size > 0
s = high >= entry + (entry-stop) ? math.max(stop, entry) : stop
strategy.exit("BUY exit", "SMC BUY", stop=s, limit=target)
if strategy.position_size < 0
s = low <= entry - (stop-entry) ? math.min(stop, entry) : stop
strategy.exit("SELL exit", "SMC SELL", stop=s, limit=target)
plot(h1Ema, "Confirmed 1h EMA", color=color.orange)
plotshape(buySignal, "Buy", shape.triangleup, location.belowbar, color=color.lime, text="BUY")
plotshape(sellSignal, "Sell", shape.triangledown, location.abovebar, color=color.red, text="SELL")
Strategy

Indicator
