Indicator

Opening Range Breakout ToolWhat it does
This tool builds the opening range — high, low and midpoint — from the first N minutes
of a trading session you define, draws it on your chart, and marks the first bar that
breaks either side of the range. One marker per side per session, so your chart stays
readable.
The session is anchored to a named timezone (New York by default), not to the chart or
exchange timezone. That means a "09:30 open" stays 09:30 all year, on both sides of
every daylight-saving change — a detail many session tools get wrong twice a year.
How to use it
- Use an intraday chart with the timeframe at or below the range duration (for the
default 15-minute range, a 1 to 15 minute chart). The tool shows a warning in the
corner if the chart is misconfigured.
- *Trading session* + *Session timezone*: defaults are the US equity cash session,
09:30–16:00 New York. Set any session you like — London open, Tokyo open, a futures
open — in its own timezone.
- *Opening range duration*: how many minutes after the open the range is built from.
- *Require CLOSE beyond the range*: on (default), a breakout needs a full bar close
beyond the level; off, a wick beyond is enough. Both are evaluated at bar close.
- Display togges for the range box, midpoint line and price labels; all colours are
configurable.
Alerts
Three alert events, all fired on confirmed bar close, once per session per side:
- Opening range set (off by default) — with the range high and low in the message
- OR high broken
- OR low broken
Create one alert on the symbol with condition "Any alert() function call" and trigger
"Once Per Bar Close" — the script sends the right message for each event.
Limitations, stated honestly
- Intraday only. The levels stop extending at the session end.
- Signals are evaluated on bar close, so the marker appears when the breaking bar
completes — this is deliberate (no intrabar repainting), but it means the alert
arrives at the close of the breakout bar, not the instant price crosses the level.
- The very first session at the far left of your loaded history can be partial if the
chart data starts mid-session.
- A breakout marker is information about the range, not a trade signal. What you do
with it is your decision and your responsibility.
Questions and feature requests are welcome in the comments. Indicator

Fair Value GapsDetects three-candle fair value gaps and manages their full lifecycle on your chart:
- **Bullish FVG:** a candle's low sits above the high from two candles back — the gap
between them is drawn as a box.
- **Bearish FVG:** a candle's high sits below the low from two candles back.
Each gap extends to the right, bar by bar, until price returns to it. When that
happens the gap counts as filled by your chosen rule and is either recoloured and
frozen at the fill bar, or removed — your choice.
How to use it
- Works on any symbol and timeframe.
- *A gap counts as filled when price…* — three rules: **Touch** (any trade back into
the gap), **Reaches midpoint** (price crosses the 50% level, shown as an optional
dashed line), or **Fills completely** (price trades through the far edge).
- *Min gap height (ATR multiple)* — on noisy charts, raise this so only gaps of a
meaningful size are drawn. 0 keeps everything.
- *Max open gaps kept per side* — caps how many unfilled gaps are tracked so old,
distant gaps don't clutter the chart.
- All colours are configurable, including a separate colour for filled gaps so you
can review which zones held and which were traded through.
Alerts
Two alert events, fired on confirmed bar close:
- New bullish / bearish FVG — with the gap's price range in the message
- Gap filled (off by default) — when price satisfies your fill rule
Create one alert on the symbol with condition "Any alert() function call" and trigger
"Once Per Bar Close".
Limitations, stated honestly
- Detection completes when the third candle of the pattern closes — the box appears
at that close, not before. No lookahead, no repainting of historical gaps.
- With the "Touch" rule, a fill is registered at the close of the bar whose wick
entered the gap.
- A fair value gap is a description of price structure, not a prediction that price
will return to it. What you do with these zones is your decision and your
responsibility.
Questions and feature requests are welcome in the comments.
Indicator

Crypto Intraday Engine Crypto Intraday Engine is a market-structure indicator designed specifically for the continuous, 24-hour nature of cryptocurrency markets.
The script organizes intraday market information and answers three clear questions:
• What is the current market context?
• Where is price located relative to the nearest structural zones?
• What structural event is currently being observed?
The answers are displayed in a compact dashboard:
CONTEXT
LOCATION
STATUS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✨ ORIGINALITY AND PURPOSE
Crypto Intraday Engine combines four market concepts:
• UTC Daily VWAP;
• UTC Opening Range;
• ATR-adjusted zones based on confirmed pivots;
• closed-bar price-reaction observation.
These elements are not simply placed together on one chart as separate indicators. They operate as one connected analytical sequence.
VWAP defines the direction of the current market context.
Opening Range shows whether that context has gained additional intraday strength.
Confirmed pivot zones define the nearest structural location of price.
The reaction-observation mechanism describes what happens after price interacts with that zone.
The dashboard translates the entire sequence into three intuitive layers:
Context → Location → Status
The purpose of this combination is to help users analyze intraday structure through one consistent framework instead of interpreting several unrelated tools independently.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟡 UTC DAILY VWAP
The script calculates a volume-weighted average price from the beginning of each UTC day.
The calculation uses cumulative values of:
• HLC3 price;
• trading volume;
• time elapsed since 00:00 UTC.
Daily VWAP acts as the central reference for determining market context.
Cryptocurrency markets operate continuously and do not have one universal exchange session. Using 00:00 UTC provides a consistent daily reset that can be applied across different cryptocurrency instruments and exchanges.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌡 ATR-BASED NEUTRAL AREA
Price is not classified as Bullish or Bearish immediately after crossing VWAP.
The indicator creates a neutral area around Daily VWAP using a configurable multiple of Average True Range.
Default value: 0.20 ATR
This area adjusts to current volatility and reduces frequent context changes when price fluctuates close to VWAP.
The dashboard can display the following context states:
• Strong Bullish;
• Bullish;
• Neutral;
• Bearish;
• Strong Bearish.
Bullish context means that the closing price is above Daily VWAP and outside the ATR-based neutral area.
Bearish context means that the closing price is below Daily VWAP and outside the ATR-based neutral area.
Neutral context means that price remains within the volatility-adjusted area surrounding VWAP.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟧 UTC OPENING RANGE
The Opening Range is calculated from the first part of each UTC day.
Available periods:
• 15 minutes;
• 30 minutes;
• 60 minutes.
Default value: 30 minutes
Opening Range adds a second layer of information to the context defined by VWAP.
After the Opening Range is complete:
• Bullish context becomes Strong Bullish when price closes above the Opening Range high;
• Bearish context becomes Strong Bearish when price closes below the Opening Range low.
This makes it possible to distinguish a standard directional context from a situation in which price has also moved beyond the initial range of the UTC day.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟢 SUPPORT AND 🔴 RESISTANCE ZONES
Support and Resistance zones are created from confirmed pivot lows and pivot highs.
A pivot is confirmed only after the required number of candles has formed on both sides of the pivot point.
Support zones extend upward from confirmed pivot lows.
Resistance zones extend downward from confirmed pivot highs.
The vertical depth of each zone is calculated using ATR rather than a fixed number of price points.
Default zone depth: 0.60 ATR
This allows the zone dimensions to adapt to:
• different cryptocurrency prices;
• changes in market volatility;
• different intraday timeframes.
The script stores recent confirmed zones and displays:
• the nearest valid Support zone at or below the current price;
• the nearest valid Resistance zone at or above the current price.
A zone is removed when a candle closes beyond its outer boundary by more than the configured ATR buffer.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 PRICE LOCATION
The Location row shows where the current candle is positioned relative to the nearest valid structural zones.
Possible values:
• At Support;
• At Resistance;
• Between Zones;
• Compressed Area;
• No Zone.
This row helps users understand where price is located within the current market structure.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
↔️ COMPRESSED AREAS
The indicator measures the distance between the nearest Support and Resistance zones.
When this distance is below the configured ATR threshold, the area is classified as compressed.
Default minimum distance: 0.25 ATR
Overlapping zones are also classified as a compressed area.
The dashboard displays:
Location: Compressed Area
Status: Zones Close Together
This status indicates that the nearest structural boundaries are located within a relatively narrow range adjusted for current volatility.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔎 CLOSED-BAR REACTION OBSERVATION
The script contains a sequential mechanism for observing price behavior after price reaches a structural zone.
Support observation
Observation of a Support zone can begin when:
• the market context is Bullish;
• price reaches the nearest Support zone;
• Support and Resistance are not in a compressed area;
• the zone has not already been evaluated by the algorithm.
A Support Reaction is detected when a subsequent closed candle returns above:
• the upper boundary of the Support zone;
• UTC Daily VWAP.
Resistance observation
The opposite conditions are applied to Resistance zones.
Observation can begin when:
• the market context is Bearish;
• price reaches the nearest Resistance zone;
• Support and Resistance are not in a compressed area;
• the zone has not already been evaluated by the algorithm.
A Resistance Reaction is detected when a subsequent closed candle returns below:
• the lower boundary of the Resistance zone;
• UTC Daily VWAP.
The number of candles available for observation is controlled by the Reaction Observation Window parameter.
Default value: 3 closed candles
Each zone is evaluated once. This prevents the same structural area from repeatedly generating identical states.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 INDICATOR DASHBOARD
The dashboard is designed to be read from top to bottom.
🧭 CONTEXT
Shows the directional relationship between:
• closing price;
• UTC Daily VWAP;
• the ATR-based neutral area;
• the completed Opening Range.
Possible values:
• Strong Bullish;
• Bullish;
• Neutral;
• Bearish;
• Strong Bearish.
📍 LOCATION
Shows the position of price relative to the nearest valid zones.
Possible values:
• At Support;
• At Resistance;
• Between Zones;
• Compressed Area;
• No Zone.
🔎 STATUS
Describes the current structural condition or observation stage.
Possible states include:
• Monitoring Market;
• Monitoring Support;
• Monitoring Resistance;
• Observing Support Reaction;
• Observing Resistance Reaction;
• Support Reaction Detected;
• Resistance Reaction Detected;
• Bullish Context at Resistance;
• Bearish Context at Support;
• Zones Close Together;
• Context Changed;
• Zone Invalidated;
• Reaction Window Expired;
• Support Already Evaluated;
• Resistance Already Evaluated.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎨 COLOR LOGIC
Dashboard colors are used to visually separate different types of information:
• Green identifies Bullish context or Support;
• Red identifies Bearish context or Resistance;
• Blue identifies active observation or a detected reaction;
• Orange identifies a change, compression, or structural warning;
• Gray identifies a neutral monitoring state.
The color system helps users read the dashboard more quickly and distinguish between different categories of information.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛠 HOW TO USE THE INDICATOR
Crypto Intraday Engine is designed for standard candlestick charts of cryptocurrency pairs.
Recommended timeframe range: 3 to 15 minutes
A 5-minute chart is a practical starting point for observing the complete indicator workflow.
Read the dashboard in the following order:
1. Context shows the broader intraday environment.
2. Location shows where price is positioned relative to the nearest structure.
3. Status describes the structural event currently being observed or already detected.
The chart displays:
• UTC Daily VWAP;
• UTC Opening Range;
• the nearest Support zone;
• the nearest Resistance zone;
• a compact informational dashboard.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ INPUTS
OPENING RANGE, MINUTES
Defines the duration of the Opening Range calculated from 00:00 UTC.
Available values:
• 15;
• 30;
• 60.
ATR LENGTH
Defines the Average True Range period used to calculate volatility-adjusted distances and zone dimensions.
PIVOT LEFT AND PIVOT RIGHT
Define how many candles must form to the left and right of a pivot before it is confirmed.
Higher values generally create fewer zones while making them broader and more structurally significant.
Lower values generally create more frequent local zones.
ZONE DEPTH, ATR
Defines the vertical depth of Support and Resistance zones.
ZONE INVALIDATION BUFFER, ATR
Defines how far a candle must close beyond a zone boundary before that zone is removed.
MINIMUM GAP BETWEEN ZONES, ATR
Defines the distance at which the nearest Support and Resistance zones are classified as a compressed area.
VWAP NEUTRAL DISTANCE, ATR
Defines the size of the neutral area surrounding UTC Daily VWAP.
REACTION OBSERVATION WINDOW
Defines the number of closed candles during which a reaction is observed after price reaches a structural zone.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⏱ CONFIRMATION AND REAL-TIME BEHAVIOR
Dashboard values and reaction events are updated using closed candles.
Pivot zones require confirmation.
A zone appears only after the configured number of Pivot Right candles has completed.
The zone is visually anchored to the original pivot candle, but in real time it becomes available only after confirmation.
This is important to consider when reviewing historical charts.
Daily VWAP and Opening Range reset at 00:00 UTC.
Support and Resistance zones do not automatically reset at the beginning of a new UTC day.
They remain available until:
• price invalidates the zone;
• the zone is removed because of the internal zone-storage limit.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS
Crypto Intraday Engine uses mechanical definitions of:
• market context;
• confirmed pivots;
• Support and Resistance zones;
• zone-removal conditions;
• structural reactions.
These definitions may differ from a user’s discretionary interpretation of market structure.
A detected reaction means that the predefined closed-bar conditions have been met.
Subsequent price behavior may differ depending on the instrument, timeframe, liquidity, exchange, and current market volatility.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 INFORMATIONAL ALERTS
Available alerts correspond to structural events:
• price reached a Support zone;
• price reached a Resistance zone;
• Support Reaction Detected;
• Resistance Reaction Detected;
• Context Changed;
• Zone Invalidated;
• Reaction Window Expired;
• Zones Close Together.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📘 SUMMARY
Crypto Intraday Engine brings intraday context, structural price location, and closed-bar reactions together in one consistent, sequential, and visually intuitive framework for analyzing cryptocurrency markets. Indicator

