Support Bands indicatorSupport Band to follow Trends.
We can see clear where price is Trading. Observe how moving averages are developing or aligning to change trend or continuation.
Green up trend vs Red Down Trend
Band 1
8EMA Green Line vs 10SMA Light blue Line
Band 2
21EMA Orange Line vs 30 SMA Brown Line
Also includes
1 SMA Gray line for closing when you're looking at weakly charts.
40 SMA darker Gray
50 SMA Blue
100 SMA White
150 SMA Pink
200 SMA Yellow
300 SMA Dark Red
I hope it helps you to see when price is trending up and a set correctly your stop.
在脚本中搜索"莱加内斯VS皇家社会"
CVD - Cumulative Volume Delta Candles█ OVERVIEW
This indicator displays cumulative volume delta in candle form. It uses intrabar information to obtain more precise volume delta information than methods using only the chart's timeframe.
█ CONCEPTS
Bar polarity
By bar polarity , we mean the direction of a bar, which is determined by looking at the bar's close vs its open .
Intrabars
Intrabars are chart bars at a lower timeframe than the chart's. Each 1H chart bar of a 24x7 market will, for example, usually contain 60 bars at the lower timeframe of 1min, provided there was market activity during each minute of the hour. Mining information from intrabars can be useful in that it offers traders visibility on the activity inside a chart bar.
Lower timeframes (LTFs)
A lower timeframe is a timeframe that is smaller than the chart's timeframe. This script uses a LTF to access intrabars. The lower the LTF, the more intrabars are analyzed, but the less chart bars can display CVD information because there is a limit to the total number of intrabars that can be analyzed.
Volume delta
The volume delta concept divides a bar's volume in "up" and "down" volumes. The delta is calculated by subtracting down volume from up volume. Many calculation techniques exist to isolate up and down volume within a bar. The simplest techniques use the polarity of interbar price changes to assign their volume to up or down slots, e.g., On Balance Volume or the Klinger Oscillator . Others such as Chaikin Money Flow use assumptions based on a bar's OHLC values. The most precise calculation method uses tick data and assigns the volume of each tick to the up or down slot depending on whether the transaction occurs at the bid or ask price. While this technique is ideal, it requires huge amounts of data on historical bars, which usually limits the historical depth of charts and the number of symbols for which tick data is available.
This indicator uses intrabar analysis to achieve a compromise between the simplest and most precise methods of calculating volume delta. In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. Our Volume Profile indicators use it. Other volume delta indicators in our Community Scripts such as the Realtime 5D Profile use realtime chart updates to achieve more precise volume delta calculations, but that method cannot be used on historical bars, so those indicators only work in real time.
This is the logic we use to assign intrabar volume to up or down slots:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars making up a chart bar have been analyzed and the up or down property of each intrabar's volume determined, the up volumes are added and the down volumes subtracted. The resulting value is volume delta for that chart bar.
█ FEATURES
CVD Candles
Cumulative Volume Delta Candles present volume delta information as it evolves during a period of time.
This is how each candle's levels are calculated:
• open : Each candle's' open level is the cumulative volume delta for the current period at the start of the bar.
This value becomes zero on the first candle following a CVD reset.
The candles after the first one always open where the previous candle closed.
The candle's high, low and close levels are then calculated by adding or subtracting a volume value to the open.
• high : The highest volume delta value found in intrabars. If it is not higher than the volume delta for the bar, then that candle will have no upper wick.
• low : The lowest volume delta value found in intrabars. If it is not lower than the volume delta for the bar, then that candle will have no lower wick.
• close : The aggregated volume delta for all intrabars. If volume delta is positive for the chart bar, then the candle's close will be higher than its open, and vice versa.
The candles are plotted in one of two configurable colors, depending on the polarity of volume delta for the bar.
CVD resets
The "cumulative" part of the indicator's name stems from the fact that calculations accumulate during a period of time. This allows you to analyze the progression of volume delta across manageable chunks, which is often more useful than looking at volume delta cumulated from the beginning of a chart's history.
You can configure the reset period using the "CVD Resets" input, which offers the following selections:
• None : Calculations do not reset.
• On a fixed higher timeframe : Calculations reset on the higher timeframe you select in the "Fixed higher timeframe" field.
• At a fixed time that you specify.
• At the beginning of the regular session .
• On a stepped higher timeframe : Calculations reset on a higher timeframe automatically stepped using the chart's timeframe and following these rules:
Chart TF HTF
< 1min 1H
< 3H 1D
<= 12H 1W
< 1W 1M
>= 1W 1Y
The indicator's background shows where resets occur.
Intrabar precision
The precision of calculations increases with the number of intrabars analyzed for each chart bar. It is controlled through the script's "Intrabar precision" input, which offers the following selections:
• Least precise, covering many chart bars
• Less precise, covering some chart bars
• More precise, covering less chart bars
• Most precise, 1min intrabars
As there is a limit to the number of intrabars that can be analyzed by a script, a tradeoff occurs between the number of intrabars analyzed per chart bar and the chart bars for which calculations are possible.
Total volume candles
You can choose to display candles showing the total intrabar volume for the chart bar. This provides you with more context to evaluate a bar's volume delta by showing it relative to the sum of intrabar volume. Note that because of the reasons explained in the "NOTES" section further down, the total volume is the sum of all intrabar volume rather than the volume of the bar at the chart's timeframe.
Total volume candles can be configured with their own up and down colors. You can also control the opacity of their bodies to make them more or less prominent. This publication's chart shows the indicator with total volume candles. They are turned off by default, so you will need to choose to display them in the script's inputs for them to plot.
Divergences
Divergences occur when the polarity of volume delta does not match that of the chart bar. You can identify divergences by coloring the CVD candles differently for them, or by coloring the indicator's background.
Information box
An information box in the lower-left corner of the indicator displays the HTF used for resets, the LTF used for intrabars, and the average quantity of intrabars per chart bar. You can hide the box using the script's inputs.
█ INTERPRETATION
The first thing to look at when analyzing CVD candles is the side of the zero line they are on, as this tells you if CVD is generally bullish or bearish. Next, one should consider the relative position of successive candles, just as you would with a price chart. Are successive candles trending up, down, or stagnating? Keep in mind that whatever trend you identify must be considered in the context of where it appears with regards to the zero line; an uptrend in a negative CVD (below the zero line) may not be as powerful as one taking place in positive CVD values, but it may also predate a movement into positive CVD territory. The same goes with stagnation; a trader in a long position will find stagnation in positive CVD territory less worrisome than stagnation under the zero line.
After consideration of the bigger picture, one can drill down into the details. Exactly what you are looking for in markets will, of course, depend on your trading methodology, but you may find it useful to:
• Evaluate volume delta for the bar in relation to price movement for that bar.
• Evaluate the proportion that volume delta represents of total volume.
• Notice divergences and if the chart's candle shape confirms a hesitation point, as a Doji would.
• Evaluate if the progress of CVD candles correlates with that of chart bars.
• Analyze the wicks. As with price candles, long wicks tend to indicate weakness.
Always keep in mind that unless you have chosen not to reset it, your CVD resets for each period, whether it is fixed or automatically stepped. Consequently, any trend from the preceding period must re-establish itself in the next.
█ NOTES
Know your volume
Traders using volume information should understand the volume data they are using: where it originates and what transactions it includes, as this can vary with instruments, sectors, exchanges, timeframes, and between historical and realtime bars. The information used to build a chart's bars and display volume comes from data providers (exchanges, brokers, etc.) who often maintain distinct feeds for intraday and end-of-day (EOD) timeframes. How volume data is assembled for the two feeds depends on how instruments are traded in that sector and/or the volume reporting policy for each feed. Instruments from crypto and forex markets, for example, will often display similar volume on both feeds. Stocks will often display variations because block trades or other types of trades may not be included in their intraday volume data. Futures will also typically display variations.
Note that as intraday vs EOD variations exist for historical bars on some instruments, differences may also exist between the realtime feeds used on intraday vs 1D or greater timeframes for those same assets. Realtime reporting rules will often be different from historical feed reporting rules, so variations between realtime feeds will often be different from the variations between historical feeds for the same instrument. The Volume X-ray indicator can help you analyze differences between intraday and EOD volumes for the instruments you trade.
If every unit of volume is both bought by a buyer and sold by a seller, how can volume delta make sense?
Traders who do not understand the mechanics of matching engines (the exchange software that matches orders from buyers and sellers) sometimes argue that the concept of volume delta is flawed, as every unit of volume is both bought and sold. While they are rigorously correct in stating that every unit of volume is both bought and sold, they overlook the fact that information can be mined by analyzing variations in the price of successive ticks, or in our case, intrabars.
Our calculations model the situation where, in fully automated order handling, market orders are generally matched to limit orders sitting in the order book. Buy market orders are matched to quotes at the ask level and sell market orders are matched to quotes at the bid level. As explained earlier, we use the same logic when comparing intrabar prices. While using intrabar analysis does not produce results as precise as when individual transactions — or ticks — are analyzed, results are much more precise than those of methods using only chart prices.
Not only does the concept underlying volume delta make sense, it provides a window on an oft-overlooked variable which, with price and time, is the only basic information representing market activity. Furthermore, because the calculation of volume delta also uses price and time variations, one could conceivably surmise that it can provide a more complete model than ones using price and time only. Whether or not volume delta can be useful in your trading practice, as usual, is for you to decide, as each trader's methodology is different.
For Pine Script™ coders
As our latest Polarity Divergences publication, this script uses the recently released request.security_lower_tf() Pine Script™ function discussed in this blog post . It works differently from the usual request.security() in that it can only be used at LTFs, and it returns an array containing one value per intrabar. This makes it much easier for programmers to access intrabar information.
Look first. Then leap.
Numbers RenkoRenko with Volume and Time in the box was developed by David Weis (Authority on Wyckoff method) and his student.
I like this style (I don't know what it is officially called) because it brings out the potential of Wyckoff method and Renko, and looks beautiful.
I can't find this style Indicator anywhere, so I made something like it, then I named "Numbers Renko" (数字 練行足 in Japanese).
Caution : This indicator only works exactly in Renko Chart.
////////// Numbers Renko General Settings //////////
Volume Divisor : To make good looking Volume Number.
ex) You set 100. When Volume is 0.056, 0.05 x 100 = 5.6. 6 is plotted in the box (Decimal are round off).
Show Only Large Renko Volume : show only Renko Volume which is larger than Average Renko Volume (it is calculated by user selected moving average, option below).
Show Renko Time : "Only Large Renko Time" show only Renko Time which is larger than Average Renko Time (it is calculated by user selected moving average, option below).
EMA period for calculation : This is used to calculate Average Renko Time and Average Renko Volume (These are used to decide Numbers colors and Candles colors). Default is EMA, You can choice SMA.
////////// Numbers Renko Coloring //////////
The Numbers in the box are color coded by compared the current Renko Volume with the Average Renko Volume.
If the current Renko Volume is 2 times larger than the ARV, Color2 will be used. If the current Renko Volume is 1.5 times larger than the ARV, Color1.5 will be used. Color1 If the current Renko Volume is larger than the ARV . Color0.5 is larger than half Athe RV and Color0 is less than or equal to half the ARV. Color1, Color1.5 and Color2 are Large Value, so only these colored Numbers are showed when use "Show Only ~ " option.
Default is Renko Volume based Color coding, You can choice Renko Time based Color coding. Therefore you can use two type coloring at the same time. ex) The Numbers Colors are Renko Volume based. Candle body, border and wick Colors are Renko Time based.
////////// Weis Wave Volume //////////
Show Effort vs Result : Weis Wave Volume divided by Wave Length.
ex) If 100 Up WWV is accumulated between 30 Up Renko Box, 100 / 30 = 3.33... will be 3.3 (Second decimal will be rounded off).
No Result Ratio : If current "Effort vs Result" is "No Result Ratio" times larger than Average Effort vs Result, Square Mark will be show. AEvsR is calculated by 5SMA.
ex) You set 1.5. If Current EvsR is 20 and AEvsR is 10, 20 > 10 x 1.5 then Square Mark will be show.
If the left and right arrows are in the same direction, the right arrow is omitted.
Show Comparison Marks : Show left side arrow by compare current value to previous previous value and show right side small arrow by compare current value to previous value.
ex) Current Up WWV is 17 and Previous Up WWV (previous previous value) is 12, left side arrow is Up. Previous Dn WWV is 20, right side small arrow is Dn.
Large Volume Ratio : If current WWV is "Large Volume Ratio" times larger than Average WWV, Large WWV color is used.
Sample layout
DailyDeviationLibrary "DailyDeviation"
Helps in determining the relative deviation from the open of the day compared to the high or low values.
hlcDeltaArrays(daysPrior, maxDeviation, spec, res) Retuns a set of arrays representing the daily deviation of price for a given number of days.
Parameters:
daysPrior : Number of days back to get the close from.
maxDeviation : Maximum deviation before a value is considered an outlier. A value of 0 will not filter results.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
Returns: Where OH = Open vs High, OL = Open vs Low, and OC = Open vs Close
fromOpen(daysPrior, maxDeviation, comparison, spec, res) Retuns a value representing the deviation from the open (to the high or low) of the current day given number of days to measure from.
Parameters:
daysPrior : Number of days back to get the close from.
maxDeviation : Maximum deviation before a value is considered an outlier. A value of 0 will not filter results.
comparison : The value use in comparison to the current open for the day.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
Modified ATR Indicator [KL]Modified Average True Range (ATR) Indicator
This indicator displays the ATR with relative highs and relative lows statistically determined.
What is ATR:
To know what ATR is, we need to understand what a True Range (TR) is.
- TR at a given bar is the highest distance between points: a) High vs low, b) High vs Close, and c) Low vs Close.
- ATR is the moving average of TRs over a predefined lookback period; 14 is the most commonly used.
- ATR can be mathematically expressed as:
Why is ATR Important
ATR often used to measure volatility; high volatility is indicated by high ATR, vice versa for low. This is a versatile tool allowing traders to determine entry/exit points, as well as the size of stop losses and when to take profits relative to it.
This is an opinion: Through observations, I have noticed that ATR can also indirectly tell us the levels of relative volume. This intuitively makes sense because in order to increase length of TR, high amounts of capital inflow/outflow is required (graphically speaking, high volume is required in order to make lengths of candle sticks longer). The relationship between ATR and relative volume should hold unless the market is illiquid to the extreme that there is no relationship between volume and price.
That said, knowing the relative lows/highs of ATR is very useful. It can be interpreted as:
- Relative high = high volatility, usually during sell offs
- Relative low = decreasing volume, could indicate price consolidation
Instead of arbitrarily determining whether ATR is high/low, this indicator will determine relative highs and relative lows using a simple statistical model.
How relative high/low is determined by this model
This indicator applies two-tailed hypothesis testing to test whether ATR (ie. say lookback of 14) has greatly deviated from a larger sample size (ie. lookback of 50). Assuming ATR is normally distributed and variance is known, then test statistic (z) can be used to determine whether ATR14 is within the critical area under Null Hypothesis: ATR14 == ATR50. If z falls below/above the left/right critical values (ie. 1.645 for a 90% confidence interval), then this is shown by the indicator through using different colors to plot the ATR line.
Volume X-ray [LucF]█ OVERVIEW
This tool analyzes the relative size of volume reported on intraday vs EOD (end of day) data feeds on historical bars. If you use volume data to make trading decisions, it can help you improve your understanding of its nature and quality, which is especially important if you trade on intraday timeframes.
I often mention, when discussing volume analysis, how it's important for traders to understand the volume data they are using: where it originates, what it includes and does not include. By helping you spot sizeable differences between volume reported on intraday and EOD data feeds for any given instrument, "Volume X-ray" can point you to instruments where you might want to research the causes of the difference.
█ CONCEPTS
The information used to build a chart's historical bars originates from data providers (exchanges, brokers, etc.) who often maintain distinct historical feeds for intraday and EOD timeframes. How volume data is assembled for intraday and EOD feeds varies with instruments, brokers and exchanges. Variations between the two feeds — or their absence — can be due to how instruments are traded in a particular sector and/or the volume reporting policy for the feeds you are using. Instruments from crypto and forex markets, for example, will often display similar volume on both feeds. Stocks will often display variations because block trades or other types of trades may not be included in their intraday volume data. Futures will also typically display variations. It is even possible that volume from different feeds may not be of the same nature, as you can get trade volume (market volume) on one feed and tick volume (transaction counts) on another. You will sometimes be able to find the details of what different feeds contain from the technical information provided by exchanges/brokers on their feeds. This is an example for the NASDAQ feeds . Once you determine which feeds you are using, you can look for the reporting specs for that feed. This is all research you will need to do on your own; "Volume X-ray" will not help you with that part.
You may elect to forego the deep dive in feed information and simply rely on the figure the indicator will calculate for the instruments you trade. One simple — and unproven — way to interpret "Volume X-ray" values is to infer that instruments with larger percentages of intraday/EOD volume ratios are more "democratic" because at intraday timeframes, you are seeing a greater proportion of the actual traded volume for the instrument. This could conceivably lead one to conclude that such volume data is more reliable than on an instrument where intraday volume accounts for only 3% of EOD volume, let's say.
Note that as intraday vs EOD variations exist for historical bars on some instruments, there will typically also be differences between the realtime feeds used on intraday vs 1D or greater timeframes for those same assets. Realtime reporting rules will often be different from historical feed reporting rules, so variations between realtime feeds will often be different from the variations between historical feeds for the same instrument. A deep dive in reporting rules will quickly reveal what a jungle they are for some instruments, yet it is the only way to really understand the volume information our charts display.
█ HOW TO USE IT
The script is very simple and has no inputs. Just add it to 1D charts and it will calculate the proportion of volume reported on the intraday feed over the EOD volume. The plots show the daily values for both volumes: the teal area is the EOD volume, the orange line is the intraday volume. A value representing the average, cumulative intraday/EOD volume percentage for the chart is displayed in the upper-right corner. Its background color changes with the percentage, with brightness levels proportional to the percentage for both the bull color (% >= 50) or the bear color (% < 50). When abnormal conditions are detected, such as missing volume of one kind or the other, a yellow background is used.
Daily and cumulative values are displayed in indicator values and the Data Window.
The indicator loads in a pane, but you can also use it in overlay mode by moving it on the chart with "Move to" in the script's "More" menu, and disabling the plot display from the "Settings/Style" tab.
█ LIMITATIONS
• The script will not run on timeframes >1D because it cannot produce useful values on them.
• The calculation of the cumulative average will vary on different intraday timeframes because of the varying number of days covered by the dataset.
Variations can also occur because of irregularities in reported volume data. That is the reason I recommend using it on 1D charts.
• The script only calculates on historical bars because in real time there is no distinction between intraday and EOD feeds.
• You will see plenty of special cases if you use the indicator on a variety of instruments:
• Some instruments have no intraday volume, while on others it's the opposite.
• Missing information will sometimes appear here and there on datasets.
• Some instruments have higher intraday than EOD volume.
Please do not ask me the reasons for these anomalies; it's your responsibility to find them. I supply a tool that will spot the anomalies for you — nothing more.
█ FOR PINE CODERS
• This script uses a little-known feature of request.security() , which allows us to specify `"1440"` for the `timeframe` argument.
When you do, data from the 1min intrabars of the historical intraday feed is aggregated over one day, as opposed to the usual EOD feed used with `"D"`.
• I use gaps on my request.security() calls. This is useful because at intraday timeframes I can cumulate non- na values only.
• I use fixnan() on some values. For those who don't know about it yet, it eliminates na values from a series, just like not using gaps will do in a request.security() call.
• I like how the new switch structure makes for more readable code than equivalent if structures.
• I wrote my script using the revised recommendations in the Style Guide from the Pine v5 User Manual.
• I use the new runtime.error() to throw an error when the script user tries to use a timeframe >1D.
Why? Because then, my request.security() calls would be returning values from the last 1D intrabar of the dilation of the, let's say, 1W chart bar.
This of course would be of no use whatsoever — and misleading. I encourage all Pine coders fetching HTF data to protect their script users in the same way.
As tool builders, it is our responsibility to shield unsuspecting users of our scripts from contexts where our calcs produce invalid results.
• While we're on the subject of accessing intrabar timeframes, I will add this to the intention of coders falling victim to what appears to be
a new misconception where the mere fact of using intrabar timeframes with request.security() is believed to provide some sort of edge.
This is a fallacy unless you are sending down functions specifically designed to mine values from request.security() 's intrabar context.
These coders do not seem to realize that:
• They are only retrieving information from the last intrabar of the chart bar.
• The already flawed behavior of their scripts on historical bars will not improve on realtime bars. It will actually worsen because in real time,
intrabars are not yet ordered sequentially as they are on historical bars.
• Alerts or strategy orders using intrabar information acquired through request.security() will be using flawed logic and data most of the time.
The situation reminds me of the mania where using Heikin-Ashi charts to backtest was all the rage because it produced magnificent — and flawed — results.
Trading is difficult enough when doing the right things; I hate to see traders infected by lethal beliefs.
Strive to sharpen your "herd immunity", as Lionel Shriver calls it. She also writes: "Be leery of orthodoxy. Hold back from shared cultural enthusiasms."
Be your own trader.
█ THANKS
This indicator would not exist without the invaluable insights from Tim, a member of the Pine team. Thanks Tim!
Relative StrengthThis indicator is called Relative Strength and is no way related to RSI ( Relative strength indicator).
It is simply a ratio of asset A to asset B plotted. Usually it is used to look for strength vs a particular index. Since it is a ratio, all the trendlines work on it. The default index is NIFTY. You can change it any index/script you want to compare:
1. Script vs Index
2. Index vs Index
Market BuySell RatioA script using 1m small candle size (configurable) to compute the volume of buy (up) vs sell (down) candles (instead of actual market buy vs sell orders which are not available in pine script).
It then plots the buy vs sell ratio as an oscillator below the cart.
This gives traders an idea of current order flow in the market.
To compute the small candles this script uses the "Smart Volume" script which can be found here:
Trend MACD [JopAlgo]Trend MACD — momentum made obvious (4-state histogram)
What it does (one line):
A clean MACD histogram using EMA(fast) − EMA(slow) with a signal line. The columns change color to show trend side and momentum change at a glance.
Green = above 0 and rising → positive trend, momentum building
White (upside) = above 0 but fading → still positive, momentum cooling
White (downside) = below 0 but improving → still negative, momentum recovering
Red = below 0 and falling → negative trend, momentum building down
Zero line = the bull/bear divider. Distance from zero = thrust. Color change = momentum shift.
What you’ll see
Dashed zero line for the trend divider
Column histogram with the 4-state color logic above
No clutter—just momentum and regime, clean
Read it in 3 seconds: Which side of 0? Are bars getting bigger or smaller? Did the color flip?
How to use it (simple playbook)
Direction filter
Look for longs while histogram is ≥ 0.
Look for shorts while histogram is ≤ 0.
Timing
Green sequence (above 0, growing): join pullbacks at real levels.
White above 0: positive but cooling—buy pullbacks only at levels, don’t chase.
White below 0: negative but improving—prepare for reclaim trades at levels.
Red sequence: trend down—sell pops at levels.
Location first (always)
Use Volume Profile v3.2 (VAH/VAL/POC/LVNs) and Anchored VWAP (session/weekly/event).
No level, no trade.
Quality check (optional, strong)
CVDv1 : execute when Alignment OK and no Absorption against your side.
RVOL (if you track it): prefer breakouts with RVOL above cutoff.
Entries, exits, risk (keep it tight)
Continuation long: price retests VAL / AVWAP / MA cluster in an up regime (≥ 0). Histogram stays ≥ 0 and turns green again → enter.
Stop: under structure. Targets: POC/HVNs or next swing.
Break + retest: breakout through a level while histogram flips from white→green above 0 (or white→red below 0 for shorts). Enter on the retest that holds.
Trim / avoid: when bars shrink toward 0 (white) into your target / HVN—momentum is cooling. Don’t chase fresh highs with white bars.
Settings that matter (how to tune)
Fast Length (default 25)
Shorter = quicker turns (more noise). Longer = steadier, slower.
Slow Length (default 200)
Big backbone. For intraday you might use 21/55 or 12/26; for swing the default 25/200 or 20/100 is solid.
Signal Smoothing (default 9)
Higher = smoother, fewer flips. Lower = more reactive.
Source
close is fine; if you use hlc3, expect slightly smoother behavior.
Suggested presets
Scalp (1–5m): 12 / 26 / 9
Intraday (15m–1H): 21 / 55 / 9
Swing (2H–4H): 25 / 100 or 25 / 200 / 9
Daily backdrop: 20 / 100 or 50 / 200 / 9 (execute on lower TF)
Pattern cheat sheet
Green staircase above 0 → trend leg; buy pullbacks to VP/AVWAP.
White above 0 → positive but tiring; avoid chasing; wait for retest.
Flip through 0 with expansion → regime change; use the first retest at a level.
Red staircase below 0 → trend down; sell pops at VP edges.
Diverging price vs shrinking bars → momentum thinning; tighten risk.
Best combos (kept simple)
Volume Profile v3.2: entries at VAH/VAL/LVNs, targets at POC/HVNs.
Anchored VWAP: reclaim/reject with matching histogram side is high-quality timing.
CVDv1: take MACD-aligned setups with flow (ALIGN OK, no Absorption).
RVOL: confirmation that the push has participation.
Common mistakes this helps you avoid
Longs with red momentum or shorts with green momentum.
Chasing new highs on white (cooling) bars.
Trading mid-range when histogram keeps whipsawing around 0 (do less; wait for level).
Disclaimer:
This indicator is an educational tool, not financial advice. Markets are risky; you can lose money. Always test your settings, trade at defined levels, and use risk management. Data/feeds vary across venues; outcomes may differ. No guarantees or warranties are provided.
Smart Choppy Index v1 [JopAlgo]Smart Choppy Index v1 — decide trend vs. chop in seconds
What it does (one line):
Measures the percent range of price over a lookback and tells you if the market is choppy (do less, fade edges) or trending (go with breaks/pullbacks).
Range% = (Highest High − Lowest Low) / Close × 100 over length
Below Choppy Threshold → likely range (red tint / X marker)
Above Trending Threshold → likely trend (green tint / ● marker)
Between them = mixed/transition (no background)
Read the pane fast
Orange line: the live Range%.
Red dashed line: Choppy Threshold.
Green dashed line: Trending Threshold.
Background: soft red during chop, soft green during trend.
Markers: X at the top when chop is detected, ● at the bottom when trend is detected.
TL;DR: Red = play defense / mean-revert. Green = play offense / trend-follow.
Simple playbook (copy this into your process)
Identify regime
Choppy (Range% < red line): prefer mean-reversion at VP edges / AVWAP; smaller targets, quicker exits.
Trending (Range% > green line): prefer breakouts + pullbacks; hold to POC/HVNs or structure.
Only execute at real locations
Volume Profile v3.2 : VAH/VAL/POC/LVNs for entries/targets.
Anchored VWAP : reclaims/rejections for timing.
Quality check (optional, recommended)
CVDv1 : execute with flow (Alignment OK, strong Imbalance, no Absorption against your side).
Risk
Stops go beyond structure/level, not on indicator flips.
If regime flips right after entry (green → red or red → green), consider tightening or exiting early.
Timeframe guidance
1–5m (scalps): length 14–20. You’ll see more flips—use thresholds a touch wider and execute only at edges.
15m–1H (intraday): length 14–34. Sweet spot for day trading bias.
2H–4H (swing): length 20–50. Fewer, cleaner signals; great for planning.
1D+ (position): length 50–100. Use as backdrop; trigger on lower TFs.
Settings that actually matter (and how to tune)
Lookback Period (length)
Shorter = faster regime changes; longer = smoother, fewer flips.
Choppy Threshold (%) / Trending Threshold (%)
Calibrate by history: scroll back and mark typical Range% during range days vs trend days for your market/TF.
If you get too many trend flags, raise the green threshold.
If everything looks “choppy,” lower the red threshold slightly.
Background color
Turn off if your chart feels busy; markers remain.
How to trade it with other tools
In Chop (red):
Fade VAH/VAL/AVWAP touches toward POC with tight stops. Confirm with CVDv1 (avoid longs if Absorption is red, etc.).
In Trend (green):
Break + retest at VP levels/AVWAP. Add on pullbacks that hold while Range% stays above the green line.
Patterns to recognize
Squeeze → Expansion: Range% ramps from below red toward/through green → expect a trend phase.
Exhaustion → Balance: After a long green phase, Range% falls back toward the middle → take profits into HVNs, expect more two-way trade.
False break tell: Level poke while Range% sits near red → low odds of follow-through; prefer reclaims.
Practical defaults to start
length = 14
Choppy Threshold = 1.5%
Trending Threshold = 2.5%
Process: Regime → Location → Flow → Execute with structure-based risk
Serious Disclaimer & Licensing
This script and description are provided for educational purposes only and do not constitute financial, investment, or trading advice. Markets are risky; you can lose some or all of your capital. Past performance does not guarantee future results. You are solely responsible for your trading decisions, including evaluating the suitability of this tool in your process, testing it on historical and simulated data, and managing risk.
This indicator relies on exchange data that may vary across venues; differences in volume, liquidity, and price feeds can impact results. No warranty is made—express or implied—regarding accuracy, completeness, or fitness for a particular purpose. assumes no liability for any direct or consequential losses arising from the use of this script or description.
License: This Pine Script® code is released under the Mozilla Public License 2.0 (MPL 2.0), © JopAlgo. You may use, modify, and distribute the code in accordance with MPL 2.0 terms.
Rate of Change Indicator [JopAlgo] (ROCI)Rate of Change Indicator (ROCI) — see impulse early, skip the dead moves
What it is (one line):
ROCI tells you how fast price changed vs N bars ago , in percent. It’s a clean momentum gauge:
Above 0 → price is higher than N bars ago (bullish momentum).
Below 0 → price is lower than N bars ago (bearish momentum).
Further from 0 → stronger impulse.
The default +5 / −5 bands highlight strong thrust . Zero-line crosses flag momentum shifts.
What you’ll see
Blue line = ROCI.
Orange dotted line = 0 (bull/bear divider).
White dotted lines = ±Strong Momentum levels (default ±5).
Green/red panel tint when ROCI lives above +5 or below −5.
Read in 3 seconds: Which side of 0? How far? Growing or fading vs last bar?
How to use it (simple playbook)
Direction filter
Trade longs only while ROCI > 0.
Trade shorts only while ROCI < 0.
Timing
Breakouts: prefer breaks where ROCI pushes through +5/−5 and holds on the first retest.
Pullbacks in trend: in an uptrend, let ROCI dip toward 0 and then turn back up → entry. (Mirror for downtrends.)
Do less in chop
If ROCI whips around near 0, you’re in balance. Only act at objective levels.
Rule of thumb: Zero cross = heads-up. ±5 hold = go-with.
Entries, exits, risk (use this, keep it tight)
Continuation entry (trend):
Bias up at your level (e.g., VAL/AVWAP). ROCI stays > 0 and turns up from a shallow dip → enter long.
Stop: under structure/level. Targets: POC/HVNs or next swing.
Breakout entry:
Break through a level with ROCI > +5 (or < −5 for shorts). Enter on the retest that holds while ROCI remains outside the band.
Invalidation: quick fall back inside the band and under 0 → stand down.
Exit/trim:
On longs, repeated lower ROCI peaks into your target (momentum fading) → take profits or tighten.
Timeframe guide
1–5m (scalps) : ROC Period 10–20, Strong 6–10. Many signals; require level + confirmation.
15m–1H (intraday): ROC Period 14–34, Strong 4–7. Sweet spot.
2H–4H (swing): ROC Period 20–50, Strong 3–6. Cleaner legs, fewer flips.
1D+ (position): ROC Period 50–100, Strong 2–5. Use for backdrop; trigger on lower TF.
Settings that actually matter (and how to tune)
ROC Period (default 32) : lookback for comparison.
Shorter = earlier signals, more noise.
Longer = steadier bias, slower turns.
Strong Momentum Threshold (default 5) : where you say “this is real thrust.”
Pick it by history: scroll back, mark thrusts that ran, and note their typical ROCI. Set the band slightly inside that value so you see the start of good moves.
Pattern cheatsheet
Impulse leg : ROCI above 0 making higher peaks → trend leg in progress.
Healthy pullback : ROCI dips toward 0 but doesn’t flip negative, then turns up → add/entry with trend.
Weak breakout / likely fail: Price pokes level but ROCI stays near 0 or rolls over quickly.
Divergence (lightweight): Price makes a higher high, ROCI peaks lower → momentum thinning; trail tight into HVNs.
Best combos (kept simple)
Volume Profile v3.2 : Use VAH/VAL/LVNs/POC for where. ROCI tells you if the break has juice.
Anchored VWAP : Reclaim/reject AVWAP with ROCI on the correct side of 0 for higher quality.
CVDv1 :
Yes: ROCI thrust + CVD Alignment OK + no Absorption → higher odds the move sticks.
No: ROCI thrust but Absorption red → don’t chase; wait for the fail/reclaim.
(Optional add: RVOL—high participation + strong ROCI is the A+ combo for breaks.)
Common mistakes this avoids
Buying a breakout while ROCI sits near 0 (no impulse).
Shorting a strong trend when ROCI is firmly > 0 (or > +5).
Treating every zero cross as a trade (it’s a heads-up, not an entry by itself).
Quick defaults to start
ROC Period: 32
Strong Threshold: 5
Process: Level → ROCI side/strength → (optionally) CVD quality → Execute with structure-based risk
Screenshots tip: show a level break where ROCI pushes through +5 and a pullback where ROCI turns up from ~0.
Mini-disclaimer
Educational tool, not financial advice. Test first, size sensibly, and always anchor decisions to levels, flow, and risk.
Round Number Analyzer v3Round Number Analyzer v3 is an indicator designed to analyze how price interacts with round number levels (levels spaced at fixed intervals in points or pips).
The indicator does not generate entry/exit signals, but provides detailed statistics to better understand market dynamics around these key levels.
✨ Key Features
Cross Counting: detects every time the price crosses a round number level (up = Long, down = Short).
Continuations & Reversals: classifies each cross as:
Continuation: the move continues in the same direction as the previous sequence.
Reversal: the move changes direction compared to the previous sequence.
Sequence Classification (L1…L5+): each level is labelled based on its position within the consecutive cross sequence:
L1 = first level of the sequence,
L2 = second consecutive,
…
L5+ = fifth or higher.
Comprehensive Stats Table (top right corner):
Total crosses (Long, Short, Totals).
Total continuations + breakdown by L1…L5+.
Total reversals + breakdown by L1…L5+.
Percentages calculated against the proper denominator, displayed directly inside the cells next to the absolute values.
Date range of analysis (user-defined).
Customizable Step: Works in both points and pips, making the indicator suitable for indices and forex.
⚙️ Main Inputs
Start date / End date → sets the analysis period.
Step mode → Points or Pips.
Step value → distance between round levels.
Pip size → pip size (default = 0.0001, typical for forex).
📈 How to Interpret
A high continuation percentage after L1–L2 suggests the market tends to extend multiple times beyond the first breakout levels.
Higher reversal percentages at advanced levels (L4–L5+) may signal trend exhaustion.
The analysis helps estimate the probability of continuation or reversal depending on how many consecutive levels have already been crossed.
🔎 Practical Applications
Support for breakout or mean-reversion strategies.
Comparative analysis across different markets (e.g. indices vs forex) or different time periods.
📝 Notes
The indicator is timeframe-robust, as it accounts for multiple steps within the same candle, ensuring results do not depend on the selected timeframe (except for TradingView’s historical data limits).
It does not provide automatic trading signals, but serves as a quantitative analysis tool to refine your strategies.
---
Round Number Analyzer v3 è un indicatore pensato per analizzare come il prezzo interagisce con i livelli di round number (livelli a distanza fissa in punti o pips).
L’indicatore non genera segnali di ingresso/uscita, ma fornisce statistiche dettagliate utili per comprendere la dinamica del mercato attorno a questi livelli.
✨ Funzionalità principali
Conteggio dei Cross: rileva ogni volta che il prezzo attraversa un livello round (verso l’alto = Long, verso il basso = Short).
Continuations & Reversals: classifica ogni attraversamento come:
Continuation: il movimento prosegue nella stessa direzione della sequenza precedente.
Reversal: il movimento inverte la direzione rispetto alla sequenza precedente.
Classificazione per sequenza (L1…L5+): ogni livello è etichettato in base alla sua posizione nella sequenza di cross consecutivi:
L1 = primo livello della sequenza,
L2 = secondo consecutivo,
…
L5+ = quinto o superiore.
Statistiche complete in tabella (in alto a destra):
Cross totali (Long, Short, Totals).
Continuations totali + breakdown per L1…L5+.
Reversals totali + breakdown per L1…L5+.
Percentuali calcolate sul denominatore corretto, mostrate direttamente dentro le celle accanto ai valori assoluti.
Date range di analisi (impostabile dall’utente).
Step personalizzabile: puoi lavorare sia in punti che in pips, così l’indicatore è adatto sia per indici che per forex.
⚙️ Input principali
Start date / End date → imposta l’intervallo temporale di analisi.
Step mode → punti o pips.
Step value → ampiezza tra i livelli round.
Pip size → dimensione del pip (default = 0.0001, tipico per il forex).
📈 Come interpretarlo
Una percentuale di continuation molto alta dopo L1–L2 indica che il mercato tende a proseguire più volte oltre i primi livelli di breakout.
Percentuali di reversal più elevate nei livelli avanzati (L4–L5+) possono suggerire esaurimento della spinta.
L’analisi permette di stimare la probabilità che un movimento in corso continui o si inverta in base a quanti livelli sono già stati attraversati consecutivamente.
🔎 Applicazioni pratiche
Supporto per strategie di breakout o mean reversion.
Analisi comparativa tra mercati (es. indici vs forex) o tra periodi temporali diversi.
📝 Note
L’indicatore è timeframe-robust: il conteggio tiene conto di multipli step dentro la stessa candela, così i risultati non dipendono dal timeframe scelto (salvo i limiti di caricamento storico di TradingView).
Non fornisce segnali operativi automatici, ma è un tool di analisi quantitativa per affinare le proprie strategie.
FRAMA Channel [JopAlgo]FRAMA Channel — let the market tell you how fast to move
Most moving averages make you pick a speed and hope it fits every regime. FRAMA (Fractal Adaptive Moving Average, popularized by John Ehlers) does the opposite: it adapts its smoothing to market structure. When price action is “trendy” (more directional, less jagged), FRAMA speeds up; when it’s choppy (more fractal noise), FRAMA slows down and filters the rubble.
FRAMA Channel wraps that adaptive core with a volatility channel and clean color logic so you can read trend, mean-reversion windows, and breakouts in one glance—on any timeframe.
What you’re seeing (plain-English tour)
FRAMA midline (Filt): the adaptive average. It’s computed from a fractal dimension of price over Length (N).
Trendy tape → lower fractal dimension → FRAMA tracks price tighter.
Choppy tape → higher fractal dimension → FRAMA smooths harder.
Channel bands (Filt ± distance × volatility): the “breathing room.” Volatility here is a long lookback average of (high − low).
Upper band = potential resistance in down/neutral or trend-walk path in uptrends.
Lower band = mirror logic for shorts.
Color logic (simple and strict):
Green when price breaks above the upper band → bullish regime (momentum present).
Red when price breaks below the lower band → bearish regime.
White when price crosses the FRAMA midline → neutral/reset.
Optional candle coloring: toggle Color Candles to tint the chart itself with the regime color—handy for quick reads.
(When you add screenshots: image #1 should label FRAMA, bands, and the three colors in a small trend + pullback. Image #2 can show a “squeeze → expansion” sequence: channel tightens, then price breaks and walks the band.)
How it’s built (without the jargon)
The script measures three ranges over your Length (N): two half-windows and the full window.
It converts those into a fractal dimension (Dimen). That number says “how zig-zaggy” price is right now.
It turns Dimen into an alpha (smoothing factor): alpha = exp(−4.6 × (Dimen − 1)), clamped so it never explodes or flatlines.
It updates FRAMA each bar using that alpha.
It builds bands using a long average of (high − low) multiplied by your Bands Distance setting.
It changes color only on confirmed bar events:
hlc3 crosses above the upper band → green
hlc3 crosses below the lower band → red
close crosses the midline → white
Result: a channel that tightens in balance, widens in trend, and doesn’t flicker on partial bars.
How to use FRAMA Channel on any timeframe
Same framework everywhere. Your job is to choose where to act (objective levels) and let FRAMA tell you trend/mean-reversion context and breakout quality.
Scalping (1–5m)
Pullback-to-midline (trend): When color is green, buy pullbacks that hold at/above the midline; when red, short pullbacks that fail at/below it.
Invalidation: a white flip (midline cross back) right after entry → tighten or bail.
Squeeze → break: A narrowing channel often precedes a move. Only chase the break if color flips to green/red and the first pullback holds the band/midline.
Intraday (15m–1H)
Trend rides: In green/red, expect price to walk the outer band. Entries on midline kisses are cleaner than chasing the band itself.
Balance fades: In white (neutral) with a tight channel, fade outer band → midline—but only at a real level (see “Pairing” below).
Swing (2H–4H)
Regime compass: Color changes that stick (several bars) often mark swing regime shifts. Combine with Weekly/Event AVWAP and composite VP levels.
Add/Trim: In an uptrend, add on midline holds; trim as the channel widens and price spikes beyond the upper band into HVNs.
Position (1D–1W)
Context first: A persistent green weekly channel is constructive; a persistent red is distributive.
Patience: Wait for midline retests at higher-TF levels rather than chasing outer-band prints.
Entries, exits, and risk (keep it simple)
Continuation entry (trend):
Color already green/red.
Price pulls back to FRAMA midline (or shallowly toward it) and holds.
Take the trend side.
Stop: beyond the opposite side of the midline or behind local structure.
Targets: your Volume Profile HVN/POC or prior swing, not the band alone.
Breakout entry:
Channel had tightened; price breaks a key level.
Color flips green/red and the first retest holds.
Enter with the break.
Avoid: breaks that flip color but immediately white-flip on the next bar.
Mean-reversion entry (balance):
Color white and channel tight.
At a VP edge (VAL/VAH), fade outer band → midline.
Stop: just outside the band; Exit: at midline/POC.
Settings that actually matter (and how to tune them)
Length (N) — default 26
Controls how FRAMA “reads” structure.
Shorter (14–20): faster, more responsive (good for scalps/intraday), more flips in chop.
Longer (30–40): steadier (good for swings/position), slower to acknowledge new trends.
Bands Distance — default 1.5
Scales the channel width.
If you’re constantly tagging bands, increase slightly (1.7–2.0).
If nothing ever reaches the band, decrease (1.2–1.4) to make context meaningful.
Color Candles — on/off
Great for quick regime reads. If your chart feels too busy, leave bands colored and turn candle coloring off.
Warm-up note: FRAMA references N bars. Right after switching timeframes or symbols, give it N–2N bars to settle before you judge the current state.
(You may see an input named “Signals Data” in this version; it’s reserved for future enhancements.)
What to look for (pattern cheat sheet)
Walk-the-band: After a green/red flip, price hugs the outer band while the midline slopes. Ride pullbacks to the midline, don’t fade the band.
Squeeze → Expansion: Channel pinches, then color flips and bands widen—that’s the move. The first midline retest is your best entry.
False break tell: Brief color flip to green/red that immediately reverts to white on the next bar—skip chasing; plan for a reclaim.
Midline reclaims: In chop, repeated white↔green/white↔red flips say “mean reversion”; stay tactical and target the midline/POC.
Pairing FRAMA Channel with other tools
Cumulative Volume Delta v1 (CVDv1):
FRAMA tells you trend/mean-reversion context; CVDv1 tells you flow quality.
Breakout quality: FRAMA flips green and CVDv1 ALIGN = OK, Imbalance strong, Absorption ≠ red → higher odds the break sticks.
If Absorption is red on a FRAMA green flip, do not chase—wait for retest or look for a fail/reclaim.
Volume Profile v3.2:
Use VAH/VAL/LVNs/POC for where.
Green + VAL retest → rotate toward POC/HVN.
Red + VAH rejection → rotate back to POC.
LVN + green flip → expect fast travel toward the next HVN; set targets there.
Anchored VWAP :
Treat AVWAP as fair-value rails.
AVWAP reclaim + FRAMA green → excellent trend-resume entry.
AVWAP rejection + FRAMA red → high-quality short; use midline as your risk guide.
Common pitfalls this helps you avoid
Chasing every poke: FRAMA’s white → green/red state change helps you wait for confirmation (or a retest) instead of reacting to the first wick.
Fading a real trend: A sloped midline with price walking the band is telling you not to fight it.
Stops too tight: In expansion, give the trade room to the midline or local structure, not just inside the channel.
Practical defaults to start with
Length: 26
Bands Distance: 1.5
Color Candles: on (turn off if your chart is busy)
Timeframes: works out of the box on 15m–4H; for 1–5m try Length=20; for daily swings try Length=34–40.
Open source & disclaimer
This indicator is published open source so traders can learn, tweak, and build rules they trust. No tool guarantees outcomes; risk management is essential.
Disclaimer — Not Financial Advice.
The “FRAMA Channel ” indicator and this description are provided for educational purposes only and do not constitute financial or investment advice. Trading involves risk, including possible loss of capital. makes no warranties and assumes no responsibility for any trading decisions or outcomes resulting from the use of this script. Past performance is not indicative of future results.
Use FRAMA Channel for context (trend vs balance, squeeze vs expansion), Volume Profile v3.2 and Anchored VWAP for locations, and CVDv1 for flow quality. That trio keeps your trades selective and your rules consistent on any timeframe.
Keltner Channels v1 [JopAlgo]Keltner Channels v1 — a clean volatility envelope for timing pullbacks, breakouts, and risk
Keltner Channels are a moving-average centerline with volatility-based bands above and below. They give you a live “speed limit” for price: when the market is calm, bands are tight (expect mean reversion); when volatility expands, bands widen (trend moves can breathe). KC v1 keeps the classic idea but adds a small twist that traders appreciate in crypto: an adaptive centerline that switches between EMA and SMA based on trendiness, plus a choice of how you measure volatility for the bands.
This makes KC v1 useful for any timeframe—from fast scalps to multi-day swings—because it answers three practical questions on every chart:
Where’s the “middle” of price right now? (the centerline)
How far is “far” for current volatility? (the bands)
Should I fade back to the middle or ride with the expansion? (context from band width + slope)
If you attach screenshots to your script page, show one image labeling Upper / Middle / Lower bands with a classic pullback-to-middle entry, and another showing a band expansion where price hugs the outer band in trend.
What you’re seeing (and how it’s computed)
Middle band (MA):
KC v5 computes both an EMA and an SMA of your source (default close) with the same length, then auto-selects the middle band:
If ATR > SMA(ATR) over length, KC marks the market as trending and uses the EMA (faster, responsive).
Otherwise, it uses the SMA (steadier) in balance.
Result: you get a centerline that’s calm in chop and snappier in trend, without touching settings.
Upper / Lower bands:
upper = middle + (mult × volatility)
lower = middle - (mult × volatility)
You choose the volatility measure via Bands Style:
Average True Range (default): smooth, robust; uses ATR(atrlength). Best all-around choice.
True Range: raw TR each bar (more jumpy; reacts to gaps and spikes quickly).
Range: RMA of (high - low) over length (gentler; good for tight mean-reversion regimes).
Colors & fill:
Upper = red, Lower = green, Middle = white, with muted fill between bands so you can still read candles.
How to use Keltner Channels on any timeframe
Same framework everywhere: trade with the envelope when expanding, fade back to the middle when contracting—but only at objective locations and with healthy flow.
Scalping (1–5m)
Pullback-to-middle entry: In a micro-trend, wait for price to retrace to the middle band and print a hold. Enter with the trend, stop just beyond the opposite side of the middle or below minor structure; first target is the near band.
Band tap fades (only in contraction): When bands are tightening and the middle is flat, quick fades from upper → middle or lower → middle are high-probability if your volume/flow read doesn’t show aggressive pressure against you.
Avoid: Fading when bands expand and middle slopes—expect continuation instead.
Intraday (15m–1H)
Continuation rides: When bands open up (volatility expansion) and the middle slopes, price often walks the outer band. Enter on minor pullbacks that hold above the middle (for longs) and trail using the middle band or a structure stop.
Squeeze to break: A period of narrowing bands often precedes a move. Let price close outside the channel with good flow, then buy the retest toward the middle that holds.
Swing (2H–4H)
Trend participation: In established trends, treat pullbacks to the middle band as your primary entry. The upper/lower band is not a take-profit by itself—use it with Volume Profile targets (POC/HVNs) or key swing levels.
Mean reversion in balance: When the middle is flat and bands are tight over many bars, fade outer band → middle at Volume Profile edges, provided your flow read isn’t showing absorption against your idea.
Position (1D–1W)
Context: Use KC to judge regime (wide bands + slope = trend; tight/flat = balance). Position entries come from pullbacks to middle that coincide with Weekly AVWAP / VP value edges.
Entries, exits, and risk (simple rules)
Trend entry (with expansion):
Wait for band expansion + sloping middle in your direction. Enter on the first clean pullback to middle (or shallow pullback that can’t even tag middle).
Stop: below the middle band or just beyond local swing.
Trail: by the middle band in trend, or step-trail under pivots.
Targets: next Volume Profile HVN/POC or structural levels; the far Keltner band is a context line, not a hard TP.
Mean-reversion entry (in contraction):
Bands tight + flat middle → fade outer band back to middle at a Volume Profile VA edge.
Stop: just beyond the band.
Target: middle band (first), opposite band if flow remains weak.
Breakout confirmation:
A strong close outside the band by itself can be a trap. Treat it as signal only when your flow read confirms (see “Combining with other tools”).
Settings that actually matter (and how to tune them)
MA Length (default 20): controls both middle smoothness and the trending test (ATR vs SMA(ATR)).
Shorter (10–14) reacts faster, more whips in chop.
Longer (30–50) steadier middle, better for swings/position.
Multiplier (default 2.0): scales band distance.
Crypto majors: 1.8–2.2 is a good starting range on 15m–4H.
Volatile alts: 2.2–2.6 to avoid over-triggering.
If you keep getting faked out on fades: increase the multiplier.
If the channel rarely contains price for long stretches: decrease slightly.
Bands Style:
ATR for most use cases;
TR when you want maximum responsiveness to spikes;
Range for calmer envelopes in slow, balanced markets.
ATR Length (default 10): only applies if you choose ATR for band style.
Shorter = quicker band changes, good for scalps;
Longer = steadier bands for swings.
Note: KC v1 auto-selects EMA vs SMA for the middle band using the ATR trend test. That’s intentional, so you don’t have to toggle it manually.
What to look for (pattern cheatsheet)
Walk-the-band: In expansion, price hugs the outer band and barely returns to the middle—ride, don’t fade.
First touch of middle in trend: Often the cleanest add or first entry after a breakout.
Band pinch (“squeeze”): A long, narrow channel with flat middle sets up a breakout. Wait for acceptance (close outside + hold on retest).
False break tell: Price pokes outside band but closes back inside quickly—watch for reversion to middle, especially if your flow read shows Absorption against the poke.
Combining KC v1 with other tools
like the Cumulative Volume Delta v1 (CVDv1):
Do not chase an outside-band move if CVDv1 shows Absorption—that’s a classic failed break.
Prefer pullbacks to the middle band when Alignment = OK and Imbalance % is strong in your direction.
Reclaim setups: after a poke outside the band, a CVD divergence on the return through the middle often precedes a mean-reversion run.
Volume Profile v3.2 :
Use VAH/VAL/LVNs for location. A pullback-to-middle that coincides with VA boundary is A-tier.
Breakouts through LVNs with expanding bands tend to travel fast toward the next HVN/POC—good for continuation targets.
(A great screenshot: KC middle kiss at VAL with CVDv1 Efficient, then a move to POC.)
Common pitfalls KC v1 helps you avoid
Fading expansion: Trying to short the upper band when bands are widening and middle slopes up is how you get steamrolled. KC tells you it’s not that kind of day.
Chasing inside contraction: Buying every tiny outside poke while bands are pinched leads to whips. Let acceptance form; buy the retest to middle that holds.
Stops too tight: In trend, volatility is elevated; stops need to live beyond the middle or behind structure, not right at the band.
Practical defaults to start with
Length: 20
Multiplier: 2.0 (adjust ±0.2–0.4 per asset)
Bands Style: ATR
ATR Length: 10
Timeframes: works out of the box on 15m–4H; for 1–5m scalps, consider length=14; for daily swings, length=30.
Open source & disclaimer
This indicator is provided open source so traders can study, test, and adapt it to their workflow. No tool guarantees outcomes; risk management is essential.
Disclaimer — Not Financial Advice.
The “Keltner Channels v1 ” indicator and this description are provided for educational purposes only and do not constitute financial or investment advice. Trading involves risk, including possible loss of capital. makes no warranties and assumes no responsibility for any trading decisions or outcomes resulting from the use of this script. Past performance is not indicative of future results.
Volume Based Sampling [BackQuant]Volume Based Sampling
What this does
This indicator converts the usual time-based stream of candles into an event-based stream of “synthetic” bars that are created only when enough trading activity has occurred . You choose the activity definition:
Volume bars : create a new synthetic bar whenever the cumulative number of shares/contracts traded reaches a threshold.
Dollar bars : create a new synthetic bar whenever the cumulative traded dollar value (price × volume) reaches a threshold.
The script then keeps an internal ledger of these synthetic opens, highs, lows, closes, and volumes, and can display them as candles, plot a moving average calculated over the synthetic closes, mark each time a new sample is formed, and optionally overlay the native time-bars for comparison.
Why event-based sampling matters
Markets do not release information on a clock: activity clusters during news, opens/closes, and liquidity shocks. Event-based bars normalize for that heteroskedastic arrival of information: during active periods you get more bars (finer resolution); during quiet periods you get fewer bars (coarser resolution). Research shows this can reduce microstructure pathologies and produce series that are closer to i.i.d. and more suitable for statistical modeling and ML. In particular:
Volume and dollar bars are a common event-time alternative to time bars in quantitative research and are discussed extensively in Advances in Financial Machine Learning (AFML). These bars aim to homogenize information flow by sampling on traded size or value rather than elapsed seconds.
The Volume Clock perspective models market activity in “volume time,” showing that many intraday phenomena (volatility, liquidity shocks) are better explained when time is measured by traded volume instead of seconds.
Related market microstructure work on flow toxicity and liquidity highlights that the risk dealers face is tied to information intensity of order flow, again arguing for activity-based clocks.
How the indicator works (plain English)
Choose your bucket type
Volume : accumulate volume until it meets a threshold.
Dollar Bars : accumulate close × volume until it meets a dollar threshold.
Pick the threshold rule
Dynamic threshold : by default, the script computes a rolling statistic (mean or median) of recent activity to set the next bucket size. This adapts bar size to changing conditions (e.g., busier sessions produce more frequent synthetic bars).
Fixed threshold : optionally override with a constant target (e.g., exactly 100,000 contracts per synthetic bar, or $5,000,000 per dollar bar).
Build the synthetic bar
While a bucket fills, the script tracks:
o_s: first price of the bucket (synthetic open)
h_s: running maximum price (synthetic high)
l_s: running minimum price (synthetic low)
c_s: last price seen (synthetic close)
v_s: cumulative native volume inside the bucket
d_samples: number of native bars consumed to complete the bucket (a proxy for “how fast” the threshold filled)
Emit a new sample
Once the bucket meets/exceeds the threshold, a new synthetic bar is finalized and stored. If overflow occurs (e.g., a single native bar pushes you past the threshold by a lot), the code will emit multiple synthetic samples to account for the extra activity.
Maintain a rolling history efficiently
A ring buffer can overwrite the oldest samples when you hit your Max Stored Samples cap, keeping memory usage stable.
Compute synthetic-space statistics
The script computes an SMA over the last N synthetic closes and basic descriptors like average bars per synthetic sample, mean and standard deviation of synthetic returns, and more. These are all in event time , not clock time.
Inputs and options you will actually use
Data Settings
Sampling Method : Volume or Dollar Bars.
Rolling Lookback : window used to estimate the dynamic threshold from recent activity.
Filter : Mean or Median for the dynamic threshold. Median is more robust to spikes.
Use Fixed? / Fixed Threshold : override dynamic sizing with a constant target.
Max Stored Samples : cap on synthetic history to keep performance snappy.
Use Ring Buffer : turn on to recycle storage when at capacity.
Indicator Settings
SMA over last N samples : moving average in synthetic space . Because its index is sample count, not minutes, it adapts naturally: more updates in busy regimes, fewer in quiet regimes.
Visuals
Show Synthetic Bars : plot the synthetic OHLC candles.
Candle Color Mode :
Green/Red: directional close vs open
Volume Intensity: opacity scales with synthetic size
Neutral: single color
Adaptive: graded by how large the bucket was relative to threshold
Mark new samples : drop a small marker whenever a new synthetic bar prints.
Comparison & Research
Show Time Bars : overlay the native time-based candles to visually compare how the two sampling schemes differ.
How to read it, step by step
Turn on “Synthetic Bars” and optionally overlay “Time Bars.” You will see that during high-activity bursts, synthetic bars print much faster than time bars.
Watch the synthetic SMA . Crosses in synthetic space can be more meaningful because each update represents a roughly comparable amount of traded information.
Use the “Avg Bars per Sample” in the info table as a regime signal. Falling average bars per sample means activity is clustering, often coincident with higher realized volatility.
Try Dollar Bars when price varies a lot but share count does not; they normalize by dollar risk taken in each sample. Volume Bars are ideal when share count is a better proxy for information flow in your instrument.
Quant finance background and citations
Event time vs. clock time : Easley, López de Prado, and O’Hara advocate measuring intraday phenomena on a volume clock to better align sampling with information arrival. This framing helps explain volatility bursts and liquidity droughts and motivates volume-based bars.
Flow toxicity and dealer risk : The same authors show how adverse selection risk changes with the intensity and informativeness of order flow, further supporting activity-based clocks for modeling and risk management.
AFML framework : In Advances in Financial Machine Learning , event-driven bars such as volume, dollar, and imbalance bars are presented as superior sampling units for many ML tasks, yielding more stationary features and fewer microstructure distortions than fixed time bars. ( Alpaca )
Practical use cases
1) Regime-aware moving averages
The synthetic SMA in event time is not fooled by quiet periods: if nothing of consequence trades, it barely updates. This can make trend filters less sensitive to calendar drift and more sensitive to true participation.
2) Breakout logic on “equal-information” samples
The script exposes simple alerts such as breakout above/below the synthetic SMA . Because each bar approximates a constant amount of activity, breakouts are conditioned on comparable informational mass, not arbitrary time buckets.
3) Volatility-adaptive backtests
If you use synthetic bars as your base data stream, most signal rules become self-paced : entry and exit opportunities accelerate in fast markets and slow down in quiet regimes, which often improves the realism of slippage and fill modeling in research pipelines (pair this indicator with strategy code downstream).
4) Regime diagnostics
Avg Bars per Sample trending down: activity is dense; expect larger realized ranges.
Return StdDev (synthetic) rising: noise or trend acceleration in event time; re-tune risk.
Interpreting the info panel
Method : your sampling choice and current threshold.
Total Samples : how many synthetic bars have been formed.
Current Vol/Dollar : how much of the next bucket is already filled.
Bars in Bucket : native bars consumed so far in the current bucket.
Avg Bars/Sample : lower means higher trading intensity.
Avg Return / Return StdDev : return stats computed over synthetic closes .
Research directions you can build from here
Imbalance and run bars
Extend beyond pure volume or dollar thresholds to imbalance bars that trigger on directional order flow imbalance (e.g., buy volume minus sell volume), as discussed in the AFML ecosystem. These often further homogenize distributional properties used in ML. alpaca.markets
Volume-time indicators
Re-compute classical indicators (RSI, MACD, Bollinger) on the synthetic stream. The premise is that signals are updated by traded information , not seconds, which may stabilize indicator behavior in heteroskedastic regimes.
Liquidity and toxicity overlays
Combine synthetic bars with proxies of flow toxicity to anticipate spread widening or volatility clustering. For instance, tag synthetic bars that surpass multiples of the threshold and test whether subsequent realized volatility is elevated.
Dollar-risk parity sampling for portfolios
Use dollar bars to align samples across assets by notional risk, enabling cleaner cross-asset features and comparability in multi-asset models (e.g., correlation studies, regime clustering). AFML discusses the benefits of event-driven sampling for cross-sectional ML feature engineering.
Microstructure feature set
Compute duration in native bars per synthetic sample , range per sample , and volume multiple of threshold as inputs to state classifiers or regime HMMs . These features are inherently activity-aware and often predictive of short-horizon volatility and trend persistence per the event-time literature. ( Alpaca )
Tips for clean usage
Start with dynamic thresholds using Median over a sensible lookback to avoid outlier distortion, then move to Fixed thresholds when you know your instrument’s typical activity scale.
Compare time bars vs synthetic bars side by side to develop intuition for how your market “breathes” in activity time.
Keep Max Stored Samples reasonable for performance; the ring buffer avoids memory creep while preserving a rolling window of research-grade data.
SuperTrend Optimizer Remastered[CHE] SuperTrend Optimizer Remastered — Grid-ranked SuperTrend with additive or multiplicative scoring
Summary
This indicator evaluates a fixed grid of one hundred and two SuperTrend parameter pairs and ranks them by a simple flip-to-flip return model. It auto-selects the currently best-scoring combination and renders its SuperTrend in real time, with optional gradient coloring for faster visual parsing. The original concept is by KioseffTrading Thanks a lot for it.
For years I wanted to shorten the roughly two thousand three hundred seventy-one lines; I have now reduced the core to about three hundred eighty lines without triggering script errors. The simplification is generalizable to other indicators. A multiplicative return mode was added alongside the existing additive aggregation, enabling different rankings and often more realistic compounding behavior.
Motivation: Why this design?
SuperTrend is sensitive to its factor and period. Picking a single pair statically can underperform across regimes. This design sweeps a compact parameter grid around user-defined lower bounds, measures flip-to-flip outcomes, and promotes the combination with the strongest cumulative return. The approach keeps the visual footprint familiar while removing manual trial-and-error. The multiplicative mode captures compounding effects; the additive mode remains available for linear aggregation.
Originally (by KioseffTrading)
Very long script (~2,371 lines), monolithic structure.
SuperTrend optimization with additive (cumulative percentage-sum) scoring only.
Heavier use of repetitive code; limited modularity and fewer UI conveniences.
No explicit multiplicative compounding option; rankings did not reflect sequence-sensitive equity growth.
Now (remastered by CHE)
Compact core (~380 lines) with the same functional intent, no compile errors.
Adds multiplicative (compounding) scoring alongside additive, changing rankings to reflect real equity paths and penalize drawdown sequences.
Fixed 34×3 grid sweep, live ranking, gradient-based bar/wick/line visuals, top-table display, and an optional override plot.
Cleaner arrays/state handling, last-bar table updates, and reusable simplification pattern that can be applied to other indicators.
What’s different vs. standard approaches?
Baseline: A single SuperTrend with hand-picked inputs.
Architecture differences:
Fixed grid of thirty-four factor offsets across three ATR offsets.
Per-combination flip-to-flip backtest with additive or multiplicative aggregation.
Live ranking with optional “Best” or “Worst” table output.
Gradient bar, wick, and line coloring driven by consecutive trend counts.
Optional override plot to force a specific SuperTrend independent of ranking.
Practical effect: Charts show the currently best-scoring SuperTrend, not a static choice, plus an on-chart table of top performers for transparency.
How it works (technical)
For each parameter pair, the script computes SuperTrend value and direction. It monitors direction transitions and treats a change from up to down as a long entry and the reverse as an exit, measuring the move between entry and exit using close prices. Results are aggregated per pair either by summing percentage changes or by compounding return factors and then converting to percent for comparison. On the last bar, open trades are included as unrealized contributions to ranking. The best combination’s line is plotted, with separate styling for up and down regimes. Consecutive regime counts are normalized within a rolling window and mapped to gradients for bars, wicks, and lines. A two-column table reports the best or worst performers, with an optional row describing the parameter sweep.
Parameter Guide
Factor (Lower Bound) — Starting SuperTrend factor; the grid adds offsets between zero and three point three. Default three point zero. Higher raises distance to price and reduces flips.
ATR Period (Lower Bound) — Starting ATR length; the grid adds zero, one, and two. Default ten. Longer reduces noise at the cost of responsiveness.
Best vs Worst — Ranks by top or bottom cumulative return. Default Best. Use Worst for stress tests.
Calculation Mode — Additive sums percents; Multiplicative compounds returns. Multiplicative is closer to equity growth and can change the leaderboard.
Show in Table — “Top Three” or “All”. Fewer rows keep charts clean.
Show “Parameters Tested” Label — Displays the effective sweep ranges for auditability.
Plot Override SuperTrend — If enabled, the override factor and ATR are plotted instead of the ranked winner.
Override Factor / ATR Period — Values used when override is on.
Light Mode (for Table) — Adjusts table colors for bright charts.
Gradient/Coloring controls — Toggles for gradient bars and wick coloring, window length for normalization, gamma for contrast, and transparency settings. Use these to emphasize or tone down visual intensity.
Table Position and Text Size — Places the table and sets typography.
Reading & Interpretation
The auto SuperTrend plots one line for up regimes and one for down regimes. Color intensity reflects consecutive trend persistence within the chosen window. A small square at the bottom encodes the same gradient as a compact status channel. Optional wick coloring uses the same gradient for maximum contrast. The performance table lists parameter pairs and their cumulative return under the chosen aggregation; positive values are tinted with the up color, negative with the down color. “Long” labels mark flips that open a long in the simplified model.
Practical Workflows & Combinations
Trend following: Use the auto line as your primary bias. Enter on flips aligned with structure such as higher highs and higher lows. Filter with higher-timeframe trend or volatility contraction.
Exits/Stops: Consider conservative exits when color intensity fades or when the opposite line is approached. Aggressive traders can trail near the plotted line.
Override mode: When you want stability across instruments, enable override and standardize factor and ATR; keep the table visible for sanity checks.
Multi-asset/Multi-TF: Defaults travel well on liquid instruments and intraday to daily timeframes. Heavier assets may prefer larger lower bounds or multiplicative mode.
Behavior, Constraints & Performance
Repaint/confirmation: Signals are based on SuperTrend direction; confirmation is best assessed on closed bars to avoid mid-bar oscillation. No higher-timeframe requests are used.
Resources: One hundred and two SuperTrend evaluations per bar, arrays for state, and a last-bar table render. This is efficient for the grid size but avoid stacking many instances.
Known limits: The flip model ignores costs, slippage, and short exposure. Rapid whipsaws can degrade both aggregation modes. Gradients are cosmetic and do not change logic.
Sensible Defaults & Quick Tuning
Start with the provided lower bounds and “Top Three” table.
Too many flips → raise the lower bound factor or period.
Too sluggish → lower the bounds or switch to additive mode.
Rankings feel unstable → prefer multiplicative mode and extend the normalization window.
Visuals too strong → increase gradient transparency or disable wick coloring.
What this indicator is—and isn’t
This is a parameter-sweep and visualization layer for SuperTrend selection. It is not a complete trading system, not predictive, and does not include position sizing, transaction costs, or risk management. Combine with market structure, higher-timeframe context, and explicit risk controls.
Attribution and refactor note: The original work is by KioseffTrading. The script has been refactored from approximately two thousand three hundred seventy-one lines to about three hundred eighty core lines, retaining behavior without compiler errors. The general simplification pattern is reusable for other indicators.
Metadata
Name/Tag: SuperTrend Optimizer Remastered
Pine version: v6
Overlay or separate pane: true (overlay)
Core idea/principle: Grid-based SuperTrend selection by cumulative flip returns with additive or multiplicative aggregation.
Primary outputs/signals: Auto-selected SuperTrend up and down lines, optional override lines, gradient bar and wick colors, “Long” labels, performance table.
Inputs with defaults: See Parameter Guide above.
Metrics/functions used: SuperTrend, ATR, arrays, barstate checks, windowed normalization, gamma-based contrast adjustment, table API, gradient utilities.
Special techniques: Fixed grid sweep, compounding vs linear aggregation, last-bar UI updates, gradient encoding of persistence.
Performance/constraints: One hundred and two SuperTrend calls, arrays of length one hundred and two, label budget, last-bar table updates, no higher-timeframe requests.
Recommended use-cases/workflows: Trend bias selection, quick parameter audits, override standardization across assets.
Compatibility/assets/timeframes: Standard OHLC charts across intraday to daily; liquid instruments recommended.
Limitations/risks: Costs and slippage omitted; mid-bar instability possible; not suitable for synthetic chart types.
Debug/diagnostics: Ranking table, optional tested-range label; internal counters for consecutive trends.
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
Extreme Pressure Zones Indicator (EPZ) [BullByte]Extreme Pressure Zones Indicator(EPZ)
The Extreme Pressure Zones (EPZ) Indicator is a proprietary market analysis tool designed to highlight potential overbought and oversold "pressure zones" in any financial chart. It does this by combining several unique measurements of price action and volume into a single, bounded oscillator (0–100). Unlike simple momentum or volatility indicators, EPZ captures multiple facets of market pressure: price rejection, trend momentum, supply/demand imbalance, and institutional (smart money) flow. This is not a random mashup of generic indicators; each component was chosen and weighted to reveal extreme market conditions that often precede reversals or strong continuations.
What it is?
EPZ estimates buying/selling pressure and highlights potential extreme zones with a single, bounded 0–100 oscillator built from four normalized components. Context-aware weighting adapts to volatility, trendiness, and relative volume. Visual tools include adaptive thresholds, confirmed-on-close extremes, divergence, an MTF dashboard, and optional gradient candles.
Purpose and originality (not a mashup)
Purpose: Identify when pressure is building or reaching potential extremes while filtering noise across regimes and symbols.
Originality: EPZ integrates price rejection, momentum cascade, pressure distribution, and smart money flow into one bounded scale with context-aware weighting. It is not a cosmetic mashup of public indicators.
Why a trader might use EPZ
EPZ provides a multi-dimensional gauge of market extremes that standalone indicators may miss. Traders might use it to:
Spot Reversals: When EPZ enters an "Extreme High" zone (high red), it implies selling pressure might soon dominate. This can hint at a topside reversal or at least a pause in rallies. Conversely, "Extreme Low" (green) can highlight bottom-fish opportunities. The indicator's divergence module (optional) also finds hidden bullish/bearish divergences between price and EPZ, a clue that price momentum is weakening.
Measure Momentum Shifts: Because EPZ blends momentum and volume, it reacts faster than many single metrics. A rising MPO indicates building bullish pressure, while a falling MPO shows increasing bearish pressure. Traders can use this like a refined RSI: above 50 means bullish bias, below 50 means bearish bias, but with context provided by the thresholds.
Filter Trades: In trend-following systems, one could require EPZ to be in the bullish (green) zone before taking longs, or avoid new trades when EPZ is extreme. In mean-reversion systems, one might specifically look to fade extremes flagged by EPZ.
Multi-Timeframe Confirmation: The dashboard can fetch a higher timeframe EPZ value. For example, you might trade a 15-minute chart only when the 60-minute EPZ agrees on pressure direction.
Components and how they're combined
Rejection (PRV) – Captures price rejection based on candle wicks and volume (see Price Rejection Volume).
Momentum Cascade (MCD) – Blends multiple momentum periods (3,5,8,13) into a normalized momentum score.
Pressure Distribution (PDI) – Measures net buy/sell pressure by comparing volume on up vs down candles.
Smart Money Flow (SMF) – An adaptation of money flow index that emphasizes unusual volume spikes.
Each of these components produces a 0–100 value (higher means more bullish pressure). They are then weighted and averaged into the final Market Pressure Oscillator (MPO), which is smoothed and scaled. By combining these four views, EPZ stands out as a comprehensive pressure gauge – the whole is greater than the sum of parts
Context-aware weighting:
Higher volatility → more PRV weight
Trendiness up (RSI of ATR > 25) → more MCD weight
Relative volume > 1.2x → more PDI weight
SMF holds a stable weight
The weighted average is smoothed and scaled into MPO ∈ with 50 as the neutral midline.
What makes EPZ stand out
Four orthogonal inputs (price action, momentum, pressure, flow) unified in a single bounded oscillator with consistent thresholds.
Adaptive thresholds (optional) plus robust extreme detection that also triggers on crossovers, so static thresholds work reliably too.
Confirm Extremes on Bar Close (default ON): dots/arrows/labels/alerts print on closed bars to avoid repaint confusion.
Clean dashboard, divergence tools, pre-alerts, and optional on-price gradients. Visual 3D layering uses offsets for depth only,no lookahead.
Recommended markets and timeframes
Best: liquid symbols (index futures, large-cap equities, major FX, BTC/ETH).
Timeframes: 5–15m (more signals; consider higher thresholds), 1H–4H (balanced), 1D (clear regimes).
Use caution on illiquid or very low TFs where wick/volume geometry is erratic.
Logic and thresholds
MPO ∈ ; 50 = neutral. Above 50 = bullish pressure; below 50 = bearish.
Static thresholds (defaults): thrHigh = 70, thrLow = 30; warning bands 5 pts inside extremes (65/35).
Adaptive thresholds (optional):
thrHigh = min(BaseHigh + 5, mean(MPO,100) + stdev(MPO,100) × ExtremeSensitivity)
thrLow = max(BaseLow − 5, mean(MPO,100) − stdev(MPO,100) × ExtremeSensitivity)
Extreme detection
High: MPO ≥ thrHigh with peak/slope or crossover filter.
Low: MPO ≤ thrLow with trough/slope or crossover filter.
Cooldown: 5 bars (default). A new extreme will not print until the cooldown elapses, even if MPO re-enters the zone.
Confirmation
"Confirm Extremes on Bar Close" (default ON) gates extreme markers, pre-alerts, and alerts to closed bars (non-repainting).
Divergences
Pivot-based bullish/bearish divergence; tags appear only after left/right bars elapse (lookbackPivot).
MTF
HTF MPO retrieved with lookahead_off; values can update intrabar and finalize at HTF close. This is disclosed and expected.
Inputs and defaults (key ones)
Core: Sensitivity=1.0; Analysis Period=14; Smoothing=3; Adaptive Thresholds=OFF.
Extremes: Base High=70, Base Low=30; Extreme Sensitivity=1.5; Confirm Extremes on Bar Close=ON; Cooldown=5; Dot size Small/Tiny.
Visuals: Heatmap ON; 3D depth optional; Strength bars ON; Pre-alerts OFF; Divergences ON with tags ON; Gradient candles OFF; Glow ON.
Dashboard: ON; Position=Top Right; Size=Normal; MTF ON; HTF=60m; compact overlay table on price chart.
Advanced caps: Max Oscillator Labels=80; Max Extreme Guide Lines=80; Divergence objects=60.
Dashboard: what each element means
Header: EPZ ANALYSIS.
Large readout: Current MPO; color reflects state (extreme, approaching, or neutral).
Status badge: "Extreme High/Low", "Approaching High/Low", "Bullish/Neutral/Bearish".
HTF cell (when MTF ON): Higher-timeframe MPO, color-coded vs extremes; updates intrabar, settles at HTF close.
Predicted (when MTF OFF): Simple MPO extrapolation using momentum/acceleration—illustrative only.
Thresholds: Current thrHigh/thrLow (static or adaptive).
Components: ASCII bars + values for PRV, MCD, PDI, SMF.
Market metrics: Volume Ratio (x) and ATR% of price.
Strength: Bar indicator of |MPO − 50| × 2.
Confidence: Heuristic gauge (100 in extremes, 70 in warnings, 50 with divergence, else |MPO − 50|). Convenience only, not probability.
How to read the oscillator
MPO Value (0–100): A reading of 50 is neutral. Values above ~55 are increasingly bullish (green), while below ~45 are increasingly bearish (red). Think of these as "market pressure".
Extreme Zones: When MPO climbs into the bright orange/red area (above the base-high line, default 70), the chart will display a dot and downward arrow marking that extreme. Traders often treat this as a sign to tighten stops or look for shorts. Similarly, a bright green dot/up-arrow appears when MPO falls below the base-low (30), hinting at a bullish setup.
Heatmap/Candles: If "Pressure Heatmap" is enabled, the background of the oscillator pane will fade green or red depending on MPO. Users can optionally color the price candles by MPO value (gradient candles) to see these extremes on the main chart.
Prediction Zone(optional): A dashed projection line extends the MPO forward by a small number of bars (prediction_bars) using current MPO momentum and acceleration. This is a heuristic extrapolation best used for short horizons (1–5 bars) to anticipate whether MPO may touch a warning or extreme zone. It is provisional and becomes less reliable with longer projection lengths — always confirm predicted moves with bar-close MPO and HTF context before acting.
Divergences: When price makes a higher high but EPZ makes a lower high (bearish divergence), the indicator can draw dotted lines and a "Bear Div" tag. The opposite (lower low price, higher EPZ) gives "Bull Div". These signals confirm waning momentum at extremes.
Zones: Warning bands near extremes; Extreme zones beyond thresholds.
Crossovers: MPO rising through 35 suggests easing downside pressure; falling through 65 suggests waning upside pressure.
Dots/arrows: Extreme markers appear on closed bars when confirmation is ON and respect the 5-bar cooldown.
Pre-alert dots (optional): Proximity cues in warning zones; also gated to bar close when confirmation is ON.
Histogram: Distance from neutral (50); highlights strengthening or weakening pressure.
Divergence tags: "Bear Div" = higher price high with lower MPO high; "Bull Div" = lower price low with higher MPO low.
Pressure Heatmap : Layered gradient background that visually highlights pressure strength across the MPO scale; adjustable intensity and optional zone overlays (warning / extreme) for quick visual scanning.
A typical reading: If the oscillator is rising from neutral towards the high zone (green→orange→red), the chart may see strong buying culminating in a stall. If it then turns down from the extreme, that peak EPZ dot signals sell pressure.
Alerts
EPZ: Extreme Context — fires on confirmed extremes (respects cooldown).
EPZ: Approaching Threshold — fires in warning zones if no extreme.
EPZ: Divergence — fires on confirmed pivot divergences.
Tip: Set alerts to "Once per bar close" to align with confirmation and avoid intrabar repaint.
Practical usage ideas
Trend continuation: In positive regimes (MPO > 50 and rising), pullbacks holding above 50 often precede continuation; mirror for bearish regimes.
Exhaustion caution: E High/E Low can mark exhaustion risk; many wait for MPO rollover or divergence to time fades or partial exits.
Adaptive thresholds: Useful on assets with shifting volatility regimes to maintain meaningful "extreme" levels.
MTF alignment: Prefer setups that agree with the HTF MPO to reduce countertrend noise.
Examples
Screenshots captured in TradingView Replay to freeze the bar at close so values don't fluctuate intrabar. These examples use default settings and are reproducible on the same bars; they are for illustration, not cherry-picking or performance claims.
Example 1 — BTCUSDT, 1h — E Low
MPO closed at 26.6 (below the 30 extreme), printing a confirmed E Low. HTF MPO is 26.6, so higher-timeframe pressure remains bearish. Components are subdued (Momentum/Pressure/Smart$ ≈ 29–37), with Vol Ratio ≈ 1.19x and ATR% ≈ 0.37%. A prior Bear Div flagged weakening impulse into the drop. With cooldown set to 5 bars, new extremes are rate-limited. Many traders wait for MPO to curl up and reclaim 35 or for a fresh Bull Div before considering countertrend ideas; if MPO cannot reclaim 35 and HTF stays weak, treat bounces cautiously. Educational illustration only.
Example 2 — ETHUSD, 30m — E High
A strong impulse pushed MPO into the extreme zone (≥ 70), printing a confirmed E High on close. Shortly after, MPO cooled to ~61.5 while a Bear Div appeared, showing momentum lag as price pushed a higher high. Volume and volatility were elevated (≈ 1.79x / 1.25%). With a 5-bar cooldown, additional extremes won't print immediately. Some treat E High as exhaustion risk—either waiting for MPO rollover under 65/50 to fade, or for a pullback that holds above 50 to re-join the trend if higher-timeframe pressure remains constructive. Educational illustration only.
Known limitations and caveats
The MPO line itself can change intrabar; extreme markers/alerts do not repaint when "Confirm Extremes on Bar Close" is ON.
HTF values settle at the close of the HTF bar.
Illiquid symbols or very low TFs can be noisy; consider higher thresholds or longer smoothing.
Prediction line (when enabled) is a visual extrapolation only.
For coders
Pine v6. MTF via request.security with lookahead_off.
Extremes include crossover triggers so static thresholds also yield E High/E Low.
Extreme markers and pre-alerts are gated by barstate.isconfirmed when confirmation is ON.
Arrays prune oldest objects to respect resource limits; defaults (80/80/60) are conservative for low TFs.
3D layering uses negative offsets purely for drawing depth (no lookahead).
Screenshot methodology:
To make labels legible and to demonstrate non-repainting behavior, the examples were captured in TradingView Replay with "Confirm Extremes on Bar Close" enabled. Replay is used only to freeze the bar at close so plots don't change intrabar. The examples use default settings, include both Extreme Low and Extreme High cases, and can be reproduced by scrolling to the same bars outside Replay. This is an educational illustration, not a performance claim.
Disclaimer
This script is for educational purposes only and does not constitute financial advice. Markets involve risk; past behavior does not guarantee future results. You are responsible for your own testing, risk management, and decisions.
Quarterly Theory Cycles + Alerts (Weekly/Daily/90-Minute Cycles)Quarterly Theory Cycles (90m • Daily • Weekly)
Purpose
Built for Quarterly Theory. This indicator maps repeating quarters across three rhythms—90-minute, Daily, and Weekly (18:00 NY → 18:00 NY)—so you can track where price is within the current quarter and how it reacts to the previous quarter’s high/low.
Quarter Structure
90-Minute Quarters
Labels:Q1 / Q2 / Q3 / Q4
Sessions: Asia, London, NY, PM (each split into four 90-minute quarters).
Daily Quarters
Labels: [D-Q1 / D-Q2 / D-Q3 / D-Q4
Windows (America/New_York):
D-Q1: 18:00–00:00
D-Q2: 00:00–06:00
D-Q3: 06:00–12:00
D-Q4: 12:00–18:00
Weekly Quarters
Labels: W-Q1 / W-Q2 / W-Q3 / W-Q4
Trading days defined 18:00 NY → 18:00 NY (DST-aware).
W-Q1 = Monday, W-Q2 = Tuesday, W-Q3 = Wednesday, W-Q4 = Thursday
Friday intentionally excluded (no W-Q5) to preserve theory behavior.
Use for higher-timeframe context and weekly narrative (e.g., expansion vs. distribution days).
What It Draws
Live, extending range boxes for the active quarter (H/L updates in real time).
Stored previous quarter’s high/low for each rhythm (90m, Daily, Weekly).
Alerts (Quarterly Theory-friendly )
Fires when price first breaks the previous quarter’s high/low:
90m: “Previous 90min cycle (…) high/low broken”
Daily: “Previous daily cycle (…) high/low broken”
Weekly: “Previous weekly cycle (…) high/low broken”
One alert per side per new quarter—clean signals for liquidity grabs or SSMTs.
Customization
Master Toggles: Show/hide Asia, London, NY, PM, Daily, Weekly blocks fast.
Independent Transparencies: Separate opacity sliders for 90m vs Daily vs Weekly.
Per-Quarter Controls: Toggle range, edit label (defaults already set to Q1 / D-Q1 / W-Q1 formats), and color.
Styling: Optional outlines and labels for minimal or annotated charts.
Time Zones: Use exchange time or a custom UTC offset for session windows. Weekly boundaries always use America/New_York at 18:00.
Notes
Designed for theory workflows: prior-quarter liquidity, session rotation, and narrative alignment, SSMTS.
Friday is excluded from Weekly quarters by design.
Indicator draws ranges and triggers alerts; it does not place trades.
Historical VolatilityHistorical Volatility Indicator with Custom Trading Sessions
Overview
This indicator calculates **annualized Historical Volatility (HV)** using logarithmic returns and standard deviation. Unlike standard HV indicators, this version allows you to **customize trading sessions and holidays** for different markets, ensuring accurate volatility calculations for options pricing and risk management.
Key Features
✅ Custom Trading Sessions - Define multiple trading sessions per day with precise start/end times
✅ Multiple Markets Support - Pre-configured for US, Russian, European, and crypto markets
✅ Clearing Periods Handling - Account for intraday clearing breaks
✅ Flexible Calendar - Set trading days per year for different countries
✅ All Timeframes - Works correctly on intraday, daily, weekly, and monthly charts
✅ Info Table - Optional display showing calculation parameters
How It Works
The indicator uses the classical volatility formula:
σ_annual = σ_period × √(periods per year)
Where:
- σ_period = Standard deviation of logarithmic returns over the specified period
- Periods per year = Calculated based on actual trading time (not calendar time)
Calculation Method
1. Computes log returns: ln(close / close )
2. Calculates standard deviation over the lookback period
3. Annualizes using the square root rule with accurate period count
4. Displays as percentage
Settings
Calculation
- Period (default: 10) - Lookback period for volatility calculation
Trading Schedule
- Trading Days Per Year (default: 252) - Number of actual trading days
- USA: 252
- Russia: 247-250
- Europe: 250-253
- Crypto (24/7): 365
- Trading Sessions - Define trading hours in format: `hh:mm:ss-hh:mm:ss, hh:mm:ss-hh:mm:ss`
Display
- Show Info Table - Shows calculation parameters in real-time
Market Presets
United States (NYSE/NASDAQ)
Trading Sessions: 09:30:00-16:00:00
Trading Days Per Year: 252
Trading Minutes Per Day: 390
Russia (MOEX)
Trading Sessions: 10:00:00-14:00:00, 14:05:00-18:40:00
Trading Days Per Year: 248
Trading Minutes Per Day: 515
Europe (LSE)
Trading Sessions: 08:00:00-16:30:00
Trading Days Per Year: 252
Trading Minutes Per Day: 510
Germany (XETRA)
Trading Sessions: 09:00:00-17:30:00
Trading Days Per Year: 252
Trading Minutes Per Day: 510
Cryptocurrency (24/7)
Trading Sessions: 00:00:00-23:59:59
Trading Days Per Year: 365
Trading Minutes Per Day: 1440
Use Cases
Options Trading
- Compare HV vs IV - Historical volatility compared to implied volatility helps identify mispriced options
- Volatility mean reversion - Identify when volatility is unusually high or low
- Straddle/strangle selection - Choose optimal strikes based on historical movement
Risk Management
- Position sizing - Adjust position size based on current volatility
- Stop-loss placement - Set stops based on expected price movement
- Portfolio volatility - Monitor individual asset volatility contribution
Market Analysis
- Regime identification - Detect transitions between low and high volatility environments
- Cross-market comparison - Compare volatility across different assets and markets
Why Accurate Trading Hours Matter
Standard HV indicators assume 24-hour trading or use simplified day counts, leading to significant errors in annualized volatility:
- 5-minute chart error : Can be off by 50%+ if using wrong period count
- Options pricing impact : Even 2-3% HV error affects option values substantially
- Intraday vs overnight : Correctly excludes non-trading periods
This indicator ensures your HV calculations match the methodology used in professional options pricing models.
Technical Notes
- Uses actual trading minutes, not calendar days
- Handles multiple clearing periods within a single trading day
- Properly scales volatility across all timeframes
- Logarithmic returns for more accurate volatility measurement
- Compatible with Pine Script v6
Author Notes: This indicator was designed specifically for options traders who need precise volatility measurements across different global markets. The customizable trading sessions ensure your HV calculations align with actual market hours and industry-standard options pricing models.
Best MA Finder: Sharpe/Sortino ScannerThis script, Best MA Finder: Sharpe/Sortino Scanner, is a tool designed to identify the moving average (SMA or EMA) that best acts as a dynamic trend threshold on a chart, based on risk-adjusted historical performance. It scans a wide range of MA lengths (SMA or EMA) and selects the one whose simple price vs MA crossover delivered the strongest results using either the Sharpe ratio or the Sortino ratio. Reading it is intuitive: when price spent time above the selected MA, conditions were on average more favorable in the backtest; below, less favorable. It is a trend and risk gauge, not an overbought or oversold signal.
What it does:
- Runs individual long-only crossover backtests for many MA lengths across short to very long horizons.
- For each length, measures the total number of trades, the annualized Sharpe ratio, and the annualized Sortino ratio.
- Uses the chosen metric value (Sharpe or Sortino) as the score to rank candidates.
- Applies a minimum trade filter to discard statistically weak results.
- Optionally applies a local stability filter to prefer a length that also outperforms its close neighbors by at least a small margin.
- Selects the optimal MA and displays it on the chart with a concise summary table.
How to use it:
- Choose MA type: SMA or EMA.
- Choose the metric: Sharpe or Sortino.
- Set the minimum trade count to filter out weak samples.
- Select the risk-free mode:
Auto: uses a short-term risk-free rate for USD-priced symbols when available.
Manual: you provide a risk-free ticker.
None: no risk-free rate.
- Optionally enable stability controls: neighbor radius and epsilon.
- Toggle the on-chart summary table as needed.
On-chart output:
- The selected optimal MA is plotted.
- The optional table shows MA length, number of trades, chosen metric value annualized, and the annual risk-free rate used.
Key features:
- Risk-adjusted optimization via Sharpe or Sortino for fair, comparable assessment.
- Broad MA scan with SMA and EMA support.
- Optional stability filter to avoid one-off spikes.
- Clear and auditable presentation directly on the chart.
Use cases:
- Traders who want a defensible, data-driven trend threshold without manual trial and error.
- Swing and trend-following workflows across timeframes and asset classes.
- Quick SMA vs EMA comparisons using risk-adjusted results.
Limitations:
- Not a full trading strategy with position sizing, costs, funding, slippage, or stops.
- Long-only, one position at a time.
- Discrete set of MA lengths, not a continuous optimizer.
- Requires sufficient price history and, if used, a reliable risk-free series.
This script is open-source and built from original logic. It does not replicate closed-source scripts or reuse significant external components.
Multi Momentum 10/21/42/63 — Histogram + 2xSMAMY MM INDICATOR INDIRED BY KARADI
It averages four rate-of-change snapshots of price, all anchored at today’s close.
If “Show as %” is on, the value is multiplied by 100.
Each term is a simple momentum/ROC over a different lookback.
Combining 10, 21, 42, 63 bars blends short, medium, and intermediate horizons into one number.
Positive MM → average upward pressure across those horizons; negative MM → average downward pressure.
Why those lengths?
They roughly stack into ~2× progression (10→21≈2×10, 21→42=2×21, 63≈1.5×42). That creates a “multi-scale” momentum that’s less noisy than a single fast ROC but more responsive than a long ROC alone.
How to read the panel
Gray histogram = raw Multi-Momentum value each bar.
SMA Fast/Slow lines (defaults 12 & 26 over the MM values) = smoothing of the histogram to show the trend of momentum itself.
Typical signals
Zero-line context:
Above 0 → bullish momentum regime on average.
Below 0 → bearish regime.
Crosses of SMA Fast & Slow: momentum trend shifts (fast above slow = improving momentum; fast below slow = deteriorating).
Histogram vs SMA lines: widening distance suggests strengthening momentum; narrowing suggests momentum is fading.
Divergences: price makes a new high/low but MM doesn’t → potential exhaustion.
Compared to a classic ROC
A single ROC(20) is very sensitive to that one window.
MM averages several windows, smoothing idiosyncrasies (e.g., a one-off spike 21 bars ago) and reducing “lookback luck.”
Settings & customization
Lookbacks (10/21/42/63): you can tweak for your asset/timeframe; the idea is to mix short→medium horizons.
Percent vs raw ratio: percent is easier to compare across symbols.
SMA lengths: shorter = more reactive but choppier; longer = smoother but slower.
Practical tips
Use regime + signal: trade longs primarily when MM>0 and fast SMA>slow SMA; consider shorts when MM<0 and fast
Irrationality Index by CRYPTO_ADA_BTC"The market can be irrational longer than you can stay solvent" ~ John Maynard Keynes
This indicator, the Irrationality Index, measures how far the current market price has deviated from a smoothed estimate of its "fair value," normalized for recent volatility. It provides traders with a visual sense of when the market may be behaving irrationally, without giving direct buy or sell signals.
How it works:
1. Fair Value Calculation
The indicator estimates a "fair value" for the asset using a combination of a long-term EMA (exponential moving average) and a linear regression trend over a configurable period. This fair value serves as a smoothed baseline for price, balancing trend-following and mean-reversion.
2. Volatility-Adjusted Z-Score
The deviation between price and fair value is measured in standard deviations of recent log returns:
Z = (log(price) - log(fairValue)) / volatility
This standardization accounts for different volatility environments, allowing comparison across assets.
3. Irrationality Score (0–100)
The Z-score is transformed using a logistic mapping into a 0–100 scale:
- 50 → price near fair value (rational zone)
- >75 → high irrationality, price stretched above fair value
- >90 → extreme irrationality, unsustainable extremes
- <25 → high irrationality, price stretched below fair value
- <10 → extreme bearish irrationality
4. Price vs Fair Value (% deviation)
The indicator plots the percentage difference between price and fair value:
pctDiff = (price - fairValue) / fairValue * 100
- Positive values → Percentage above fair value (optimistic / overvalued)
- Negative values → Percentage below fair value (pessimistic / undervalued)
Visuals:
- Irrationality (%) Line (0–100) shows irrationality level.
- Background Colors: Yellow= high bullish irrationality, Green= extreme bullish irrationality, Orange= high bearish irrationality, Red= extreme bearish irrationality.
- Price - FairValue (%) plot: price deviation vs fair value (%), Colored green above 0 and red below 0.
- Label: display actual price, estimated fair value, and Z-score for the latest bar.
- Alerts: configurable thresholds for high and extreme irrationality.
How to read it:
- 50 → Market trading near fair value.
- >75 / >90 → Price may be irrationally high; risk of pullback increases.
- <25 / <10 → Price may be irrationally low; potential rebound zones, but trends can continue.
- Price - FairValue (%) plot → visual guide for % price stretch relative to fair value.
Notes / Warnings:
- Measures relative deviation, not fundamental value!
- High irrationality scores do not automatically indicate trades; markets can remain can be irrational longer than you can stay solvent .
- Best used with other tools: momentum, volume, divergence, and multi-timeframe analysis.
Pairs Trading Scanner [BackQuant]Pairs Trading Scanner
What it is
This scanner analyzes the relationship between your chart symbol and a chosen pair symbol in real time. It builds a normalized “spread” between them, tracks how tightly they move together (correlation), converts the spread into a Z-Score (how far from typical it is), and then prints clear LONG / SHORT / EXIT prompts plus an at-a-glance dashboard with the numbers that matter.
Why pairs at all?
Markets co-move. When two assets are statistically related, their relationship (the spread) tends to oscillate around a mean.
Pairs trading doesn’t require calling overall market direction you trade the relative mispricing between two instruments.
This scanner gives you a robust, visual way to find those dislocations, size their significance, and structure the trade.
How it works (plain English)
Step 1 Pick a partner: Select the Pair Symbol to compare against your chart symbol. The tool fetches synchronized prices for both.
Step 2 Build a spread: Choose a Spread Method that defines “relative value” (e.g., Log Spread, Price Ratio, Return Difference, Price Difference). Each lens highlights a different flavor of divergence.
Step 3 Validate relationship: A rolling Correlation checks if the pair is moving together enough to be tradable. If correlation is weak, the scanner stands down.
Step 4 Standardize & score: The spread is normalized (mean & variability over a lookback) to form a Z-Score . Large absolute Z means “stretched,” small means “near fair.”
Step 5 Signals: When the Z-Score crosses user-defined thresholds with sufficient correlation , entries print:
LONG = long chart symbol / short pair symbol,
SHORT = short chart symbol / long pair symbol,
EXIT = mean reversion into the exit zone or correlation failure.
Core concepts (the three pillars)
Spread Method Your definition of “distance” between the two series.
Guidance:
Log Spread: Focuses on proportional differences; robust when prices live on different scales.
Price Ratio: Classic relative value; good when you care about “X per Y.”
Return Difference: Emphasizes recent performance gaps; nimble for momentum-to-mean plays.
Price Difference: Straight subtraction; intuitive for similar-scale assets (e.g., two ETFs).
Correlation A rolling score of co-movement. The scanner requires it to be above your Min Correlation before acting, so you’re not trading random divergence.
Z-Score “How abnormal is today’s spread?” Positive = chart richer than pair; negative = cheaper. Thresholds define entries/exits with transparent, statistical context.
What you’ll see on the chart
Correlation plot (blue line) with a dashed Min Correlation guide. Above the line = green zone for signals; below = hands off.
Z-Score plot (white line) with colored, dashed Entry bands and dotted Exit bands. Zero line for mean.
Normalized spread (yellow) for a quick “shape read” of recent divergence swings.
Signal markers :
LONG (green label) when Z < –Entry and corr OK,
SHORT (red label) when Z > +Entry and corr OK,
EXIT (gray label) when Z returns inside the Exit band or correlation drops below the floor.
Background tint for active state (faint green for long-spread stance, faint red for short-spread stance).
The two built-in dashboards
Statistics Table (top-right)
Pair Symbol Your chosen partner.
Correlation Live value vs. your minimum.
Z-Score How stretched the spread is now.
Current / Pair Prices Real-time anchors.
Signal State NEUTRAL / LONG / SHORT.
Price Ratio Context for ratio-style setups.
Analysis Table (bottom-right)
Avg Correlation Typical co-movement level over your window.
Max |Z| The recent extremes of dislocation.
Spread Volatility How “lively” the spread has been.
Trade Signal A human-readable prompt (e.g., “LONG A / SHORT B” or “NO TRADE” / “LOW CORRELATION”).
Risk Level LOW / MEDIUM / HIGH based on current stretch (absolute Z).
Signals logic (plain English)
Entry (LONG): The spread is unusually negative (chart cheaper vs pair) and correlation is healthy. Expect mean reversion upward in the spread: long chart, short pair.
Entry (SHORT): The spread is unusually positive (chart richer vs pair) and correlation is healthy. Expect mean reversion downward in the spread: short chart, long pair.
Exit: The spread relaxes back toward normal (inside your exit band), or correlation deteriorates (relationship no longer trusted).
A quick, repeatable workflow
1) Choose your pair in context (same sector/theme or known macro link). Think: “Do these two plausibly co-move?”
2) Pick a spread lens that matches your narrative (ratio for relative value, returns for short-term performance gaps, etc.).
3) Confirm correlation is above your floor no corr, no trade.
4) Wait for a stretch (Z beyond Entry band) and a printed LONG / SHORT .
5) Manage to the mean (EXIT band) or correlation failure; let the scanners’ state/labels keep you honest.
Settings that matter (and why)
Spread Method Defines the “mispricing” you care about.
Correlation Period Longer = steadier regime read, shorter = snappier to regime change.
Z-Score Period The window that defines “normal” for the spread; it sets the yardstick.
Use Percentage Returns Normalizes series when using return-based logic; keep on for mixed-scale assets.
Entry / Exit Thresholds Set your stretch and your target reversion zone. Wider entries = rarer but stronger signals.
Minimum Correlation The gatekeeper. Raising it favors quality over quantity.
Choosing pairs (practical cheat sheet)
Same family: two index ETFs, two oil-linked names, two gold miners, two L1 tokens.
Hedge & proxy: stock vs. sector ETF, BTC vs. BTC index, WTI vs. energy ETF.
Cross-venue or cross-listing: instruments that are functionally the same exposure but price differently intraday.
Reading the cues like a pro
Divergence shape: The yellow normalized spread helps you see rhythm fast spike and snap-back versus slow grind.
Corr-first discipline: Don’t fight the “Min Correlation” line. Good pairs trading starts with a relationship you can trust.
Exit humility: When Z re-centers, let the EXIT do its job. The edge is the journey to the mean, not overstaying it.
Frequently asked (quick answers)
“Long/Short means what exactly?”
LONG = long the chart symbol and short the pair symbol.
SHORT = short the chart symbol and long the pair symbol.
“Do I need same price scales?” No. The spread methods normalize in different ways; choose the one that fits your use case (log/ratio are great for mixed scales).
“What if correlation falls mid-trade?” The scanner will neutralize the state and print EXIT . Relationship first; trade second.
Field notes & patterns
Snap-back days: After a one-sided session, return-difference spreads often flag cleaner intraday mean reversions.
Macro rotations: Ratio spreads shine during sector re-weights (e.g., value vs. growth ETFs); look for steady corr + elevated |Z|.
Event bleed-through: If one symbol reacts to news and its partner lags, Z often flags a high-quality, short-horizon re-centering.
Display controls at a glance
Show Statistics Table Live state & key numbers, top-right.
Show Analysis Table Context/risk read, bottom-right.
Show Correlation / Spread / Z-Score Toggle the sub-charts you want visible.
Show Entry/Exit Signals Turn markers on/off as needed.
Coloring Adjust Long/Short/Neutral and correlation line colors to match your theme.
Alerts (ready to route to your workflow)
Pairs Long Entry Z falls through the long threshold with correlation above minimum.
Pairs Short Entry Z rises through the short threshold with correlation above minimum.
Pairs Trade Exit Z returns to neutral or the relationship fails your correlation floor.
Correlation Breakdown Rolling correlation crosses your minimum; relationship caution.
Final notes
The scanner is designed to keep you systematic: require relationship (correlation), quantify dislocation (Z-Score), act when stretched, stand down when it normalizes or the relationship degrades. It’s a full, visual loop for relative-value trading that stays out of your way when it should and gets loud only when the numbers line up.