Everyday 0002 _ MAC 1st Trading Hour WalkoverThis is the second strategy for my Everyday project.
Like I wrote the last time - my goal is to create a new strategy everyday
for the rest of 2016 and post it here on TradingView.
I'm a complete beginner so this is my way of learning about coding strategies.
I'll give myself between 15 minutes and 2 hours to complete each creation.
This is basically a repetition of the first strategy I wrote - a Moving Average Crossover,
but I added a tiny thing.
I read that "Statistics have proven that the daily high or low is established within the first hour of trading on more than 70% of the time."
(source: )
My first Moving Average Crossover strategy, tested on VOLVB daily, got stoped out by the volatility
and because of this missed one nice bull run and a very nice bear run.
So I added this single line: if time("60", "1000-1600") regarding when to take exits:
if time("60", "1000-1600")
strategy.exit("Close Long", "Long", profit=2000, loss=500)
strategy.exit("Close Short", "Short", profit=2000, loss=500)
Sweden is UTC+2 so I guess UTC 1000 equals 12.00 in Stockholm. Not sure if this is correct, actually.
Anyway, I hope this means the strategy will only take exits based on price action which occur in the afternoon, when there is a higher probability of a lower volatility.
When I ran the new modified strategy on the same VOLVB daily it didn't get stoped out so easily.
On the other hand I'll have to test this on various stocks .
Reading and learning about how to properly test strategies is on my todo list - all tips on youtube videos or blogs
to read on this topic is very welcome!
Like I said the last time, I'm posting these strategies hoping to learn from the community - so any feedback, advice, or corrections is very much welcome and appreciated!
/pbergden
Cerca negli script per "摩根标普500指数基金的收益如何"
HorizonSigma Pro [CHE]HorizonSigma Pro
Disclaimer
Not every timeframe will yield good results . Very short charts are dominated by microstructure noise, spreads, and slippage; signals can flip and the tradable edge shrinks after costs. Very high timeframes adapt more slowly, provide fewer samples, and can lag regime shifts. When you change timeframe, you also change the ratios between horizon, lookbacks, and correlation windows—what works on M5 won’t automatically hold on H1 or D1. Liquidity, session effects (overnight gaps, news bursts), and volatility do not scale linearly with time. Always validate per symbol and timeframe, then retune horizon, z-length, correlation window, and either the neutral band or the z-threshold. On fast charts, “components” mode adapts quicker; on slower charts, “super” reduces noise. Keep prior-shift and calibration enabled, monitor Hit Rate with its confidence interval and the Brier score, and execute only on confirmed (closed-bar) values.
For example, what do “UP 61%” and “DOWN 21%” mean?
“UP 61%” is the model’s estimated probability that the close will be higher after your selected horizon—directional probability, not a price target or profit guarantee. “DOWN 21%” still reports the probability of up; here it’s 21%, which implies 79% for down (a short bias). The label switches to “DOWN” because the probability falls below your short threshold. With a neutral-band policy, for example ±7%, signals are: Long above 57%, Short below 43%, Neutral in between. In z-score mode, fixed z-cutoffs drive the call instead of percentages. The arrow length on the chart is an ATR-scaled projection to visualize reach; treat it as guidance, not a promise.
Part 1 — Scientific description
Objective.
The indicator estimates the probability that price will be higher after a user-defined horizon (a chosen number of bars) and emits long, short, or neutral decisions under explicit thresholds. It combines multi‑feature, z‑normalized inputs, adaptive correlation‑based weighting, a prior‑shifted sigmoid mapping, optional rolling probability calibration, and repaint‑safe confirmation. It also visualizes an ATR‑scaled forward projection and prints a compact statistics panel.
Data and labeling.
For each bar, the target label is whether price increased over the past chosen horizon. Learning is deliberately backward‑looking to avoid look‑ahead: features are associated with outcomes that are only known after that horizon has elapsed.
Feature engineering.
The feature set includes momentum, RSI, stochastic %K, MACD histogram slope, a normalized EMA(20/50) trend spread, ATR as a share of price, Bollinger Band width, and volume normalized by its moving average. All features are standardized over rolling windows. A compressed “super‑feature” is available that aggregates core trend and momentum components while penalizing excessive width (volatility). Users can switch between a “components” mode (weighted sum of individual features) and a “super” mode (single compressed driver).
Weighting and learning.
Weights are the rolling correlations between features (evaluated one horizon ago) and realized directional outcomes, smoothed by an EMA and optionally clamped to a bounded range to stabilize outliers. This produces an adaptive, regime‑aware weighting without explicit machine‑learning libraries.
Scoring and probability mapping.
The raw score is either the weighted component sum or the weighted super‑feature. The score is standardized again and passed through a sigmoid whose steepness is user‑controlled. A “prior shift” moves the sigmoid’s midpoint to the current base rate of up moves, estimated over the evaluation window, so that probabilities remain well‑calibrated when markets drift bullish or bearish. Probabilities and standardized scores are EMA‑smoothed for stability.
Decision policy.
Two modes are supported:
- Neutral band: go long if the probability is above one half plus a user‑set band; go short if it is below one half minus that band; otherwise stay neutral.
- Z‑score thresholds: use symmetric positive/negative cutoffs on the standardized score to trigger long/short.
Repaint protection.
All values used for decisions can be locked to confirmed (closed) bars. Intrabar updates are available as a preview, but confirmed values drive evaluation and stats.
Calibration.
An optional rolling linear calibration maps past confirmed probabilities to realized outcomes over the evaluation window. The mapping is clipped to the unit interval and can be injected back into the decision logic if desired. This improves reliability (probabilities that “mean what they say”) without necessarily improving raw separability.
Evaluation metrics.
The table reports: hit rate on signaled bars; a Wilson confidence interval for that hit rate at a chosen confidence level; Brier score as a measure of probability accuracy; counts of long/short trades; average realized return by side; profit factor; net return; and exposure (signal density). All are computed on rolling windows consistent with the learning scheme.
Visualization.
On the chart, an arrowed projection shows the predicted direction from the current bar to the chosen horizon, with magnitude scaled by ATR (optionally scaled by the square‑root of the horizon). Labels display either the decision probability or the standardized score. Neutral states can display a configurable icon for immediate recognition.
Computational properties.
The design relies on rolling means, standard deviations, correlations, and EMAs. Per‑bar cost is constant with respect to history length, and memory is constant per tracked series. Graphical objects are updated in place to obey platform limits.
Assumptions and limitations.
The method is correlation‑based and will adapt after regime changes, not before them. Calibration improves probability reliability but not necessarily ranking power. Intrabar previews are non‑binding and should not be evaluated as historical performance.
Part 2 — Trader‑facing description
What it does.
This tool tells you how likely price is to be higher after your chosen number of bars and converts that into Long / Short / Neutral calls. It learns, in real time, which components—momentum, trend, volatility, breadth, and volume—matter now, adjusts their weights, and shows you a probability line plus a forward arrow scaled by volatility.
How to set it up.
1) Choose your horizon. Intraday scalps: 5–10 bars. Swings: 10–30 bars. The default of 14 bars is a balanced starting point.
2) Pick a feature mode.
- components: granular and fast to adapt when leadership rotates between signals.
- super: cleaner single driver; less noise, slightly slower to react.
3) Decide how signals are triggered.
- Neutral band (probability based): intuitive and easy to tune. Widen the band for fewer, higher‑quality trades; tighten to catch more moves.
- Z‑score thresholds: consistent numeric cutoffs that ignore base‑rate drift.
4) Keep reliability helpers on. Leave prior shift and calibration enabled to stabilize probabilities across bullish/bearish regimes.
5) Smoothing. A short EMA on the probability or score reduces whipsaws while preserving turns.
6) Overlay. The arrow shows the call and a volatility‑scaled reach for the next horizon. Treat it as guidance, not a promise.
Reading the stats table.
- Hit Rate with a confidence interval: your recent accuracy with an uncertainty range; trust the range, not only the point.
- Brier Score: lower is better; it checks whether a stated “70%” really behaves like 70% over time.
- Profit Factor, Net Return, Exposure: quick triage of tradability and signal density.
- Average Return by Side: sanity‑check that the long and short calls each pull their weight.
Typical adjustments.
- Too many trades? Increase the neutral band or raise the z‑threshold.
- Missing the move? Tighten the band, or switch to components mode to react faster.
- Choppy timeframe? Lengthen the z‑score and correlation windows; keep calibration on.
- Volatility regime change? Revisit the ATR multiplier and enable square‑root scaling of horizon.
Execution and risk.
- Size positions by volatility (ATR‑based sizing works well).
- Enter on confirmed values; use intrabar previews only as early signals.
- Combine with your market structure (levels, liquidity zones). This model is statistical, not clairvoyant.
What it is not.
Not a black‑box machine‑learning model. It is transparent, correlation‑weighted technical analysis with strong attention to probability reliability and repaint safety.
Suggested defaults (robust starting point).
- Horizon 14; components mode; weight EMA 10; correlation window 500; z‑length 200.
- Neutral band around seven percentage points, or z‑threshold around one‑third of a standard deviation.
- Prior shift ON, Calibration ON, Use calibrated for decisions OFF to start.
- ATR multiplier 1.0; square‑root horizon scaling ON; EMA smoothing 3.
- Confidence setting equivalent to about 95%.
Disclaimer
No indicator guarantees profits. HorizonSigma Pro is a decision aid; always combine with solid risk management and your own judgment. Backtest, forward test, and size responsibly.
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.
Enhance your trading precision and confidence 🚀
Best regards
Chervolino
Major & Modern Wars TimelineDescription:
This indicator overlays vertical lines and labels on your chart to mark the start and end dates of major global wars and modern conflicts.
Features:
Displays start (red line + label) and end (green line + label) for each war.
Covers 20th century wars (World War I, World War II, Korean War, Vietnam War, Gulf War, Afghanistan, Iraq).
Includes modern conflicts: Syrian Civil War, Ukraine War, and Israel–Hamas War.
For ongoing conflicts, the end date is set to 2025 for timeline visualization.
Customizable: label position (above/below bar), line width.
Works on any chart timeframe, overlaying events on financial data.
Use case:
Useful for historical market analysis (e.g., gold, oil, S&P 500), helping traders and researchers see how wars and conflicts align with market movements.
Major & Modern Wars TimelineDescription:
This indicator overlays vertical lines and labels on your chart to mark the start and end dates of major global wars and modern conflicts.
Features:
Displays start (red line + label) and end (green line + label) for each war.
Covers 20th century wars (World War I, World War II, Korean War, Vietnam War, Gulf War, Afghanistan, Iraq).
Includes modern conflicts: Syrian Civil War, Ukraine War, and Israel–Hamas War.
For ongoing conflicts, the end date is set to 2025 for timeline visualization.
Customizable: label position (above/below bar), line width.
Works on any chart timeframe, overlaying events on financial data.
Use case:
Useful for historical market analysis (e.g., gold, oil, S&P 500), helping traders and researchers see how wars and conflicts align with market movements.
Index Position Size Calculator for [US30 / US100 / SP500]What it does
This tool helps you size positions consistently for index trades on US30 (Dow Jones), NAS100 (Nasdaq-100), and SP500 (S&P 500). Enter your account balance, risk %, and your planned Entry / Stop-Loss / Target and the script calculates:
• Position Size (rounded to your lot/contract step)
• Risk-to-Reward (R/R)
• Potential P/L in USD based on your inputs
• Visual Entry / SL / TP lines with green/red zones and concise labels
Supported contract styles
Choose a preset for common products (e.g., CFD $1/pt, YM/NQ/ES futures, MYM/MNQ/MES micros) or override the economics yourself. You remain in control of the two key levers:
• $/point — how many dollars you gain/lose per 1 index point per contract/lot
• Point size — how many price units equal 1 index point on your chart (often 1.0, but some brokers use 0.1 or 0.5)
Inputs
• Account Balance ($) and Risk % per trade
• Index: US30 / NAS100 / SP500
• Contract: CFD / Futures (YM, NQ, ES) / Micros (MYM, MNQ, MES)
• $/point: auto from Contract or manual override
• Point size: auto from Index or manual override
• Position size step: rounding (e.g., 1 for futures, 0.01 for CFDs)
• Entry / SL / TP: typed values (snapped to tick), with on-chart zones and labels
• Display toggles for lines and labels
How the math works
• StopPoints = |Entry − SL| ÷ PointSize
• ProfitPoints = |TP − Entry| ÷ PointSize
• Position Size = (AccountBalance × Risk%) ÷ (StopPoints × $/point)
• R/R = ProfitPoints ÷ StopPoints
• Potential P/L = PositionSize × Points × $/point
How to use (quick start)
1. Select Index and Contract.
2. Confirm $/point and Point size match your broker’s specs.
3. Enter Entry / SL / TP for the trade idea.
4. Read the Position Size, R/R, and Potential P/L in the info box.
5. Adjust for fees, spreads, and slippage as needed.
Notes & limitations
• Broker symbols can vary. Always verify $/point and Point size for your instrument before risking capital.
• The script does not place orders and does not generate trade signals; it’s a sizing/visualization tool.
• Results can differ across brokers due to pricing, spreads, minimum lot sizes, and execution rules.
• Use on the intended indices; you’ll see a reminder if you load it elsewhere.
Changelog highlights
• Pine v6, constant-safe inputs, tick-snapping, global fills (no local-scope errors).
• Robust label handling and optional minimal chart markers.
Disclaimer
This script is provided for educational purposes only and does not constitute financial advice or a recommendation to buy or sell any security or derivative. Trading involves risk, including the possible loss of principal. Always do your own research, verify contract specifications with your broker, and consider testing in a demo environment before trading live.
Canyons Trend Ride SignalTrend alignment signals using 3 EMA's. pre-code written parameters must all be met to throw a signal out. Works best with Heiken ashi candles. Works on Gold, Nas100, S&P 500 and US30
MATEOANUBISANTIDear traders, investors, and market enthusiasts,
We are excited to share our High-Low Indicator Range for on . This report aims to provide a clear and precise overview of the highest and lowest values recorded by during this specific hour, equipping our community with a valuable tool for making informed and strategic market decisions.
MATEOANUBISANTI-BILLIONSQUATDear traders, investors, and market enthusiasts,
We are excited to share our High-Low Indicator Range for on . This report aims to provide a clear and precise overview of the highest and lowest values recorded by during this specific hour, equipping our community with a valuable tool for making informed and strategic market decisions.
Scalp - Victor Trader//@version=6
indicator("Scalp Fluxo Simples v6 — OP1/OP2/OP3", overlay=true, max_labels_count=500)
// === Inputs básicos ===
lenVol = input.int(50, "Janela do Volume", minval=10)
zVolThr = input.float(2.2,"Z-score mínimo p/ Clímax", step=0.1)
imbThr = input.float(0.65,"Desequilíbrio |Δ|/Vol", step=0.01)
sweepLookbk = input.int(20, "Lookback p/ Varredura", minval=5)
wickMult = input.float(1.0,"Pavio dominante vs Corpo (x)", step=0.1)
confirmClose = input.bool(true, "Confirmar só no fechamento? (anti-repaint)")
cooldownBars = input.int(8, "Cooldown OP1 (barras mínimas entre OP1)", minval=0)
// --- OP2 (reteste) ---
useOP2 = input.bool(true, "Ativar OP2 (reteste da zona)?")
retestBars = input.int(8, "Janela p/ reteste (barras após OP1)", minval=1)
// --- OP3 (confirmação do candle seguinte) ---
useOP3 = input.bool(true, "Ativar OP3 (confirmação do candle seguinte)?")
// === Funções utilitárias ===
zscore(src, len) =>
m = ta.sma(src, len)
s = ta.stdev(src, len)
s := s == 0.0 ? 1e-10 : s
(src - m) / s
// === Proxy de delta (tick rule) ===
chg = close - close
delta = volume * math.sign(chg)
// === Clímax de volume ===
zVol = zscore(volume, lenVol)
climax = zVol >= zVolThr
// === Pavio dominante ===
body = math.abs(close - open)
topWick = high - math.max(open, close)
botWick = math.min(open, close) - low
topDom = topWick > body * wickMult
botDom = botWick > body * wickMult
// === Desequilíbrio ===
imbalance = math.abs(delta) / math.max(volume, 1.0)
buyImb = imbalance >= imbThr and delta > 0
sellImb = imbalance >= imbThr and delta < 0
// === Sweeps ===
prevHH = ta.highest(high, sweepLookbk)
prevLL = ta.lowest(low, sweepLookbk)
sweepHigh = high > prevHH
sweepLow = low < prevLL
okBar = not confirmClose or barstate.isconfirmed
// === OP1 (sinal raiz) ===
topOP1_raw = climax and buyImb and sweepHigh and topDom and okBar
bottomOP1_raw = climax and sellImb and sweepLow and botDom and okBar
// Cooldown OP1
var int lastTopOP1 = na
var int lastBotOP1 = na
topOP1 = topOP1_raw and (na(lastTopOP1) or bar_index - lastTopOP1 > cooldownBars)
bottomOP1 = bottomOP1_raw and (na(lastBotOP1) or bar_index - lastBotOP1 > cooldownBars)
if topOP1
lastTopOP1 := bar_index
if bottomOP1
lastBotOP1 := bar_index
// === Guardar ZONAS do pavio do OP1 para OP2 ===
var float lastTopZoneLow = na
var float lastTopZoneHigh = na
var int lastTopBar = na
var float lastBotZoneLow = na
var float lastBotZoneHigh = na
var int lastBotBar = na
if topOP1
lastTopZoneLow := math.max(open, close)
lastTopZoneHigh := high
lastTopBar := bar_index
if bottomOP1
lastBotZoneLow := low
lastBotZoneHigh := math.min(open, close)
lastBotBar := bar_index
// === OP2 (reteste da zona do pavio dentro de N barras) ===
topOP2 = useOP2 and not na(lastTopBar) and bar_index > lastTopBar and (bar_index - lastTopBar <= retestBars) and high >= lastTopZoneLow and low <= lastTopZoneHigh and close < open and okBar
bottomOP2 = useOP2 and not na(lastBotBar) and bar_index > lastBotBar and (bar_index - lastBotBar <= retestBars) and high >= lastBotZoneLow and low <= lastBotZoneHigh and close > open and okBar
// === OP3 (confirmação do candle seguinte) ===
topOP3 = useOP3 and topOP1 and close < low and okBar
bottomOP3 = useOP3 and bottomOP1 and close > high and okBar
// === Plots ===
plotshape(series=topOP1, title="TOP OP1", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, text="TOP1")
plotshape(series=topOP2, title="TOP OP2", style=shape.triangledown, location=location.abovebar, color=color.maroon, size=size.small, text="TOP2")
plotshape(series=topOP3, title="TOP OP3", style=shape.triangledown, location=location.abovebar, color=color.orange, size=size.small, text="TOP3")
plotshape(series=bottomOP1, title="FND OP1", style=shape.triangleup, location=location.belowbar, color=color.lime, size=size.small, text="FND1")
plotshape(series=bottomOP2, title="FND OP2", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, text="FND2")
plotshape(series=bottomOP3, title="FND OP3", style=shape.triangleup, location=location.belowbar, color=color.teal, size=size.small, text="FND3")
// === Alertas ===
alertcondition(condition=topOP1, title="TOP OP1", message="TOP OP1 (clímax+sweep+pavio)")
alertcondition(condition=topOP2, title="TOP OP2", message="TOP OP2 (reteste da zona)")
alertcondition(condition=topOP3, title="TOP OP3", message="TOP OP3 (confirmação)")
alertcondition(condition=bottomOP1, title="FND OP1", message="FND OP1 (clímax+sweep+pavio)")
alertcondition(condition=bottomOP2, title="FND OP2", message="FND OP2 (reteste da zona)")
alertcondition(condition=bottomOP3, title="FND OP3", message="FND OP3 (confirmação)")
(ES, NQ) Trend Checker SB1(ES, NQ) Trend Checker SB1
Stay ahead of the market by tracking whether the E-mini S&P 500 (ES) and the Nasdaq 100 (NQ) are moving in sync.
📊 How it works:
The script checks whether each index is bullish (close > open) or bearish (close < open).
If both are aligned (all bullish or all bearish), conditions are stable.
If they diverge, the indicator instantly flags a mismatch in trend.
🎯 Features:
Background shading to highlight mismatched conditions.
Real-time alerts when ES and NQ fall out of sync.
Works on any timeframe.
🔥 Why it matters:
When ES and NQ move together, market momentum is usually stronger and cleaner.
But when they disagree, expect choppiness, fakeouts, or caution zones — the perfect heads-up before entering trades.
Smart Money Concepts //@deepak
//@version=5
indicator(title='Custom Also Builder - v1', shorttitle="Custom Also Builder - v1", overlay=true, max_bars_back=500)
ma(_source, _length, _type) =>
switch _type
"SMA" => ta.sma (_source, _length)
"EMA" => ta.ema (_source, _length)
"RMA" => ta.rma (_source, _length)
"WMA" => ta.wma (_source, _length)
"VWMA" => ta.vwma(_source, _length)
alarm(_osc, _message) =>
alert(syminfo.ticker + ' ' + _osc + ' : ' + _message + ', price (' + str.tostring(close, format.mintick) + ')')
//Conditional Sampling EMA Function
Cond_EMA(x, cond, n) =>
var val = array.new_float(0)
var ema_val = array.new_float(1)
if cond
array.push(val, x)
if array.size(val) > 1
array.remove(val, 0)
if na(array.get(ema_val, 0))
array.fill(ema_val, array.get(val, 0))
array.set(ema_val, 0, (array.get(val, 0) - array.get(ema_val, 0)) * (2 / (n + 1)) + array.get(ema_val, 0))
EMA = array.get(ema_val, 0)
EMA
//Conditional Sampling SMA Function
Cond_SMA(x, cond, n) =>
var vals = array.new_float(0)
if cond
array.push(vals, x)
if array.size(vals) > n
array.remove(vals, 0)
SMA = array.avg(vals)
SMA
//Standard Deviation Function
Stdev(x, n) =>
math.sqrt(Cond_SMA(math.pow(x, 2), 1, n) - math.pow(Cond_SMA(x, 1, n), 2))
//Range Size Function
rng_size(x, scale, qty, n) =>
ATR = Cond_EMA(ta.tr(true), 1, n)
AC = Cond_EMA(math.abs(x - x ), 1, n)
SD = Stdev(x, n)
rng_size = scale == 'Pips' ? qty * 0.0001 : scale == 'Points' ? qty * syminfo.pointvalue : scale == '% of Price' ? close * qty / 100 : scale == 'ATR' ? qty * ATR : scale == 'Average Change' ? qty * AC : scale == 'Standard Deviation' ? qty * SD : scale == 'Ticks' ? qty * syminfo.mintick : qty
rng_size
//Two Type Range Filter Function
rng_filt(h, l, rng_, n, type, smooth, sn, av_rf, av_n) =>
rng_smooth = Cond_EMA(rng_, 1, sn)
r = smooth ? rng_smooth : rng_
var rfilt = array.new_float(2, (h + l) / 2)
array.set(rfilt, 1, array.get(rfilt, 0))
if type == 'Type 1'
if h - r > array.get(rfilt, 1)
array.set(rfilt, 0, h - r)
if l + r < array.get(rfilt, 1)
array.set(rfilt, 0, l + r)
if type == 'Type 2'
if h >= array.get(rfilt, 1) + r
array.set(rfilt, 0, array.get(rfilt, 1) + math.floor(math.abs(h - array.get(rfilt, 1)) / r) * r)
if l <= array.get(rfilt, 1) - r
array.set(rfilt, 0, array.get(rfilt, 1) - math.floor(math.abs(l - array.get(rfilt, 1)) / r) * r)
rng_filt1 = array.get(rfilt, 0)
hi_band1 = rng_filt1 + r
lo_band1 = rng_filt1 - r
rng_filt2 = Cond_EMA(rng_filt1, rng_filt1 != rng_filt1 , av_n)
hi_band2 = Cond_EMA(hi_band1, rng_filt1 != rng_filt1 , av_n)
lo_band2 = Cond_EMA(lo_band1, rng_filt1 != rng_filt1 , av_n)
rng_filt = av_rf ? rng_filt2 : rng_filt1
hi_band = av_rf ? hi_band2 : hi_band1
lo_band = av_rf ? lo_band2 : lo_band1
ma_function(source, length, type) =>
if type == 'RMA'
ta.rma(source, length)
else if type == 'SMA'
ta.sma(source, length)
else if type == 'EMA'
ta.ema(source, length)
else if type == 'WMA'
ta.wma(source, length)
else if type == 'HMA'
if(length<2)
ta.hma(source,2)
else
ta.hma(source, length)
else
ta.vwma(source, length)
// Get Table Size
table_size(s) =>
switch s
"Auto" => size.auto
"Huge" => size.huge
"Large" => size.large
"Normal" => size.normal
"Small" => size.small
=> size.tiny
setup_group= "████████ Indicator Setup ████████"
signalexpiry = input.int(defval=3, title='Signal Expiry Candle Count',group=setup_group, inline='expiry',tooltip="Number of candles to wait for all indicators to confirm a signal. Default is 3 which means if leading indicator print the signal, it will wait for max 3 more candles for rest of the indicators to print signal, if not then this setup is invalided and will have to wait for another signal form the leading indicator.")
alternatesignal = input.bool (true, "Alternate Signal", group=setup_group, inline='alternate')
showsignal = input.bool (true, "Show Long/Short Signal", group=setup_group,inline='showsignal',tooltip="Option to turn on/off the Long/Short signal shown on the chart. by default it will print Long/ Short signal on the chart.")
showdashboard = input.bool (true, "Show Dashboard", group=setup_group,inline='dashboard')
string i_tab1Ypos = input.string('bottom', 'Dashboard Position',group=setup_group, inline='dashboard2', options= )
string i_tab1Xpos = input.string('right', '', inline='dashboard2', group=setup_group,options= )
in_dashboardtab_size = input.string(title="Dashboard Size ", defval="Normal",
options= ,
group= setup_group , inline= "dashboard3")
///////////////////////////////////////////////
///// Signal filters
/////////////////////////////////////////////
leadingindicator = input.string(title="Leading Indicator", defval="Range Filter",
options= , group='████████ Main Indicator (signal) ████████', inline='li')
confirmation_group = "████████ Confirmation Indicators (filter) ████████ "
ema_tooltip = "EMA filter for confirmation.\n\n Validates Long signal if price is above the EMA FILTER level, and validates Short signal if price is below the EMA FILTER level. \n\nDefault is 200, you can change that to meet your requiremnt."
respectema = input.bool (false, "EMA Filter", group=confirmation_group, inline='respectema')
respectemaperiod = input.int(defval=200, minval=1, title='', group=confirmation_group, inline='respectema', tooltip=ema_tooltip)
ema2_tooltip = "Generates Long signal if Fast EMA cross above Slow EMA.\n\n Generates Short signal when Fast EMA cross below the Slow EMA.\n\n Default values are 50 and 200. you can change that to meet your requirement."
respect2ma = input.bool (false, "2 EMA Cross : ", group=confirmation_group, inline='2ma')
respect2maperiod_1 = input.int(defval=50, title='',group=confirmation_group, inline='2ma')
respect2maperiod_2 = input.int(defval=200, title='',group=confirmation_group, inline='2ma',tooltip=ema2_tooltip)
ema3_tooltip = "Generates Long signal if first EMA (Fastest) cross above 2nd and 3rd EMA and 2nd EMA cross above 3rd EMA.\n\n Generates Short signal if first EMA (Fastest) cross below 2nd and 3rd EMA and 2nd EMA cross below 3rd EMA .\n\n Default values are 9,21 and 55. you can change that to meet your requirement."
respect3ma = input.bool (false, "3 EMA Cross : ", group=confirmation_group, inline='3ma',tooltip=ema3_tooltip)
respect3maperiod_1 = input.int(defval=9, title='',group=confirmation_group, inline='3ma',tooltip=ema3_tooltip)
respect3maperiod_2 = input.int(defval=21, title='',group=confirmation_group, inline='3ma',tooltip=ema3_tooltip)
respect3maperiod_3 = input.int(defval=55, title='',group=confirmation_group, inline='3ma',tooltip=ema3_tooltip)
respectrf = input.bool (false, "Range Filter", group=confirmation_group, inline='rf')
rftype = input.string(title="", defval="Default", options= , group=confirmation_group, inline='rf')
respectrqk = input.bool (true, "Rational Quadratic Kernel (RQK)", group=confirmation_group, inline='rqk',tooltip="Nadaraya Watson: Rational Quadratic Kernel (RQK)")
respectst = input.bool (false, "SuperTrend", group=confirmation_group, inline='st')
respectht = input.bool (false, "Half Trend", group=confirmation_group, inline='ht')
respectdonchian = input.bool (false, "Donchian Trend Ribbon", group=confirmation_group, inline='donchian')
respectroc = input.bool (false, "Rate of Change (ROC)", group=confirmation_group, inline='roc')
respecttsi = input.bool (false, "True Strength Indicator (TSI)", group=confirmation_group, inline='tsi')
tsitooltip = "Signal Crossover:\n\n TSI crossover or greater than signal line for long, and TSI crossunder signal line for short.\n\n Zero Line Cross:\n\n TSI cross above zero line and signal line for long signal. Tsi Cross below zero and signal line for short signal."
tsitype = input.string(title="", defval="Signal Cross", options= ,tooltip=tsitooltip, group=confirmation_group, inline='tsi')
respecttdfi = input.bool (false, "Trend Direction Force Index (TDFI)", group=confirmation_group, inline='tdfi')
respectmd = input.bool (false, "McGinley Dynamic", group=confirmation_group, inline='md')
respectdpo = input.bool (false, "Detrended Price Oscillator (DPO)", group=confirmation_group, inline='dpo')
respectichi = input.bool (false, "Ichimoku Cloud", group=confirmation_group, inline='ichi')
respectsuperichi = input.bool (false, "SuperIchi", group=confirmation_group, inline='ichi',tooltip="Ichimoku Cloud Conditions: \n \n 1. Candle above cloud \n \n 2. Converstion Line above base line \n \n 3. Leading 26 bar cloud is green \n \n 4. lagging span is above the cloud")
respecttrendline_breakout = input.bool (false, "Trendline Breakout", group=confirmation_group, inline='tb')
respectrd = input.bool (false, "Range Detector", group=confirmation_group, inline='rd',tooltip="Range Detector:\n\n if used as leading indicator, it will be based on range breakout. \n\n If used as confirmation indicator, it will be used to filter entries within the active range area.")
respecthacolt = input.bool (false, "Heiken-Ashi Candlestick Oscillator", group=confirmation_group, inline='hacolt',tooltip="Vervoort LongTerm Heiken-Ashi Candlestick Oscillator:\n\n If oscilliation is above 0 line, then long signal is issued and if below zero line, short signal is issued.")
respectbx = input.bool (false, "B-Xtrender", group=confirmation_group, inline='bx')
bxtype = input.string(title="", defval="Short and Long term trend", options= , group=confirmation_group, inline='bx', tooltip = "Short term trend:\n\n===================== \n\n For buy signal the short term trend line must turn green, and for the sell signal, the short term trend line must turn red. \n\n Short and Long term trend: \n\n===================== \n\n For buy signal, the short term trend must change from red to green and long term trend cross above zero line, for Sell signal the short term trend must turn red and long term trend line cross down the zero line..")
respectbbpt = input.bool (false, "Bull bear Power Trend", group=confirmation_group, inline='bbpt')
bbpttype = input.string(title="", defval="Follow Trend", options= , group=confirmation_group, inline='bbpt', tooltip = "Follow Trend:\n\n===================== \n\n Buy signal will be validated if the BBPT trend line is above 2, and Sell signal will be validated if BBPT trend line is below -2. \n\n Without Trend: \n\n===================== \n\n Ignore the BBPT trend line.")
respectvwap = input.bool (false, "VWAP", group=confirmation_group, inline='vwap')
respectbbosc = input.bool (false, "BB Oscillator", group=confirmation_group, inline='bbosc')
bbtype = input.string(title="", defval="Entering Lower/Upper Band", options= , group=confirmation_group, inline='bbosc')
respecttm = input.bool (false, "Trend Meter", group=confirmation_group, inline='tm')
tmtype = input.string(title="", defval="3 TM and 2 TB change to same color", options= , group=confirmation_group, inline='tm')
respectce = input.bool (false, "Chandelier Exit", group=confirmation_group, inline='ce')
respectcci = input.bool (false, "CCI", group=confirmation_group, inline='cci')
respectao = input.bool (false, "Awesome Oscillator", group=confirmation_group, inline='ao')
aotype = input.string(title="", defval="Zero Line Cross", options= , group=confirmation_group, inline='ao', tooltip = "Zero Line Cross:\n\n If AO value cross the zero line up, Buy signal will be generated, and if AO value cross down the zero line, sell signal will be generated.")
respectadx = input.bool (false, "DMI (ADx)", group=confirmation_group, inline='adx')
adxtype = input.string(title="", defval="Adx & +Di -Di", options= , group=confirmation_group, inline='adx', tooltip = "Adx Only:\n\n If Adx value is above the defined level. \n\n Adx & +Di -DI :\n\n When Adx value is above the defined level and croseeover between +di and -di. Di will determine the direction of the movement. \n\n Advance: ")
respectsar = input.bool (false, "Parabolic SAR (PSAR)", group=confirmation_group, inline='sar')
respectwae = input.bool (false, "Waddah Attar Explosion", group=confirmation_group, inline='wae')
vo_tooltip = "Volatility Oscillator: \n\n ======================= \n\n If the spike line is above the upper line, buy signal is generated (or validated). \n\n If the spike line is below the lower line, sell signal is generated (or validated)."
respectvo = input.bool (false, "Volatility Oscillator", group=confirmation_group, inline='vo', tooltip = vo_tooltip)
ci_tooltip = "Choppiness index: \n\n ======================= \n\n If the index is below the defined threshold (default 61.8) then asset is considered trending and signal will be validated, if index is above 61.8 then asset is considered having sideway movement."
respectci = input.bool (false, "Choppiness Index ", group=confirmation_group, inline='ci')
ci_limit = input.float(61.8,title=" ", inline='ci',group=confirmation_group, tooltip = ci_tooltip)
respectdv = input.bool (false, "Damiani Volatility (DV)", group=confirmation_group, inline='dv')
dvtype = input.string(title="", defval="Simple", options= , group=confirmation_group, inline='dv', tooltip = "Simple\n Volatility is green. \nThreshold\n Volatility green and >1.1")
stochtooltip="CrossOver:\n------------------\n\n CrossOver of K and D line at any level. \n\n CrossOver in OB & OS levels:\n\n Generate buy signal if crossover happens in oversold area and crossing up oversold level.\n\n Generate sell signal on crossover in overbought area and cross down upper level. \n------------------\n\n %K above/below %D\n------------------\n: Generate Buy signal or validate other signal if %K is above %D and opposite for Sell Signal."
respectstochastic = input.bool (false, "Stochastic", group=confirmation_group, inline='stoch')
stochtype = input.string(title="", defval="CrossOver", options= ,tooltip=stochtooltip, group=confirmation_group, inline='stoch')
rsi_tooltip = "RSI MA Cross:\n=============\n Generate buy signal when RSI cross up RSI MA line and sell signal when RSI cross down RSI MA line.\n\nRSI Exits OB/OS zones:\n==================\n Generate Buy signal when RSI crosses down the overbough zone and sell signal when RSI crosses up the oversold zone.\n\nRSI Level:\n==========\nGenerate buy signal if RSI cross above the specific level and sell signal when RSI crossdown the level.\n\n\n +++++\nYou can change the setting to define the OB/OS and MidLine Levels"
respectrsi = input.bool (false, "RSI", group=confirmation_group, inline='rsi')
rsitype = input.string(title="", defval="RSI MA Cross", options= , tooltip=rsi_tooltip, group=confirmation_group, inline='rsi')
rsima_tooltip = "RSI MA Direction:\n=============\n The buy and sell signal will respect the RSI MA direction. For buy signal, the RSI MA should be increasing or same compared to previous RSI MA. \n\n for SHORT, the RSI MA should be same or decreasing compared to last RSI MA"
respectrsima = input.bool (false, "RSI MA Direction", group=confirmation_group, inline='rsi2',tooltip=rsima_tooltip)
rsilimit_tooltip = "RSI Limit:\n=============\n This is to allow you to set limit for the RSI value for long and short. default value for long is 40, which means if the RSI is 40 or above, only then BUY signal will be validated. \n\nfor short if RSI is 60 or less, only then sell signal willbe validated."
respectrsilimit = input.bool (false, "RSI Limit : ", group=confirmation_group, inline='rsi3',tooltip=rsilimit_tooltip)
rsilimitup = input.int(40, title="Long",inline='rsi3', group=confirmation_group)
rsilimitdown = input.int(60, title="short",inline='rsi3', group=confirmation_group)
rsimalimit_tooltip = "RSI MA Limit:\n=============\n This is to allow you to set limit for the RSI MA value for long and short. default value for long is 40, which means if the RSI MA is 40 or above, only then BUY signal will be validated. \n\nfor short if RSI MA is 60 or less, only then sell signal willbe validated."
respectrsimalimit = input.bool (false, "RSI MA Limit : ", group=confirmation_group, inline='rsi4',tooltip=rsimalimit_tooltip)
rsimalimitup = input.int(40, title="Long",inline='rsi4', group=confirmation_group)
rsimalimitdown = input.int(60, title="short",inline='rsi4', group=confirmation_group)
macdtooltip="MACD Crossover:\n------------------\n\n CrossOver of MACD and the Signal line. Generates Long signal when MACD cross up Signal line and Short signal when MACD cross down Signal Line. . \n\n Zero line crossover:\n------------------\n\n Generate buy signal when MACD cross up the zero line and Sell signal when MACD cross down the zero line."
respectmacd = input.bool (false, "MACD", group=confirmation_group, inline='macd')
macdtype = input.string(title="", defval="MACD Crossover", options= ,tooltip=macdtooltip, group=confirmation_group, inline='macd')
respectssl = input.bool (false, "SSL Channel", group=confirmation_group, inline='ssl')
respectstc = input.bool (false, "Schaff Trend Cycle (STC)", group=confirmation_group, inline='stc')
respectchaikin = input.bool (false, "Chaikin Money Flow", group=confirmation_group, inline='chaikin')
respectvol = input.bool (false, "Volume", group=confirmation_group, inline='volume')
volumetype = input.string(title="", defval="volume above MA", options= , group=confirmation_group, inline='volume', tooltip = "Simple volume is comparing the up/down volme with previous candle. \nVolume delta will compare the delta or difference between up and down volume with previous candle.\nExample:\n up volume = 100 \n Down volume=-1100\n Delta = -1000\n Satisfy the bear flag condition if previous -ve delta is lower")
respectwolf = input.bool (false, "Wolfpack Id", group=confirmation_group, inline='wolf')
respectqqe = input.bool (false, "QQE Mod", group=confirmation_group, inline='qqe')
qqetype = input.string(title="", defval="Line", options= , group=confirmation_group, inline='qqe', tooltip = "Line: signal generated when QQE line is above or below 0. \nBar: when Blue bar is above 0 or Red bar below 0 \nLine & Bar: Both Bar and Line to be above(bullist) or below (beari
Dove Capital – Psych Levels 000/250/500/750 (safe build)Market makers use psychological numbers to validate support and resistance. This being said, I've mapped out a system that will navigate the support and resistance areas
SPX → NQ Levels ConverterSPX → NQ Levels Converter is a Pine Script indicator that projects key S&P 500 (SPX) levels onto the NASDAQ 100 (NQ) chart using a configurable conversion ratio.
• Dynamic ratio: calculates the live SPX/NQ ratio in real time.
• Static ratio: allows manual input of a fixed ratio.
• Supports up to 10 custom SPX levels, automatically converted into their equivalent NQ values.
• Each level is displayed with a line and label (SPX → NQ) with independent color settings.
• Advanced visualization controls:
• line extension (right, left, both, or fixed)
• line length & placement
• label side & offset.
• Lines and labels auto-update on every bar to stay accurate over time.
Use case: particularly useful for traders who track SPX option levels or support/resistance zones but execute trades on the NQ.
RRG Relative Strength# RRG Relative Strength (RRG RS)
Compare any symbol to a benchmark using two RRG-style lines: **RS-Ratio** (trend of relative strength) and **RS-Momentum** (momentum of that trend). Both are centered at **100**:
- **RS-Ratio > 100** → outperforming the benchmark
- **RS-Ratio < 100** → underperforming
- **RS-Momentum** often **leads** RS-Ratio (crosses 100 earlier)
# How it works
1) Relative Strength (RS): RS = Close(symbol) / Close(benchmark)
2) Normalize around 100: smooth RS with EMA and divide RS by that EMA
3) RS-Ratio: EMA( RS / EMA(RS, Length), LenSmooth ) * 100
4) RS-Momentum: RS-Ratio / EMA(RS-Ratio, LenSmooth) * 100
# Inputs
- Length (default 14): normalization window for RS
- Length Smooth (default 20): smoothing window for RS-Ratio & RS-Momentum
# Benchmark (auto)
- US: SP:SPX (S&P 500)
- Vietnam: HOSE:VNINDEX
- Crypto: INDEX:BTCUSD
(Modify the mapping if needed, or replace with your own input.symbol().)
# How to read
- Improving: RS-Momentum crosses above 100 while RS-Ratio turns up
- Leading: RS-Ratio > 100 with RS-Momentum ≥ 100
- Weakening: RS-Momentum drops below 100; RS-Ratio often follows
# Timeframes & presets
- Works on Daily and Weekly charts
- Daily (fast): 14 / 20
- Approx. weekly behavior on Daily: 50 / 60
Note: Values usually hover near 100 (e.g., ~90–110) but are not strictly bounded. Ensure your symbol and benchmark trade in comparable sessions/currencies.
Traders Reality Rate Spike Monitor 0.1 betaTraders Reality Rate Spike Monitor
## **Early Warning System for Interest Rate-Driven Market Crashes**
Based on critical market analysis revealing the dangerous correlation between interest rate spikes and major market selloffs, this indicator provides **three-tier alerts** for US 10-Year Treasury yield acceleration.
### **📊 Key Market Intelligence:**
**Historical Precedent:** The 2018 market crash occurred when unrealized bank losses hit $256 billion with interest rates at just 2.5%. **Current unrealized losses have reached $560 billion** - more than double the 2018 levels - while rates sit at 4.5%.
**Critical Vulnerabilities:**
- **$559 billion in tech sector debt** maturing through 2025
- **65% of investment-grade debt** rated BBB (vulnerable to adverse conditions)
- **$9.5 trillion in total debt** requiring refinancing
- Every 1% rate increase costs the economy **$360 billion annually**
### **🚨 Alert System:**
**📊 WATCH (20+ basis points/3 days):** Early positioning signal
**⚠️ WARNING (30+ basis points/3 days):** Prepare for volatility
**🚨 CRITICAL (40+ basis points/3 days):** Historical crash threshold
### **💡 Why This Matters:**
Interest rate spikes historically trigger major market corrections:
- **2018:** 70 basis points spike → 20% S&P 500 crash
- **2025:** Similar pattern led to massive selloffs
- **Current risk:** 2x higher unrealized losses than 2018
### **⚡ Features:**
✅ **Zero chart clutter** - invisible until alerts trigger
✅ **Dynamic calculation** - automatically adjusts to current yield levels
✅ **Multi-timeframe compatibility** - works on any chart timeframe
✅ **Professional alerts** - with actual basis point calculations
### **🎯 Use Case:**
Perfect for traders and investors who understand that **debt refinancing pressure** and **unrealized bank losses** create systemic risks that manifest through interest rate volatility. When rates spike rapidly, leveraged positions unwind and markets crash.
**"Every point costs us $360 billion a year. Think of that."** - This indicator helps you see those critical rate movements before the market does.
---
**Disclaimer:** This indicator is for educational purposes. Past performance does not guarantee future results. Always manage risk appropriately.
---
This description positions your indicator as a **serious professional tool** based on real market analysis rather than just another technical indicator! 🚀
Contracts Calculator by NQLOGIEST🧮 Contracts Calculator by NQLOGIEST
This tool helps futures traders quickly calculate how many micro contracts to trade based on their dollar risk and stop size. It supports the following micro instruments:
MNQ – Micro Nasdaq 100
MES – Micro S&P 500
MCL – Micro Crude Oil Futures
MGC – Micro Gold Futures
🔧 Features:
Dynamic Contract Calculation based on:
Selected instrument
Dollar risk amount
Stop size (in points)
Instrument-aware $/point logic:
MNQ: $2/pt
MES: $5/pt
MCL: $1/pt
MGC: $1/pt
Customizable Table Position: Pin the results table to any corner of your chart.
Clean and lightweight — no chart clutter.
📋 How to Use:
Select the instrument you're trading from the dropdown (NQ, ES, CL, or GC).
Set your risk amount in dollars.
Set your stop loss size in points.
The indicator will calculate how many micro contracts you can trade while staying within your risk tolerance.
VWATR + VIX + VVIX Trend Regime### 🤖 VWATR + VIX + VVIX Trend Regime — Your Ultimate Volatility Dashboard! 📊
This isn't just another indicator; it's a comprehensive dashboard that brings together everything you need to understand market volatility focused on Futures. It merges price-based movement with market-wide fear and sentiment, giving you a powerful edge in your trading and risk management. Think of it as your personal volatility sidekick, ready to help you navigate market uncertainty like a pro!
***
### ✨ What's Inside?
* **VWATR (Volume-Weighted ATR):** A super-smart measure of price movement that pays close attention to where the big money is flowing.
* **VIX (The "Fear Gauge"):** Tracks the expected volatility of the S&P 500, essentially telling you how nervous the market is feeling.
* **VVIX (The "VIX of VIX"):** This one's for the pros! It measures how volatile the VIX itself is, giving you an early heads-up on potential fear spikes.
* **VX Term Structure:** A clever way to see if traders are preparing for a crisis. It compares the two nearest VIX futures to spot a rare signal called "backwardation."
* **Z-Scores:** It helps you spot when VIX and VVIX are at historic highs or lows, making it easier to predict when things might return to normal.
* **Divergence Score:** A unique tool to flag potential market shifts when the VIX and VVIX start moving in completely different directions.
* **Regime Classification:** The script automatically labels the market as "Full Panic," "Known Crisis," "Surface Calm," "Stress," or "Normal," so you always know where you stand.
* **Gradient Bars:** A visual treat! The background of your chart changes color to reflect real-time volatility shifts, giving you an instant feel for the market's mood.
* **Alerts:** Get push notifications on your phone for key events like "Full Panic" or "Backwardation" so you never miss a beat.
***
### 📝 Panel/Table Outputs
This is your mission control! The on-screen table gives you a clean summary of the current market regime, VIX and VVIX values, their ratios, term structure, Z-scores, and signals. Everything you need, right where you can see it.
***
### 🚀 How to Get Started
1. **Check your data:** You'll need access to real-time data for VIX, VVIX, VX1!, and VX2!. A paid subscription might be necessary for this.
2. **Add it to your chart:** Use the indicator on any chart (we've set it to `overlay=false`) to get your full volatility dashboard.
3. **Tweak it to perfection:** Head over to the Settings panel to customize the thresholds, colors, and your all-important "Jolt Value."
4. **Start trading smarter:** Use the dashboard to inform your trades, hedge your portfolio, and manage risk with confidence.
***
### ⚙️ Customization & Key Settings
* `showVWATR`: Toggle your price-volatility metric on or off.
* `showExpectedVol`: See the expected volatility as a percentage of the current price.
* `joltLevel`: This is a very important line on your chart! It's your personal trigger for when volatility is getting a little too wild. More on this below.
* `enableGradientBars`: Turn the awesome colored background on or off.
* `enableTable`: Hide or show your information table.
* `VIX/VVIX/VX1!/VX2! symbols`: If your broker uses different symbols for these, you can change them here.
* `VIX/VVIX thresholds`: Adjust these levels to fine-tune the indicator to your personal risk tolerance.
***
### 💡 Jolt Value: A Quick Guide for Smart Traders 🧠
The **jolt value** is your personal tripwire for volatility. Think of it as a warning light on your car's dashboard. You set the level, and when volatility (VWATR) crosses that line, you get an instant signal that something interesting is happening.
**How to Set Your Jolt Value:**
The ideal jolt value is dynamic. You want to keep it just a little above the current VIX level to stay alert without getting too many false alarms.
| Current VIX Level | Market Regime | Recommended Jolt Value |
| :--- | :--- | :--- |
| Under 15 | Calm/Complacent | 15–16 |
| 15–20 | Typical/Normal | 16–18 |
| 20–30 | Cautious/Active | 18–22 |
| Over 30 | Stress/Panic | 30+ |
**A Pro Tip for August 2025:** Since the VIX is hovering around 14.7, setting your jolt value to **16.5** is a great starting point for keeping an eye on things. If the VIX starts to climb above 20, you should adjust your jolt level to match the new reality.
***
### ⚠️ Important Things to Note
* You might experience some data delays if you're not on a paid TradingView plan or your broker does not provide real-time data for the VIX also VIX is only active during NY session, so it's not advised to use it outside of normal trading hours!
Intraday Volume Pulse GSK-VIZAG-AP-INDIAIntraday Volume Pulse Indicator
Overview
This indicator is designed to track and visualize intraday volume dynamics during a user-defined trading session. It calculates and displays key volume metrics such as buy volume, sell volume, cumulative delta (difference between buy and sell volumes), and total volume. The data is presented in a customizable table overlay on the chart, making it easy to monitor volume pulses throughout the session. This can help traders identify buying or selling pressure in real-time, particularly useful for intraday strategies.
The indicator resets its calculations at the start of each new day and only accumulates volume data from the specified session start time onward. It uses simple logic to classify volume as buy or sell based on candle direction:
Buy Volume: Assigned to green (up) candles or half of neutral (doji) candles.
Sell Volume: Assigned to red (down) candles or half of neutral (doji) candles.
All calculations are approximate and based on available volume data from the chart. This script does not incorporate external data sources, order flow, or tick-level information—it's purely derived from standard OHLCV (Open, High, Low, Close, Volume) bars.
Key Features
Session Customization: Define the start time of your trading session (e.g., market open) and select from common timezones like Asia/Kolkata, America/New_York, etc.
Volume Metrics:
Buy Volume: Total volume attributed to bullish activity.
Sell Volume: Total volume attributed to bearish activity.
Cumulative Delta: Net difference (Buy - Sell), highlighting overall market bias.
Total Volume: Sum of all volume during the session.
Formatted Display: Volumes are formatted for readability (e.g., in thousands "K", lakhs "L", or crores "Cr" for large numbers).
Color-Coded Table: Uses a patriotic color scheme inspired by general themes (Saffron, White, Green) with dynamic backgrounds based on positive/negative values for quick visual interpretation.
Table Options: Toggle visibility and position (top-right, top-left, etc.) for a clean chart layout.
How to Use
Add to Chart: Apply this indicator to any symbol's chart (works best on intraday timeframes like 1-min, 5-min, or 15-min).
Configure Inputs:
Session Start Hour/Minute: Set to your market's open time (default: 9:15 for Indian markets).
Timezone: Choose the appropriate timezone to align with your trading hours.
Show Table: Enable/disable the metrics table.
Table Position: Place the table where it doesn't obstruct your view.
Interpret the Table:
Monitor for spikes in buy/sell volume or shifts in cumulative delta.
Positive delta (green) suggests buying pressure; negative (red) suggests selling.
Use alongside price action or other indicators for confirmation—e.g., high total volume with positive delta could indicate bullish momentum.
Limitations:
Volume classification is heuristic and not based on actual order flow (e.g., it splits doji volume evenly).
Data accumulation starts from the session time and resets daily; historical backtesting may be limited by the max_bars_back=500 setting.
This is for educational and visualization purposes only—do not use as sole basis for trading decisions.
Calculation Details
Session Filter: Uses timestamp() to define the session start and filters bars with time >= sessionStart.
New Day Detection: Resets volumes on daily changes via ta.change(time("D")).
Volume Assignment:
Buy: Full volume if close > open; half if close == open.
Sell: Full volume if close < open; half if close == open.
Cumulative Metrics: Accumulated only during the session.
Formatting: Custom function f_format() scales large numbers for brevity.
Disclaimer
This script is for educational and informational purposes only. It does not provide financial advice or signals to buy/sell any security. Always perform your own analysis and consult a qualified financial professional before making trading decisions.
© 2025 GSK-VIZAG-AP-INDIA
Fabian Z-ScoreFabian Z-Score — % Distance & Z-Scores for SPX / DJI / XLU
What it does
This indicator measures how far three market proxies are from a moving average and standardizes those distances into z-scores so you can spot stretch/mean-reversion and relative out/under-performance.
Universe: S&P 500 (SPX), Dow Jones (DJI) and Utilities (XLU). You can change any of these in Inputs.
Anchor MA: user-selectable MA type (SMA/EMA/RMA/WMA/VWMA/HMA/LSMA/ALMA) and length (default 39; a popular weekly anchor).
Outputs
% from MA: 100 × (𝐶𝑙𝑜𝑠𝑒 − 𝑀𝐴) / 𝑀𝐴
Time-series Z: z-score of the last N % distances (default 39) → “how stretched vs its own history?”
Cross-sectional Z: z-score of each % distance within the trio on this bar → “who’s strongest vs the others right now?”
A compact mini table (top-right) shows the latest values for each symbol: % from MA, Z(ts) and Z(xsec).
Panels & Visualization
Toggle what you want to see in View:
Plot % distance — raw % above/below the MA (0% line shown).
Plot time-series Z — standardized stretch with ±Threshold guides (default ±2σ).
Plot cross-sectional Z — relative z across SPX, DJI, XLU (0 = at the trio’s mean).
Smoothing — optional light MA on the plotted series (set to 1 for none).
A price-panel Moving Average is drawn with your chosen type/length for visual context.
Colors: SPX = teal, DJI = orange, XLU = purple.
Alerts
Two built-in alert conditions (time-series Z only):
“Z(ts) crosses up +Thr” — any of the three crosses above +Threshold.
“Z(ts) crosses down -Thr” — any crosses below −Threshold.
When enabled, the chart background tints faint green (up cross) or red (down cross) on those bars.
How to use (ideas, not advice)
On weekly charts, a 39-length MA/Z lookback often captures major risk-on/off swings. (Fabian Timing)
Deep negative Z(ts) (e.g., ≤ −2σ or −3σ) frequently accompanies panic and mean-reversion setups.
High positive Z(ts) suggests over-extension; watch for momentum fades.
Cross-sectional Z helps rank leadership today:
Z(xsec) > 0 → stronger than the trio’s mean this bar; Z(xsec) < 0 → weaker.
Utilities (XLU) turning positive x-sec while the others are negative can hint at defensive rotation.
If all 3 are above 0, go long, if below 0 go cash.
Combine: look for extreme Z(ts) aligning with lead/lag Z(xsec) to time entries/exits or hedges.
Inputs (quick reference)
Symbols: SPX / DJI / XLU (editable).
MA type & length: SMA, EMA, RMA, WMA, VWMA, HMA, LSMA, ALMA; default EMA(39).
Z-score lookback (ts): default 39.
Smoothing on plots: default 1 (off).
Z threshold (±): default 2.0 (guide lines & alerts).
EFXU Banker Level Price GridThe EFXU Banker Level Price Grid indicator draws fixed horizontal price levels at key whole-number intervals for Forex pairs, regardless of zoom level or timeframe. It’s designed for traders who want consistent visual reference points for major and minor price zones across all charts.
Features:
Major 1000-pip zones (bold lines) above and below a fixed origin price (auto-detects 1.00000 for non-JPY pairs and 100.000 for JPY pairs, or set manually).
500-pip median levels (dashed lines) between each major zone.
100-pip subdivisions (dotted lines) within each 1000-pip zone.
Adjustable number of zones above and below the origin.
Customizable colors, line widths, and label sizes.
Optional labels on the right edge for quick zone identification.
Works on all timeframes and stays visible regardless of zoom or price position.
Use case:
This tool is ideal for traders using institutional-level zones, psychological price levels, or “big money” areas for planning entries, exits, and risk management. Perfect for swing traders, position traders, and scalpers who rely on major pip milestones for market structure context.
Key Indicators Dashboard (KID)Key Indicators Dashboard (KID) — Comprehensive Market & Trend Metrics
📌 Overview
The Key Indicators Dashboard (KID) is an advanced multi-metric market analysis tool designed to consolidate essential technical, volatility, and relative performance data into a single on-chart table. Instead of switching between multiple indicators, KID centralizes these key measures, making it easier to assess a stock’s technical health, volatility state, trend status, and relative strength at a glance.
🛠 Key Features
⦿ Average Daily Range (ADR %): Measures average daily price movement over a specified period. It is calculated by averaging the daily price range (high - low) over a set number of days (default 20 days).
⦿ Average True Range (ATR): Measures volatility by calculating the average of a true range over a specific period (default 14). It helps traders gauge the typical extent of price movement, regardless of the direction.
⦿ ATR%: Expresses the Average True Range as a percentage of the price, which allows traders to compare the volatility of stocks with different prices.
⦿ Relative Strength (RS): Compares a stock’s performance to a chosen benchmark index (default NIFTYMIDSML400) over a specific period (default 50 days).
⦿ RS Score (IBD-style): A normalized 1–100 rating inspired by Investor’s Business Daily methodology.
How it works: The RS Score is based on a weighted average of price changes over 3 months (40%), 6 months (20%), 9 months (20%), and 12 months (20%).
The raw value is converted into a percentage return, then normalized over the past 252 trading days so the lowest value maps to 1 and the highest to 100.
This produces a percentile-style score that highlights the strongest stocks in relative terms.
⦿ Relative Volume (RVol): Compares a stock's current volume to its average volume over a specific period (default 50). It is calculated by dividing the current volume by the average historical volume.
⦿ Average ₹ Volume (Turnover): Represents the total monetary value of shares traded for a stock. It's calculated by multiplying a day's closing price by its volume, with the final value converted to crores for clarity. This metric is a key indicator of a stock's liquidity and overall market interest.
⦿ Moving Average Extension: Measures how far a stock's current price has moved from from a selected moving average (EMA or SMA). This deviation is normalized by the stock's volatility (ATR%), with a default threshold of 6 ATR used to indicate that the stock is significantly extended and is marked with a selected shape (default Red Flag).
⦿ 52-Weeks High & Low: Measures a stock's current price in relation to its highest and lowest prices over the past year. It calculates the percentage a stock is below its 52-week high and above its 52-week low.
⦿ Market Capitalization: Market Cap represents the total value of all outstanding.
⦿ Free Float: It is the value of shares readily available for public trading, with the Free Float Percentage showing the proportion of shares available to the public.
⦿ Trend: Uses Supertrend indicator to identify the current trend of a stock's price. A factor (default 3) and an ATR period (default 10) is used to signal whether the trend is up or down.
⦿ Minervini Trend Template (MTT): It is a set of technical criteria designed to identify stocks in strong uptrends.
Price > 50-DMA > 150-DMA > 200-DMA
200-DMA is trending up for at least 1 month
Price is at least 30% above its 52-week low.
Price is within at least 25 percent of its 52-week high
Table highlights when a stock meets all above criteria.
⦿ Sector & Industry: Display stock's sector and industry, provides categorical classification to assist sector-based analysis. The sector is a broad economic classification, while the industry is a more specific group within that sector.
⦿ Moving Averages (MAs): Plot up to four customizable Moving Averages on a chart. You can independently set the type (Simple or Exponential), the source price, and the length for each MA to help visualize a stock's underlying trend.
MA1: Default 10-EMA
MA2: Default 20-EMA
MA3: Default 50-EMA
MA4: Default 200-EMA
⦿ Moving Average (MA) Crossover: It is a trend signal that occurs when a shorter-term moving average crosses a longer-term one. This script identifies these crossover events and plots a marker on the chart to visually signal a potential change in trend direction.
User-configurable MAs (short and long).
A bullish crossover occurs when the short MA crosses above the long MA.
A bearish crossover occurs when the short MA crosses below the long MA.
⦿ Inside Bar (IB): An Inside Bar is a candlestick whose entire price range is contained within the range of the previous bar. This script identifies this pattern, which often signals consolidation, and visually marks bullish and bearish inside bars on the chart with distinct colors and labels.
⦿ Tightness: Identifies periods of low volatility and price consolidation. It compares the price range over a short lookback period (default 3) to the average daily range (ADR). When the lookback range is smaller than the ADR, the indicator plots a marker on the chart to signal consolidation.
⦿ PowerBar (Purple Dot): Identifies candles with a strong price move on high volume. By default, it plots a purple dot when a stock moves up or down by at least 5% and has a minimum volume of 500,000. More dots indicate higher volatility and liquidity.
⦿ Squeezing Range (SQ): Identifies periods of low volatility, which can often precede a significant price move. It checks if the Bollinger Bands have narrowed to a range that is smaller than the Average True Range (ATR) for a set number of consecutive bars (default 3).
(UpperBB - LowerBB) < (ATR × 2)
⦿ Mark 52-Weeks High and Low: Marks and labels a stock's 52-Week High and Low prices directly on the chart. It draws two horizontal lines extending from the candles where the highest and lowest prices occurred over the past year, providing a clear visual reference for long-term price extremes.
⏳PineScreener Filters
The indicator’s alert conditions act as filters for PineScreener.
Price Filter: Minimum and maximum price cutoffs (default ₹25 - ₹10000).
Daily Price Change Filter: Minimum and maximum daily percent change (default -5% and 5%).
🔔 Built-in Alerts
Supports alert creation for:
ADR%, ATR/ATR %, RS, RS Rating, Turnover
Moving Average Crossover (Bullish/Bearish)
Minervini Trend Template
52-Week High/Low
Inside Bars (Bullish/Bearish)
Tightness
Squeezing Range (SQ)
⚙️ Customizable Visualization
Switchable between vertical or horizontal layout.
Works in dark/light mode
User-configurable to toggle any indicator ON or OFF.
User-configurable Moving (EMA/SMA), Period/Lengths and thresholds.
⦿ (Optional) : For horizontal table orientation increase Top Margin to 16% in Chart (Canvas) settings to avoid chart overlapping with table.
⚡ Add this script to your chart and start making smarter trade decisions today! 🚀
Market Structure (DeadCat)🌟 Market Structure (DeadCat) - Indicator Overview 🌟
The Market Structure (DeadCat) indicator plots swing highs and lows (HH, HL, LH, LL) using pivot points, helping you spot uptrends, downtrends, and potential reversals. Perfect for traders who use market structure.
🌟 Key Features 🌟
🔹 Swing Point Labels
HH (Higher High): Signals uptrend strength.
HL (Higher Low): Marks bullish support.
LH (Lower High): Hints at weakening uptrend or reversal.
LL (Lower Low): Confirms downtrend momentum.
🔹 Trend Detection
Uptrend: Tracks HH/HL for bullish momentum.
Downtrend: Tracks LH/LL for bearish momentum.
Waits for breaks of prior HH/HL or LH/LL to confirm new swing points, ensuring reliable signals. 🔄
🔹 Customizable Labels
Adjust label text color (default: black) to suit your chart. Supports up to 500 labels for a clean, focused view. 🖌️
🌟 Indicator Settings 🌟
Swing Length: Fixed at 20 bars (left) and 2 bars (right) for pivot detection.
Label Color: Customize text color for better visibility.
VRD-5: Volume Reversal Detector (5 Bars)Overview
This Pine Script indicator detects potential trend reversals based on volume patterns over a 5-bar period. It identifies accumulation (bullish) and distribution (bearish) patterns using volume analysis combined with price action.
Key Features
Volume Analysis:
Compares current volume to a 34-period SMA
Identifies strong/weak volume using configurable thresholds
Calculates volume "energy" as a 5-bar average ratio
Pattern Detection:
Bearish Signal: Looks for decreasing volume after a strong volume bar
Bullish Signal: Looks for increasing volume after weak volume bars
Visualization:
Colored volume histogram (bullish/bearish/neutral)
SMA volume line
Labels for detected signals
Customization Options:
Adjustable lookback period (3-10 bars)
Configurable thresholds for volume strength
Strict mode requiring confirming price action
Suggested Improvements
Performance Optimization:
Reduce the max_labels_count (currently 500) to improve performance
Consider using barstate.isconfirmed for more efficient calculations
Enhanced Visualization:
Add arrows on price chart for better visibility
Include a background color highlight for signal periods
Add option to display the energy level as a separate line
Additional Features:
Incorporate RSI or MACD for confirmation
Add multi-timeframe analysis capability
Include a strategy version for backtesting
Code Structure:
Separate the logic into distinct functions for better readability
Add more detailed comments for complex calculations
Consider using varip for real-time updates if needed
User Experience:
Add input options for label text size/position
Include sound options for alerts
Add a toggle for the information table
This indicator provides a solid foundation for volume-based reversal detection that could be further enhanced with these improvements while maintaining its core functionality.