Indicator

PSRC Institutional CRT Execution Engine [5m/15m]1. Purpose
The PSRC Institutional CRT Execution Engine is a rules-based decision and execution framework that identifies, qualifies, monitors and rejects market setups before capital is exposed. Its objective is selective participation in high-quality institutional-style opportunities rather than high trade frequency. Cande Range Theory stands at its core.
2. Core Logic
Liquidity sweep or raid at a meaningful market location.
Decisive displacement confirming intent.
Market structure validation.
Execution location at acceptable entry zones (midpoint, retracement, imbalance, etc.).
Confirmation through enabled filters such as direction, FVG, VWAP, volume and vacuum conditions.
Risk routing only after all mandatory gates pass.
3. Decision Pipeline
Liquidity Sweep → Displacement → Window → Midpoint/Entry Build → Structure → Score → Confirmation → Risk/Reward → Entry
4. Operational States
Standby: no actionable setup.
Watch: developing setup; monitor only.
Ignore: invalid, stale or low-quality setup.
Expired: setup window has elapsed.
Ready/Entry: all gates satisfied.
5. Why It's Institutional
State-machine architecture rather than simple buy/sell signals.
Rejection-first philosophy to eliminate low-quality trades.
Context-driven evaluation before execution.
Explicit failure logic for stale or invalid setups.
Separation of qualification from execution.
Transparent audit trail through dashboard metrics.
The term 'institutional' refers to the architecture and execution discipline, not to guaranteed profitability or privileged market access.
6. Best Practices
Trade only fully qualified setups.
Never revive stale or expired setups.
Use fixed percentage risk (typically 0.25%–0.50% during validation).
Limit correlated exposure across related instruments.
Trade primarily during London and New York sessions.
Avoid major scheduled news unless specifically tested.
Optimize only from statistically significant data.
7. Recommended Assets
XAUUSD
USTEC (NAS100)
US500 (SPX500)
GBPUSD
EURUSD
Major liquid futures equivalents
8. Recommended Timeframes
Daily: macro bias.
H4: higher-timeframe trend.
H1/M15: session structure.
M5: primary execution timeframe.
M1–M3: execution refinement only after higher timeframe confirmation.
9. Risk Framework
Maximum daily loss.
Maximum consecutive losses.
Maximum trades per day.
Session filters.
Spread and ATR filters.
News lockout.
Broker-side stop loss and take profit.
Break-even and partial profit management.
10. Validation Requirements
Forward-testing sample with meaningful statistics.
Expectancy and drawdown analysis.
Market regime segmentation.
Replay and non-repaint verification.
Pine versus cBot signal parity testing.
11. cBot Development Standard
Exact state-machine parity with the frozen Pine strategy.
Broker-safe order execution.
Structured logging of every decision gate.
Paper trading before demo, then limited live deployment.
12. Operator Checklist
Confirm session, spreads and scheduled news.
Verify all execution gates before entering.
Journal every trade including blockers, MAE, MFE and R-multiple.
13. Final Principle
The engine is designed to protect capital by requiring evidence before execution. Missing trades is acceptable. Violating the process is not.
Risk Disclosure
Trading leveraged financial products involves substantial risk. Past or simulated performance does not guarantee future results. This document is educational and operational in nature and does not constitute financial advice. Indicator

