Kyoshiro - FVG + Order Blocks📌 Kyoshiro – FVG + Order Blocks
This indicator combines Order Block (OB) detection with an intelligent auto-management system and a clean visual display on the chart.
It is designed to help traders better identify institutional zones where price frequently reacts.
⚙️ Key Features:
✅ Real-time detection of bullish and bearish Order Blocks.
✅ Automatic cleanup: invalidated OBs are removed to keep the chart clean.
✅ Customizable display:
Maximum number of visible OBs (bullish / bearish).
Zone colors, outlines, and midlines.
Line styles (solid, dashed, dotted) and adjustable width.
✅ Choice of mitigation method:
Wick
Close
✅ Built-in alerts:
Formation of bullish or bearish OB.
Mitigation of an existing OB.
🔔 Available Alerts:
Bullish OB Formed → A bullish order block is detected.
Bearish OB Formed → A bearish order block is detected.
Bullish OB Mitigated → A bullish OB has been invalidated.
Bearish OB Mitigated → A bearish OB has been invalidated.
🎯 Use Cases:
Quickly identify key liquidity zones.
Track institutional activity in the market.
Improve entry and exit precision.
스크립트에서 "ha溢价率"에 대해 찾기
ORB Breakout Traffic Signal (5/15/30)ORB Breakout Traffic Signal (5/15/30)
This indicator visualizes Opening Range Breakouts (ORB) for the first 5, 15, and 30 minutes of the US regular trading session (09:30–16:00 ET).
It provides a compact, easy-to-read traffic signal table on your chart to show whether price is breaking out, breaking down, or consolidating inside the range.
🔑 Features
Auto-anchors at 09:30 ET (converted to your local time automatically).
Tracks ORB High/Low for:
5-minute window (09:30–09:34)
15-minute window (09:30–09:44)
30-minute window (09:30–09:59)
Displays results in a compact table:
↑ (green) → price has broken above the ORB high
↓ (red) → price has broken below the ORB low
• (gray) → price remains inside the ORB range (optional; can be disabled)
Customizable:
Toggle which ORBs to show (5m, 15m, 30m)
Choose table position (top/bottom left/right)
Adjustable text size
Option to plot the ORB High/Low lines on your chart
📌 Usage
Designed for intraday traders watching US equities/ETFs/futures.
Works best on 1-minute or 5-minute charts with Extended Hours turned OFF (so the session starts exactly at 09:30 ET).
Helps you quickly spot early breakouts (5m), mid-session trends (15m), or confirmed directional moves (30m).
⚠️ Notes
Signals only update during the RTH session
Outside market hours, the last locked ORB and signal remain displayed until the next open.
This tool is for analysis/visualization only; not a buy/sell signal. Always combine with your own trading strategy and risk management.
👉 Perfect for traders who want a quick visual confirmation of whether price is breaking out of the opening range or stuck inside it.
Multiple Asset note_table Sections### Features
- **Expanded to 10 independent Sections**: Each Section has a title, content, and associated asset
- **Asset-based filtering**: Section only displays when the Section's asset name is empty or matches the current chart asset
- **Empty asset setting retained**: If Section asset name is left blank, that Section will display across all assets
- **Automatic display of current asset**: Current asset name is automatically shown in the header and footer
### Usage Instructions
1. Each Section can be assigned a specific asset name, such as "BTCUSDT", "ETHUSDT", etc.
2. A Section will only display when the current chart asset matches the asset specified for that Section
3. If you want a Section to display across all assets, simply leave the asset name blank for that Section
4. Each Section has independent title and content that can be customized as needed
5. When switching to different trading instruments, the indicator automatically displays notes relevant to the current instrument
Retail Sentiment Indicator - Multi-Asset CFD & Fear/Greed IndexRetail Sentiment Indicator - Multi-Asset CFD & Fear/Greed Index
Overview
The Retail Sentiment Indicator provides real-time sentiment data for major financial instruments including stocks, forex, commodities, and cryptocurrencies. This indicator displays retail trader positioning and market sentiment using CFD data and fear/greed indices.
Methodology and Scale Calculation
This indicator operates on a **-50 to +50 scale** with zero representing perfect market equilibrium.
Scale Interpretation:
- **Zero (0)**: Market balance - exactly 50% of investors buying, 50% selling
- **Positive values**: Majority buying pressure
- Example: If 63% of investors are buying, the indicator shows +13 (63 - 50 = +13)
- **Negative values**: Majority selling pressure
- Example: If 92% of investors are selling, the indicator shows -42 (50 - 92 = -42)
BTC Fear & Greed Index Scaling:
The original `BTC FEAR&GREED` index is natively scaled from 0-100 by its creator. In our indicator, this data has been rescaled to also fit the -50 to +50 range for consistency with other sentiment data sources.
This unified scaling approach allows for direct comparison across all instruments and data sources within the indicator.
-Important Data Source Selection-
Bitcoin (BTC) Data Sources
When viewing Bitcoin charts, the indicator offers **two different data sources**:
1. **Default Auto-Mode**: `BTCUSD Retail CFD` - Retail CFD traders sentiment data (automatically loaded).
2. **Manual Selection**: `BTC FEAR&GREED` - Fear & Greed Index from website: alternative dot me
**To access BTC Fear & Greed Index**: Input settings -> disable checkbox "Auto-load Sentiment Data" -> manually select "BTC FEAR&GREED" from the dropdown menu.
US Stock Market Data Sources
For US stocks and indices (S&P 500, NASDAQ, Dow Jones), there are **two data source options**:
1. **Default Auto-Mode**: Individual retail CFD sentiment data for each instrument
2. **Manual Selection**: `SNN FEAR&GREED` - SNN's Fear & Greed Index covering the overall US market sentiment. SNN was used as the name to avoid any potential trademark infringement.
**To access SNN Fear & Greed Index**: When viewing US market charts, disable in input settings checkbox "Auto-load Sentiment Data" and manually select "SNN FEAR&GREED" from the dropdown menu.
This distinction allows traders to choose between **instrument-specific retail sentiment** (auto-mode) or **broader market sentiment indices** (manual selection).
Features
- **Auto-Detection**: Automatically loads sentiment data based on the current chart symbol
- **Manual Selection**: Choose from 40+ supported instruments when auto-detection is unavailable
- **Multiple Data Sources**: Combines retail CFD sentiment with Fear & Greed indices
- **Visual Zones**: Clear greed/fear zones with color-coded backgrounds
- **Real-time Updates**: Live sentiment data from merged data sources
Supported Instruments
Major Indices
- S&P 500, NASDAQ, Dow Jones 30, DAX
Forex Pairs
- Major pairs: EURUSD, GBPUSD, USDJPY, USDCHF, USDCAD
- Cross pairs: EURJPY, GBPJPY, AUDUSD, NZDUSD, and 20+ others
Commodities
- Precious metals: Gold (XAUUSD), Silver (XAGUSD)
- Energy: WTI Oil
- Agricultural: Wheat, Coffee
- Industrial: Copper
Cryptocurrencies
- Bitcoin (BTC) sentiment data
- BTC & SNN Fear & Greed indices
How to Use
1. **Auto Mode** (Default): Enable "Auto-load Sentiment Data" to automatically display sentiment for the current chart symbol
2. **Manual Mode**: Disable auto-load and select from the dropdown menu for specific instruments
3. **Interpretation**:
- Values above 0 (green) indicate retail greed/bullish sentiment
- Values below 0 (red) indicate retail fear/bearish sentiment
- Fear & Greed indices use 0-100 scale (50 is neutral)
Data Sources
This indicator uses curated sentiment data from retail CFD providers and established fear/greed indices. Data is updated regularly and sourced from reputable financial data providers.
Trading Strategy & Market Philosophy
Contrarian Trading Approach
The primary purpose of this indicator is based on the fundamental market principle that **the majority of retail investors are often wrong**, and markets typically move opposite to the positions held by the majority of market participants.
Key Strategy Guidelines:
- **Contrarian Signal**: When the majority of users are positioned on one side of the market, there is statistically greater market advantage in taking positions in the opposite direction
- **Trend Exhaustion Signal**: An interesting observed phenomenon occurs when, during a long-lasting trend where the majority of investors have consistently been on the wrong side, the Sentiment indicator suddenly shows that the majority has flipped and opened positions in the direction of that long-running trend. This is often a signal of fuel exhaustion for further movement in that direction
Interpretation Examples
- High greed readings (majority bullish) → Consider bearish opportunities
- High fear readings (majority bearish) → Consider bullish opportunities
- Sudden sentiment flip during established trends → Potential trend reversal signal
Technical Notes
- Built with PineScript v6
- Dynamic symbol detection with fallback options
- Optimized for performance with minimal resource usage
- Color-coded visualization with customizable zones
Data Sources & Expansion
Acknowledgments
We extend our gratitude to **TradingView** for enabling the use of custom data feeds based on GitHub repositories, making this comprehensive sentiment analysis possible.
Data Expansion Opportunities
As the operator of this indicator, I am **open to suggestions for new data sources** that could be integrated and published. If you have ideas for additional instruments or sentiment data:
How to Submit Suggestions:
1. Send a **private message** with your proposal
2. Include: **instrument/data type**, **source**, and **brief description**
3. If technically feasible, we will work to import and publish the data
Data Infrastructure Status
Current Data Upload Process:
Please note that sentiment data uploads may occasionally experience minor interruptions. However, this should not pose significant issues as sentiment data typically changes gradually rather than rapidly.
Infrastructure Development:
We are actively working on establishing permanent cloud-based infrastructure to ensure continuous, automated data collection and upload processes. This will provide more reliable and consistent data availability in the future.
Disclaimer
This indicator is for educational and informational purposes only. Sentiment data should be used as part of a comprehensive trading strategy and not as the sole basis for trading decisions. Past performance does not guarantee future results. The contrarian approach described is a market theory and may not always produce profitable results.
Martingale Strategy Simulator [BackQuant]Martingale Strategy Simulator
Purpose
This indicator lets you study how a martingale-style position sizing rule interacts with a simple long or short trading signal. It computes an equity curve from bar-to-bar returns, adapts position size after losing streaks, caps exposure at a user limit, and summarizes risk with portfolio metrics. An optional Monte Carlo module projects possible future equity paths from your realized daily returns.
What a martingale is
A martingale sizing rule increases stake after losses and resets after a win. In its classical form from gambling, you double the bet after each loss so that a single win recovers all prior losses plus one unit of profit. In markets there is no fixed “even-money” payout and returns are multiplicative, so an exact recovery guarantee does not exist. The core idea is unchanged:
Lose one leg → increase next position size
Lose again → increase again
Win → reset to the base size
The expectation of your strategy still depends on the signal’s edge. Sizing does not create positive expectancy on its own. A martingale raises variance and tail risk by concentrating more capital as a losing streak develops.
What it plots
Equity – simulated portfolio equity including compounding
Buy & Hold – equity from holding the chart symbol for context
Optional helpers – last trade outcome, current streak length, current allocation fraction
Optional diagnostics – daily portfolio return, rolling drawdown, metrics table
Optional Monte Carlo probability cone – p5, p16, p50, p84, p95 aggregate bands
Model assumptions
Bar-close execution with no slippage or commissions
Shorting allowed and frictionless
No margin interest, borrow fees, or position limits
No intrabar moves or gaps within a bar (returns are close-to-close)
Sizing applies to equity fraction only and is capped by your setting
All results are hypothetical and for education only.
How the simulator applies it
1) Directional signal
You pick a simple directional rule that produces +1 for long or −1 for short each bar. Options include 100 HMA slope, RSI above or below 50, EMA or SMA crosses, CCI and other oscillators, ATR move, BB basis, and more. The stance is evaluated bar by bar. When the stance flips, the current trade ends and the next one starts.
2) Sizing after losses and wins
Position size is a fraction of equity:
Initial allocation – the starting fraction, for example 0.15 means 15 percent of equity
Increase after loss – multiply the next allocation by your factor after a losing leg, for example 2.00 to double
Reset after win – return to the initial allocation
Max allocation cap – hard ceiling to prevent runaway growth
At a high level the size after k consecutive losses is
alloc(k) = min( cap , base × factor^k ) .
In practice the simulator changes size only when a leg ends and its PnL is known.
3) Equity update
Let r_t = close_t / close_{t-1} − 1 be the symbol’s bar return, d_{t−1} ∈ {+1, −1} the prior bar stance, and a_{t−1} the prior bar allocation fraction. The simulator compounds:
eq_t = eq_{t−1} × (1 + a_{t−1} × d_{t−1} × r_t) .
This is bar-based and avoids intrabar lookahead. Costs, slippage, and borrowing costs are not modeled.
Why traders experiment with martingale sizing
Mean-reversion contexts – if the signal often snaps back after a string of losses, adding size near the tail of a move can pull the average entry closer to the turn
Behavioral or microstructure edges – some rules have modest edge but frequent small whipsaws; size escalation may shorten time-to-recovery when the edge manifests
Exploration and stress testing – studying the relationship between streaks, caps, and drawdowns is instructive even if you do not deploy martingale sizing live
Why martingale is dangerous
Martingale concentrates capital when the strategy is performing worst. The main risks are structural, not cosmetic:
Loss streaks are inevitable – even with a 55 percent win rate you should expect multi-loss runs. The probability of at least one k-loss streak in N trades rises quickly with N.
Size explodes geometrically – with factor 2.0 and base 10 percent, the sequence is 10, 20, 40, 80, 100 (capped) after five losses. Without a strict cap, required size becomes infeasible.
No fixed payout – in gambling, one win at even odds resets PnL. In markets, there is no guaranteed bounce nor fixed profit multiple. Trends can extend and gaps can skip levels.
Correlation of losses – losses cluster in trends and in volatility bursts. A martingale tends to be largest just when volatility is highest.
Margin and liquidity constraints – leverage limits, margin calls, position limits, and widening spreads can force liquidation before a mean reversion occurs.
Fat tails and regime shifts – assumptions of independent, Gaussian returns can understate tail risk. Structural breaks can keep the signal wrong for much longer than expected.
The simulator exposes these dynamics in the equity curve, Max Drawdown, VaR and CVaR, and via Monte Carlo sketches of forward uncertainty.
Interpreting losing streaks with numbers
A rough intuition: if your per-trade win probability is p and loss probability is q=1−p , the chance of a specific run of k consecutive losses is q^k . Over many trades, the chance that at least one k-loss run occurs grows with the number of opportunities. As a sanity check:
If p=0.55 , then q=0.45 . A 6-loss run has probability q^6 ≈ 0.008 on any six-trade window. Across hundreds of trades, a 6 to 8-loss run is not rare.
If your size factor is 1.5 and your base is 10 percent, after 8 losses the requested size is 10% × 1.5^8 ≈ 25.6% . With factor 2.0 it would try to be 10% × 2^8 = 256% but your cap will stop it. The equity curve will still wear the compounded drawdown from the sequence that led to the cap.
This is why the cap setting is central. It does not remove tail risk, but it prevents the sizing rule from demanding impossible positions
Note: The p and q math is illustrative. In live data the win rate and distribution can drift over time, so real streaks can be longer or shorter than the simple q^k intuition suggests..
Using the simulator productively
Parameter studies
Start with conservative settings. Increase one element at a time and watch how the equity, Max Drawdown, and CVaR respond.
Initial allocation – lower base reduces volatility and drawdowns across the board
Increase factor – set modestly above 1.0 if you want the effect at all; doubling is aggressive
Max cap – the most important brake; many users keep it between 20 and 50 percent
Signal selection
Keep sizing fixed and rotate signals to see how streak patterns differ. Trend-following signals tend to produce long wrong-way streaks in choppy ranges. Mean-reversion signals do the opposite. Martingale sizing interacts very differently with each.
Diagnostics to watch
Use the built-in metrics to quantify risk:
Max Drawdown – worst peak-to-trough equity loss
Sharpe and Sortino – volatility and downside-adjusted return
VaR 95 percent and CVaR – tail risk measures from the realized distribution
Alpha and Beta – relationship to your chosen benchmark
If you would like to check out the original performance metrics script with multiple assets with a better explanation on all metrics please see
Monte Carlo exploration
When enabled, the forecast draws many synthetic paths from your realized daily returns:
Choose a horizon and a number of runs
Review the bands: p5 to p95 for a wide risk envelope; p16 to p84 for a narrower range; p50 as the median path
Use the table to read the expected return over the horizon and the tail outcomes
Remember it is a sketch based on your recent distribution, not a predictor
Concrete examples
Example A: Modest martingale
Base 10 percent, factor 1.25, cap 40 percent, RSI>50 signal. You will see small escalations on 2 to 4 loss runs and frequent resets. The equity curve usually remains smooth unless the signal enters a prolonged wrong-way regime. Max DD may rise moderately versus fixed sizing.
Example B: Aggressive martingale
Base 15 percent, factor 2.0, cap 60 percent, EMA cross signal. The curve can look stellar during favorable regimes, then a single extended streak pushes allocation to the cap, and a few more losses drive deep drawdown. CVaR and Max DD jump sharply. This is a textbook case of high tail risk.
Strengths
Bar-by-bar, transparent computation of equity from stance and size
Explicit handling of wins, losses, streaks, and caps
Portable signal inputs so you can A–B test ideas quickly
Risk diagnostics and forward uncertainty visualization in one place
Example, Rolling Max Drawdown
Limitations and important notes
Martingale sizing can escalate drawdowns rapidly. The cap limits position size but not the possibility of extended adverse runs.
No commissions, slippage, margin interest, borrow costs, or liquidity limits are modeled.
Signals are evaluated on closes. Real execution and fills will differ.
Monte Carlo assumes independent draws from your recent return distribution. Markets often have serial correlation, fat tails, and regime changes.
All results are hypothetical. Use this as an educational tool, not a production risk engine.
Practical tips
Prefer gentle factors such as 1.1 to 1.3. Doubling is usually excessive outside of toy examples.
Keep a strict cap. Many users cap between 20 and 40 percent of equity per leg.
Stress test with different start dates and subperiods. Long flat or trending regimes are where martingale weaknesses appear.
Compare to an anti-martingale (increase after wins, cut after losses) to understand the other side of the trade-off.
If you deploy sizing live, add external guardrails such as a daily loss cut, volatility filters, and a global max drawdown stop.
Settings recap
Backtest start date and initial capital
Initial allocation, increase-after-loss factor, max allocation cap
Signal source selector
Trading days per year and risk-free rate
Benchmark symbol for Alpha and Beta
UI toggles for equity, buy and hold, labels, metrics, PnL, and drawdown
Monte Carlo controls for enable, runs, horizon, and result table
Final thoughts
A martingale is not a free lunch. It is a way to tilt capital allocation toward losing streaks. If the signal has a real edge and mean reversion is common, careful and capped escalation can reduce time-to-recovery. If the signal lacks edge or regimes shift, the same rule can magnify losses at the worst possible moment. This simulator makes those trade-offs visible so you can calibrate parameters, understand tail risk, and decide whether the approach belongs anywhere in your research workflow.
FibADX MTF Dashboard — DMI/ADX with Fibonacci DominanceFibADX MTF Dashboard — DMI/ADX with Fibonacci Dominance (φ)
This indicator fuses classic DMI/ADX with the Fibonacci Golden Ratio to score directional dominance and trend tradability across multiple timeframes in one clean panel.
What’s unique
• Fibonacci dominance tiers:
• BULL / BEAR → one side slightly stronger
• STRONG when one DI ≥ 1.618× the other (φ)
• EXTREME when one DI ≥ 2.618× (φ²)
• Rounded dominance % in the +DI/−DI columns (e.g., STRONG BULL 72%).
• ADX column modes: show the value (with strength bar ▂▃▅… and slope ↗/↘) or a tier (Weak / Tradable / Strong / Extreme).
• Configurable intraday row (30m/1H/2H/4H) + D/W/M toggles.
• Threshold line: color & width; Extended (infinite both ways) or Not extended (historical plot).
• Theme presets (Dark / Light / High Contrast) or full custom colors.
• Optional panel shading when all selected TFs are strong (and optionally directionally aligned).
How to use
1. Choose an intraday TF (30/60/120/240). Enable D/W/M as needed.
2. Use ADX ≥ threshold (e.g., 21 / 34 / 55) to find tradable trends.
3. Read the +DI/−DI labels to confirm bias (BULL/BEAR) and conviction (STRONG/EXTREME).
4. Prefer multi-TF alignment (e.g., 4H & D & W all strong bull).
5. Treat EXTREME as a momentum regime—trail tighter and scale out into spikes.
Alerts
• All selected TFs: Strong BULL alignment
• All selected TFs: Strong BEAR alignment
Notes
• Smoothing selectable: RMA (Wilder) / EMA / SMA.
• Percentages are whole numbers (72%, not 72.18%).
• Shorttitle is FibADX to comply with TV’s 10-char limit.
Why We Use Fibonacci in FibADX
Traditional DMI/ADX indicators rely on fixed numeric thresholds (e.g., ADX > 20 = “tradable”), but they ignore the relationship between +DI and −DI, which is what really determines trend conviction.
FibADX improves on this by introducing the Fibonacci Golden Ratio (φ ≈ 1.618) to measure directional dominance and classify trend strength more intelligently.
⸻
1. Fibonacci as a Natural Strength Threshold
The golden ratio φ appears everywhere in nature, growth cycles, and fractals.
Since financial markets also behave fractally, Fibonacci levels reflect natural crowd behavior and trend acceleration points.
In FibADX:
• When one DI is slightly larger than the other → BULL or BEAR (mild advantage).
• When one DI is at least 1.618× the other → STRONG BULL or STRONG BEAR (trend conviction).
• When one DI is 2.618× or more → EXTREME BULL or EXTREME BEAR (high momentum regime).
This approach adds structure and consistency to trend classification.
⸻
2. Why 1.618 and 2.618 Instead of Random Numbers
Other traders might pick thresholds like 1.5 or 2.0, but φ has special mathematical properties:
• φ is the most irrational ratio, meaning proportions based on φ retain structure even when scaled.
• Using φ makes FibADX naturally adaptive to all timeframes and asset classes — stocks, crypto, forex, commodities.
⸻
3 . Trading Advantages
Using the Fibonacci Golden Ratio inside DMI/ADX has several benefits:
• Better trend filtering → Avoid false DI crossovers without conviction.
• Catch early momentum shifts → Spot when dominance ratios approach φ before ADX reacts.
• Consistency across markets → Because φ is scalable and fractal, it works everywhere.
⸻
4. How FibADX Uses This
FibADX combines:
• +DI vs −DI ratio → Measures directional dominance.
• φ thresholds (1.618, 2.618) → Classifies strength into BULL, STRONG, EXTREME.
• ADX threshold → Confirms whether the move is tradable or just noise.
• Multi-timeframe dashboard → Aligns bias across 4H, D, W, M.
⸻
Quick Blurb for TradingView
FibADX uses the Fibonacci Golden Ratio (φ ≈ 1.618) to classify trend strength.
Unlike classic DMI/ADX, FibADX measures how much one side dominates:
• φ (1.618) = STRONG trend conviction
• φ² (2.618) = EXTREME momentum regime
This creates an adaptive, fractal-aware framework that works across stocks, crypto, forex, and commodities.
⚠️ Disclaimer : This script is provided for educational purposes only.
It does not constitute financial advice.
Use at your own risk. Always do your own research before making trading decisions.
Created by @nomadhedge
Machine Learning Z-Score Buy and Sell [SS]Hey everyone,
Releasing this Z-Score based buy and sell indicator.
What it does
This indicator:
Uses Z-score and trend to identify potential buy and sell areas.
Signals those buy and sell areas and provides a target price based on the mean.
Plots the target price for buy and sell signals as a red line (for sell signals) or green line (for buy signals).
Has some "machine learning" aspects, namely, it is able to auto select its lookback length based on its analysis of the trend using Pienscript's trend correlation function iterated over multiple lengths, in order for the indicator to identify:
a) The strongest trend; and
b) The correct target price
What is Z-Score
Z-Score is a measure of the mean. Thus, this is a mean reverting type strategy, as it uses z-score to determine price's distance from the mean (or a Z-Score of 0) and then it looks at historic deviations from the mean to signal the buy and sell signals (i.e. how far has price traditionally drifted from the mean before reverting).
Z-Score is a powerful tool in this sense, and if you folow my other indicators, you will know how much I love Z-score!
How to use the indicator
If you want to use the full Machine Learning capabilities of the indicator, its best to just leave all default settings. These default settings will automatically adjust the mean target price and buy and sell signals to align with the current price action.
If you want to be more aggressive in your
Target Price; and
Signals
Then you can opt to manually input a lookback length and mean reversion standard deviation. However, I generally suggest to avoid this as you are then making your own determination of trend by qualitative assessment. It can work, but its just not suggested.
In the input menu, you will see the option to "Manually select lookback" thus over-riding the auto-determination of trend and targets.
You will also see "manual pullback" enabler and "Pullback Standard Deviation". You can set your pullback standard deviation if you want to be more aggressive. The indicator will naturally shift to conservative target prices based on a neutral mean. However, if you want to increase the aggressiveness of the target price, you can increase or decrease the pullback standard deviation.
General Tips about Manually Adjusting Pullback Target
Here are some tips if you want to manually adjust the pullback targets:
The pullback target needs to be in a standard deviation value, this can be anywhere from 0 to 4 or 0 to -4 (you can theoretically go higher but its not really realistic). You can also do decimals, so 1.5 or 1.25 etc.
To determine whether you should be doing negative or positive standard deviation, you should determine the trend. If it is a downtrend and you are looking to short the rips, you will want to select a negative number, like -1.
If it is an uptrend and you want to buy the dips, you should be selecting a positive number, like 1 or 1.5.
Again, I do suggest leaving the indicator to decide for itself, but the options are there for those who wish.
Overall strategy
This is a mean reverting strategy. So if you are a mean reversion trader, this may be of particular interest to you.
Optional
Optionally, you can have the indicator plot the target prices or not, simply toggle this functionality off or on in the settings menu.
Concluding remarks
That is the indicator in a nutshell!
I hope you enjoy it and find it helpful.
Feel free to check out my other Z-Score based indicators if you find this interesting or want to learn more about the power of Z-Score in trading!
Thanks all and safe trades!
Market Spiralyst [Hapharmonic]Hello, traders and creators! 👋
Market Spiralyst: Let's change the way we look at analysis, shall we? I've got to admit, I scratched my head on this for weeks, Haha :). What you're seeing is an exploration of what's possible when code meets art on financial charts. I wanted to try blending art with trading, to do something new and break away from the same old boring perspectives. The goal was to create a visual experience that's not just analytical, but also relaxing and aesthetically pleasing.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language. I hope it inspires you as much as it challenged me!
🧐 Core Concept: How It Works
Spiralyst is built on two distinct but interconnected engines:
The Generative Art Engine: At its core, this indicator uses a wide range of mathematical formulas—from simple polygons to exotic curves like Torus Knots and Spirographs—to draw beautiful, intricate shapes directly onto your chart. This provides a unique and dynamic visual backdrop for your analysis.
The Market Pulse Engine: This is where analysis meets art. The engine takes real-time data from standard technical indicators (RSI and MACD in this version) and translates their states into a simple, powerful "Pulse Score." This score directly influences the appearance of the "Scatter Points" orbiting the main shape, turning the entire artwork into a living, breathing representation of market momentum.
🎨 Unleash Your Creativity! This Is Your Playground
We've included 25 preset shapes for you... but that's just the starting point !
The real magic happens when you start tweaking the settings yourself. A tiny adjustment can make a familiar shape come alive and transform in ways you never expected.
I'm genuinely excited to see what your imagination can conjure up! If you create a shape you're particularly proud of or one that looks completely unique, I would love to see it. Please feel free to share a screenshot in the comments below. I can't wait to see what you discover! :)
Here's the default shape to get you started:
The Dynamic Scatter Points: Reading the Pulse
This is where the magic happens! The small points scattered around the main shape are not just decorative; they are the visual representation of the Market Pulse Score.
The points have two forms:
A small asterisk (`*`): Represents a low or neutral market pulse.
A larger, more prominent circle (`o`): Represents a high, strong market pulse.
Here’s how to read them:
The indicator calculates the Pulse Strength as a percentage (from 0% to 100%) based on the total score from the active indicators (RSI and MACD). This percentage determines the ratio of circles to asterisks.
High Pulse Strength (e.g., 80-100%): Most of the scatter points will transform into large circles (`o`). This indicates that the underlying momentum is strong and It could be an uptrend. It's a visual cue that the market is gaining strength and might be worth paying closer attention to.
Low Pulse Strength (e.g., 0-20%): Most or all of the scatter points will remain as small asterisks (`*`). This suggests weak, neutral, or bearish momentum.
The key takeaway: The more circles you see, the stronger the bullish momentum is according to the active indicators. Watch the artwork "breathe" as the circles appear and disappear with the market's rhythm!
And don't worry about the shape you choose; the scatter points will intelligently adapt and always follow the outer boundary of whatever beautiful form you've selected.
How to Use
Getting started with Spiralyst is simple:
Choose Your Canvas: Start by going into the settings and picking a `Shape` and `Palette` from the "Shape Selection & Palette" group that you find visually appealing. This is your canvas.
Tune Your Engine: Go to the "Market Pulse Engine" settings. Here, you can enable or disable the RSI and MACD scoring engines. Want to see the pulse based only on RSI? Just uncheck the MACD box. You can also fine-tune the parameters for each indicator to match your trading style.
Read the Vibe: Observe the scatter points. Are they mostly small asterisks or are they transforming into large, vibrant circles? Use this visual feedback as a high-level gauge of market momentum.
Check the Dashboard: For a precise breakdown, look at the "Market Pulse Analysis" table on the top-right. It gives you the exact values, scores, and total strength percentage.
Explore & Experiment: Play with the different shapes and color palettes! The core analysis remains the same, but the visual experience can be completely different.
⚙️ Settings & Customization
Spiralyst is designed to be highly customizable.
Shape Selection & Palette: This is your main control panel. Choose from over 25 unique shapes, select a color palette, and adjust the line extension style ( `extend` ) or horizontal position ( `offsetXInput` ).
scatterLabelsInput: This setting controls the total number of points (both asterisks and circles) that orbit the main shape. Think of it as adjusting the density or visual granularity of the market pulse feedback.
The Market Pulse engine will always calculate its strength as a percentage (e.g., 75%). This percentage is then applied to the `scatterLabelsInput` number you've set to determine how many points transform into large circles.
Example: If the Pulse Strength is 75% and you set this to `100` , approximately 75 points will become circles. If you increase it to `200` , approximately 150 points will transform.
A higher number provides a more detailed, high-resolution view of the market pulse, while a lower number offers a cleaner, more minimalist look. Feel free to adjust this to your personal visual preference; the underlying analytical percentage remains the same.
Market Pulse Engine:
`⚙️ RSI Settings` & `⚙️ MACD Settings`: Each indicator has its own group.
Enable Scoring: Use the checkbox at the top of each group to include or exclude that indicator from the Pulse Score calculation. If you only want to use RSI, simply uncheck "Enable MACD Scoring."
Parameters: All standard parameters (Length, Source, Fast/Slow/Signal) are fully adjustable.
Individual Shape Parameters (01-25): Each of the 25+ shapes has its own dedicated group of settings, allowing you to fine-tune every aspect of its geometry, from the number of petals on a flower to the windings of a knot. Feel free to experiment!
For Developers & Pine Script™ Enthusiasts
If you are a developer and wish to add more indicators (e.g., Stochastic, CCI, ADX), you can easily do so by following the modular structure of the code. You would primarily need to:
Add a new `PulseIndicator` object for your new indicator in the `f_getMarketPulse()` function.
Add the logic for its scoring inside the `calculateScore()` method.
The `calculateTotals()` method and the dashboard table are designed to be dynamic and will automatically adapt to include your new indicator!
One of the core design philosophies behind Spiralyst is modularity and scalability . The Market Pulse engine was intentionally built using User-Defined Types (UDTs) and an array-based structure so that adding new indicators is incredibly simple and doesn't require rewriting the main logic.
If you want to add a new indicator to the scoring engine—let's use the Stochastic Oscillator as a detailed example—you only need to modify three small sections of the code. The rest of the script, including the adaptive dashboard, will update automatically.
Here’s your step-by-step guide:
#### Step 1: Add the User Inputs
First, you need to give users control over your new indicator. Find the `USER INTERFACE: INPUTS` section and add a new group for the Stochastic settings, right after the MACD group.
Create a new group name: `string GRP_STOCH = "⚙️ Stochastic Settings"`
Add the inputs: Create a boolean to enable/disable it, and then add the necessary parameters (`%K`, `%D`, `Smooth`). Use the `active` parameter to link them to the enable/disable checkbox.
// Add this code block right after the GRP_MACD and MACD inputs
string GRP_STOCH = "⚙️ Stochastic Settings"
bool stochEnabledInput = input.bool(true, "Enable Stochastic Scoring", group = GRP_STOCH)
int stochKInput = input.int(14, "%K Length", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochDInput = input.int(3, "%D Smoothing", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochSmoothInput = input.int(3, "Smooth", minval=1, group = GRP_STOCH, active = stochEnabledInput)
#### Step 2: Integrate into the Pulse Engine (The "Factory")
Next, go to the `f_getMarketPulse()` function. This function acts as a "factory" that builds and configures the entire market pulse object. You need to teach it how to build your new Stochastic indicator.
Update the function signature: Add the new `stochEnabledInput` boolean as a parameter.
Calculate the indicator: Add the `ta.stoch()` calculation.
Create a `PulseIndicator` object: Create a new object for the Stochastic, populating it with its name, parameters, calculated value, and whether it's enabled.
Add it to the array: Simply add your new `stochPulse` object to the `array.from()` list.
Here is the complete, updated `f_getMarketPulse()` function :
// Factory function to create and calculate the entire MarketPulse object.
f_getMarketPulse(bool rsiEnabled, bool macdEnabled, bool stochEnabled) =>
// 1. Calculate indicator values
float rsiVal = ta.rsi(rsiSourceInput, rsiLengthInput)
= ta.macd(close, macdFastInput, macdSlowInput, macdSignalInput)
float stochVal = ta.sma(ta.stoch(close, high, low, stochKInput), stochDInput) // We'll use the main line for scoring
// 2. Create individual PulseIndicator objects
PulseIndicator rsiPulse = PulseIndicator.new("RSI", str.tostring(rsiLengthInput), rsiVal, na, 0, rsiEnabled)
PulseIndicator macdPulse = PulseIndicator.new("MACD", str.format("{0},{1},{2}", macdFastInput, macdSlowInput, macdSignalInput), macdVal, signalVal, 0, macdEnabled)
PulseIndicator stochPulse = PulseIndicator.new("Stoch", str.format("{0},{1},{2}", stochKInput, stochDInput, stochSmoothInput), stochVal, na, 0, stochEnabled)
// 3. Calculate score for each
rsiPulse.calculateScore()
macdPulse.calculateScore()
stochPulse.calculateScore()
// 4. Add the new indicator to the array
array indicatorArray = array.from(rsiPulse, macdPulse, stochPulse)
MarketPulse pulse = MarketPulse.new(indicatorArray, 0, 0.0)
// 5. Calculate final totals
pulse.calculateTotals()
pulse
// Finally, update the function call in the main orchestration section:
MarketPulse marketPulse = f_getMarketPulse(rsiEnabledInput, macdEnabledInput, stochEnabledInput)
#### Step 3: Define the Scoring Logic
Now, you need to define how the Stochastic contributes to the score. Go to the `calculateScore()` method and add a new case to the `switch` statement for your indicator.
Here's a sample scoring logic for the Stochastic, which gives a strong bullish score in oversold conditions and a strong bearish score in overbought conditions.
Here is the complete, updated `calculateScore()` method :
// Method to calculate the score for this specific indicator.
method calculateScore(PulseIndicator this) =>
if not this.isEnabled
this.score := 0
else
this.score := switch this.name
"RSI" => this.value > 65 ? 2 : this.value > 50 ? 1 : this.value < 35 ? -2 : this.value < 50 ? -1 : 0
"MACD" => this.value > this.signalValue and this.value > 0 ? 2 : this.value > this.signalValue ? 1 : this.value < this.signalValue and this.value < 0 ? -2 : this.value < this.signalValue ? -1 : 0
"Stoch" => this.value > 80 ? -2 : this.value > 50 ? 1 : this.value < 20 ? 2 : this.value < 50 ? -1 : 0
=> 0
this
#### That's It!
You're done. You do not need to modify the dashboard table or the total score calculation.
Because the `MarketPulse` object holds its indicators in an array , the rest of the script is designed to be adaptive:
The `calculateTotals()` method automatically loops through every indicator in the array to sum the scores and calculate the final percentage.
The dashboard code loops through the `enabledIndicators` array to draw the table. Since your new Stochastic indicator is now part of that array, it will appear automatically when enabled!
---
Remember, this is your playground! I'm genuinely excited to see the unique shapes you discover. If you create something you're proud of, feel free to share it in the comments below.
Happy analyzing, and may your charts be both insightful and beautiful! 💛
Smart Money Footprint & Cost Basis Engine [AlgoPoint]Smart Money Footprint & Cost Basis Engine
This indicator is a comprehensive market analysis tool designed to identify the "footprints" of Smart Money (institutions, whales) and pinpoint high-probability reaction zones. Instead of relying on lagging averages, this engine analyzes the very structure of the market to find where large players have shown their hand.
How It Works: The Core Logic
The indicator operates on a multi-stage confirmation process to identify and validate Smart Money zones:
Smart Money Detection (The Trigger): The engine first scans the chart for signs of intense, urgent buying or selling. It does this by identifying Fair Value Gaps (FVGs) created by large, high-volume Displacement Candles. This is our initial Point of Interest (POI).
Cost Basis Calculation (The Average Price): Once a potential Smart Money move is detected, the indicator calculates the Volume-Weighted Average Price (VWAP) for that specific move. This gives us a highly accurate estimate of the average price at which the large players entered their positions.
Historical Confirmation (The "Memory"): This is the indicator's most unique feature. It checks its historical database to see if a similar Smart Money move (in the same direction) has occurred in the same price area in the past. If a match is found, the zone's significance is confirmed.
Verified Cost Basis Zone (The Final Output): A zone that passes all the above checks is drawn on the chart as a high-probability Verified Cost Basis Zone. These are the "memory zones" where the market is likely to react upon a re-visit.
How to Use This Indicator
Cost Basis Zones (The Boxes):
Green Boxes: Bullish zones where Smart Money likely accumulated positions. When the price returns here, a BUY reaction is expected.
Red Boxes: Bearish zones where Smart Money likely distributed positions. When the price returns here, a SELL reaction is expected.
Zone Strength (★★★): Each zone is created with a star rating. More stars indicate a higher-confidence zone (based on factors like volume intensity and historical confirmation).
BUY/SELL Signals: A signal is only generated when the price enters a zone AND the confirmation filters (if enabled in the settings) are passed.
Zone Statuses:
Green/Red: Active and waiting to be tested.
Gray: The zone has been tested, and a signal was produced.
Dark Gray (Invalidated): The zone was broken decisively and is no longer considered valid support/resistance.
Key Settings
Signal Accuracy Filters: You can enable/disable three powerful filters to balance signal quantity and quality:
Momentum Confirmation (Stoch): Waits for momentum to align with the zone's direction.
Candlestick Confirmation (Engulfing): Waits for a strong reversal candle inside the zone.
Lower Timeframe MSS Confirmation: The most advanced filter; waits for a trend shift on a lower timeframe before giving a signal.
Historical Confirmation:
Require Historical Confirmation: Toggle the "Memory" feature on/off. Turn it off to see all potential SM zones.
Tolerance Calculation Method: Choose between a dynamic ATR Multiplier (recommended for all-around use) or a fixed Percentage to define the zone size.
MEMA X-OL9+A. 5, 10, 20, 50 ema's
B. When the 10 goes below the 20 it has shades of red between the 10 and 20.
C. When there is a downward crossover, There will be a Red arrow pointing down.
D. When the 10 is moving closer (upward) towards the 20 it has orange shading. I use this to catch 10 over 20 crossovers.
E. When there is a crossover 10 over 20 it will shade green and have a gold arrow pointing upward. A little redundant, because you'll see the crossover from the shading.
F. Finally there will be smaller blue arrows that represent when there is a close of a candle, if it is lower than the prior candle.
All customizable and defaults should work.
EMA Percentile Rank [SS]Hello!
Excited to release my EMA percentile Rank indicator!
What this indicator does
Plots an EMA and colors it by short-term trend.
When price crosses the EMA (up or down) and remains on that side for three subsequent bars, the cross is “confirmed.”
At the moment of the most recent cross, it anchors a reference price to the crossover point to ensure static price targets.
It measures the historical distance between price and the EMA over a lookback window, separately for bars above and below the EMA.
It computes percentile distances (25%, 50%, 85%, 95%, 99%) and draws target bands above/below the anchor.
Essentially what this indicator does, is it converts the raw “distance from EMA” behavior into probabilistic bands and historical hit rates you can use for targets, stop placement, or mean-reversion/continuation decisions.
Indicator Inputs
EMA length: Default is 21 but you can use any EMA you prefer.
Lookback: Default window is 500, this is length that the percentiles are calculated. You can increase or decrease it according to your preference and performance.
Show Accumulation Table: This allows you to see the table that shows the hits/price accumulation of each of the percentile ranges. UCL means upper confidence and LCL means lower confidence (so upper and lower targets).
About Percentiles
A percentile is a way of expressing the position of a value within a dataset relative to all the other values.
It tells you what percentage of the data points fall at or below that value.
For example:
The 25th percentile means 25% of the values are less than or equal to it.
The 50th percentile (also called the median) means half the values are below it and half are above.
The 99th percentile means only 1% of the values are higher.
Percentiles are useful because they turn raw measurements into context — showing how “extreme” or “typical” a value is compared to historical behavior.
In the EMA Percentile Rank indicator, this concept is applied to the distance between price and the EMA. By calculating percentile distances, the script can mark levels that have historically been reached often (low percentiles) or rarely (high percentiles), helping traders gauge whether current price action is stretched or within normal bounds.
Use Cases
The EMA Percentile Rank indicator is best suited for traders who want to quantify how far price has historically moved away from its EMA and use that context to guide decision-making.
One strong use case is target setting after trend shifts: when a confirmed crossover occurs, the percentile bands (25%, 50%, 85%, 95%, 99%) provide statistically grounded levels for scaling out profits or placing stops, based on how often price has historically reached those distances. This makes it valuable for traders who prefer data-driven risk/reward planning instead of arbitrary point targets. Another use case is identifying stretched conditions — if price rapidly tags the 95% or 99% band after a cross, that’s an unusually large move relative to history, which could signal exhaustion and prompt mean-reversion trades or protective actions.
Conversely, if the accumulation table shows price frequently resides in upper bands after bullish crosses, traders may anticipate continuation and hold positions longer . The indicator is also effective as a trend filter when combined with its EMA color-coding : only taking trades in the trend’s direction and using the bands as dynamic profit zones.
Additionally, it can support multi-timeframe confluence (if you align your chart to the timeframes of interest), where higher-timeframe trend direction aligns with lower-timeframe percentile behavior for higher-probability setups. Swing traders can use it to frame pullbacks — entering near lower percentile bands during an uptrend — while intraday traders might use it to fade extremes or ride breakouts past the median band. Because the anchor price resets only on EMA crosses, the indicator preserves a consistent reference for ongoing trades, which is especially helpful for managing swing positions through noise .
Overall, its strength lies in transforming raw EMA distance data into actionable, probability-weighted levels that adapt to the instrument’s own volatility and tendencies .
Summary
This indicator transforms a simple EMA into a distribution-aware framework: it learns how far price tends to travel relative to the EMA on either side, and turns those excursions into percentile bands and historical hit rates anchored to the most recent cross. That makes it a flexible tool for targets, stops, and regime filtering, and a transparent way to reason about “how stretched is stretched?”—with context from your chosen market and timeframe.
I hope you all enjoy!
And as always, safe trades!
Liquidity Swing Points [BackQuant]Liquidity Swing Points
This tool marks recent swing highs and swing lows and turns them into persistent horizontal “liquidity” levels. These are places where resting orders often accumulate, such as stop losses above prior highs and below prior lows. The script detects confirmed pivots, records their prices, draws lines and labels, and manages their lifecycle on the chart so you can monitor potential sweep or breakout zones without manual redrawing.
What it plots
LQ-H at confirmed swing highs
LQ-L at confirmed swing lows
Horizontal levels that can optionally extend into the future
Timed removal of old levels to keep the chart clean
Each level stores its price, the bar where it was created, its type (high or low), plus a label and a line reference for efficient updates.
How it works
Pivot detection
A swing high is confirmed when the highest high has swing_length bars on both sides that are lower.
A swing low is confirmed when the lowest low has swing_length bars on both sides that are higher.
Pivots are only marked after they are confirmed, so they do not repaint.
Level creation
When a pivot confirms, the script records the price and the creation bar (offset by the right lookback).
A new line is plotted at that price, labeled LQ-H or LQ-L.
Rendering and extension
Levels can be drawn to the most recent bar only or extended to the right for forward reference.
Label size and line color/transparency are configurable.
Lifecycle management
On each confirmed bar, the script checks level age.
Levels older than a chosen bar count are removed automatically to reduce clutter.
How it can be used
Liquidity sweeps: Watch for price to probe beyond a level then close back inside. That behavior often signals a potential fade back into the prior range.
Breakout validation: If price pushes through a level and holds on closes, traders may treat that as continuation. Retests of the level from the other side can serve as structure checks.
Context for entries and exits: Use nearby LQ-H or LQ-L as reference for stop placement or partial-take zones, especially when other tools agree.
Multi-timeframe mapping: Plot swing points on higher timeframes, then drill down to time entries on lower timeframes as price interacts with those levels.
Why liquidity levels matter
Prior swing points are focal areas where many strategies set stops or pending orders. Price often revisits these zones, either to “sweep” resting liquidity before reversing, or to absorb it and trend. Marking these areas objectively helps frame scenarios like failed breaks, successful breakouts, and retests, and it reduces the subjectivity of eyeballing structure.
Settings to know
Swing Detection Length (swing_length), Controls sensitivity. Lower values find more local swings. Higher values find more significant ones.
Bars until removal (removeafter), Deletes levels after a fixed number of bars to prevent buildup.
Extend Levels Right (extend_levels), Keeps levels projected into the future for easier planning.
Label Size (label_size), Choose tiny to large for chart readability.
One color input controls both high and low levels with transparency for context.
Strengths
Objective marking of recent structure without hand drawing
No repaint after confirmation since pivots are locked once the right lookback completes
Lightweight and fast with simple lifecycle management
Clear visuals that integrate well with any price-action workflow
Practical tips
For scalping: use smaller swing_length to capture more granular liquidity. Keep removeafter short to avoid clutter.
For swing trading: increase swing_length so only more meaningful levels remain. Consider extending levels to the right for planning.
Combine with time-of-day filters, ATR for stop sizing, or a separate trend filter to bias trades taken at the levels.
Keep screenshots focused: one image showing a sweep and reversal, another showing a clean breakout and retest.
Limitations and notes
Levels appear after confirmation, so they are delayed by swing_length bars. This is by design to avoid repainting.
On very noisy or illiquid symbols, you may see many nearby levels. Increasing swing_length and shortening removeafter helps.
The script does not assess volume or session context. Consider pairing with volume or session tools if that is part of your process.
TAPDA Vision by TSINCHRONISE ft Grok This is the newly created TAPDA vision indictor 🔮
This time I used Grok to make the entire thing, It currently is working but I am refining and will be upgrading some features.
For now it can carry out a number of important tasks for TAPDA traders :
-Highlights FVGs that haven't been tapped within customizable size an time parameters
-Highlights OBs that haven't been tapped within customizable size an time parameters
-Has Option to Highlight PD Arrays in for 3 different specific times of day (optional)
-Has a Dynamic Highlight function which will highlight untapped PD arrays which were formed in the current hour you are using the indicator and adjusts every hour automatically
This is a work in progress but is useable - Updates to come.
Average Daily Range TrackerAverage Daily Range Tracker
This indicator helps you measure volatility in real time by tracking the Average Daily Range (ADR) and comparing it to the current day’s price action.
🔑 Features
Calculates the ADR over a user-defined lookback period (default = 14 days).
Displays today’s developing range (High–Low) as the session unfolds.
Shows what % of the ADR has already been consumed intraday.
Visual progress bar makes it easy to see how close today is to its historical average range.
Optional ADR plot available in a separate pane.
📈 How traders use it
Spot when a market has already made its “typical” daily move.
Adjust intraday trade expectations: avoid chasing after the bulk of the move is done.
Use % of ADR consumed as a volatility filter for setups.
Combine with support/resistance to identify exhaustion zones.
⚙️ Customization
Lookback length for ADR calculation.
Progress bar size and color.
Optional toggle to plot ADR in its own panel.
Follow-up Buy / Sell Volume Pressure at Supply / Demand Zones█ Overview:
BE-Volume Footprint & Pressure Candles, is an indicator which is preliminarily designed to analyze the supply and demand patterns based on Rally Base Rally (RBR), Drop Base Drop (DBD), Drop Base Rally (DBR) & Rally Base Drop (RBD) concepts in conjunction to volume pressure. Understanding these concepts are crucial. Let's break down why the "Base" is you Best friend in this context.
Commonness in RBR, DBD, DBR, RBD patterns ?
There is an impulse price movement at first, be it rally (price moving up) or the Drop (price moving down), followed by a period of consolidation which is referred as "BASE" and later with another impulse move of price (Rally or Drop).
Why is the Base Important
1. Market Balance: Base represents a balance between buyers and sellers. This is where decisions are made.
2. Confirmation: It confirms the strength of previous impulse move which has happened.
Base & the Liquidity Play:
Supply & Demand Zone predict the presence of all large orders within the limits of the Base Zone. Price is expected to return to the zone to fill the unfilled orders placed by large players.
For the price to move in the intended direction Liquidity plays the major role. hence indicator aims to help traders in identifying those zones where liquidity exists and the volume pressure helps in confirming that liquidity is making its play.
Bottom pane in the below snapshots is a visual representation of Buyers volume pressure (Green Line & the Green filled area) making the price move upwards vs Sellers volume pressure (Red Line & the Red filled area) making the price move downwards.
Top pane in the below snapshots is a visual representation on the pattern identification (Blue marked zone & the Blue line referred as Liquidity level)
Bullish Pressure On Buy Liquidity:
Bearish Pressure On Sell Liquidity:
█ How It Works:
1. Indicator computes technical & mathematical operations such as ATR, delta of Highs & Lows of the candle and Candle ranges to identify the patterns and marks the liquidity lines accordingly.
2. Indicator then waits for price to return to the liquidity levels and checks if Directional volume pressure to flow-in while the prices hover near the Liquidity zones.
3. Once the Volume pressure is evident, loop in to the ride.
█ When It wont Work:
When there no sufficient Liquidity or sustained Opposite volume pressure, trades are expected to fail.
█ Limitations:
Works only on the scripts which has volume info. Relays on LTF candles to determine intra-bar volumes. Hence, Use on TF greater than 1 min and lesser than 15 min.
█ Indicator Features:
1. StrictEntries: employs' tighter rules (rather most significant setups) on the directional volume pressure applied for the price to move. If unchecked, liberal rules applied on the directional volume pressure leading to more setups being identified.
2. Setup Confirmation period: Indicates Waiting period to analyze the directional volume pressure. Early (lesser wait period) is Risky and Late (longer wait period) is too late for the
ride. Find the quant based on the accuracy of the setup provided in the bottom right table.
3. Algo Enabled with Place Holders:
Indicator is equipped with algo alerts, supported with necessary placeholders to trade any instrument like stock, options etc.
Accepted PlaceHolders (Case Sensitive!!)
1. {{ticker}}-->InstrumentName
2. {{datetime}}-->Date & Time Of Order Placement
3. {{close}}-->LTP Price of Script
4. {{TD}}-->Current Level:
Note: Negative Numbers for Short Setup
5. {{EN}} {{SL}} {{TGT}} {{T1}} {{T2}} --> Trade Levels
6. {{Qty}} {{Qty*x}} --> Qty -> Trade Qty mapped in Settings. Replace x with actual number of your choice for the multiplier
7. {{BS}}-->Based on the Direction of Trade Output shall be with B or S (B == Long Trade & S == Short Trade)
8. {{BUYSELL}}-->Based on the Direction of Trade Output shall be with BUY or SELL (BUY == Long Trade & SELL == Short Trade)
9. {{IBUYSELL}}-->Based on the Direction of Trade Output shall be with BUY or SELL (BUY == SHORT Trade & SELL == LONG Trade)
Dynamic Alerts:
10. { {100R0} }-->Dynamic Place Holder 100 Refers to Strike Difference and Zero refers to ATM
11. { {100R-1} }-->Dynamic Place Holder 100 Refers to Strike Difference and -1 refers to
ATM - 100 strike
12. { {50R2} }-->Dynamic Place Holder 50 Refers to Strike Difference and 2 refers to
ATM + (2 * 50 = 100) strike
13. { {"ddMMyy", 0} }-->Dynamically Picks today date in the specified format.
14. { {"ddMMyy", n} }-->replace n with actual number of your choice to Pick date post today date in the specified format.
15. { {"ddMMyy", "MON"} }-->dynamically pick Monday date (coming Monday, if today is not Monday)
Note. for the 2nd Param-->you can choose to specify either Number OR any letter from =>
16. {{CEPE}} {{ICEPE}} {{CP}} {{ICP}} -> Dynamic Option Side CE or C refers to Calls and PE or P refers to Puts. If "I" is used in PlaceHolder text, On long entries PUTs shall be used
Indicator is equipped with customizable Trade & Risk management settings like multiple Take profit levels, Trailing SL.
Anchored Grids ft. VolumeINTRO
The 'Volume Profile' is a great tool, isn’t it? It shows us where volume has accumulated on the chart and helps guide trading decisions. The only catch is that we can’t really choose the levels—it’s all based on where volume happens to cluster. But what if we reversed the logic and measured the volume at the levels we define? That’s exactly what this script does, giving you a fresh way to spot support and resistance :)
OVERVIEW
'Anchored Grids ft. Volume' is a sophisticated technical analysis tool that combines price grid analysis with volume accumulation metrics. This indicator dynamically calculates and displays custom support and resistance levels based on a user-defined timeframe, while simultaneously tracking and visualizing volume accumulation at each specific price level. Unlike traditional volume profile indicators that use complex statistical clustering, this tool provides straightforward volume measurement at predetermined technical levels. It answers a critical question: "How much trading activity occurred near the key price levels I care about?".
HOW DOES THIS INDICATOR WORK?
This indicator builds a customizable grid system anchored to the opening price of any user-selected timeframe (hourly, daily, weekly, etc.). From that anchor point, it continuously tracks the highest high and lowest low, then calculates equidistant grid levels within that range. Two calculation modes are available—Arithmetic and Geometric—allowing flexibility in how the levels are distributed.
Once the grid is established, a volume accumulation engine comes into play. For each price bar, the script checks whether the bar’s range intersects with any level’s tolerance zone (default 0.01%). If a touch is detected, that bar’s volume is added to the corresponding level. Over time, this process builds a clear picture of where significant trading activity has clustered.
The visualization system highlights these dynamics by applying a color gradient based on volume intensity and adjusting line thickness proportional to accumulated volume. Each level is also labeled with four key data points:
The grid number (in square brackets)
The price of the level
The percentage distance between the level and the opening price of the selected timeframe
The total volume accumulated within the level’s tolerance range
PARAMETERS
Timeframe: Defines the anchor period for grid calculation. Then, the indicator automatically determines the open, high, and low prices.
Mode: This option determines how the distance between levels is calculated: Arithmetic (linear) means equal price spacing between levels, while Geometric (logarithmic) means equal percentage spacing between levels.
Grids: It's the number of levels between high and low.
Color: Base color for grid lines and labels. When volume data is displayed, lower values are darkened by 50%.
Show Volume Accumulation: When this parameter is activated, the volume calculation is enabled.
Tolerance : The Tolerance parameter (default range: 0.01%) defines the price range around each grid level where volume accumulation is registered. It acts as a sensitivity control that determines how close price must be to a level to count trading volume toward that level's accumulation.
ORIGINALITY
It’s possible to find comprehensive grid-drawing tools among community indicators, but I haven’t come across an example that combines this concept with volume data. More importantly, I wanted to demonstrate how volume accumulation can be generated for any data modeled as an array on the chart by developers.
SUMMARY
In conclusion, the selected timeframe and the number of grids are only used as a reference to determine where the levels are drawn. The true value of this indicator lies in its ability to calculate volume accumulation directly from the chart’s own candles, showing how much trading activity occurred around each level. The result is a hybrid framework that merges structural price analysis with volume distribution, offering traders deeper insights into where markets are likely to react.
NOTE
While powerful, this tool should be used as part of a comprehensive trading strategy rather than as a standalone system. Always combine with risk management principles and market context awareness. I hope it helps everyone. Trade as safely as possible. Best of luck!















