Bitcoin M2 supply adjusted priceThis script plots bitcoin candles adjusted by M2 supply (blue line), helping the trader to obtain insight of new support/resistance levels adjusted by M2 supply.
Note: As it was not possible to make the price adjust automatically by the last M2 value (pinescript limitation, I guess), the input parameter "M2Last" must be updated manually observing the last M2 value in blue curve.
在腳本中搜尋"curve"
Future Value: Compound Interest with Regular Deposits [racer8]This isn't no ordinary FV equation, this one takes into account regular deposits. I had to derive this equation myself.
This calculator calculates future value based on the following inputs:
- Present value
- Yearly return
- Yearly deposit
- years
Application: Can be used to determine you're future value of your equity curve.
C = c*m^n + a*m*{(m^(n-1)-1)/(m-1)}
C = Future value
c = present value
m = yearly return multiplier
n = years
a = yearly deposit amount
Enjoy :)
Ichimoku Cloud using Tilson T3 SmoothingThe standard Ichimoku Cloud is derived from Donchian Channels and is based on the range of the data set. However the channels are choppy and may not always be easy to read. By using moving averages, similar leading spans can be generated with a smoother outline. The T3 averages further smooths out the curve.
BTC Contango IndexInspired by a Twitter post by Byzantine General:
This is a script that shows the contango between spot and futures prices of Bitcoin to identify overbought and oversold conditions. Contango and backwardation are terms used to define the structure of the forward curve. When a market is in contango, the forward price of a futures contract is higher than the spot price. Conversely, when a market is in backwardation, the forward price of the futures contract is lower than the spot price.
The aggregate prices on top exchanges are taken and then averaged to obtain a Spot Average and a Futures Average. The script then plots (Futures Average/Spot Average) - 1 to illustrate the percent difference (contango) between spot and futures prices of Bitcoin.
When in contango, Bitcoin may be overbought.
When in backwardation, Bitcoin may be oversold.
XBT % ContangoSimilar to my other indicators, but measures XBTUSD Contango in terms of percent.
Also, built it so you could change the values that give the red and green signals. Default values are 0% or less (backwardation) indicates green. However, i found that a 0.5% setting worked will finding local bottoms for current contract of XBTH20 (March 2020). The upper value default is at 5%, and signals red when the next contract reaches over 5%.
My assumption is as BTC increases in value over time, measuring contango in terms of percent will be a better measure of the XBT futures curve.
Leverage Strategy and a few words on risk/opportunityHello traders,
I started this script as a joke for someone... finally appears it could be used for educational content
Let's talk about leverage and margin call
Margin Call
A margin call is the broker's demand that an investor deposit additional money or securities so that the account is brought up to the minimum value, known as the maintenance margin.
A margin call usually means that one or more of the securities held in the margin account has decreased in value below a certain point.
Leverage
A leverage is a system which allows the trader to open positions much larger than his own capital. ... “Leverage” usually refers to the ratio between the position value and the investment needed,
Strat
The strategy simulates long/short positions on a 4h high/low breakout based on the chart candle close.
The panel below shows the strategy equity curve. Activating the margin call option will show when the account would be margin called giving the settings
Casino
I'm not doing any financial recommendation here.
I made this strategy so that people include more risk management metrics into their strategy.
From the code, we see it's fairly easy to calculate a leveraged position size and a margin call flag - when that flag is hit, the system stops trading.
I simplified things to the extreme here but my point is that the leverage is a double-edge sword gift.
Assuming we always take the same position sizing, increasing the leverage speed up how fast a margin could be ..... called. (bad joke? feel free to tell me). Not saying it will, saying it introduces more risk by design.
Then one could say "I'll just turn off that stupid margin call option". And that's when someone starts backtesting with unrealistic market conditions.
Finally...
When I backtest I always assume the worst in every scenario possible (because I'm French), I always try to minimize the risk first (also because I'm French), keeping as close from 0 as possible (French again)
Then I add the "opportunity" component, looking to catch the maximum of opportunity while keeping the risk low.
It's like a Rubix cube puzzle - decreasing the risk is one side of the equation but whenever I try to catch more opportunity... my risks increases.
Then I update my risk... and now the opportunity decreases... (#wut #wen #simple)
Completely removing the risk from a trading strategy isn't something I wouldn't dare doing.
Trading involves risk. Being obsessed by decreasing the risk is what I do BEST :)
Dave
Kase Dev Stops Backtest The Kase Dev Stops system finds the optimal statistical balance between letting profits run,
while cutting losses. Kase DevStop seeks an ideal stop level by accounting for volatility (risk),
the variance in volatility (the change in volatility from bar to bar), and volatility skew
(the propensity for volatility to occasionally spike incorrectly).
Kase Dev Stops are set at points at which there is an increasing probability of reversal against
the trend being statistically significant based on the log normal shape of the range curve.
Setting stops will help you take as much risk as necessary to stay in a good position, but not more.
WARNING:
- For purpose educate only
- This script to change bars colors.
Kase Dev Stops Strategy The Kase Dev Stops system finds the optimal statistical balance between letting profits run,
while cutting losses. Kase DevStop seeks an ideal stop level by accounting for volatility (risk),
the variance in volatility (the change in volatility from bar to bar), and volatility skew
(the propensity for volatility to occasionally spike incorrectly).
Kase Dev Stops are set at points at which there is an increasing probability of reversal against
the trend being statistically significant based on the log normal shape of the range curve.
Setting stops will help you take as much risk as necessary to stay in a good position, but not more.
WARNING:
- For purpose educate only
- This script to change bars colors.
Kase Dev Stops The Kase Dev Stops system finds the optimal statistical balance between letting profits run,
while cutting losses. Kase DevStop seeks an ideal stop level by accounting for volatility (risk),
the variance in volatility (the change in volatility from bar to bar), and volatility skew
(the propensity for volatility to occasionally spike incorrectly).
Kase Dev Stops are set at points at which there is an increasing probability of reversal against
the trend being statistically significant based on the log normal shape of the range curve.
Setting stops will help you take as much risk as necessary to stay in a good position, but not more.
Lucid SARI wrote this script after having listened to Hyperwave with Sawcruhteez and Tyler Jenks of Lucid Investments Strategies LLC on July 3, 2019. They felt that the existing built-in Parabolic SAR indicator was not doing its calculations properly, and they hoped that someone might help them correct this. So I tried my hand at it, learning Pine Script as I went. I worked on it through the early morning hours and finished it by 4 am on July 4, 2019. I've added a few bits of code since, adding the rule regarding the SAR not advancing beyond the high (low) of the prior two candles during an uptrend (downtrend), but the core script is as it was.
This code is open source under the MIT license. If you have any improvements or corrections to suggest, please send me a pull request via the github repository github.com
For more details on the initial script, see
Sawcruhteez from Lucid Investment Strategies wrote the following description of the Parabolic SAR, where the quotes are from Section II of J. Welles Wilder, Jr.'s book New Concepts in Technical Trading Systems (1978)
--------------------------------------------------------------------------------------------------------------------------
Parabolic SAR
"The Parabolic Time / Price System derives its name from the fact that when charted, the
pattern formed by the stops resembles a parabola, or if you will, a French Curve. The system
allows room for the market to react for the first few days after a trade is initiated and then the
stop begins to move up more rapidly. The stop is not only a function of price but also a function
of time .
"The stop never backs up. It moves an incremental amount each day, only in the direction which
the trade has been initiated."
"The stop is also a function of price because the distance the stop moves up is relative to the
favorable distance the price has moved... specifically, the most favorable price reached since the
trade was initiated."
A. The calculation for a bullish Parabolic SAR is:
Tomorrow’s SAR = Today’s SAR + AF(EP - Today’s SAR)
"Acceleration Factor (AF) is one of a progression of numbers beginning at 0.02 and ending at
0.20. The AF is increased by 0.02 each period that a new high is made" (if long) or new low is
made (if short).
EP is the "Extreme Price Point for the trade made so far. If Long , EP is the extreme high price for
the trade; if Short , EP is the extreme low price for the trade.”
Most websites will provide the above calculation for the Parabolic SAR but almost all of them
leave out this crucial detail:
B. "Never move the SAR into the previous day’s range or today’s range
"1. If Long , never move the SAR for tomorrow above the previous day’s low or
today’s low . If the SAR is calculated to be above the previous day’s low or
today’s low, then use the lower low between today and the previous day as
the new SAR. Make the next days calculations based upon this SAR.
"2. If Short , never move the SAR for tomorrow below the previous day’s high or
today’s high . If the SAR is calculated to be below the previous days’ high or
today’s high, then use the higher high between today and the previous day
as the new SAR. Make the next days calculations based upon this SAR."
When a Bullish SAR is broken then it gets placed at the SIP (significant point) of the prior trend.
In otherwords it is placed above the current candle and at the price that was the SIP.
The inverse is true for the first Bullish SAR.
"This system is a true reversal system; that is, every stop point is also a reverse point." If breaking
through a bearish SAR (one above price) that simultaneously signals to close a short and go
long.
DSL Synthetic MomentumThis indicator combines 5 running moving averages of different periods, calculate their momentum and synthesize the result into 1 single curve.
Dynamic levels made of the discontinued signal lines function are added to create pseudo overbought and oversold levels.
Rolling Skew (Returns) - Beasley SavageSkewness is a term in statistics used to describe asymmetry from the normal distribution in a set of statistical data. Skewness can come in the form of negative skewness or positive skewness, depending on whether data points are skewed to the left and negative, or to the right and positive of the data average. A dataset that shows this characteristic differs from a normal bell curve.
MMI SignalTrend trading strategies filtered by the Market Meanness Index.
This is a port of the experiment described at
www.financial-hacker.com
www.financial-hacker.com
www.financial-hacker.com
www.financial-hacker.com
The Market Meanness Index tells whether the market is currently moving in or out of a "trending" regime. It can this way prevent losses by false signals of trend indicators. It is a purely statistical algorithm and not based on volatility, trends, or cycles of the price curve.
The indicator measures the meanness of the market - its tendency to revert to the mean after pretending to start a trend. If that happens too often, all trend following systems will bite the dust.
Inputs
Price Source: Either open, high, low, close, hl2, hlc3, or ohlc4. The default value is hlc3.
Trend MA Type: Either SMA, EMA, LowPass, Hull MA, Zero-Lag MA, ALMA, Laguerre, Smooth, Decycle. The default value is LowPass.
Trend MA Period: Sets the lookback period of trend MA. The default value is 200.
MMI Period: Sets the lookback period of the Market Meanness Index. The default value is 300.
NG [Gaussian Filter Multi-Pole]When smoothing data there is always a trade-off between lag and removal of noise.
Gaussian filter has a consistently low lag and a very smooth curve.
This filter works for poles higher than the 4 (usual usage).
Mathematically maximum poles is 15 after which coefficients are too high to see any difference.
By tuning Lag and number of Poles you can achieve a very smooth MA with least lag possible.
It's just as good as 3rd gen moving averages and can be used as input feed for other indicators.
Standard Error of the Estimate -Composite Bands-Standard Error of the Estimate - Code and adaptation by @glaz & @XeL_arjona
Ver. 2.00.a
Original implementation idea of bands by:
Traders issue: Stocks & Commodities V. 14:9 (375-379):
Standard Error Bands by Jon Andersen
This code is a former update to previous "Standard Error Bands" that was wrongly applied given that previous version in reality use the Standard Error OF THE MEAN, not THE ESTIMATE as it should be used by Jon Andersen original idea and corrected in this version.
As always I am very Thankfully with the support at the Pine Script Editor chat room, with special mention to user @glaz in order to help me adequate the alpha-beta (y-y') algorithm, as well to give him full credit to implement the "wide" version of the former bands.
For a quick and publicly open explanation of this truly statistical (regression analysis) indicator, you can refer at Here!
Extract from the former URL:
Standard Error Bands are quite different than Bollinger's. First, they are bands constructed around a linear regression curve. Second, the bands are based on two standard errors above and below this regression line. The error bands measure the standard error of the estimate around the linear regression line. Therefore, as a price series follows the course of the regression line the bands will narrow, showing little error in the estimate. As the market gets noisy and random, the error will be greater resulting in wider bands.
Standard Error Bands by @XeL_arjonaStandard Error Bands - Code by @XeL_arjona
Original implementation by:
Traders issue: Stocks & Commodities V. 14:9 (375-379):
Standard Error Bands by Jon Andersen
Version 1
For a quick and publicly open explanation of this Statistical indicator, you can refer at Here!
Extract from the former URL:
Standard Error bands are quite different than Bollinger's. First, they are bands constructed around a linear regression curve. Second, the bands are based on two standard errors above and below this regression line. The error bands measure the standard error of the estimate around the linear regression line. Therefore, as a price series follows the course of the regression line the bands will narrow, showing little error in the estimate. As the market gets noisy and random, the error will be greater resulting in wider bands.
Swing Point PnL PressureThis indicator visualizes the cumulative profit potential of bulls and bears based on recent swing highs and lows — offering a unique lens into trend maturity, sentiment imbalance, and exhaustion risk.
🟢 Bull PnL rises as price moves above prior swing lows — reflecting unrealized gains for long positions
🔴 Bear PnL rises as price drops below prior swing highs — capturing short-side profitability
Over time, these curves diverge during strong trends, revealing which side is in control. But when they converge, it often signals that the dominant side is losing steam — a potential turning point where profit-taking, traps, or reversals may emerge.
This tool doesn’t predict tops or bottoms — it tracks the emotional and financial pressure building on each side of the market. Use it to:
Spot trend exhaustion before price confirms it
Identify profit parity zones where sentiment may flip
Time accumulation or distribution phases with greater confidence
Whether you’re swing trading or analyzing macro structure, this indicator helps you see what price alone can’t: who’s winning, who’s trapped, and who’s about to give up.
Bull/Bear FVG Density RatioThis indicator tracks the directional frequency of Fair Value Gaps (FVGs) over a configurable lookback window, offering a clean, responsive measure of market imbalance.
🔍 What It Does:
Detects bullish and bearish FVGs using a 3-bar displacement logic
Calculates the ratio of FVGs to candles over the last N bars
Plots separate density curves for bullish and bearish FVGs
Includes a threshold line to help identify regime shifts (e.g., drought vs spate)
📈 How to Use:
Use rising density to confirm trend strength or breakout momentum
Watch for crossovers above the threshold to signal active imbalance regimes
Combine with price action or volume overlays for high-confluence setups
⚙️ Inputs:
Lookback Window: Number of candles used to calculate FVG density
Threshold: Visual guide for regime classification (default: 0.2)
This tool is ideal for traders who want to move beyond symptomatic signals and model structural causality. It pairs well with lifecycle scoring, retest velocity, and HTF overlays.
Quantum Fluxtrend [CHE] Quantum Fluxtrend — A dynamic Supertrend variant with integrated breakout event tracking and VWAP-guided risk management for clearer trend decisions.
Summary
The Quantum Fluxtrend builds on traditional Supertrend logic by incorporating a midline derived from smoothed high and low values, creating adaptive bands that respond to market range expansion or contraction. This results in fewer erratic signals during volatile periods and smoother tracking in steady trends, while an overlaid event system highlights breakout confirmations, potential traps, or continuations with visual lines, labels, and percentage deltas from the close. Users benefit from real-time VWAP calculations anchored to events, providing dynamic stop-loss suggestions to help manage exits without manual adjustments. Overall, it layers signal robustness with actionable annotations, reducing noise in fast-moving charts.
Motivation: Why this design?
Standard Supertrend indicators often generate excessive flips in choppy conditions or lag behind in low-volatility drifts, leading to whipsaws that erode confidence in trend direction. This design addresses that by centering bands around a midline that reflects recent price spreads, ensuring adjustments are proportional to observed variability. The added event layer captures regime shifts explicitly, turning abstract crossovers into labeled milestones with trailing VWAP for context, which helps traders distinguish genuine momentum from fleeting noise without over-relying on raw price action.
What’s different vs. standard approaches?
- Baseline reference: Diverges from the classic Supertrend, which uses average true range for fixed offsets from a median price.
- Architecture differences:
- Bands form around a central line averaged from smoothed highs and lows, with offsets scaled by half the range between those smooths.
- Regime direction persists until a clear breach of the prior opposite band, preventing premature reversals.
- Event visualization draws persistent lines from flip points, updating labels based on price sustainment relative to the trigger level.
- VWAP resets at each event, accumulating volume-weighted prices forward for a trailing reference.
- Practical effect: Charts show fewer direction changes overall, with color-coded annotations that evolve from initial breakout to continuation or trap status, making it easier to spot sustained moves early. VWAP lines provide a volume-informed anchor that curves with price, offering visual cues for adverse drifts.
How it works (technical)
The process starts by smoothing high and low prices over a user-defined period to form upper and lower references. A midline sits midway between them, and half the spread acts as a base for band offsets, adjusted by a multiplier to widen or narrow sensitivity. On each bar, the close is checked against the previous bar's opposite band: crossing above expands the lower band downward in uptrends, or below contracts the upper band upward in downtrends, creating a ratcheting effect that locks in direction until breached.
Persistent state tracks the current regime, seeding initial bands from the smoothed values if no prior data exists. Flips trigger new horizontal lines at the breach level, styled by direction, alongside labels that monitor sustainment—price holding above for up-flips or below for down-flips keeps the regime, while reversal flags a trap.
Separately, at each flip, a dashed VWAP line initializes at the breach price and extends forward, accumulating the product of typical prices and volumes divided by total volume. This yields a curving reference that updates bar-by-bar. Warnings activate if price strays adversely from this VWAP, tinting the background for quick alerts.
No higher timeframe data is pulled, so all computations run on the chart's native resolution, avoiding lookahead biases unless repainting is enabled via input.
Parameter Guide
SMA Length — Controls smoothing of highs and lows for midline and range base; longer values dampen noise but increase lag. Default: 20. Trade-offs: Shortens responsiveness in trends (e.g., 10–14) but risks more flips; extend to 30+ for stability in ranging markets.
Multiplier — Scales band offsets from the half-range; higher amplifies to capture bigger swings. Default: 1.0. Trade-offs: Above 1.5 widens for volatile assets, reducing false signals; below 0.8 tightens for precision but may miss subtle shifts.
Show Bands — Toggles visibility of basic and adjusted band lines for reference. Default: false. Tip: Enable briefly to verify alignment with price action.
Show Background Color — Displays red tint on VWAP adverse crosses for visual warnings. Default: false. Trade-offs: Helps in live monitoring but can clutter clean charts.
Line Width — Sets thickness for event and VWAP lines. Default: 2. Tip: Thicker (3–5) for emphasis on key levels.
+Bars after next event — Extends old lines briefly before cleanup on new flips. Default: 20. Trade-offs: Longer preserves history (40+) at resource cost; shorter keeps charts tidy.
Allow Repainting — Permits live-bar updates for smoother real-time view. Default: false. Tip: Disable for backtest accuracy.
Extension 1 Settings (Show, Width, Size, Decimals, Colors, Alpha) — Manages dotted connector from event label to current close, showing percentage change. Defaults: Shown, width 2, normal size, 2 decimals, lime/red for gains/losses, gray line, 90% transparent background. Trade-offs: Fewer decimals for clean display; adjust alpha for readability.
Extension 2 Settings (Show, Method, Stop %, Ticks, Decimals, Size, Color, Inherit, Alpha) — Positions stop label at VWAP end, offset by percent or ticks. Defaults: Shown, percent method, 1.0%, 20 ticks, 4 decimals, normal size, white text, inherit tint, 0% alpha. Trade-offs: Percent for proportional risk; ticks for fixed distance in tick-based assets.
Alert Toggles — Enables notifications for breakouts, continuations, traps, or VWAP warnings. All default: true. Tip: Layer with chart alerts for multi-condition setups.
Reading & Interpretation
The main Supertrend line colors green for up-regimes (price above lower band) and red for down (below upper band), serving as a dynamic support/resistance trail. Flip shapes (up/down triangles) mark regime changes at band breaches.
Event lines extend horizontally from flips: green for bull, red for bear. Labels start blank and update to "Bull/Bear Cont." if price sustains the direction, or "Trap" if it reverses, with colors shifting lime/red/gray accordingly. A dotted vertical links the trailing label to the current close, mid-labeled with the percentage delta (positive green, negative red).
VWAP dashes yellow (bull) or orange (bear) from the event, curving to reflect volume-weighted average. At its end, a left-aligned label shows suggested stop price, annotated with offset details. Background red hints at weakening if price crosses VWAP opposite the regime.
Deltas near zero suggest consolidation; widening extremes signal momentum buildup or exhaustion.
Practical Workflows & Combinations
- Trend following: Enter long on green flip shapes confirmed by higher highs, using the event line as initial stop below. Trail stops to VWAP for bull runs, exiting on trap labels or red background warnings. Filter with volume spikes to avoid low-conviction breaks.
- Exits/Stops: Conservative: Set hard stops at suggested SL labels. Aggressive: Hold through minor traps if delta stays positive, but cut on regime flip. Pair with momentum oscillators for overbought pullbacks.
- Multi-asset/Multi-TF: Defaults suit forex/stocks on 15m–4H; for crypto, bump multiplier to 1.5 for volatility. Scale SMA length proportionally across timeframes (e.g., double for daily). Combine with structure tools like Fibonacci for confluence on event lines.
Behavior, Constraints & Performance
Live bars update lines and labels dynamically if repainting is allowed, but signals confirm on close for stability—flips only trigger post-bar. No higher timeframe calls, so no inherent lookahead, though volume weighting assumes continuous data.
Resources cap at 1000 bars back, 50 lines/labels max; events prune old ones on new flips to stay under budget, with brief extensions for visibility. Arrays or loops absent, keeping it lightweight.
Known limits include lag in extreme gaps (e.g., overnight opens) where bands may not adjust instantly, and VWAP sensitivity to sparse volume in illiquid sessions.
Sensible Defaults & Quick Tuning
Start with SMA 20, multiplier 1.0 for balanced response across majors. For choppy pairs: Lengthen SMA to 30, multiplier 0.8 to tighten bands and cut flips. For trending equities: Shorten to 14, multiplier 1.2 for quicker entries. If traps dominate, enable bands to inspect range compression; for sluggish signals, reduce extension bars to focus on recent events.
What this indicator is—and isn’t
This serves as a visualization and signal layer for trend regimes and breakouts, highlighting sustainment via annotations and risk cues through VWAP—ideal atop price action for confirmation. It is not a standalone system, predictive oracle, or risk calculator; always integrate with broader analysis, position sizing, and stops. Use responsibly as an educational tool.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
CVD Pro – Smart Overlay + Signals (with Persist Mode)What this Indicator Does
CVD Pro visualizes Cumulative Volume Delta (CVD) data directly on your main price chart — helping you detect real buying vs. selling pressure in real time.
Unlike most CVD scripts that run in a separate subwindow, this one overlays price-mapped CVD curves on the candles themselves for better confluence with market structure and FVG zones.
The script dynamically scales normalized CVD values to the price range and uses adaptive smoothing and deviation bands to highlight shifts in trader behavior.
It also includes automatic bullish/bearish crossover signals, displayed as on-chart labels.
⚙️ Main Features
✅ Price-mapped CVD Overlay
CVD is normalized (Z-score) and projected onto the price chart for easy visual correlation with price structure.
✅ Multi-Timeframe Presets
Three sensitivity presets optimized for different chart environments:
Strict (4H) → Best for macro trends and high-timeframe structure.
Balanced (1H / 30m) → Great for active swing setups.
Sensitive (15m) → Captures short-term intraday reversals.
✅ Dynamic Bands & Smoothing
Deviation bands visualize statistical extremes in delta pressure — helping to identify exhaustion and divergence points.
✅ Smart Buy/Sell Signal Logic
Automatic label triggers when the CVD Overlay crosses its smoothed baseline:
🟢 BULL LONG → Rising CVD above the mean (buyers in control).
🔴 BEAR SHORT → Falling CVD below the mean (sellers in control).
✅ Persist Mode
Toggle to keep the last signal visible until a new one forms — ideal for traders who prefer clean chart annotations without noise.
✅ Clean, Minimal Overlay
Everything happens directly on your chart — no extra windows, no clutter. Designed for use with Smart Money Concepts, Fair Value Gaps (FVGs), or volume imbalance setups.
🧩 Use Case
CVD Pro is designed for traders who:
Use Smart Money Concepts (SMC) or ICT-style trading
Watch for FVG reactions, breaker blocks, and liquidity sweeps
Need to confirm order flow direction or momentum strength
Trade intraday or swing setups with precision entries and clear bias confirmation
⚡ Recommended Settings
4H / 1H: Use Strict mode for major structure and confirmation.
1H / 30m: Balanced mode for clear mid-term trend alignment.
15m: Sensitive mode to catch scalps and lower-TF shifts.
🧠 Pro Tips
Combine with RSI or Market Structure Breaks (MSS) for additional confluence.
A strong CVD divergence near a key FVG or 0.5–0.705 Fibonacci zone often signals reversal.
Persistent CVD crossover + price structure break = high-probability entry.
🧩 Credits
Created by Patrick S. ("Nova Labs")
Concept inspired by professional order-flow analytics and adaptive Z-Score normalization.
Would you like me to write a shorter “public summary” paragraph (for the short description at the top of TradingView, the one-liner users see before expanding)?
It’s usually a 2–3 sentence hook like:
“Overlay-based CVD indicator that merges volume delta with price structure. Detect true buying/selling pressure using adaptive normalization, deviation bands, and clean bullish/bearish crossover signals.”
ATR Horizontal Lines from EMA and SMA with TableHow it works:
The script calculates ATR levels (of your choosing)
Instead of plotting curves, it creates horizontal lines
The lines are deleted and recreated on each bar to show current levels
Lines extend to the right or can be limited to a certain width
Customization options:
Line width (1-10 pixels)
Individual colors for each of the 4 lines
All the original parameters (EMA/SMA lengths, ATR length, multipliers)
The horizontal lines will now show the current ATR-based support/resistance levels and move dynamically as the EMAs, SMA, and ATR values change with new price data.
Kalman Ema Crosses - [JTCAPITAL]Kalman EMA Crosses - is a modified way to use Kalman Filters applied on Exponential Moving Averages (EMA Crosses) for Trend-Following.
The Kalman filter is a recursive smoothing algorithm that reduces noise from raw price or indicator data, and in this script it is applied both directly to price and on top of EMA calculations. The goal is to create cleaner, more reliable crossover signals between two EMAs that are less prone to false triggers caused by volatility or market noise.
The indicator works by calculating in the following steps:
Source Selection
The script starts by selecting the price input (default is Close, but can be adjusted). This chosen source is the foundation for all further smoothing and EMA calculations.
Kalman Filtering on Price
Depending on user settings, the selected source is passed through one of two independent Kalman filters. The filter takes into account process noise (representing expected market randomness) and measurement noise (representing uncertainty in the price data). The Kalman filter outputs a smoothed version of price that minimizes noise and preserves underlying trend structure.
EMA Calculation
Two exponential moving averages (EMA 1 and EMA 2) are then computed on the Kalman-smoothed price. The lengths of these EMAs are fully customizable (default 15 and 25).
Kalman Filtering on EMA Values
Instead of directly using raw EMA curves, the script applies a second layer of Kalman filtering to the EMA values themselves. This step significantly reduces whipsaw behavior, creating smoother crossovers that emphasize real momentum shifts rather than temporary volatility spikes.
Trend Detection via EMA Crossovers
-A bullish trend is detected when EMA 1 (fast) crosses above EMA 2 (slow).
-A bearish trend is detected when EMA 1 crosses below EMA 2.
The detected trend state is stored and used to dynamically color the plots.
Visual Representation
Both EMAs are plotted on the chart. Their colors shift to blue during bullish phases and purple during bearish phases. The area between the two EMAs is filled with a shaded region to clearly highlight trending conditions.
Buy and Sell Conditions :
- Buy Condition : When the Kalman-smoothed EMA 1 crosses above the Kalman-smoothed EMA 2, a bullish crossover is confirmed.
- Sell Condition : When EMA 1 crosses below EMA 2, a bearish crossover is confirmed.
Users may enhance the robustness of these signals by adjusting process noise, measurement noise, or EMA lengths. Lower measurement noise values make the filter react faster (but potentially noisier), while higher values make it smoother (but slower).
Features and Parameters :
- Source : Selectable price input (Close, Open, High, Low, etc.).
- EMA 1 Length : Defines the fast EMA period.
- EMA 2 Length : Defines the slow EMA period.
- Process Noise : Controls how much randomness the Kalman filter assumes in price dynamics.
- Measurement Noise : Controls how much uncertainty is assumed in raw input data.
- Kalman Usage : Option to apply Kalman filtering either before EMA calculation (on price) or after (on EMA values).
Specifications :
Kalman Filter
The Kalman filter is an optimal recursive algorithm that estimates the state of a system from noisy measurements. In trading, it is used to smooth prices or indicator values. By balancing process noise (expected volatility) with measurement noise (data uncertainty), it generates a smoothed signal that reacts adaptively to market conditions.
Exponential Moving Average (EMA)
An EMA is a weighted moving average that emphasizes recent data more heavily than older data. This makes it more responsive than a simple moving average (SMA). EMAs are widely used to identify trends and momentum shifts.
EMA Crossovers
The crossing of a fast EMA above a slow EMA suggests bullish momentum, while the opposite suggests bearish momentum. This is a cornerstone technique in trend-following systems.
Dual Kalman Filtering
Applying Kalman both to raw price and to the EMAs themselves reduces whipsaws further. It creates crossover signals that are not only smoothed but also validated across two levels of noise reduction. This significantly enhances signal reliability compared to traditional EMA crossovers.
Process Noise
Represents the filter’s assumption about how much the underlying market can randomly change between steps. Higher values make the filter adapt faster to sudden changes, while lower values make it more stable.
Measurement Noise
Represents uncertainty in price data. A higher measurement noise value means the filter trusts the model more than the observed data, leading to smoother results. A lower value makes the filter more reactive to observed price fluctuations.
Trend Coloring & Fill
The use of dynamic colors and filled regions provides immediate visual recognition of trend states, helping traders act faster and with greater clarity.
Enjoy!
Options Max Pain Calculator [BackQuant]Options Max Pain Calculator
A visualization tool that models option expiry dynamics by calculating "max pain" levels, displaying synthetic open interest curves, gamma exposure profiles, and pin-risk zones to help identify where market makers have the least payout exposure.
What is Max Pain?
Max Pain is the theoretical expiration price where the total dollar value of outstanding options would be minimized. At this price level, option holders collectively experience maximum losses while option writers (typically market makers) have minimal payout obligations. This creates a natural gravitational pull as expiration approaches.
Core Features
Visual Analysis Components:
Max Pain Line: Horizontal line showing the calculated minimum pain level
Strike Level Grid: Major support and resistance levels at key option strikes
Pin Zone: Highlighted area around max pain where price may gravitate
Pain Heatmap: Color-coded visualization showing pain distribution across prices
Gamma Exposure Profile: Bar chart displaying net gamma at each strike level
Real-time Dashboard: Summary statistics and risk metrics
Synthetic Market Modeling**
Since Pine Script cannot access live options data, the indicator creates realistic synthetic open interest distributions based on configurable market parameters including volume patterns, put/call ratios, and market maker positioning.
How It Works
Strike Generation:
The tool creates a grid of option strikes centered around the current price. You can control the range, density, and whether strikes snap to realistic market increments.
Open Interest Modeling:
Using your inputs for average volume, put/call ratios, and market maker behavior, the indicator generates synthetic open interest that mirrors real market dynamics:
Higher volume at-the-money with decay as strikes move further out
Adjustable put/call bias to reflect current market sentiment
Market maker inventory effects and typical short-gamma positioning
Weekly options boost for near-term expirations
Pain Calculation:
For each potential expiry price, the tool calculates total option payouts:
Call options contribute pain when finishing in-the-money
Put options contribute pain when finishing in-the-money
The strike with minimum total pain becomes the Max Pain level
Gamma Analysis:
Net gamma exposure is calculated at each strike using standard option pricing models, showing where hedging flows may be most intense. Positive gamma creates price support while negative gamma can amplify moves.
Key Settings
Basic Configuration:
Number of Strikes: Controls grid density (recommended: 15-25)
Days to Expiration: Time until option expiry
Strike Range: Price range around current level (recommended: 8-15%)
Strike Increment: Spacing between strikes
Market Parameters:
Average Daily Volume: Baseline for synthetic open interest
Put/Call Volume Ratio: Market sentiment bias (>1.0 = bearish, <1.0 = bullish) It does not work if set to 1.0
Implied Volatility: Current option volatility estimate
Market Maker Factors: Dealer positioning and hedging intensity
Display Options:
Model Complexity: Simple (line only), Standard (+ zones), Advanced (+ heatmap/gamma)
Visual Elements: Toggle individual components on/off
Theme: Dark/Light mode
Update Frequency: Real-time or daily calculation
Reading the Display
Dashboard Table (Top Right):
Current Price vs Max Pain Level
Distance to Pain: Percentage gap (smaller = higher pin risk)
Pin Risk Assessment: HIGH/MEDIUM/LOW based on proximity and time
Days to Expiry and Strike Count
Model complexity level
Visual Elements:
Red Line: Max Pain level where payout is minimized
Colored Zone: Pin risk area around max pain
Dotted Lines: Major strike levels (green = support, orange = resistance)
Color Bar: Pain heatmap (blue = high pain, red = low pain/max pain zones)
Horizontal Bars: Gamma exposure (green = positive, red = negative)
Yellow Dotted Line: Gamma flip level where hedging behavior changes
Trading Applications
Expiration Pinning:
When price is near max pain with limited time remaining, there's increased probability of gravitating toward that level as market makers hedge their positions.
Support and Resistance:
High open interest strikes often act as magnets, with max pain representing the strongest gravitational pull.
Volatility Expectations:
Above gamma flip: Expect dampened volatility (long gamma environment)
Below gamma flip: Expect amplified moves (short gamma environment)
Risk Assessment:
The pin risk indicator helps gauge likelihood of price manipulation near expiry, with HIGH risk suggesting potential range-bound action.
Best Practices
Setup Recommendations
Start with Model Complexity set to "Standard"
Use realistic strike ranges (8-12% for most assets)
Set put/call ratio based on current market sentiment
Adjust implied volatility to match current levels
Interpretation Guidelines:
Small distance to pain + short time = high pin probability
Large gamma bars indicate key hedging levels to monitor
Heatmap intensity shows strength of pain concentration
Multiple nearby strikes can create wider pin zones
Update Strategy:
Use "Daily" updates for cleaner visuals during trading hours
Switch to "Every Bar" for real-time analysis near expiration
Monitor changes in max pain level as new options activity emerges
Important Disclaimers
This is a modeling tool using synthetic data, not live market information. While the calculations are mathematically sound and the modeling realistic, actual market dynamics involve numerous factors not captured in any single indicator.
Max pain represents theoretical minimum payout levels and suggests where natural market forces may create gravitational pull, but it does not guarantee price movement or predict exact expiration levels. Market gaps, news events, and changing volatility can override these dynamics.
Use this tool as additional context for your analysis, not as a standalone trading signal. The synthetic nature of the data makes it most valuable for understanding market structure and potential zones of interest rather than precise price prediction.
Technical Notes
The indicator uses established option pricing principles with simplified implementations optimized for Pine Script performance. Gamma calculations use standard financial models while pain calculations follow the industry-standard definition of minimized option payouts.
All visual elements use fixed positioning to prevent movement when scrolling charts, and the tool includes performance optimizations to handle real-time calculation without timeout errors.






