Backtest and Beyond? CT CPCV Research Lab v1.2 [Pine v6]CT CPCV Research Lab v1.2
One profitable backtest does not prove you've found a profitable trading strategy.
It proves only one thing: Your strategy worked once...on one version of history.
The real question is: Would it still work if history had unfolded differently?
Professional quantitative researchers have been asking that question for decades.
This framework brings that same question—and one possible way of answering it—to individual traders.
What this description covers
By the time you finish reading this description, you'll understand:
• Why a profitable backtest can be dangerously misleading
• Why professional quantitative researchers demand stronger evidence before trusting a strategy.
• Why Combinatorial Purged Cross-Validation (CPCV) has become one of the most respected validation techniques in quantitative finance.
• What this framework does.
• What it doesn't do.
• Why those differences matter.
So, if that sounds interesting...keep reading.
******
What Is CT CPCV Research Lab?
CT CPCV Research Lab is an open-source quantitative research framework built for PulseWire.
It allows complete trading strategies, not just individual indicators, to be evaluated using Combinatorial Purged Cross-Validation (CPCV) under consistent research conditions.
Rather than asking: "Which strategy produced the highest historical return?"
it asks: "Which strategy demonstrated the greatest robustness across many independent historical tests?"
The goal isn't to predict the future. The goal is to help you place more appropriate confidence in what the past may, or may not, be telling you.
If you've ever developed a trading strategy, you've probably followed a familiar process.
• Build some trading rules.
• Run a historical backtest.
• See a profitable equity curve.
• Assume you've found a trading edge.
Unfortunately, that's exactly how thousands of strategies fool their creators every day.
A traditional backtest answers only one question: "What would have happened if I had traded this one sequence of historical events?"
That's a useful question. It just isn't the only question that matters. The uncomfortable truth is that one backtest proves far less than most traders believe.
Built to Teach, Not Just Calculate
Most PulseWire scripts give you signals. Some give you statistics. Very few explain why those signals or statistics matter.
CT CPCV Research Lab was designed differently.
Throughout the framework you'll find:
• Plain-English explanations of the underlying research methodology.
• Educational comments describing the purpose of each major section.
• Input tooltips explaining not only what each setting does, but why you might want to change it.
• Built-in guidance that helps interpret CPCV results instead of simply displaying numbers.
Whether you're completely new to quantitative research or already familiar with CPCV, the goal is the same:
Every major part of this framework should either perform the research...or teach the research.
If understanding the research process is just as important to you as obtaining the results, this framework was built with that philosophy in mind.
Why great backtests often fail
Markets only give us one history. One sequence of bull markets, one sequence of bear markets, one sequence of crashes, recoveries, trends and sideways markets. When a strategy performs well on that single history, we don't automatically know why.
Did it discover a genuine market behaviour?
Or...
Did it simply get lucky?
Was it accidentally tailored to one particular period of history?
This is one of the biggest problems in quantitative finance. It is known as overfitting, and it is one of the main reasons strategies that look exceptional in historical testing often disappoint in live trading. The better a strategy becomes at explaining the past, the greater the risk that it has simply memorized the past rather than discovered something that persists into the future.
"I'll just use Out-of-Sample testing."
Good. That's already a major improvement. Out-of-Sample (OOS) testing separates historical data into two sections. One section is used to develop the strategy and the other section is hidden until the strategy is complete. Only then is the strategy evaluated on data it has never seen before.
This helps answer an important question: "Does my strategy still work on genuinely unseen data?"
That's far more honest than testing on everything, but it still has one important weakness.
You only get one Out-of-Sample test, one unseen historical period...and one result.
"I'll use Walk-Forward Analysis."
Even better. Walk-Forward Analysis repeats the process. The strategy is trained on earlier data, tested on the next unseen period, then the window moves forward and the process repeats.
Professional quantitative researchers have used Walk-Forward Analysis for many years because it is a significant improvement over a single backtest. But even Walk-Forward follows one continuous timeline.
History always unfolds in the same order, “Beginning...Middle...End.”
It creates many tests…but they're all built from the same historical journey. Walk-Forward Analysis remains one of the most respected validation techniques used by professional researchers today. CPCV should not be viewed as replacing Walk-Forward, but as answering a different and often more demanding research question.
Enter Combinatorial Purged Cross-Validation (CPCV)
Professional quantitative researchers wanted something even more demanding. Instead of relying on one backtest...or one Out-of-Sample period...or one Walk-Forward schedule...,they wanted to repeatedly evaluate a strategy across many different combinations of historical data. One of the best-known methods for doing this is called:
Combinatorial Purged Cross-Validation (CPCV)
Combinatorial Purged Cross-Validation was introduced by Marcos López de Prado in Advances in Financial Machine Learning (2018), where it was developed for validating machine-learning models in finance. This framework adapts its core principles, combinatorial train/test splits, purging, embargoing, and reconstructed out-of-sample paths, to the practical constraints of Pine Script.
Although the name sounds intimidating, the idea is surprisingly simple. Imagine interviewing someone for an important job. Would you hire them because they answered one interview question correctly?
Of course not. You'd ask many questions, test different skills, look for consistency.
Trading strategies deserve exactly the same treatment. A traditional backtest gives a strategy one interview. CPCV gives it dozens of different interviews.
If the strategy performs consistently across many independent historical tests instead of one lucky backtest, it earns greater confidence. Not certainty. Nothing in financial markets offers certainty.
Just stronger evidence.
What does "Combinatorial Purged Cross-Validation" actually mean?
The name sounds complicated, but each word simply describes part of the process.
Combinatorial: Instead of creating one train/test split, CPCV creates many different combinations of training and testing periods. This allows the strategy to be evaluated across many historical scenarios rather than relying on one convenient sequence.
Purged: Financial observations that occur close together often contain overlapping information.
Imagine two students sitting the same exam. If one student quietly glances at the other's answers before writing their own, the exam is no longer fair.
Purging removes nearby training observations that could accidentally leak information into the test period.
Cross-Validation: Rather than asking "Did this strategy work once?", Cross-Validation repeatedly asks
"Does this strategy continue working when tested on different unseen historical data?"
The goal isn't to find one impressive result. The goal is to see whether good performance remains consistent.
Why this framework exists
For many years, advanced quantitative validation techniques were used primarily by institutional researchers, hedge funds and quantitative investment firms. Retail traders rarely had access to these ideas, not because they were secret, but because they were often buried in academic research or implemented in specialist software.
This framework was built to present those same research principles in plain English so individual traders can understand them, question them, and apply them for themselves. Good research shouldn't depend on where you work. It should depend on how carefully you test your ideas.
A note about the Pine implementation
This implementation is designed to bring the core principles of institutional Combinatorial Purged Cross-Validation (CPCV) research into Pine Script while respecting the practical execution limits of the PulseWire environment.
Professional quantitative research platforms often have access to dedicated computing resources with relatively few practical limits on memory, processing time, data sources or dataset size.
PulseWire's Pine Script is designed for interactive chart analysis and therefore operates within execution-time, memory and resource limits so scripts remain responsive for all users. To make CPCV practical within those limits, this implementation makes several engineering choices, including limiting the number of chronological groups, reference strategies and stored observations. These are implementation constraints, not changes to the underlying CPCV methodology.
A note on purging and embargo in this implementation. These techniques exist to prevent information from a training observation's forward-looking label leaking into a nearby test period. The built-in candidate strategies use one-bar returns, so their natural leakage window is very short and the purge/embargo settings have limited effect on them. Their value grows substantially if you replace a candidate with a strategy that uses multi-bar holding periods or forward-horizon labels, where boundary leakage is a real risk. They are included so the framework remains methodologically complete and correct for the strategies you may add, not only the ones shipped by default.
The objective has always been to preserve the essential research principles of CPCV while delivering an educational framework that runs efficiently inside PulseWire. If you're learning quantitative strategy validation, understanding why CPCV works is far more valuable than simply increasing the number of groups from 8 to 20. Sound methodology will improve your research far more than simply making the computation larger.
How to Read the Tables
This framework displays its results in four tables rather than on the price chart, because CPCV evaluates research quality, not price action. Here's what each table shows and how to act on it.
Split Diagnostics
Each row is one training/test experiment. The engine holds out two chronological groups as unseen test data, selects the best candidate using the training data only, then measures how that choice performed on the held-out test data.
Read the columns left to right: which groups were held out, which candidate was selected, its score on training data, its score on test data, its test return, and its worst drawdown during the test period.
The single most important thing to look for is a candidate that scored well in training but poorly in testing. That gap is the fingerprint of overfitting. A strategy that looks brilliant in training and then collapses out-of-sample has told you something valuable, it just wasn't what you were hoping to hear.
Do not judge the framework by the best split. One good row is not evidence. Consistency across many rows is.
Path Diagnostics
Each row is one fully reconstructed out-of-sample history, assembled from test segments that the strategy never trained on. Instead of one backtest, you are looking at several independent reconstructions of history.
Four things deserve your attention, and the Results Guide lists them in order:
The median path tells you the typical outcome, not the luckiest one. The worst path tells you how bad an unlucky reconstruction looked, this is your pessimistic case, and a strategy that stays tolerable even here is showing real resilience. The positive-path rate tells you how many reconstructions finished profitable; a strategy profitable on one path and negative on the rest has not earned confidence. And return versus drawdown reminds you that a good return purchased with a brutal drawdown is not the same as a good return earned smoothly.
If the paths all look nearly identical, that usually means one candidate dominated selection across every split. That is normal and informative, it simply means CPCV is validating that one strategy.
Research Integrity
This panel does not measure whether your strategy is profitable. It measures how much confidence you should place in the research configuration itself, whether the sample was large enough, the coverage valid, the paths consistent, the worst case survivable, and the typical drawdown manageable.
Treat it as a credibility check on the test, not a prediction of the result. A high score means the validation has few obvious weaknesses. A low score means any attractive-looking performance should be treated with extra caution, because the setup itself may not support strong conclusions. The panel's own final row says it plainly: research confidence, not expected profit.
Results Guide
A permanent on-chart cheat sheet summarizing the reading order above and explaining the color coding, green when the median and worst case are both positive, yellow when the median holds up but the worst case is fragile, red when the median or most paths failed. If you remember nothing else, the guide is there to remind you: focus on the median and the worst case, not the single best split.
Configuring the Candidates
The most common first experience with this framework is to enable all ten candidates, run it on a favorite chart, and find every split selecting the same strategy and every path failing. That is not a malfunction and understanding why explains how to configure the framework properly.
CPCV can only reveal something interesting when the selection is contested, i.e., when different candidates genuinely compete to be chosen, and different ones win in different periods. If every candidate you enable behaves the same way, the framework isn't choosing between ideas. It's choosing the least-bad member of one idea.
Diversify the families, not just the parameters
Five EMA crossovers at different lengths are not five different strategies. They are one strategy at five speeds, and they are highly correlated…they mostly agree, so selection barely changes and the reconstructed paths become near-identical copies.
The candidates ship in two behavioral families:
Trend-following (the EMA crossovers, MACD, Donchian, Supertrend) profits when moves persist. Mean-reversion (RSI, Bollinger) profits when price snaps back toward an average.
These families tend to be opposites: when one struggles, the other often works, because trending and ranging are opposite market conditions. A balanced set, a few trend models alongside both reversion models, lets different candidates win in different periods, which is exactly what makes the paths diverge.
Test where regimes actually change
The framework can only display path dispersion if the data contains different conditions for different candidates to win in. A market in one long, clean trend will let a single slow trend-follower dominate every split, producing results that are consistent but undifferentiated. A market stuck in pure chop will punish every trend model at once, which is how an all-red board appears. The most revealing samples contain both trending and ranging periods, so widen the date range until it spans at least one full cycle of each, and consider instruments that move through both rather than sitting in a single prolonged trend.
Change the metric to change the winner
The selector ranks candidates using one training metric, and different metrics crown different winners. Sharpe rewards smoothness, Calmar rewards drawdown avoidance, Sortino favors directional trend-following, Omega favors skewed reversion payoffs. Running the same enabled set under different Optimization Metrics is a fast way to see selection shift, and watching which candidate wins under which metric is itself a lesson in how sensitive strategy selection really is.
What a good configuration looks like
Success here is not a green board. It is a contested one. In Split Diagnostics you want the MODEL column to show several different names rather than one name repeated down every row. In Path Diagnostics you want P1, P2, P3 and the rest to be visibly different numbers rather than clones, a genuine median sitting between a positive best case and a negative worst case. That spread is the CPCV signal. A board where one model wins everything is almost as uninformative as one where everything fails; both mean the selection was never truly contested.
One honest warning. Do not hunt through instruments and metrics until you find a green result and then treat that as proof. That is simply overfitting one level higher, cherry-picking the demonstration instead of the strategy. The purpose of a contested run is to watch the method work, red parts included. A result that mixes success and failure across its paths is not a disappointing outcome. It is the framework telling the truth.
Using Your Own Strategies
The ten built-in candidates are examples, not the point. The framework is designed so you can delete any of them and drop in your own logic, that is its intended use, not a hack.
To replace a candidate, keep to three rules:
First, produce a persistent desired-position series with exactly three possible values: +1 for long, 0 for flat, −1 for short. The framework evaluates this series, not your entry/exit orders, so your logic must hold a position until it decides to change it, rather than firing a one-bar signal.
Second, stay causal. Use only information available up to the current bar. Do not use future data, negative historical offsets, or lookahead on. The framework already lags exposure by one bar when simulating returns, so your job is simply to avoid look-ahead in the signal itself.
Third, wrap your output through the direction filter (f_direction) exactly as the existing candidates do, so the Long Only / Short Only / Long & Short control keeps working.
That's it. Anything that respects it, a moving-average system, an oscillator, a breakout rule, or something entirely your own, will be validated under the same CPCV conditions as the built-in examples. If your strategy uses multi-bar holding periods or forward-looking labels, this is also where purging and embargo begin to do real work, so set those values to match your strategy's actual horizon.
An important limitation
If you've read this far and concluded that CPCV is the ultimate solution... then this description has failed.
CPCV is one of the most rigorous historical validation techniques available, but it is not a crystal ball.
No historical validation method can predict the future.
Markets evolve
One of the biggest misconceptions in technical analysis is that indicators suddenly "stop working."
Most of the time, they don't. The mathematics haven't changed. A 50/200 EMA crossover calculates exactly the same way today as it did ten years ago.
RSI hasn't changed.
MACD hasn't changed.
Bollinger Bands haven't changed.
…the market changed.
Financial markets constantly move through different environments. Sometimes they trend strongly.
sometimes they move sideways for months, other times volatility explodes…and then it disappears. Periodically, liquidity is abundant…and inexplicably, it evaporates.
These and other changing environments are commonly called market regimes. Within every regime there are often shorter-lived shifts or states in market behavior that further influence strategy performance. The same trading strategy can perform exceptionally well in one regime and struggle in another, even if the strategy itself never changes. That's one of the most important lessons in quantitative research.
No technical indicator can know which market regime it is operating within. It simply continues performing the same calculation while the market itself changes around it.
What this framework can, and cannot, tell you
This framework is designed to answer one question: "How robust did this strategy appear across many independent historical tests?"
It is not designed to answer another: "Will this strategy continue working as markets evolve?" That requires continued observation, adaptation and research.
Do not be surprised if the same candidate is selected on every split. When one strategy scores highest across all training folds, CPCV effectively becomes a validation of that single strategy, and if it then fails out-of-sample on every path, that is not a malfunction. It is the framework doing its job: telling you the best-looking in-sample choice did not survive honest testing.
Good quantitative research is not about finding certainty. It is about reducing the chances that we fool ourselves before risking real capital.
One important clarification about what is being validated. This framework does not cross-validate each candidate strategy in isolation. It cross-validates a selection procedure: on every training split it picks the best-scoring candidate, then judges that choice on unseen test data. This matters because strategy selection is one of the most common places overfitting hides. A candidate that consistently looks best in training but fails in testing is exactly what CPCV is designed to expose.
The philosophy behind this project
Good quantitative research doesn't ask: "How can I prove this strategy works?"
It asks: "How hard can I try to prove that it doesn't?"
Every independent test that a strategy survives earns it a little more credibility. Not because it made more money, but because it had more opportunities to fail, and didn't.
That's the philosophy behind CT CPCV Research Lab.
A personal perspective
In my experience, market structure, liquidity, positioning, capital flows, and changing market regimes often explain market behavior more consistently than any individual technical indicator alone. This is where my own work has focused for many years — and, increasingly, on the fragility that builds inside a market before it shows up in price.
That does not mean technical analysis has no value. Millions of traders around the world continue to make decisions using technical analysis every day. Whether those decisions rest on enduring market truths or widely shared behavioral patterns is a separate question. Either way, when millions of participants respond to similar signals, those behaviors become part of the market itself.
For that reason alone, understanding how technical strategies behave — and how rigorously they should be tested — remains a worthwhile pursuit. If you're one of those traders, my hope is that this framework helps you evaluate technical strategies more honestly than a single backtest ever could.
Whether your strategy uses moving averages, RSI, MACD, Bollinger Bands, Donchian channels, or something entirely your own, it deserves to be tested honestly. And if this framework leaves you curious about why the same strategy thrives in one regime and dies in another — about the structural conditions that shift beneath price before price ever moves — then it has done something a backtest never could. That question is where my own work goes next.
If this project encourages even a few traders to question impressive-looking backtests, demand stronger evidence, and approach strategy development with greater intellectual honesty, then it has achieved exactly what it was created to do.
Good research doesn't eliminate uncertainty. It simply reduces the chances that we mistake luck for skill. If this framework helps even a handful of traders make that distinction, then it has served its purpose.
Disclaimer
CT CPCV Research Lab is provided for educational, informational, and analytical purposes only.
Nothing within this script, its outputs, tables, scores, grades, metrics, documentation, or associated materials constitutes financial advice, investment advice, trading advice, legal advice, or a recommendation to buy, sell, hold, or otherwise transact in any financial instrument.
Trading and investing involve substantial risk. Past performance is not indicative of future results, and no historical validation method, including Combinatorial Purged Cross-Validation, can predict future performance. Markets are inherently uncertain, and losses may occur.
Users are solely responsible for all trading and investment decisions made using information derived from this script. The developer makes no representations or warranties regarding accuracy, completeness, profitability, suitability, reliability, or fitness for any particular purpose.
CT CPCV Research Lab is a research and validation tool. It does not generate trade signals, is not an automated trading system, and must not be relied upon as the sole basis for any trading or investment decision. A high Research Integrity score reflects the credibility of a research configuration, not the likelihood of future profit.
By accessing or using this script, the user acknowledges and accepts all risks associated with its use and agrees that the developer shall not be liable for any direct, indirect, incidental, consequential, or special losses or damages arising from the use of the script or any information it provides.
Indicator

Liquidity Thermodynamics Engine V9 LiteLiquidity Thermodynamics Engine V9 Lite is a macro-liquidity oscillator designed to highlight liquidity impulse, acceleration, compression, divergence, and follow-through conditions. It is a lite core version of a more heavy research model that explores liquid thermodynamic phase models as the physics corresponds to capital flows.
The indicator combines major liquidity inputs into a normalized composite, then tracks when liquidity impulse strengthens, compresses, diverges from price, or aligns with acceleration. The Lite version focuses on a clean chart experience while preserving an optional Flow Map for users who want to inspect the underlying liquidity drivers.
Primary signals include:
- Composite and signal line
- Positive and negative impulse histogram
- Bright positive impulse bars
- Acceleration markers
- Compression diamonds
- Bullish and bearish divergence markers
- Bright green follow-through triangle
- Optional energy exhaustion flag
- Optional Flow Map
This tool is intended for macro context and research. It is not financial advice and should not be used as a standalone trading system.
User Guide
Liquidity Thermodynamics Engine V9 Lite, or LTE Lite, is a macro-liquidity momentum oscillator designed to help users visualize when liquidity conditions are compressing, accelerating, diverging from price, or beginning to follow through.
The indicator is not designed to predict every short-term move. It is best used as a higher-timeframe liquidity context tool, especially on slower charts such as the 6D, weekly, or multi-day Bitcoin chart. Its strongest signals tend to come when liquidity impulse and acceleration align near important macro turning zones.
This guide explains what each signal means, how to read the chart, and how to use the tool responsibly.
1. What LTE Lite Measures
LTE Lite combines several macro liquidity series into a normalized oscillator:
- Federal Reserve total assets
- Treasury General Account
- Overnight reverse repo
- Reserve balances
- Optional inverse DXY overlay
The core model converts liquidity conditions into a composite line, then measures the speed and force of changes in that composite. The result is a compact view of liquidity pressure, impulse, acceleration, compression, divergence, and exhaustion.
In simple terms:
- The white line shows the liquidity composite.
- The yellow line smooths that composite into a signal line.
- The histogram shows liquidity impulse.
- Markers highlight important changes in pressure, momentum, divergence, and exhaustion.
2. The Core Lines
White Line — Composite Line
The white line is the main liquidity composite. It represents the current normalized liquidity condition.
When the white line rises, liquidity conditions are generally improving. When it falls, liquidity conditions are generally deteriorating.
The white line is more reactive than the yellow signal line.
Yellow Line — Signal Line
The yellow line is a smoothed version of the composite.
It helps users distinguish noise from directional liquidity movement. When the white line rises above the yellow line, liquidity momentum is improving. When the white line falls below the yellow line, liquidity momentum is weakening.
The signal line is not a trade trigger by itself. It is context.
3. Impulse Histogram
The histogram measures the rate of change in the liquidity composite.
Green Histogram Bars
Green bars show positive liquidity impulse.
This means liquidity pressure is improving relative to the prior bars.
Red Histogram Bars
Red bars show negative liquidity impulse.
This means liquidity pressure is deteriorating.
Bright Green Histogram Bars
Bright green bars mark stronger positive impulse.
By default, LTE Lite highlights positive impulse bars when they reach or exceed the Key Positive Impulse Level. In the current stock configuration, this level is set to `0.10`.
These bars are important because they often mark a stronger liquidity push rather than a minor improvement.
Important: a bright green histogram bar is not automatically a buy signal. Its value increases when it aligns with acceleration, compression release, improving structure, or price confirmation.
4. Acceleration Markers
Acceleration markers show when the impulse itself is accelerating.
Yellow `+`
A yellow plus sign marks positive acceleration.
This means liquidity impulse is not just positive; it is improving quickly enough to clear the acceleration threshold.
Positive acceleration can appear before a larger histogram impulse bar, or the impulse bar can appear first. LTE Lite watches for either order.
Yellow `-`
A yellow minus sign marks negative acceleration.
This means liquidity impulse is weakening quickly.
Negative acceleration can warn that a prior liquidity push is losing force.
5. Bright Green Triangle Signal
The bright green triangle is one of the most important Lite signals.
It fires when:
- A bright positive impulse bar occurs, and
- A positive acceleration signal occurs, and
- The two events happen within the configured window.
The default window is `7` bars.
On a 6D chart, 7 bars is roughly 42 calendar days. This gives the signal room to capture cases where acceleration leads impulse and cases where impulse leads acceleration.
Why This Signal Matters
This signal is designed to identify liquidity follow-through.
The idea is:
- A large positive histogram bar shows meaningful liquidity impulse.
- A `+` acceleration marker shows liquidity momentum is expanding.
- When both appear close together, the market may be entering a more supportive liquidity window.
This does not guarantee immediate upside. It means liquidity conditions have improved enough to deserve attention.
How to Use It
Best practice:
1. Watch for the green triangle on higher timeframes.
2. Check whether price is basing, breaking structure, or reclaiming key levels.
3. Confirm that the composite is stabilizing or rising.
4. Avoid treating the triangle as a standalone entry signal.
The green triangle is a context signal, not a mechanical trading command.
6. Compression Signal
Compression is shown as a small gray diamond around the zero line.
Compression appears when:
- Liquidity impulse is small, and
- Composite movement is also muted, and
- This quiet condition persists for the configured number of bars.
Compression means liquidity energy is coiling.
It does not tell direction by itself. It simply says the system is quiet enough that a larger move may be building.
How to Use Compression
Compression is most useful when followed by:
- Positive acceleration
- Bright green impulse
- A green triangle signal
- Composite reclaiming or curling upward
Compression followed by negative acceleration can instead warn of downside continuation.
7. Divergence Signals
Divergence compares price structure against liquidity structure.
Bullish Divergence
A bullish divergence marker appears when price makes a lower pivot low while the liquidity composite makes a higher pivot low.
This can suggest that price is weakening less efficiently because liquidity conditions are improving underneath the surface.
Bearish Divergence
A bearish divergence marker appears when price makes a higher pivot high while the liquidity composite makes a lower pivot high.
This can suggest that price is rising while liquidity support is weakening.
Divergence Mode
The default mode is:
`Price vs Liquidity + Impulse`
This is stricter than simple price-versus-liquidity divergence because it also checks impulse direction. The goal is to reduce noisy divergence signals.
Divergence is best used as a warning or confirmation tool, not as a standalone entry or exit.
8. Energy Exhaustion Flag
The Energy Exhaustion Flag is an optional marker.
It is designed to identify moments when internal liquidity energy has dropped sharply or clustered into a weak state.
By default in the current V9 Lite stock settings, this marker is turned off.
When enabled, it can help identify late-stage exhaustion after strong liquidity movement. It should be used carefully because exhaustion can persist before price responds.
9. Flow Map
The Flow Map is an optional visual layer.
It breaks liquidity movement into individual components:
- Fed flow
- Treasury flow
- RRP flow
- Reserve flow
The Flow Map helps users see which component is contributing most to liquidity movement.
Flow Map Modes
`Stacked Bars` shows all selected flow components.
`Dominant Bars` shows only the strongest component on each bar.
`Stacked + Dominant Marker` shows the flow bars and adds a marker to the dominant component.
How to Use the Flow Map
Use the Flow Map when you want to inspect what is driving the oscillator.
For example:
- Reserve flow may dominate during banking-system liquidity shifts.
- TGA changes may dominate around Treasury cash rebuilding or drawdowns.
- RRP shifts may dominate when reverse repo usage changes materially.
- Fed balance sheet changes may dominate during major policy/liquidity events.
For clean chart reading, leave Flow Map off. Turn it on when doing deeper diagnostics.
10. Suggested Timeframes
LTE Lite is designed primarily for higher-timeframe liquidity analysis.
Recommended starting points:
- Bitcoin 6D
- Bitcoin weekly
- Major index weekly
- Multi-day charts for macro context
Lower timeframes may produce more noise because macro liquidity data updates slowly relative to intraday price action.
The 6D chart can be especially useful because it balances signal sensitivity with macro smoothness.
11. Practical Reading Workflow
Use this sequence:
Step 1 — Identify the Liquidity Regime
Look at the white and yellow lines.
Is the composite rising, falling, basing, or rolling over?
Step 2 — Check Impulse
Look at the histogram.
Are bars green or red? Are green bars brightening? Is negative impulse fading?
Step 3 — Watch Acceleration
Look for `+` or `-` markers.
A `+` means liquidity momentum is accelerating. A `-` means it is decelerating.
Step 4 — Look for Follow-Through
The green triangle is the key combined signal.
It means strong positive impulse and positive acceleration have occurred within the configured window.
Step 5 — Confirm With Price
Do not use the indicator alone.
Look for price confirmation such as:
- Break of market structure
- Reclaim of key moving averages
- Higher lows
- Range breakout
- Failed breakdown
- Support reclaim
Step 6 — Manage Risk
Liquidity support can improve before price moves. It can also improve while price continues consolidating.
Use invalidation levels, position sizing, and a clear plan.
12. Signal Priority
Not all signals carry equal weight.
Highest priority:
1. Bright green triangle after or near positive acceleration
2. Bright green impulse bars appearing after compression
3. Bullish divergence near a major low
4. Composite rising above the signal line
Medium priority:
1. Positive acceleration without bright impulse
2. Compression alone
3. Flow Map showing improving dominant flow
Lower priority:
1. Small green histogram bars
2. Isolated divergence without impulse confirmation
3. A single marker against strong price downtrend
13. Common Mistakes
Mistake 1 — Treating Every Green Bar as Bullish Enough
Small green bars only show mild improvement. The brighter bars matter more.
Mistake 2 — Ignoring Timeframe
Signals on a 6D or weekly chart are not short-term scalping signals. They describe larger liquidity conditions.
Mistake 3 — Ignoring Price Confirmation
Liquidity can lead price, but price still needs to confirm.
Mistake 4 — Assuming the Triangle Means Immediate Upside
The triangle identifies a supportive liquidity window. It does not guarantee immediate price expansion.
Mistake 5 — Overloading the Chart
Keep Flow Map off unless you are diagnosing components. The cleanest read usually comes from the composite, signal line, histogram, acceleration markers, compression, divergence, and green triangle.
14. Default Settings Philosophy
The stock settings are tuned for a clean macro read.
The defaults prioritize:
- Higher-timeframe stability
- Fewer false signals
- Visibility of major impulse events
- Clean chart presentation
- Optional component diagnostics through Flow Map
If users modify settings, they should do so slowly and test across multiple cycles.
Risk Disclaimer
This indicator is for educational and research purposes only.
It does not provide financial advice, investment advice, or trading recommendations. Markets involve risk, and no indicator can guarantee future performance. Users should combine this tool with independent analysis, risk management, and their own decision-making process.
Past signal behavior does not guarantee future results. Indicator

IQ Trend Beams [TradingIQ]🔹 OVERVIEW
IQ Trend Beams is a trend assistant that draws your trendlines the way a disciplined chartist would - and then holds them accountable. It maintains two channels, support and resistance , each always showing one working line. A line is born forming : it moves and re-shapes freely, polished every bar by a perceptual score toward the line a skilled trader would actually draw. When its geometry settles and it has earned enough tangency credit, it locks - and from that moment the ink is frozen forever; it never moves again. Locked ink extends until break evidence fires, then it is broken : restyled but never relocated, holding the screen as history until its successor locks.
Riding each live beam is its own forecast ; a calibration band, a reach profile, and ghost levels, all built from the volume that has actually traded around that line.
This is an honest visualization and modeling tool , not a signal service. It draws structure clearly and states its own confidence out loud; it is not a validated edge or a promise of profit. Read the limitations section - it is not window dressing.
🔹 THE TWO CHANNELS - AN AUDITED PROMISE
Most trendline tools quietly redraw the past so the line always looks right in hindsight. Trend Beams refuses to. A line lives through three visible states:
• Forming (dotted) - the assistant sketching. It is free to move and re-fit while it hunts for the right geometry. This is the only state in which a support/resistance line moves, and it is dotted precisely so you can tell a guess from a commitment.
• Locked (solid) - the geometry has stilled and earned its tangency credit, so the line is frozen . It will never move again. A locked beam is a promise the tool has to keep in public.
• Broken (restyled) - break evidence fired. The ink is re-styled to show it failed, but it is never relocated ; it holds its original slope as an honest record and, if you keep history on, dims into the background once its successor locks.
Because a locked line cannot move, what you saw at lock time is what you keep. This is the core design commitment of the tool.
Two rails, either direction by design. Support is the lower rail, fit to the swing lows on the underside of price; resistance is the upper rail, fit to the swing highs above it. Neither is locked to a single slope: in a falling market the support rail angles down with the lows (the floor of the down-channel), and in a rally the resistance rail angles up with the highs (the ceiling of the up-channel). That is deliberate. A tool that forces support to only ever point up would go blind to the lower boundary of a downtrend - and miss exactly the moves that matter. Trend Beams instead always draws both boundaries of the channel price is actually in , so a strong move is framed on both sides rather than half-missed. If you prefer to read it the classical way, follow the rail that agrees with the trend and treat the other as the opposite wall of the same channel.
🔸 HOW A LINE EARNS ITS LOCK
While forming, each line is scored every bar by a perceptual fit , a running measure of how well its geometry matches what a careful trader would draw against the recent swing structure, blended with a one-pole toward its fitted slope so it settles rather than twitches. A lock is granted only when the geometry has gone still for long enough, the line has accumulated real tangency credit (genuine touches, not a single graze), and it spans a minimum bar count - and it is refused outright if it would invert the channel. The Mode dial sets how much evidence this takes.
🔹 THE AUDIT BADGE
Locked ink can carry a small measurement badge that reports, in plain terms, how the line is actually holding up:
• Wick-through - recent piercing of the line, exponentially weighted, measured against the tool's 10% design target . A well-behaved line lets price kiss it, not knife through it.
• Survival probability - the current modeled odds that the line is still valid.
• Maturity - how far through its estimated total run the move is, so a young trend reads differently from an exhausted one.
The badge is the tool grading its own work on the chart, not a trade instruction.
🔸 THE FORECAST - EACH BEAM READS ITS OWN VOLUME
Every live beam carries its own forecast, built entirely from the volume that has traded around that line. Trend Beams bins the intrabar volume by its distance from the beam, smooths it into a continuous density (a kernel-density estimate), and renders three things that ride the line:
• Calibration band - translucent ribbons hugging the beam, one per density bin, showing where the trend has held its volume. Strength is encoded as colour vibrancy at a constant perceptual lightness (the Oklab principle - a dense core reads vivid, the thin tails fade), so nothing is made brighter or darker than its weight warrants.
• Reach profile - a smooth filled contour fanning into the future margin, where each level's forward extent is its density times the trend's estimated remaining length . It answers, at a glance: if this trend keeps going, how far - and around which prices - does its own volume say it reaches?
• Ghost levels - dashed lines at the distribution's densest peaks, riding parallel to the beam, marking the prices this trend keeps returning to.
The forecast attaches only to a beam's currently-visible live element - its forming sketch, or its locked ink - and keeps no history . It is a read of the present trend, refreshed at the live edge, not a replay of the past.
🔸 THE ENGINE DIALS
• Mode - the tempo. Fast locks, breaks and re-forms sooner (short swings); Slow demands more evidence and holds through more noise (long moves); Medium is the balanced reference.
• Precision - how much data the engine reads: the perceptual fit window and the intrabar sample rate. Higher tiers resolve finer structure at more load. Sampling is timeframe-aware and never drops below one minute.
🔹 LAYERS, COLOUR & LEGIBILITY
Every layer is a toggle - forming lines, broken history, audit badges, and the forecast - so you can run it as a bare two-line channel or a fully dressed read. Colours come from three clean anchors: Support , Resistance , and Chrome (badges and neutral furniture). The whole translucent forecast - band, profile, and ghost levels - is coloured in the Oklab perceptual space, so strength shows up as vibrancy at a constant lightness rather than as glare, and a single Contrast dial scales the entire forecast from a whisper to bold.
🔸 HOW TO READ IT
• Treat a forming (dotted) line as a hypothesis and a locked (solid) line as a committed level - the tool is telling you which is which on purpose.
• Watch the audit badge : rising wick-through and falling survival probability say a locked line is wearing out.
• Read a broken line as a failed level that still marks where the structure gave way.
• Use each beam's band to see where its trend has held its volume, its reach profile for how far the trend's own volume says it can run, and its ghost levels for the prices it keeps returning to.
🔹 INPUTS
• Trend Engine - Mode (tempo) and Precision (data depth).
• Layers - show forming lines, broken history, audit badges, and the forecast.
• Colors - Support, Resistance, and Chrome anchors, plus a Contrast control for the translucent forecast.
• Channels - enable the support and/or resistance side independently.
🔸 LIMITATIONS AND HONEST NOTES
• This is a drawing and modeling assistant , not a validated strategy. It makes no performance claim and no edge claim . Nothing here is financial, investment or trading advice.
• Locked and broken lines do not repaint - once a line locks, its geometry is frozen. Forming lines move by design (they are the live sketch, and are dotted to say so), and each beam's forecast (band, profile, ghost levels) refreshes at the live edge as new volume arrives and attaches only to the current live element. These are live reads, on purpose; none of them rewrites confirmed history.
• Survival probability, maturity, remaining length and the reach profile are model estimates from the trend's own statistics - projections, not guarantees, and not forecasts of price.
• Intrabar sampling is subject to your plan's intrabar data limits ; higher Precision tiers read more intrabar data.
• Drawing budgets are finite. The tool caps its lines, labels and polylines internally, but very long histories with everything enabled push against PulseWire's per-script drawing limits - trim the layers you don't need.
Indicator

Indicator

NeuPortal - Forecast LevelsDraws a pre-computed probabilistic price forecast on the chart: a core-50% / 80% cone projected forward, the median path, an entry zone, an invalidation level, two reference levels, Fibonacci retracements, support/resistance and three EMAs.
This is a RENDERER, not a signal generator. You paste the numbers — produced by your own model or by hand — into the settings, and the script draws them consistently. Nothing is computed from price except the moving averages.
Why it is built this way: a forecast written down with an explicit invalidation and a stated probability band can be scored afterwards. A drawing without those cannot.
Inputs are grouped:
1) Forecast — central (median), core 50% band, wide 80% band, projection length
2) Position — bias (long / short / neutral), entry zone, invalidation, two reference levels
3) Structure — support, resistance, five Fibonacci retracements
4) Moving averages — three EMAs, bundled in to save an indicator slot
Educational content — not financial advice. Indicator

CTZ Cycle support and resistance **CTZ A/D + Anchored Volume Profile S/R**
A confluence-based support and resistance tool that fuses two independent reads of market structure: an auto-anchored volume profile that maps where the market has accepted price, and an Accumulation/Distribution engine that reveals where smart money has been quietly positioning against price.
**How it works**
*Anchored Volume Profile.* The indicator automatically finds the defining swing of the current market structure and anchors a volume profile to it — the range high in a downtrend, the range low in an uptrend, the same way a professional would anchor manually. From that anchored segment it calculates the Point of Control (the single price level with the most traded volume), plus the Value Area High and Value Area Low containing the majority of the range's volume. These three levels are the market's memory: where business was done, and where it wasn't.
*A/D Divergence Engine.* In parallel, a cumulative Accumulation/Distribution line runs bar by bar, weighting volume by where price closes within each bar's range. At every confirmed price pivot the indicator compares price structure against A/D structure. When price makes a lower low but A/D makes a higher low, buyers are absorbing supply into weakness — an accumulation zone is drawn. When price makes a higher high but A/D makes a lower high, distribution is underway into strength — a distribution zone is drawn.
*Confluence.* When an A/D divergence pivot lands on the POC, VAH, or VAL, that level is tagged ⚡DIV — volume acceptance and smart money divergence at the same price. These are the highest-conviction levels the indicator produces.
**Cycle-based lookback**
The anchor window is defined in cycle degrees rather than arbitrary bar counts: Daily Cycle (60D), Intermediate Cycle (140D), Yearly Cycle (365D), and 4-Year Cycle (1461D), plus a Manual mode. The default is the 4-Year Cycle — on Bitcoin this anchors the profile to the true cycle extreme and maps the macro acceptance structure of the entire cycle. An Auto mode is also included, which starts at the Intermediate degree and automatically escalates to Yearly and then 4-Year whenever the swing that defines the range is older than the window — so the anchor always sits on a genuine structural extreme, never an arbitrary cutoff.
Run two instances at different degrees — 4-Year for the macro map, Intermediate or Daily for tactical levels — to nest cycle context the same way DCL, ICL, YCL, and 4YCL nest within each other.
**On the chart**
Red POC line, white VAH/VAL lines, all drawn from the anchor point (marked ⚓) and extended right. Teal ACCUM and red DIST zones extend from each divergence pivot, sized by ATR. A status panel shows the detected trend, the active cycle window, anchor age, POC price, and divergence count — with a clip warning if the structural swing is older than the selected window. Alerts fire when price approaches the POC, VAH, or VAL.
**How to use it**
Trend context first: the anchor tells you the structure (anchored to a high = declining structure; to a low = advancing structure). POC is the gravitational center — price far above it is extended, far below it is discounted, and revisits are common. VAH and VAL are the acceptance boundaries: rejection there keeps price in balance; acceptance beyond them signals initiative activity and range extension. ACCUM zones below price are demand candidates; DIST zones above price are supply candidates; ⚡DIV-tagged levels are where both systems agree.
**Settings**
Lookback mode (cycle degree), profile rows, value area percentage, A/D signal length, pivot sensitivity, zone height, and all colors are configurable.
**Limitations**
Levels recalculate when a new range extreme redefines the anchor — correct behaviour for anchored profiles, but it means levels are not static. Divergence pivots confirm a few bars after they form, as with all pivot-based detection. Profile quality depends on the volume feed of the chart's symbol. The A/D line does not account for gaps between bars. Best used as a structural map alongside your execution tools, not as a standalone entry signal. Indicator

[SkuldX] FVG & Session OpensSkuldX FVG & Session Opens — Institutional Imbalance Zones
by SkuldX Trading Systems
What is it?
SkuldX FVG & Session Opens combines two core concepts of institutional price analysis: true session opening levels and Fair Value Gaps. Together they identify where the market opened and where the first imbalance formed — giving traders a structural edge at the start of every session.
Session Opens
TDO (True Day Open) — marks 00:00 NY time, the true start of the trading day. The line extends to the right and updates its label dynamically as price moves, always showing the current distance from the open.
TWO (True Weekly Open) — marks the opening of a chosen day and time in NY timezone. Fully configurable: choose any day of the week and any hour/minute. Defaults to Monday 18:00 NY — the standard weekly open used by institutional traders.
Both lines are customizable in color, style, and width, with labels anchored to the right edge for clean chart readability.
Fair Value Gaps
A Fair Value Gap is a three-candle imbalance where price moves so aggressively that a gap forms between the first and third candle. These zones often act as high-probability targets for price to return and rebalance.
TWO FVG — detected on the first candle after the weekly open. This zone represents the initial weekly imbalance and remains visible for the entire week as a key reference level.
TDO First FVG — detected on the first candle after the daily open. Marks the initial daily imbalance and holds for the full session.
TDO Live FVG — recalculates every 3 bars throughout the day, always showing the most recent imbalance zone. Updates automatically — old zone is replaced as new imbalances form.
Bullish FVGs appear in green, bearish in red. Each zone is labeled inside the box for instant identification.
Settings
TDO / TWO — toggle visibility, color, line style and width per session
TWO Day of Week — choose which day triggers the weekly open (Sunday through Saturday)
TWO Hour / Minute — precise NY time for the weekly open
Show TDO First FVG — toggle the daily anchor imbalance zone
Show TDO Live FVG — toggle the rolling 3-bar imbalance zone
Show TWO FVG — toggle the weekly imbalance zone
Bullish / Bearish / Live FVG Colors — independent color control per zone type
Notes
Best used on 1h or lower timeframes where individual session opens and intraday FVGs are clearly visible. On higher timeframes the TWO FVG is the primary reference — the weekly imbalance zone that price frequently revisits before continuing its directional move.
Built for SkuldX ecosystem
Session opens and FVG zones are core inputs to SkuldX automated trading logic. Bots built on the SkuldX infrastructure use these levels for entry timing, stop placement, and target identification. Indicator

Fund + Pullback Screener v5Fund + Pullback Screener — fundamental filter + pullback entry signal
WHAT IT DOES
This indicator combines fundamental screening and technical entry timing in a single tool. The logic is two-stage: a stock is first checked against fundamental criteria, then against a pullback setup (a retracement within an uptrend). All checks are displayed in an on-chart table: value, threshold, pass/fail.
PRESETS
5 built-in fundamental filter modes (switchable in settings):
- GARP — quality companies at a reasonable price: P/E 8–35, ROE > 15%, operating margin > 15%, EPS growth > 10%, Debt/Equity < 1, PEG < 2
- Growth — profitable companies with aggressive growth: P/E up to 120, EPS growth > 25%, revenue growth > 20%, PEG < 3
- Deep Value — cheap and profitable: P/E 5–18, PEG < 1.2, Debt/Equity < 0.7
- Emerging Growth — pre-profit hypergrowth (P/E, PEG, EPS, ROE are not used): revenue growth > 30%, revenue acceleration, gross margin > 40%, improving operating margin, Rule of 40, share dilution < 8%
- Custom — manual thresholds
SIGNAL LOGIC
Status in the table: NO / WATCH / ENTRY.
- Trend filter: weekly timeframe, price above SMA200 and SMA50 above SMA200. For young companies without 200 weeks of history, it automatically falls back to SMA50.
- WATCH: fundamentals passed, uptrend intact, RSI below 50, price within 4 ATR of support (pivot low or SMA50). A candidate to monitor.
- ENTRY: RSI in the 30–50 zone turning up, price within 1.5 ATR above support (an undercut down to 0.5 ATR is allowed). Shown as a triangle below the bar.
Distances are measured in ATR units, so the logic automatically adapts to each instrument's volatility.
HANDLING UNAVAILABLE DATA (N/A POLICY)
Some sectors structurally lack certain metrics (e.g., gross margin for insurers). Lenient mode (default) skips up to 2 unavailable metrics, marking them with a gray "–" and showing a skip counter. Core metrics (market cap, revenue growth) are never skipped. Strict mode: any unavailable metric = fail.
HOW TO USE
1. Recommended timeframe — daily.
2. Pick the preset matching the company type: mature names — GARP/Deep Value, expensive growers — Growth, pre-profit — Emerging Growth.
3. Shortlist candidates with the native PulseWire screener, add them to a watchlist and flip through the charts — the table instantly shows the full picture for each ticker.
4. All thresholds are configurable in the settings.
LIMITATIONS
- Works on stocks only — crypto, forex and futures have no fundamental data.
- EPS and revenue growth are computed from the history of quarterly reports accumulated on the chart: full history is required (at least 8–9 quarters), otherwise growth metrics show n/a.
- Fundamental data updates quarterly as reports are released.
- The indicator is informational only and is not investment advice. Indicator

Astro Cycle Confluence Swing [Jayadev Rana]Astro Cycle Confluence Swing is an experimental daily-timeframe indicator that builds swing buy and sell signals purely from astronomical time cycles. It reads no price to compute the cycles: every celestial value is a deterministic function of the bar's UTC timestamp, so the cycle track is fixed in advance and does not repaint.
WHAT IT COMBINES
The script fuses eight classic cycle ideas into two composite readings:
1. Lunar synodic phase - new moon and full moon turning points, plus a phase bias.
2. Lunar anomalistic distance - perigee and apogee windows (often associated with volatility).
3. Lunar declination cycle - a tropical-month oscillation (approximate).
4. Solar season and declination - the four Gann cardinal points (equinoxes and solstices).
5. Planetary synodic composite - a weighted sum of cosines of the heliocentric angular separations between planet pairs from Mercury through Saturn. This is an original construction inspired by classic planetary cycle models, not a copy of any specific one.
6. Mercury retrograde window - a synodic inferior-conjunction proxy (approximate).
7. Gann time cycles - calendar-day counts (30, 45, 60, 90, 120, 144, 180, 270, 360) measured from the last confirmed swing pivot.
8. Fibonacci time cycles - Fibonacci day counts (13, 21, 34, 55, 89, 144, 233) from the same anchor.
HOW SIGNALS FORM
Two composites are derived on each bar:
- Net Astro Bias (range -1 to +1): a weighted blend of the directional components (lunar phase, planetary composite, seasonal momentum, lunar declination).
- Turn Energy (range 0 to 1): a weighted blend of the event components (moon phase change, perigee or apogee, cardinal points, planetary composite extreme, Gann and Fibonacci time hits, Mercury station).
A BUY prints when Net Astro Bias crosses up through the bias threshold while Turn Energy is elevated within a small window around an astro event. A SELL is the mirror. Optional filters can also require price to sit at a swing extreme, require a confirming candle, and enforce a minimum bar gap between same-side signals.
INPUTS
- Signal engine: bias threshold, turn-energy threshold and reference, turn window, minimum gap, swing-extreme filter, confirming-candle filter.
- Directional bias weights: per-theory weights and a lunar-bias invert switch.
- Turning-point weights: per-event weights.
- Cycle anchor: swing pivot strength used for the Gann and Fibonacci time counts.
- Display: signal markers, bias background tint, dashboard position, and colors.
DASHBOARD
A table summarizes the current lunar phase and illumination, lunar distance and declination state, season and solar declination, planetary composite value and direction, Mercury direct or retrograde state, days since the anchor, Net Astro Bias, Turn Energy, and the active signal.
ALERTS
Two alertcondition slots (BUY and SELL) plus dynamic alert() calls that name the current ticker.
INTENDED USE
Built for the 1-day timeframe as a swing tool. The dashboard shows a reminder when the chart is not daily. It works on any symbol because the cycles are time-based rather than instrument-based.
LIMITATIONS AND NOTES
- All ephemeris terms use mean orbital elements that are linear in time. They are approximations suitable for multi-day cycle timing, not for arc-second astronomy. Event timing can be off by about a bar.
- Astronomical and astrological market cycles are a speculative and unproven framework. This tool is provided for study and experimentation, not as a forecast.
- The Gann and Fibonacci time anchors update on confirmed pivots, and a pivot confirms only after the pivot-strength number of bars, so those anchor-based rows lag by that many bars. The astronomical crossings themselves are exact and do not repaint.
DISCLAIMER
This script is for educational and informational purposes only. It is not financial advice and does not guarantee any result. Past cycle alignments do not predict future price. Always do your own research and manage your own risk. Indicator

BIST Multi-Strategy Screener (SuperTrend, MACD, OBV, MFI, BB)What it does
This indicator is designed for PulseWire's Pine Screener. It combines five independent strategies — SuperTrend, MACD, Bollinger Bands + Volume, OBV, and MFI — into a single composite scoring model (0–100) and exposes every signal as a numeric plot, so each one can be used as a filter column in the Pine Screener.
How it works
Each strategy produces two states:
Trigger (a fresh crossover/flip on the current bar) → generates a "New Buy" state
Continuation (the condition is still active) → generates a "Buy (Ongoing)" state
Scoring weights: SuperTrend flip +80, Bollinger breakout with 1.5× average volume +85, MACD crossover +70, MFI crossing above 50 +65, OBV crossing above its EMA(20) +75. A special "Sniper" condition (SuperTrend flip confirmed by OBV) scores 95. Continuation states score lower (60–75). The total is capped at 100. A separate volume-spike flag fires when volume exceeds 2× its 20-bar average.
The rationale for the mashup: SuperTrend defines the trend regime, MACD and MFI confirm momentum, OBV confirms money flow, and the Bollinger + volume condition detects breakouts. Requiring agreement between trend, momentum and volume-based tools filters out many single-indicator false signals.
How to use it
Save the script, open Pine Screener, choose your watchlist (e.g. BIST stocks) and select this indicator.
Add filters on the plotted columns, for example: `New Buy = 1`, `Score ≥ 85`, `Volume Spike = 1`, or `Sniper (ST+OBV) = 1`.
An optional Heikin Ashi mode recalculates all signals on smoothed candles.
Settings
Calculation source: Normal candles / Heikin Ashi
ATR period and multiplier for SuperTrend (default 14 / 1.5)
Limitations
Signals are computed on bar close; intrabar values may repaint until the bar closes. Heikin Ashi mode uses synthetic prices and should not be used to estimate real entry prices. This script is a screening tool, not a trading system, and past signal behavior does not guarantee future results. Educational purposes only — not financial advice.
Indicator

Indicator

TrendGrade Buy Sell SignalsTrendGrade — Buy & Sell Signals (MTF Confirmed)
What it does
TrendGrade is a signal-grading system built on top of a Supertrend trigger. Instead of treating every Supertrend flip as an equal trade opportunity, it classifies each buy signal by quality using trend-strength analysis (XTL), higher-timeframe confirmation, and a transparent rule-based priority score. It is designed primarily for intraday swing timeframes (e.g., 2H) with 4H confirmation and an optional Daily veto.
How it works
1. Base trigger — Supertrend
The entry engine is the classic ATR-based Supertrend (default ATR 14, multiplier 2.0). A buy setup appears when the trend flips from bearish to bullish; a sell setup appears on the opposite flip.
2. Signal grading — XTL (eXpert Trend Locator)
XTL is based on Tom Joseph's statistical concept for separating directional moves from random market noise, implemented here via a Double-CCI-style calculation with a selectable moving-average engine (28 MA types, default VWMA-26 on HLC3) and a fixed threshold (default 37).
XTL above the threshold = BULL environment
XTL below the negative threshold = BEAR environment
Otherwise = NEUTRAL
Optional bar coloring paints candles by XTL state (bull / neutral / bear).
3. Multi-timeframe confirmation (anti-repaint)
4H confirmation: close above the 4H EMA-21, EMA slope flat or rising, plus an optional RSI(14) momentum check (RSI > 50 or rising).
Daily veto (optional): if the Daily close is below its EMA-21 AND the EMA slope is down (strong downtrend), all buy signals are blocked. Blocked signals are still shown on the chart as an orange × for transparency.
By default only closed higher-timeframe bars are used (`lookahead_off` + confirmed-bar indexing), so MTF confirmation does not repaint. This can be disabled for faster (but mutable) live-bar confirmation.
4. Signal classes
STRONG BUY — Supertrend flip + XTL BULL + 4H confirmation (lime label)
BUY — Supertrend flip without full confirmation (green label)
SELL — Supertrend flip down, only fired if a valid buy occurred first (simple position tracking, so sells are not orphaned)
Filtered/blocked raw signals are plotted as gray circles or orange × marks so you can always see what was suppressed and why.
5. Optional EMA-89 filter
Buy signals can additionally be required to close above EMA-89 (with an adjustable % tolerance). Off by default.
6. Priority score (0–100)
Each signal gets a transparent, rule-based score from RSI, MFI, relative volume, EMA ribbon alignment (5/8/13/34/55/89/200), Parabolic SAR position and CMF. This is a simple checklist score — it is NOT a statistical probability.
7. Alerts & webhook automation
Standard `alertcondition()` alerts for Strong Buy / Buy / Sell / trend change.
A structured JSON alert (via `alert()`) designed for webhook automation (e.g., Make.com / n8n): symbol, timeframe, price, ATR-based Target-1/Target-2, Supertrend stop, R:R ratio, priority score, XTL state, 4H/Daily MTF status, RSI/MFI/CMF, relative volume, EMA support/resistance map, and flags such as "volume spike" (relative volume ≥ 3×) and "strong money inflow" (CMF ≥ 0.15).
Optional early intrabar alert: fires before bar close once a configurable percentage of the bar has elapsed (default 60%), clearly tagged `early_mode=1`. Early alerts can be invalidated before the bar closes (repaint risk is explicitly flagged); the confirmed bar-close alert is always sent separately.
Settings overview
Supertrend: ATR period, multiplier, source, ATR method
XTL: length, MA type (28 options), source, threshold, traditional/modern CCI formula
MTF: confirmation timeframe (default 4H), veto timeframe (default 1D), EMA length, slope lookback, momentum check, closed-bar mode
EMA-89 filter, EMA ribbon display, Parabolic SAR display
Targets: ATR multiples for Target-1 / Target-2 (used in alert messages)
Oscillators/volume lengths and attention thresholds (used in alert messages)
Early-signal toggle and minimum bar progress
Repainting notes
Confirmed signals are evaluated on bar close.
MTF data uses `lookahead_off` and, by default, the last closed higher-timeframe bar, so confirmation status does not change retroactively (at the cost of up to one higher-timeframe bar of delay).
The optional early intrabar alert is intentionally repainting by nature and is clearly labeled as a pre-warning; the final confirmation is always sent at bar close.
Credits
XTL (eXpert Trend Locator) concept by Tom Joseph — a statistical market evaluation distinguishing directional trends from random noise.
XTL implementation adapted from the public "Double CCI" approach on PulseWire.
Supertrend logic based on the widely used ATR-based community implementation.
Moving-average library includes public implementations credited in-code to @everget (JMA), @DonovanWall (FRAMA, COVWMA), @allanster (VAMA), @RedKTrader (RSS_WMA), @Duyck (ADX MA) and @glaz (RSI EMA).
Disclaimer
This indicator is for educational and informational purposes only. It is not financial advice and past signal behavior does not guarantee future results. Always do your own research and manage risk appropriately. Indicator

Fractal Memory Strategy [Jayadev Rana]Fractal Memory Strategy trades the same engine as the Fractal Memory Projection indicator: it looks for the historical episode most similar to current price action, and only takes trend flips that agree with how that episode played out. Exits scale out at three volatility-adaptive targets.
HOW IT DECIDES
An ATR trailing stop tracks the trend. When it flips, the last 30 closes are converted to normalized log returns and compared against past windows by mean squared distance. The bars that followed the best analog give a net direction; the flip is only traded when the analog direction agrees (the filter can be disabled). Orders are processed on bar close, so no lookahead is involved. For visual context the strategy also draws the 50-candle ghost projection beyond the last bar - it is display-only and never affects order logic.
ENTRIES AND EXITS
On a confirmed bullish flip with agreement the strategy closes any short and enters long; the mirror applies to shorts. One unit of risk R equals ATR times (1.2 plus the ATR percentile rank over 200 bars), so targets and stops widen in volatile regimes and tighten in quiet ones. Position exits: one third at 1R, one third at 2R, the remainder at 3R, with a stop at 1.5R (all adjustable). Direction can be restricted to long-only or short-only.
PROPERTIES USED IN THE PUBLISHED BACKTEST
10,000 initial capital, 10 percent of equity per trade, 0.01 percent commission per order, 2 ticks slippage, no pyramiding, orders on close. These are deliberately conservative; adjust them to match your own broker before drawing any conclusion.
PANEL
Match similarity, volatility regime, forecast direction, closed trade count and win rate.
NOTES
The analog projection is a statistical reference, not a prediction, and past behaviour does not guarantee anything about the future. Results vary by symbol and timeframe; test on your own market with realistic costs before considering any live use. This is an educational tool, not financial advice. Strategy

Native Volume Footprint, 1H Alignment, Brackets & OBs by GuruJamThe PulseWire Pine Script v6 dashboard is built to function as a comprehensive macroeconomic and technical analysis tool, specifically optimized for tracking the Nairobi Securities Exchange.
Here is a breakdown of its core structural and functional components:
Core Functionality
Macro-Economic Integration: The script allows for sector-specific customization, enabling you to align technical movements with broader Kenyan macroeconomic trends and specific market sectors.
Advanced Technical Mapping: It incorporates Smart Money Concepts, specifically utilizing horizontal liquidity boxes. These visually map out critical zones of institutional interest, historical support/resistance, and areas where liquidity is resting.
Automated Signal Filtering: Instead of raw data plotting, the script runs market data through customized filters to generate automated, actionable trade signals based on the confluence of volume, price action, and liquidity sweeps.
Technical Architecture
Language: Written in Pine Script v6, taking advantage of the latest array functionalities, dynamic lines, and box drawing capabilities for real-time order book and liquidity evaluation.
Display: Designed as an overlay or dashboard interface to provide multi-timeframe insights without cluttering the primary price chart. Indicator

Fractal Memory Projection [Jayadev Rana]Fractal Memory Projection searches price history for the moment that most resembles the present, then shows what happened next - drawn on your chart as 50 lighter ghost candles ahead of the current bar - together with trend-flip BUY and SELL signals and volatility-adaptive targets.
HOW THE FORECAST WORKS
The last 30 closes are converted to normalized log returns (the pattern window). The script scans up to 750 past bars and scores every historical window of the same length by mean squared distance, so the comparison is about the shape of movement, not price level. The bars that followed the best match are replayed forward from the current close, rescaled by the ratio of current ATR to ATR at the match, and drawn as 50 semi-transparent ghost candles beyond the last bar. The panel reports the match similarity, how many bars ago it occurred, and the net forecast direction.
The projection is a statistical analog - a look at how the most similar past episode unfolded - not a prediction or a guarantee. It is display-only and never affects historical values, so nothing repaints.
BUY AND SELL SIGNALS
An ATR trailing stop tracks the trend. When it flips direction, a BUY or SELL label prints - by default only when the ghost-candle forecast agrees with the flip direction (toggle available). Alerts are included for both signals.
VOLATILITY-ADAPTIVE TARGETS
Target spacing is not fixed. A unit of risk R equals ATR multiplied by (0.8 + ATR percentile rank over 200 bars), so quiet markets produce tighter targets and volatile markets produce wider ones. Each signal sets TP1, TP2 and TP3 at 1R, 2R and 3R and a stop loss at 1.2R (adjustable). Only the most recent trade's levels are kept on the chart to stay clean.
PANEL
Match quality percent, bars since the match, volatility regime (Low, Normal, High), forecast direction, and current trend side.
SETTINGS
Pattern window, scan depth, forecast length, ghost candle colors, ATR length, trail multiplier, forecast-agreement filter, stop multiplier, and panel position are all configurable.
NOTES
Works on any symbol and timeframe with enough history (at least scan depth plus forecast length bars). This is an analysis tool, not financial advice. Test on your own data and manage risk before trading. Indicator

Moon CyclesOverview
Marks the four primary lunar phases (new, first quarter, full, last quarter) directly on the chart using an astronomical calculation, for traders who track lunar-cycle-based market sentiment/timing frameworks.
How it's calculated
Uses the standard synodic month constant (29.530588853 days) against a known reference new moon (6 Jan 2000) to compute a continuous lunar-cycle phase fraction (0 to 1) for the current bar's timestamp, then flags a phase transition whenever that fraction crosses a phase boundary (0.0 = new, 0.25 = first quarter, 0.5 = full, 0.75 = last quarter) between the current and prior bar.
How to use it
This isn't a trading signal on its own — it's a calendar overlay for traders who want lunar phases visible alongside price action as one input among others. Label text is configurable (emoji only, with meaning, with date, or all three) and vertical lines can optionally mark new/full moons for easier visual alignment with price swings. Indicator

IQ Session Bayesian Particle Filter [TradingIQ]🔹 OVERVIEW
This indicator runs a genuine Sequential Monte Carlo particle filter; the Bayesian architecture used in robotics and signal tracking... on your chart! Session by session, it learns where trading volume concentrates and paints a forecast of the coming session's entire volume-by-price distribution before that session unfolds: every expected high-volume level at once, not a single line.
It is not a moving average wearing a costume. Each finished session is treated as evidence: hundreds of particles are weighed against what actually traded, resampled, and mutated. Predict → observe → update, honestly Bayesian, every session.
🔹 HOW IT WORKS
Two particle swarms run side by side:
• A shape swarm learns the form of the distribution; one lump or several, wide or tight, and where each volume node sits.
• A drift swarm learns how far from the open the session's center of gravity tends to land.
An empirical-Bayes trust term scales the drift forecast by how much it has actually earned: when its track record is poor, the forecast automatically hugs the open. The prediction you see is the shape swarm's density, re-anchored by the trusted fraction of the drift forecast, rendered through a kernel density estimate whose bandwidth follows Silverman's rule.
🔸 HOW TO READ IT
• Session heatmap — the predicted density painted from the session open to the profile. A two-tone gradient split at the open; the tones swap roles across it, so each side mirrors the other. Bold color = expected business, fade = expected quiet.
• Mirrored profile — the forecast on the left, split bullish/bearish at the session open; the realized session volume on the right in a single neutral color.
• Confidence honesty — the prediction's glow scales with the filter's live confidence. When it has been wrong lately, its side visibly goes quiet. The realized side never fades, because reality doesn't.
• Bias info box — seated between the halves: the share of predicted volume above vs below the open (🢁 / 🢃).
• Expected levels — dashed lines at the probability-weighted average predicted price of each half: the session's expected bull and bear magnets.
• HVN lines + POC — the predicted high-volume levels. The point of control always shows; the HVN Threshold input is your dial between a few safe targets and every level worth watching.
🔹 SELF-TUNING
Every statistical free parameter tunes itself from data: the KDE bandwidth (Silverman's rule for visual convenience), the observation noise, the swarms' search domain (tracks the observed session spread), the mutation rate (genetic adaptation), the scout rate (scales with recent error), and the center trust (regression shrinkage). The inputs you are given are visual preferences plus a compute preset. There is nothing statistical to fiddle with, on purpose.
🔸 INPUTS
• Session Engine — Session Timeframe (the session boundary; must exceed the chart timeframe), Prediction Quality (particles per swarm, Fast 100 → Max 4000), Sessions to Keep.
• Volume Profile — toggles for the profile, bias box and expected levels; width, offset, info-box width, transparency.
• Session Heatmap — toggle, faint/bold density transparencies, Tone A / Tone B.
• High Volume Nodes — toggle, HVN Threshold %, reach, color.
• Colors — Bullish, Bearish, Realized.
🔹 VALIDATION
The filter was tested on real intraday data; 10 large-cap symbols, three session horizons, every prediction one-step-ahead and out-of-sample, against uniform, yesterday's-profile, Gaussian-fit, rolling-average and EWMA baselines, with the test harness itself audited too.
• Against naive prediction (uniform prior, yesterday's profile) it wins every metric tested at every horizon.
• Against the strongest profile-averaging methods it trades wins: they edge the single-lump fit metrics; the filter captures materially more of the session's actual traded volume with its predicted levels, and is the only method that reliably names multiple simultaneous targets .
• On sessions with two or more real volume peaks; roughly 4 in 10 sessions, its targets covered 19–42% more realized volume than the best alternative.
🔸 LIMITATIONS AND HONEST NOTES
• The forecast for a session is set when that session opens and is not repainted ; the realized half updates live as the session trades.
• It estimates a distribution of volume , not a promise of direction. The bias %, expected levels and HVN set are probability-weighted readings of that distribution.
• The filter is stochastic by nature: two chart reloads can differ in fine detail, the way two runs of any Monte Carlo method do. The structure it finds is stable; the pixel-level noise is not.
• Requires volume data from your data feed. Not supported on non-standard chart types.
• The chart timeframe must be lower than the session timeframe.
Indicator
