Debt Refinance Cycle + Liquidity vs BTC (Wk) — Overlay Part 1Debt Refi Cycle - Overlay script (BTC + Liquidity + DRCI/Z normalized to BTC range)
스크립트에서 "西班牙人VS奥萨苏纳"에 대해 찾기
Trend Fib Zone Bounce (TFZB) [KedArc Quant]Description:
Trend Fib Zone Bounce (TFZB) trades with the latest confirmed Supply/Demand zone using a single, configurable Fib pullback (0.3/0.5/0.6). Trade only in the direction of the most recent zone and use a single, configurable fib level for pullback entries.
• Detects market structure via confirmed swing highs/lows using a rolling window.
• Draws Supply/Demand zones (bearish/bullish rectangles) from the latest MSS (CHOCH or BOS) event.
• Computes intra zone Fib guide rails and keeps them extended in real time.
• Triggers BUY only inside bullish zones and SELL only inside bearish zones when price touches the selected fib and closes back beyond it (bounce confirmation).
• Optional labels print BULL/BEAR + fib next to the triangle markers.
What it does
Finds structure using confirmed swing highs/lows (you choose the confirmation length).
Builds the latest zone (bullish = demand, bearish = supply) after a CHOCH/BOS event.
Draws intra-zone “guide rails” (Fib lines) and extends them live.
Signals only with the trend of that zone:
BUY inside a bullish zone when price tags the selected Fib and closes back above it.
SELL inside a bearish zone when price tags the selected Fib and closes back below it.
Optional labels print BULL/BEAR + Fib next to triangles for quick context
Why this is different
Most “zone + fib + signal” tools bolt together several indicators, or fire counter-trend signals because they don’t fully respect structure. TFZB is intentionally minimal:
Single bias source: the latest confirmed zone defines direction; nothing else overrides it.
Single entry rule: one Fib bounce (0.3/0.5/0.6 selectable) inside that zone—no counter-trend trades by design.
Clean visuals: you can show only the most recent zone, clamp overlap, and keep just the rails that matter.
Deterministic & transparent: every plot/label comes from the code you see—no external series or hidden smoothing
How it helps traders
Cuts decision noise: you always know the bias and the only entry that matters right now.
Forces discipline: if price isn’t inside the active zone, you don’t trade.
Adapts to volatility: pick 0.3 in strong trends, 0.5 as the default, 0.6 in chop.
Non-repainting zones: swings are confirmed after Structure Length bars, then used to build zones that extend forward (they don’t “teleport” later)
How it works (details)
*Structure confirmation
A swing high/low is only confirmed after Structure Length bars have elapsed; the dot is plotted back on the original bar using offset. Expect a confirmation delay of about Structure Length × timeframe.
*Zone creation
After a CHOCH/BOS (momentum shift / break of prior swing), TFZB draws the new Supply/Demand zone from the swing anchors and sets it active.
*Fib guide rails
Inside the active zone TFZB projects up to five Fib lines (defaults: 0.3 / 0.5 / 0.7) and extends them as time passes.
*Entry logic (with-trend only)
BUY: bar’s low ≤ fib and close > fib inside a bullish zone.
SELL: bar’s high ≥ fib and close < fib inside a bearish zone.
*Optionally restrict to one signal per zone to avoid over-trading.
(Optional) Aggressive confirm-bar entry
When do the swing dots print?
* The code confirms a swing only after `structureLen` bars have elapsed since that candidate high/low.
* On a 5-min chart with `structureLen = 10`, that’s about 50 minutes later.
* When the swing confirms, the script plots the dot back on the original bar (via `offset = -structureLen`). So you *see* the dot on the old bar, but it only appears on the chart once the confirming bar arrives.
> Practical takeaway: expect swing markers to appear roughly `structureLen × timeframe` later. Zones and signals are built from those confirmed swings.
Best timeframe for this Indicator
Use the timeframe that matches your holding period and the noise level of the instrument:
* Intraday :
* 5m or 15m are the sweet spots.
* Suggested `structureLen`:
* 5m: 10–14 (confirmation delay \~50–70 min)
* 15m: 8–10 (confirmation delay \~2–2.5 hours)
* Keep Entry Fib at 0.5 to start; try 0.3 in strong trends, 0.6 in chop.
* Tip: avoid the first 10–15 minutes after the open; let the initial volatility set the early structure.
* Swing/overnight:
* 1h or 4h.
* `structureLen`:
* 1h: 6–10 (6–10 hours confirmation)
* 4h: 5–8 (20–32 hours confirmation)
* 1m scalping: not recommended here—the confirmation lag relative to the noise makes zones less reliable.
Inputs (all groups)
Structure
• Show Swing Points (structureTog)
o Plots small dots on the bar where a swing point is confirmed (offset back by Structure Length).
• Structure Length (structureLen)
o Lookback used to confirm swing highs/lows and determine local structure. Higher = fewer, stronger swings; lower = more reactive.
Zones
• Show Last (zoneDispNum)
o Maximum number of zones kept on the chart when Display All Zones is off.
• Display All Zones (dispAll)
o If on, ignores Show Last and keeps all zones/levels.
• Zone Display (zoneFilter): Bullish Only / Bearish Only / Both
o Filters which zone types are drawn and eligible for signals.
• Clean Up Level Overlap (noOverlap)
o Prevents fib lines from overlapping when a new zone starts near the previous one (clamps line start/end times for readability).
Fib Levels
Each row controls whether a fib is drawn and how it looks:
• Toggle (f1Tog…f5Tog): Show/hide a given fib line.
• Level (f1Lvl…f5Lvl): Numeric ratio in . Defaults active: 0.3, 0.5, 0.7 (0 and 1 off by default).
• Line Style (f1Style…f5Style): Solid / Dashed / Dotted.
• Bull/Bear Colors (f#BullColor, f#BearColor): Per-fib color in bullish vs bearish zones.
Style
• Structure Color: Dot color for confirmed swing points.
• Bullish Zone Color / Bearish Zone Color: Rectangle fills (transparent by default).
Signals
• Entry Fib for Signals (entryFibSel): Choose 0.3, 0.5 (default), or 0.6 as the trigger line.
• Show Buy/Sell Signals (showSignals): Toggles triangle markers on/off.
• One Signal Per Zone (oneSignalPerZone): If on, suppresses additional entries within the same zone after the first trigger.
• Show Signal Text Labels (Bull/Bear + Fib) (showSignalLabels): Adds a small label next to each triangle showing zone bias and the fib used (e.g., BULL 0.5 or BEAR 0.3).
How TFZB decides signals
With trend only:
• BUY
1. Latest active zone is bullish.
2. Current bar’s close is inside the zone (between top and bottom).
3. The bar’s low ≤ selected fib and it closes > selected fib (bounce).
• SELL
1. Latest active zone is bearish.
2. Current bar’s close is inside the zone.
3. The bar’s high ≥ selected fib and it closes < selected fib.
Markers & labels
• BUY: triangle up below the bar; optional label “BULL 0.x” above it.
• SELL: triangle down above the bar; optional label “BEAR 0.x” below it.
Right-Panel Swing Log (Table)
What it is
A compact, auto-updating log of the most recent Swing High/Low events, printed in the top-right of the chart.
It helps you see when a pivot formed, when it was confirmed, and at what price—so you know the earliest bar a zone-based signal could have appeared.
Columns
Type – Swing High or Swing Low.
Date – Calendar date of the swing bar (follows the chart’s timezone).
Swing @ – Time of the original swing bar (where the dot is drawn).
Confirm @ – Time of the bar that confirmed that swing (≈ Structure Length × timeframe after the swing). This is also the earliest moment a new zone/entry can be considered.
Price – The swing price (high for SH, low for SL).
Why it’s useful
Clarity on repaint/confirmation: shows the natural delay between a swing forming and being usable—no guessing.
Planning & journaling: quick reference of today’s pivots and prices for notes/backtesting.
Scanning intraday: glance to see if you already have a confirmed zone (and therefore valid fib-bounce entries), or if you’re still waiting.
Context for signals: if a fib-bounce triangle appears before the time listed in Confirm @, it’s not a valid trade (you were too early).
Settings (Inputs → Logging)
Log swing times / Show table – turn the table on/off.
Rows to keep – how many recent entries to display.
Show labels on swing bar – optional tags on the chart (“Swing High 11:45”, “Confirm SH 14:15”) that match the table.
Recommended defaults
• Structure Length: 10–20 for intraday; 20–40 for swing.
• Entry Fib for Signals: 0.5 to start; try 0.3 in stronger trends and 0.6 in choppier markets.
• One Signal Per Zone: ON (prevents over trading).
• Zone Display: Both.
• Fib Lines: Keep 0.3/0.5/0.7 on; turn on 0 and 1 only if you need anchors.
Alerts
Two alert conditions are available:
• BUY signal – fires when a with trend bullish bounce at the selected fib occurs inside a bullish zone.
• SELL signal – fires when a with trend bearish bounce at the selected fib occurs inside a bearish zone.
Create alerts from the chart’s Alerts panel and select the desired condition. Use Once Per Bar Close to avoid intrabar flicker.
Notes & tips
• Swing dots are confirmed only after Structure Length bars, so they plot back in time; zones built from these confirmed swings do not repaint (though they extend as new bars form).
• If you don’t see a BUY where you expect one, check: (1) Is the active zone bullish? (2) Did the candle’s low actually pierce the selected fib and close above it? (3) Is One Signal Per Zone suppressing a second entry?
• You can hide visual clutter by reducing Show Last to 1–3 while keeping Display All Zones off.
Glossary
• CHOCH (Change of Character): A shift where price breaks beyond the last opposite swing while local momentum flips.
• BOS (Break of Structure): A cleaner break beyond the prior swing level in the current momentum direction.
• MSS: Either CHOCH or BOS – any event that spawns a new zone.
Extension ideas (optional)
• Add fib extensions (1.272 / 1.618) for target lines.
• Zone quality score using ATR normalization to filter weak impulses.
• HTF filter to only accept zones aligned with a higher timeframe trend.
⚠️ Disclaimer This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
Shamji's Liquidity Sweep + FVG (Follow-up + Filters) Purpose (what it does)
This indicator looks for two related price structures used by many smart-money / liquidity-hunt traders:
Liquidity Sweeps — candles that wick beyond a recent swing high (for buy-side stop-hunts) or swing low (for sell-side stop-hunts), then close back inside. These are flagged as potential stop-hunt events that clear obvious liquidity.
Fair Value Gaps (FVGs) — simple 3-bar style gaps where an older bar’s high is below the current low (bullish FVG) or an older bar’s low is above the current high (bearish FVG). When an FVG appears after a sweep (within a configurable window), this is considered a follow-up alignment.
The script adds optional filters (volume spike and candle-range vs ATR) to increase confidence, and can restrict marking/alerts to only events that meet the follow-up and filter rules.
Trend Speed Analyzer + alerts//@version=6
indicator('Trend Speed Analyzer + alerts', overlay = false)
//~~}
// ~~ Tooltips {
string t1 = 'Maximum Length: This parameter sets the upper limit for the number of bars considered in the dynamic moving average. A higher value smooths out the trend line, making it less reactive to minor fluctuations but slower to adapt to sudden price movements. Use higher values for long-term trend analysis and lower values for faster-moving markets.'
string t2 = 'Accelerator Multiplier: Adjusts the responsiveness of the dynamic moving average to price changes. A larger value makes the trend more reactive but can introduce noise in choppy markets. Lower values create a smoother trend but may lag behind rapid price movements. This is particularly useful in volatile markets where precise sensitivity is needed.'
string t5 = 'Enable Candles: When enabled, the candlesticks on the chart will be color-coded based on the calculated trend speed. This provides a visual representation of momentum, making it easier to spot shifts in market dynamics. Disable this if you prefer the standard candlestick colors.'
string t6 = 'Collection Period: Defines the number of bars used to normalize trend speed values. A higher value includes a broader historical range, smoothing out the speed calculation. Lower values make the speed analysis more sensitive to recent price changes, ideal for short-term trading.'
string t7 = 'Enable Table: Activates a statistical table that provides an overview of key metrics, such as average wave height, maximum wave height, dominance, and wave ratios. Useful for traders who want numerical insights to complement visual trend analysis.'
string t8 = 'Lookback Period: Determines how many historical bars are used for calculating bullish and bearish wave data. A longer lookback period provides a more comprehensive view of market trends but may dilute sensitivity to recent market conditions. Shorter periods focus on recent data.'
string t9 = 'Start Date: Sets the starting point for all calculations. This allows you to analyze data only from a specific date onward, which is useful for isolating trends within a certain period or avoiding historical noise.'
string t10 = 'Timer Option: Select between using a custom start date or starting from the first available bar on the chart. The \'Custom\' option works with the Start Date setting, while \'From start\' includes all available data.'
// Tooltips for Table Cells
string tt1 = 'Average Wave: Shows the average size of bullish or bearish waves during the lookback period. Use this to assess overall market strength. Larger values indicate stronger trends, and comparing bullish vs bearish averages can reveal market bias. For instance, a higher bullish average suggests a stronger uptrend.'
string tt2 = 'Max Wave: Displays the largest bullish or bearish wave during the lookback period. Use this to identify peak market momentum. A significantly higher bullish or bearish max wave indicates where the market may have shown extreme trend strength in that direction.'
string tt3 = 'Current Wave Ratio (Average): Compares the current wave\'s size to the average wave size for both bullish and bearish trends. A value above 1 indicates the current wave is stronger than the historical average, which may signal increased market momentum. Use this to evaluate if the current move is significant compared to past trends.'
string tt4 = 'Current Wave Ratio (Max): Compares the current wave\'s size to the maximum wave size for both bullish and bearish trends. A value above 1 suggests the current wave is setting new highs in strength, which could indicate a breakout or strong momentum in the trend direction.'
string tt5 = 'Dominance (Average): The net difference between the average bullish and bearish wave sizes. Positive values suggest bullish dominance over time, while negative values indicate bearish dominance. Use this to determine which side (bulls or bears) has had consistent control of the market over the lookback period.'
string tt6 = 'Dominance (Max): The net difference between the largest bullish and bearish wave sizes. Positive values suggest bulls have dominated with stronger individual waves, while negative values indicate bears have produced stronger waves. Use this to gauge the most significant power shifts in the market.'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
max_length = input.int(50, minval = 1, title = 'Maximum Length', group = 'Dynamic Moving Average', tooltip = t1)
accel_multiplier = input.float(5.0, minval = 0.0, step = 1.1, title = 'Accelerator Multiplier', group = 'Dynamic Moving Average', tooltip = t2)
tbl_ = input.bool(true, title = 'Enable Table', group = 'Wave Analysis', tooltip = t7)
lookback_period = input.int(100, minval = 1, step = 1, title = 'Lookback Period', group = 'Wave Analysis', tooltip = t8)
candle = input.bool(true, title = 'Enable Candles', group = 'Trend Visualization', tooltip = t5)
collen = input.int(100, step = 10, minval = 5, title = 'Collection Period', group = 'Trend Visualization', tooltip = t6)
up_col = input.color(color.lime, title = 'Dynamic Trend', group = 'Trend Visualization', inline = 'Trend')
dn_col = input.color(color.red, title = '', group = 'Trend Visualization', inline = 'Trend')
up_hist_col = input.color(#82ffc3, title = 'Trend Speed Up', group = 'Trend Visualization', inline = 'up')
up_hist_col_ = input.color(color.lime, title = '', group = 'Trend Visualization', inline = 'up')
dn_hist_col = input.color(color.red, title = 'Trend Speed Dn', group = 'Trend Visualization', inline = 'dn')
dn_hist_col_ = input.color(#f78c8c, title = '', group = 'Trend Visualization', inline = 'dn')
start = input.time(timestamp('1 Jan 2020 00:00 +0000'), title = 'Start Date', group = 'Time Settings', tooltip = t9, inline = 'startdate')
timer = input.string('From start', title = 'Timer Option', options = , group = 'Time Settings', tooltip = t10, inline = 'startdate')
// ~~ Dynamic Average {
counts_diff = close
max_abs_counts_diff = ta.highest(math.abs(counts_diff), 200)
counts_diff_norm = (counts_diff + max_abs_counts_diff) / (2 * max_abs_counts_diff)
dyn_length = 5 + counts_diff_norm * (max_length - 5)
// ~~ Function to compute the accelerator factor with normalization of delta_counts_diff {
calc_accel_factor(float counts_diff, float prev_counts_diff) =>
delta_counts_diff = math.abs(counts_diff - prev_counts_diff)
float max_delta_counts_diff = ta.highest(delta_counts_diff, 200)
max_delta_counts_diff := max_delta_counts_diff == 0 ? 1 : max_delta_counts_diff
float accel_factor = delta_counts_diff / max_delta_counts_diff
accel_factor
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Function to adjust alpha using the accelerator factor {
adjust_alpha(float dyn_length, float accel_factor, float accel_multiplier) =>
alpha_base = 2 / (dyn_length + 1)
alpha = alpha_base * (1 + accel_factor * accel_multiplier)
alpha := math.min(1, alpha)
alpha
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Accelerator Factor
accel_factor = calc_accel_factor(counts_diff, nz(counts_diff ))
alpha = adjust_alpha(dyn_length, accel_factor, accel_multiplier)
// ~~ Compute dynamic Ema
var float dyn_ema = na
dyn_ema := na(dyn_ema ) ? close : alpha * close + (1 - alpha) * dyn_ema
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Trend Speed {
trend = dyn_ema
bullsrc = close
bearsrc = close
type TrendData
array change
array t
StartTime() =>
time > start
var bullish = TrendData.new(array.new(), array.new())
var bearish = TrendData.new(array.new(), array.new())
var x1 = int(na)
var y1 = float(na)
var pos = 0
var speed = 0.0
c = ta.rma(close, 10)
o = ta.rma(open, 10)
// ~~ First value {
if na(x1) and StartTime() or na(x1) and timer == 'From start'
x1 := bar_index
y1 := o
y1
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Trend direction {
if StartTime() or timer == 'From start'
if bullsrc > trend and bullsrc <= trend
bearish.change.unshift(ta.lowest(speed, bar_index - x1))
bearish.t.unshift(bar_index - x1)
x1 := bar_index
y1 := bullsrc
pos := 1
speed := c - o
speed
if bearsrc < trend and bearsrc >= trend
bullish.change.unshift(ta.highest(speed, bar_index - x1))
bullish.t.unshift(bar_index - x1)
x1 := bar_index
y1 := bearsrc
pos := -1
speed := c - o
speed
speed := speed + c - o
speedGradient = color.from_gradient(speed, ta.min(-speed / 3), ta.max(speed / 3), color.red, color.lime)
trendspeed = ta.hma(speed, 5)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Plots {
rma_dyn_ema(x, p) =>
average = ta.rma(dyn_ema , p)
average
colour = ta.wma(close, 2) > dyn_ema ? up_col : dn_col
fillColor = rma_dyn_ema(0, 5) > rma_dyn_ema(1, 5) ? color.new(up_col, 70) : color.new(dn_col, 70)
p1 = plot(dyn_ema, color = colour, linewidth = 2, title = 'Dynamic Trend', force_overlay = true)
p2 = plot(ta.rma(hl2, 50), display = display.none, editable = false, force_overlay = true)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
min_speed = ta.lowest(speed, collen)
max_speed = ta.highest(speed, collen)
normalized_speed = (speed - min_speed) / (max_speed - min_speed)
speedGradient1 = speed < 0 ? color.from_gradient(normalized_speed, 0.0, 0.5, dn_hist_col, dn_hist_col_) : color.from_gradient(normalized_speed, 0.5, 1.0, up_hist_col, up_hist_col_)
plot(StartTime() or timer == 'From start' ? trendspeed : na, title = 'Trend Speed', color = speedGradient1, style = plot.style_columns)
plotcandle(open, high, low, close, color = candle ? speedGradient1 : na, wickcolor = candle ? speedGradient1 : na, bordercolor = candle ? speedGradient1 : na, force_overlay = true)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Table {
if barstate.islast and tbl_
bullish_recent = bullish.change.slice(0, math.min(lookback_period, bullish.change.size()))
bearish_recent = bearish.change.slice(0, math.min(lookback_period, bearish.change.size()))
bull_max = bullish_recent.max()
bear_max = bearish_recent.min()
bull_avg = bullish_recent.avg()
bear_avg = bearish_recent.avg()
wave_size_ratio_avg = bull_avg / math.abs(bear_avg)
wave_size_text_avg = str.tostring(math.round(wave_size_ratio_avg, 2)) + 'x'
wave_size_color_avg = wave_size_ratio_avg > 0 ? color.lime : color.red
wave_size_ratio_max = bull_max / math.abs(bear_max)
wave_size_text_max = str.tostring(math.round(wave_size_ratio_max, 2)) + 'x'
wave_size_color_max = wave_size_ratio_max > 0 ? color.lime : color.red
dominance_avg_value = bull_avg - math.abs(bear_avg)
dominance_avg_text = dominance_avg_value > 0 ? 'Bullish +' + str.tostring(math.round(wave_size_ratio_avg, 2)) + 'x' : 'Bearish -' + str.tostring(math.round(1 / wave_size_ratio_avg, 2)) + 'x'
dominance_avg_color = dominance_avg_value > 0 ? color.lime : color.red
dominance_max_value = bull_max - math.abs(bear_max)
dominance_max_text = dominance_max_value > 0 ? 'Bullish +' + str.tostring(math.round(wave_size_ratio_max, 2)) + 'x' : 'Bearish -' + str.tostring(math.round(1 / wave_size_ratio_max, 2)) + 'x'
dominance_max_color = dominance_max_value > 0 ? color.lime : color.red
current_wave = speed
current_wave_color = current_wave > 0 ? color.lime : color.red
current_ratio_avg = current_wave > 0 ? current_wave / bull_avg : current_wave / math.abs(bear_avg)
current_ratio_max = current_wave > 0 ? current_wave / bull_max : current_wave / math.abs(bear_max)
current_text_avg = str.tostring(math.round(current_ratio_avg, 2)) + 'x'
current_text_max = str.tostring(math.round(current_ratio_max, 2)) + 'x'
current_color_avg = current_ratio_avg > 0 ? color.lime : color.red
current_color_max = current_ratio_max > 0 ? color.lime : color.red
var tbl = table.new(position.top_right, 3, 3, force_overlay = true)
table.cell(tbl, 0, 0, '', text_color = chart.fg_color, tooltip = '')
table.cell(tbl, 0, 1, 'Average Wave', text_color = chart.fg_color, tooltip = tt1)
table.cell(tbl, 0, 2, 'Max Wave', text_color = chart.fg_color, tooltip = tt2)
table.cell(tbl, 1, 0, 'Current Wave Ratio', text_color = chart.fg_color, tooltip = '')
table.cell(tbl, 1, 1, current_text_avg, text_color = current_color_avg, tooltip = tt3)
table.cell(tbl, 1, 2, current_text_max, text_color = current_color_max, tooltip = tt4)
table.cell(tbl, 2, 0, 'Dominance', text_color = chart.fg_color, tooltip = '')
table.cell(tbl, 2, 1, dominance_avg_text, text_color = dominance_avg_color, tooltip = tt5)
table.cell(tbl, 2, 2, dominance_max_text, text_color = dominance_max_color, tooltip = tt6)
// ─────────────────────────────────────────────────────────────
// MTF BUY/SELL alerts: 10m & 1H agreement (no logic changes)
isGreen = ta.wma(close, 2) > dyn_ema
tf_fast = input.timeframe("10", "Fast TF (Buy/Sell check)", group = "MTF Alerts")
tf_slow = input.timeframe("60", "Slow TF (Buy/Sell check)", group = "MTF Alerts")
confirm_on_close = input.bool(true, "Confirm on bar close", group = "MTF Alerts")
green_fast = request.security(syminfo.tickerid, tf_fast, isGreen, lookahead = barmerge.lookahead_off)
green_slow = request.security(syminfo.tickerid, tf_slow, isGreen, lookahead = barmerge.lookahead_off)
buyCond = green_fast and green_slow
sellCond = not green_fast and not green_slow
triggerOK = confirm_on_close ? barstate.isconfirmed : true
// Single BUY / SELL alerts (messages unchanged)
alertcondition(buyCond and triggerOK, title = "MTF BUY (10m & 1H GREEN)", message = "{{ticker}} | TF={{interval}} | Dynamic line")
alertcondition(sellCond and triggerOK, title = "MTF SELL (10m & 1H RED)", message = "{{ticker}} | TF={{interval}} | Dynamic line")
// ─────────────────────────────────────────────────────────────
// NEW: 10m status repeated EVERY MINUTE (no logic changes)
// ─────────────────────────────────────────────────────────────
// 1-minute pulse: true once per closed 1m bar
m1_pulse = request.security(syminfo.tickerid, "1", barstate.isconfirmed, lookahead = barmerge.lookahead_off)
// Repeat ONLY the 10-minute status every minute
status10_green = green_fast
status10_red = not green_fast
alertcondition(status10_green and m1_pulse, title = "10m Status GREEN — repeat each minute", message = "{{ticker}} | TF=10 | Dynamic line — GREEN")
alertcondition(status10_red and m1_pulse, title = "10m Status RED — repeat each minute", message = "{{ticker}} | TF=10 | Dynamic line — RED")
how do the trend speed anlaysis work
GCK CRT MODEL Purpose
Multi-timeframe execution toolkit that overlays HTF candle structure on any lower timeframe and automatically marks CRT (Counter-Reaction Tag) only when a lower-timeframe CISD occurs. It draws a short line from the exact liquidity wick/body to the break/rejection bar—never a long extended line. Includes bold C2 / C3 / C4 labels for clarity.
What it shows
HTF candles (bodies, wicks, start lines, timer, labels) on your LTF chart
CISD → CRT: prints only when an LTF CISD triggers; line is anchored to the liquidity candle and ends at the break bar
Midpoint (log-based) lines, sweep markers, FVG & VI zones (optional)
T-Spot & Silver T-Spot logic (bias-aware), with confirmation and optional projections
Compact info table (current TF → HTF model, time remaining, bias)
Optional position sizing readout for the most recent confirmed sweep
Key options
HTF Mode: Auto or Custom (e.g., 1D, 1W)
Use Body for Confirmation: choose body extremes vs wick for CISD/CRT anchoring
Show Only Latest: keep the most recent T-Spot/CRT clean on chart
Projections & CISD lines: on/off + levels
Label Size: C2/C3/C4 printed larger by default for visibility
How to use
Add to your lower timeframe chart.
Pick HTF (Auto is fine).
Choose whether CRT/CISD checks use wick or body (toggle).
(Optional) Enable projections/alerts/position sizing.
Notes
CRT only prints inside the current HTF phase when an LTF CISD happens.
Lines are intentionally short (liquidity candle → rejection bar).
For education/analysis only. Not financial advice.
Order Block Volumatic FVG StrategyInspired by: Volumatic Fair Value Gaps —
License: CC BY-NC-SA 4.0 (Creative Commons Attribution–NonCommercial–ShareAlike).
This script is a non-commercial derivative work that credits the original author and keeps the same license.
What this strategy does
This turns BigBeluga’s visual FVG concept into an entry/exit strategy. It scans bullish and bearish FVG boxes, measures how deep price has mitigated into a box (as a percentage), and opens a long/short when your mitigation threshold and filters are satisfied. Risk is managed with a fixed Stop Loss % and a Trailing Stop that activates only after a user-defined profit trigger.
Additions vs. the original indicator
✅ Strategy entries based on % mitigation into FVGs (long/short).
✅ Lower-TF volume split using upticks/downticks; fallback if LTF data is missing (distributes prior bar volume by close’s position in its H–L range) to avoid NaN/0.
✅ Per-FVG total volume filter (min/max) so you can skip weak boxes.
✅ Age filter (min bars since the FVG was created) to avoid fresh/immature boxes.
✅ Bull% / Bear% share filter (the 46%/53% numbers you see inside each FVG).
✅ Optional candle confirmation and cooldown between trades.
✅ Risk management: fixed SL % + Trailing Stop with a profit trigger (doesn’t trail until your trigger is reached).
✅ Pine v6 safety: no unsupported args, no indexof/clamp/when, reverse-index deletes, guards against zero/NaN.
How a trade is decided (logic overview)
Detect FVGs (same rules as the original visual logic).
For each FVG currently intersected by the bar, compute:
Mitigation % (how deep price has entered the box).
Bull%/Bear% split (internal volume share).
Total volume (printed on the box) from LTF aggregation or fallback.
Age (bars) since the box was created.
Apply your filters:
Mitigation ≥ Long/Short threshold.
Volume between your min and max (if enabled).
Age ≥ min bars (if enabled).
Bull% / Bear% within your limits (if enabled).
(Optional) the current candle must be in trade direction (confirm).
If multiple FVGs qualify on the same bar, the strategy uses the most recent one.
Enter long/short (no pyramiding).
Exit with:
Fixed Stop Loss %, and
Trailing Stop that only starts after price reaches your profit trigger %.
Input settings (quick guide)
Mitigation source: close or high/low. Use high/low for intrabar touches; close is stricter.
Mitigation % thresholds: minimal mitigation for Long and Short.
TOTAL Volume filter: skip FVGs with too little/too much total volume (per box).
Bull/Bear share filter: require, e.g., Long only if Bull% ≥ 50; avoid Short when Bull% is high (Short Bull% max).
Age filter (bars): e.g., ≥ 20–30 bars to avoid fresh boxes.
Confirm candle: require candle direction to match the trade.
Cooldown (bars): minimum bars between entries.
Risk:
Stop Loss % (fixed from entry price).
Activate trailing at +% profit (the trigger).
Trailing distance % (the trailing gap once active).
Lower-TF aggregation:
Auto: TF/Divisor → picks 1/3/5m automatically.
Fixed: choose 1/3/5/15m explicitly.
If LTF can’t be fetched, fallback allocates prior bar’s volume by its close position in the bar’s H–L.
Suggested starting presets (you should optimize per market)
Mitigation: 60–80% for both Long/Short.
Bull/Bear share:
Long: Bull% ≥ 50–70, Bear% ≤ 100.
Short: Bull% ≤ 60 (avoid shorting into strong support), Bear% ≥ 0–70 as you prefer.
Age: ≥ 20–30 bars.
Volume: pick a min that filters noise for your symbol/timeframe.
Risk: SL 4–6%, trailing trigger 1–2%, distance 1–2% (crypto example).
Set slippage/fees in Strategy Properties.
Notes, limitations & best practices
Data differences: The LTF split uses request.security_lower_tf. If the exchange/data feed has sparse LTF data, the fallback kicks in (it’s deliberate to avoid NaNs but is a heuristic).
Real-time vs backtest: The current bar can update until close; results on historical bars use closed data. Use “Bar Replay” to understand intrabar effects.
No pyramiding: Only one position at a time. Modify pyramiding in the header if you need scaling.
Assets: For spot/crypto, TradingView “volume” is exchange volume; in some markets it may be tick volume—interpret filters accordingly.
Risk disclosure: Past performance ≠ future results. Use appropriate position sizing and risk controls; this is not financial advice.
Credits
Visual FVG concept and original implementation: BigBeluga.
This derivative strategy adds entry/exit logic, volume/age/share filters, robust LTF handling, and risk management while preserving the original spirit.
License remains CC BY-NC-SA 4.0 (non-commercial, attribution required, share-alike).
Iron Condor Pro v6 – Full EngineIronCondor Engine v6.6 is a multi-mode options strategy tool for planning and managing iron condors, straddles, strangles, and butterflies. It supports both setup planning and live trade tracking with modeled delta, risk-based strike selection, IV rank estimation, and visual breach alerts.
Use Setup Mode to preview strike structures based on IV proxy, ATR, delta targeting, and risk tier (High/Mid/Low/Delta). Use Live Mode to track real trades, enter strike/premium data, and monitor live P&L, delta drift, and range status.
This script does not connect to live option chains. Volatility and delta are modeled using price history. All strikes and premiums must be confirmed using your broker before placing trades. Best used with strong support/resistance levels and high IV rank (30%+).
For educational purposes only.
Workflow Guide
Use this flow whether you're setting up on Sunday night or any day before placing a trade.
Step 0: Pre-Script Preparation
Before using the script:
Identify major support and resistance zones on your chart. Define the expected range or consolidation area. Use this context to help evaluate strike placement
1. Setup Phase (Pre-Trade Planning)
Step 1 – Load the Script
Add: IronCondor Engine v6.6 – Full Risk/Decay Edition to your chart
Step 2 – Set Mode = Setup
This enables planning mode, where the engine calculates strike combinations based on:
Your selected risk profile (High, Mid, Low, or Delta)
Historical volatility (20-day log return)
ATR (Average True Range)
Target short delta (adjustable)
Step 3 – Review Setup Table
Enable Show Setup Table to view calculated strikes and width by risk tier.
Adjust any of the following as needed:
Target Short Delta
Strike Interval ($)
Width multipliers (High/Mid/Low)
Risk tier under Auto-Feed Choice
Step 4 – Evaluate the Setup
Is the net credit at least 1.5–2.0x your max risk?
Are the short strikes clearly outside support/resistance zones?
Are the short deltas between 0.15 and 0.30?
Is the range wide enough to handle normal price movement?
Step 5 – Prep for Execution
Enable Auto-Feed Setup → Live to carry Setup strikes into Live mode
Or disable it if you prefer to manually enter strikes later
2. Trade Execution (Live Tracking Mode)
Step 1 – Place the Trade with Your Broker
Use your brokerage (TOS, Tasty, IBKR, etc.) to place the iron condor or other structure
Step 2 – Set Mode = Live
In Live mode:
If Auto-Feed is ON, the Setup strikes auto-populate
If Auto-Feed is OFF, manually enter:
Short and long strikes (Call and Put)
Premiums collected/paid per leg
Total net credit (Entry Credit)
Optional: Input current mid prices for each leg in the "Live Chain" section to track live mark-to-market P&L
Once all required fields are valid, the script activates:
Real-time profit/loss tracking
Max risk estimate
Delta monitoring on short legs
IV Rank estimate
Breach detection system
Chart visuals (if enabled)
3. Trade Management (During the Week)
While the trade is active, use the dashboard and visuals to monitor:
Key Metrics:
Unrealized P/L %
Mark-to-market value vs entry credit
Daily decay (theta)
Days until expiration
Breach status:
In Range
Near Breach
Breached
Alerts:
Price near short strike → suggests roll
Price breaches long strike → breach alert
50% or 75% profit → optional exit signal
Delta exceeds threshold → exposure may need adjustment
Management Tips:
At 50–75% profit: consider closing early
If price nears a short leg: roll, hedge, or manage
If nearing expiry: decide whether to hold or close
If IV collapses: may accelerate time decay or reduce exit value
4. End-of-Week or Expiration Management
If Profit Target Hit
Close early to reduce risk and lock gains
If Still Open Near Expiry
Close the position or
Hold through expiration only if you're fully prepared for pinning/gamma/assignment scenarios
Avoid holding open spreads over the weekend unless part of a defined strategy
Reference Notes
Strike Width
Defined as:
Width = Distance between Short and Long strike
Used for calculating max loss and breach visuals
Delta Guidelines
0.15–0.20 = safer, wider range, lower credit
0.25–0.30 = more aggressive, tighter range, higher credit
Use Target Short Delta input to adjust auto-selected strikes accordingly
Credit Example
Sell Call: $1.04
Sell Put: $0.23
Buy Call + Put wings: $0.14
Net Credit = $1.13 = $113 per contract (max profit)
This is the max profit if price stays between short strikes through expiration
IV Rank (Estimated)
This script does not use options chain IV data.
Instead, it calculates a volatility proxy:
ivRaw = ta.stdev(log returns, 20) * sqrt(252)
IV Rank is then calculated as the percentile of this value within the last 252 bars.
High IV Rank (30%–100%) → better premium-selling conditions
Low IV Rank (<30%) → lower edge for condors
Ideal to sell premium when IV Rank is above 30–50%
Disclosures and Limitations
This script is for educational use only
It does not connect to live option chains
All strikes, deltas, and premiums must be validated through your broker
Always confirm real-time IV, delta, and pricing before placing a trade
❄️ Lin Kuei Systematic Edge ❄️# ❄️ Lin Kuei Systematic Edge - Complete Trading Indicator
## 🎯 **What is the Lin Kuei Systematic Edge?**
The Lin Kuei Systematic Edge is a professional-grade trading indicator designed to eliminate emotional trading and provide systematic, disciplined market analysis. Inspired by the ice-cold precision of systematic trading, this indicator combines multiple technical analysis components to deliver clear, actionable signals for both trending and volatile market conditions.
## 🗡️ **Core Components**
### **1. Dual-Blade System (Moving Averages)**
- **Fast Blade (Ice Blade)**: Quick-responding moving average for trend detection
- **Slow Blade (Frost Shield)**: Stable moving average for trend confirmation
- **Crossover Signals**: When fast blade crosses above slow blade = LONG signal | When fast blade crosses below slow blade = SHORT signal
### **2. Ice Zone (Volatility Bands)**
- **Upper Frost**: Resistance level based on volatility
- **Lower Frost**: Support level based on volatility
- **Dynamic Zones**: The area between frost levels shows market sentiment
- **Ice Multiplier**: Controls the width of the volatility bands (default: 2.215)
### **3. Market Regime Detection**
- **Bullish Regime**: Fast blade > Slow blade with positive momentum
- **Bearish Regime**: Fast blade < Slow blade with negative momentum
- **Consolidation**: Low momentum, sideways market movement
### **4. Volatility Filtering**
- **High Volatility Filter**: Blocks signals during chaotic market conditions
- **Signal Quality**: Only generates signals when market volatility is manageable
- **Systematic Discipline**: Prevents emotional trading during market storms
## 📊 **How to Read the Indicator**
### **Visual Elements:**
- **Cyan Ice Blade**: Fast-moving trend line with glow effect
- **Blue Frost Shield**: Slower trend line with aura
- **White Frost Barriers**: Support and resistance levels with colored glows
- **Dynamic Fill Zones**: Green tint (bullish) / Red tint (bearish) between barriers
- **Signal Triangles**: Green up-arrow (LONG) / Red down-arrow (SHORT)
### **Information Dashboard:**
The tactical table provides real-time market intelligence:
1. **🗡️ Momentum**: Percentage difference between fast and slow blades
- **Positive**: Bullish momentum (green)
- **Negative**: Bearish momentum (red)
- **Strength**: STRONG (>2% or <-2%) vs WEAK
2. **🌪️ Volatility**: Percentile ranking of current volatility
- **0-50%**: LOW (green) - Ideal for signals
- **50-80%**: HIGH (orange) - Caution advised
- **80-100%**: EXTREME (red) - Signals blocked
3. **📊 Position**: Price location within the ice zone
- **80-100%**: OVERBOUGHT (red) - Near resistance
- **0-20%**: OVERSOLD (green) - Near support
- **20-80%**: NEUTRAL (white) - Normal range
4. **⚔️ Regime**: Current market condition
- **BULL**: Uptrend active - STRIKE mode
- **BEAR**: Downtrend active - DEFEND mode
- **RANGE**: Sideways - WAIT mode
5. **🎯 Signal**: Latest signal status
- **BUY/SELL**: Active signal generated
- **NONE**: No current signal
- **ACTIVE/BLOCKED**: Signal availability status
6. **❄️ Ice Status**: Price relationship to frost barriers
- **FROZEN**: Below lower frost (oversold opportunity)
- **SOLID**: Within normal range
- **MELTING**: Above upper frost (overbought warning)
7. **🛡️ Defense**: Signal reliability assessment
- **STRONG**: Low volatility, high signal quality
- **WEAK**: High volatility, signals may be unreliable
## 🎯 **Trading Signals**
### **LONG Signals (Green Triangle Up)**
**Generated when:**
- Fast blade crosses ABOVE slow blade
- Momentum turns positive
- Volatility is NOT extreme (< 70th percentile)
**Interpretation:**
- Bullish momentum confirmed
- Trend reversal to upside
- Entry opportunity for long positions
### **SHORT Signals (Red Triangle Down)**
**Generated when:**
- Fast blade crosses BELOW slow blade
- Momentum turns negative
- Volatility is NOT extreme (< 70th percentile)
**Interpretation:**
- Bearish momentum confirmed
- Trend reversal to downside
- Entry opportunity for short positions
### **Signal Quality Assurance:**
- **Volatility Filter**: No signals during market chaos
- **Momentum Confirmation**: Requires actual trend change
- **Clean Presentation**: Optional L/S text labels for clarity
## 🧊 **Background Zones**
### **🔥 Melting Ice Zone (Green Background)**
- Price above upper frost + low volatility
- Potential overheating/overbought condition
- Caution: Possible reversal area
### **🧊 Deep Freeze Zone (Red Background)**
- Price below lower frost + low volatility
- Potential oversold/opportunity zone
- Watch for: Possible bounce/recovery
### **🌨️ Ice Blizzard (White Background)**
- High volatility detected
- Market chaos/uncertainty
- Action: Wait for clarity, no signals generated
## ⚙️ **Customizable Settings**
### **Blade Configuration:**
- **Blade Type**: SMA, EMA, WMA, VWMA, HMA, RMA
- **Fast Precision**: 1-100 periods (default: 40)
- **Slow Defense**: 1-200 periods (default: 55)
### **Volatility Control:**
- **Ice Multiplier**: 0.1+ (default: 2.215)
- **Controls**: Width of support/resistance zones
### **Alert System:**
- **Battle Alerts**: Enable/disable notifications
- **Signal Text**: Show/hide L/S labels on signals
## 🎖️ **Best Practices**
### **When to Use:**
- Trending markets with clear direction
- After consolidation periods
- When volatility is manageable
- For systematic, emotion-free trading
### **When to Avoid:**
- During extreme volatility (blizzard conditions)
- Major news events/announcements
- Very low timeframes with excessive noise
- Without proper risk management
### **Optimal Timeframes:**
- **15min - 1H**: Short-term trading
- **4H - 1D**: Medium-term analysis
- **1D+**: Long-term trend identification
## 🏆 **Scoring System**
### **Positive Scores (+):**
- **Momentum > 0**: Bullish trend strength
- **Volatility < 50%**: Stable, predictable conditions
- **Position 20-80%**: Normal, healthy price action
- **Regime = BULL**: Confirmed uptrend
- **Defense = STRONG**: High signal reliability
### **Negative Scores (-):**
- **Momentum < 0**: Bearish trend strength
- **Volatility > 70%**: Chaotic, unpredictable conditions
- **Position > 80% or < 20%**: Extreme overbought/oversold
- **Regime = BEAR**: Confirmed downtrend
- **Ice Status = MELTING**: Overheated conditions
### **Overall Assessment:**
The indicator provides a **holistic scoring system** where multiple positive factors align for high-confidence signals, while negative factors warn of risks or suggest defensive positioning.
---
## 🔮 **Summary**
The Lin Kuei Systematic Edge transforms emotional trading into disciplined, systematic analysis. By combining trend detection, volatility analysis, and market regime identification, it provides traders with the tools needed to navigate markets with ice-cold precision. The indicator's strength lies in its ability to filter out noise, prevent overtrading during volatile periods, and deliver clear, actionable signals when conditions are optimal.
**"In crypto winter, only the systematic survive. Precision over emotion."** ❄️
Inversion Fair Value Gap Signals [AlgoAlpha]🟠 OVERVIEW
This script is a custom signal tool called Inversion Fair Value Gap Signals (IFVG) , designed to detect, track, and visualize fair value gaps (FVGs) and their inversions directly on price charts. It identifies bullish and bearish imbalances, monitors when these zones are mitigated or rejected, and extends them until resolution or expiration. What makes this script original is the inclusion of inversion logic—when a gap is filled, the area flips into an opposite "inversion fair value gap," creating potential reversal or continuation zones that give traders additional context beyond classic FVG analysis.
🟠 CONCEPTS
The script builds on the Smart Money Concepts (SMC) principle of fair value gaps, where inefficiencies form when price moves too quickly in one direction. Detection requires a three-bar sequence: a strong up or down move that leaves untraded price between bar highs and lows. To refine reliability, the script adds an ATR-based size filter and prevents overlap between zones. Once created, gaps are tracked in arrays until mitigation (price closing back into the gap), expiration, or transformation into an inversion zone. Inversions act as polarity flips, where bullish gaps become bearish resistance and bearish gaps become bullish support. Lower-timeframe volume data is also displayed inside zones to highlight whether buying or selling pressure dominated during gap creation.
🟠 FEATURES
Automatic detection of bullish and bearish FVGs with ATR-based thresholding.
Inversion logic: mitigated gaps flip into opposite-colored IFVG zones.
Volume text overlay inside each zone showing up vs down volume.
Visual markers (△/▽ for FVG, ▲/▼ for IFVG) when price exits a zone without mitigation.
🟠 USAGE
Apply the indicator to any chart and enable/disable bullish or bearish FVG detection depending on your focus. Use the colored gap zones as areas of interest: bullish gaps suggest possible continuation to the upside until mitigated, while bearish gaps suggest continuation down. When a gap flips into an inversion zone, treat it as potential support/resistance—bullish IFVGs below price may act as demand, while bearish IFVGs above price may act as supply. Watch the embedded up/down volume data to gauge the strength of participants during gap formation. Use the △/▽ and ▲/▼ markers to spot when price rejects gaps or inversions without filling them, which can indicate strong trending momentum. For practical use, combine alerts with your trade plan to track when new gaps form, when old ones are resolved, or when key zones flip into inversions, helping you align entries, targets, or reversals with institutional order flow logic.
CCI vs Two EMAs + Trendlines + Breakout HighlightPerfect indicator which analyzes the cci4000 & 2 EMAS.
MA Pack + Cross Signals (Short vs Long)Overview
A flexible moving average pack that lets you switch between short-term trend detection and long-term trend confirmation .
Short-term mode: plots 5, 10, 20, and 50 MAs with early crossovers (10/50, 20/50).
Long-term mode: plots 50, 100, 200 MAs with Golden Cross and Death Cross signals.
Choice of SMA or EMA .
Alerts included for all crossovers.
Why Use It
Catch early trend shifts in short-term mode.
Confirm institutional trend levels in long-term mode.
Visual signals (triangles + labels) make spotting setups easy.
Alert-ready for automated trade monitoring.
Usage
Add to chart.
In settings, choose Short-term or Long-term .
Watch for markers:
Green triangles = bullish cross
Red triangles = bearish cross
Green label = Golden Cross
Red label = Death Cross
Optional: enable alerts for notifications.
TEWMA - [JTCAPITAL]TEWMA - is a modified way to use Triple Exponential Moving Average (TEMA) combined with Weighted Moving Average (WMA) and adaptive multi-length averaging for Trend-Following.
The indicator blends short- and extended-length smoothed signals into a single adaptive line, then assigns directional bias to highlight bullish or bearish phases more clearly.
The indicator works by calculating in the following steps:
Source Selection
The script begins with a selectable price source (default: Close, but can be changed to Open, High, Low, HL2, etc.). This ensures flexibility depending on the user’s preferred market perspective.
Dual-Length Calculation
A base length ( len ) is chosen, and then multiplied by a factor ( multi , default 1.75). This produces a secondary, longer period ( len2 ) that adapts proportionally to the base.
Weighted + Triple Exponential Smoothing
-First, a WMA (Weighted Moving Average) is applied to the price source.
-Then, the TEMA (Triple Exponential Moving Average) is applied to smooth the WMA even further.
-This process is repeated for both len and len2 , producing TEWMA1 and TEWMA2 .
Adaptive Averaging
The final TEWMA line is calculated as the average of TEWMA1 and TEWMA2, creating a blend between the short-term and extended-term signals. This balances reactivity and stability, reducing lag while avoiding excessive noise.
Trend Direction Detection
-If TEWMA is greater than its previous value → Bullish .
-If TEWMA is lower than its previous value → Bearish .
-A Signal variable is used to store this directional bias, ensuring continuity between bars.
Visual Plotting
-The main TEWMA is plotted with bold coloring (Blue for bullish, Purple for bearish).
-TEWMA1 and TEWMA2 are plotted as thinner supporting lines.
-Each line is given a shadow-fill (between 100% and 90% of its value) for emphasis and visual clarity.
Alerts
Custom alerts are defined:
- TEWMA Long → when bullish.
- TEWMA Short → when bearish.
-These alerts can be integrated into TradingView’s alerting system for automated notifications.
Buy and Sell Conditions :
- Buy : Triggered when TEWMA rises (bullish slope). The indicator colors the line blue and an alert can be fired.
- Sell : Triggered when TEWMA declines (bearish slope). The line turns purple, signaling potential short or exit points.
Features and Parameters :
- Source → Selectable price input (Close, Open, HL2, etc.).
- Length (len) → Base period for the WMA/TEMA calculation.
- Multiplier (multi) → Scales the secondary length to create a longer-term smoothing.
- Color-coded Trend Lines → Blue for bullish, Purple for bearish.
- Shadow Fill Effects → Provides depth and easier visualization of trend direction.
- Alert Conditions → Prebuilt alerts for both Long and Short scenarios.
Specifications :
Weighted Moving Average (WMA)
The WMA assigns more weight to recent price values, making it more responsive than a Simple Moving Average (SMA). This enhances early detection of market turns while reducing lag compared to longer-term averages.
Triple Exponential Moving Average (TEMA)
TEMA is designed to minimize lag by combining multiple EMA layers (EMA of EMA of EMA). It is smoother and more adaptive than traditional EMAs, making it ideal for detecting true market direction without overreacting to small fluctuations.
Multi-Length Averaging
By calculating two versions of WMA → TEMA with different lengths and then averaging them, the indicator balances responsiveness (short-term sensitivity) and reliability (long-term confirmation). This prevents whipsawing while keeping signals timely.
Adaptive Signal Assignment
Instead of simply flipping signals at crossovers, the indicator checks slope direction of TEWMA. This ensures smoother trend-following behavior, reducing false positives in sideways conditions.
Color-Coding & Visual Shading
Visual clarity is achieved by coloring bullish periods differently from bearish ones, with shaded fills beneath each line. This allows traders to instantly identify trend conditions and compare short- vs long-term signals.
Alert Conditions
Trading decisions can be automated by attaching alerts to the TEWMA’s bullish and bearish states. This makes it practical for active trading, swing setups, or algorithmic strategies.
Enjoy!
Yasser Buy/Sell Signal Indicator 001Coded by: Yasser Mahmoud (YWMAAAWORLD):
For any assistance contact me at: yarm.global@gmail.com
# 🚀 **EMA Trend & Signal Indicator - The Ultimate Anti-Chop Trading System**
## **Finally! An Indicator That Eliminates False Signals and Maximizes Trending Profits**
Are you tired of getting whipsawed in choppy markets? Frustrated by indicators that give you 10 signals when you need just 1 good one? **This changes everything.**
---
## 🎯 **What Makes This Indicator Revolutionary?**
### **🔥 INNOVATIVE 7-FILTER CONFIRMATION SYSTEM**
This isn't just another EMA crossover indicator. It's a **complete trading system** that combines:
✅ **Multi-EMA Trend Analysis** (8, 13, 21, 50, 200 EMAs)
✅ **Volume Surge Detection** (1.5x average volume confirmation)
✅ **RSI Momentum Filter** (Avoids overbought/oversold traps)
✅ **EMA Slope Confirmation** (All short-term EMAs must align)
✅ **Advanced Anti-Chop Technology** (Patent-pending 5-filter system)
### **🚫 REVOLUTIONARY ANTI-CHOP FILTERS**
**The game-changer that separates amateurs from professionals:**
1. **Trend Strength Analyzer** - Measures EMA separation strength
2. **EMA Bunching Detector** - Prevents signals when EMAs are too close
3. **Market Structure Scanner** - Identifies genuine trending vs ranging markets
4. **Enhanced Volatility Filter** - Waits for sufficient market movement
5. **Smart Chop Detection** - Multi-timeframe chopiness analysis
**Result: 3 out of 5 filters must pass = Only HIGH-PROBABILITY setups trigger signals!**
---
## 📈 **TRADING RULES - COPY & PASTE STRATEGY**
### **🟢 BUY SIGNALS (Long Entry)**
**When ALL conditions align:**
- Price above 50 EMA **AND** 50 EMA above 200 EMA (Uptrend confirmed)
- 8 EMA > 13 EMA > 21 EMA (Perfect alignment)
- Volume > 1.5x average (Institutional participation)
- RSI between 50-70 (Bullish momentum, not overbought)
- All EMA slopes positive (True trending, not fake breakout)
- Anti-Chop Score ≥ 3/5 (Market conditions suitable)
**📍 Entry:** When green "BUY" label appears
**🛡️ Stop Loss:** Below nearest swing low or 50 EMA
**🎯 Take Profit:** 2:1 or 3:1 risk/reward ratio
### **🔴 EXIT BUY SIGNALS (Risk Management)**
**Automatic protection when:**
- EMAs lose perfect alignment (8>13>21 breaks)
- Trend remains intact but short-term weakness detected
**📍 Action:** Exit position when "EXIT BUY" appears
**💡 Strategy:** Wait for "BUY" signal to re-enter if trend continues
### **🟥 SELL SIGNALS (Short Entry)**
**Mirror logic for downtrends:**
- Price below 50 EMA **AND** 50 EMA below 200 EMA
- 8 EMA < 13 EMA < 21 EMA (Perfect bearish alignment)
- Same volume, RSI, and anti-chop confirmations
### **🔸 EXIT SELL SIGNALS**
**Smart exit when bearish alignment breaks**
---
## 💰 **PROFIT-MAXIMIZING FEATURES**
### **📊 REAL-TIME STATUS DASHBOARD**
Never guess market conditions again! Live display shows:
- Current trend direction
- Signal state (BUY/SELL/EXIT/NONE)
- EMA alignment status
- Volume surge detection
- RSI level with color coding
- Anti-chop score (X/5)
- **Signal quality assessment**
### **🎨 CLEAN VISUAL SYSTEM**
- **Large, clear text labels** (no tiny arrows to miss)
- **Color-coded status panel** (optimized for white backgrounds)
- **Only long-term EMAs visible** (reduces chart clutter)
- **Smart sizing** (signals visible but not overwhelming)
### **🔔 BUILT-IN ALERTS**
Set and forget! Get notified instantly when:
- New BUY/SELL signals trigger
- EXIT signals protect your profits
- All confirmations align for high-probability setups
---
## 🏆 **WHY TRADERS CHOOSE THIS OVER EVERYTHING ELSE**
### ❌ **OTHER INDICATORS:**
- Give signals in every market condition
- Generate 50+ signals per day (analysis paralysis)
- No differentiation between high/low probability setups
- Leave you guessing about market structure
### ✅ **THIS SYSTEM:**
- **Selective Excellence** - Only 3-7 high-quality signals per week
- **Built-in Intelligence** - Automatically avoids choppy markets
- **Complete Transparency** - Shows you exactly why each signal triggers
- **Professional Grade** - Used by institutional-level confirmation methods
---
## 🎓 **PERFECT FOR:**
✅ **Swing Traders** - Clean entries on major trend moves
✅ **Day Traders** - High-probability intraday setups
✅ **Position Traders** - Long-term trend following
✅ **Beginners** - Clear, unambiguous signals with built-in education
✅ **Professionals** - Advanced filtering reduces noise, maximizes edge
---
## ⚡ **QUICK SETUP GUIDE**
1. **Add indicator to chart**
2. **Enable all default filters** (optimized settings included)
3. **Watch the status panel** - Wait for Chop Score ≥ 3/5
4. **Enter on BUY/SELL signals** - Exit on EXIT signals
5. **Profit from trending moves** while avoiding choppy losses!
---
## 🌟 **THE BOTTOM LINE**
**Stop fighting the market. Start trading WITH institutional-grade intelligence.**
This isn't just an indicator - it's your **competitive advantage** in a market where 90% of traders lose money due to poor timing and choppy market entries.
**Join the 10% who consistently profit by trading only when conditions are optimal.**
---
### 🔥 **"Finally, an indicator that thinks like a professional trader - selective, patient, and deadly accurate when it matters most."**
**Download now and experience the difference between trading signals and trading INTELLIGENCE.**
*Results may vary. Past performance does not guarantee future results. Always use proper risk management.*
Optimized Candlestick Entry Indicator1. Conflict Prevention System:
Pattern Strength Scoring: Each pattern gets a strength score (0-1) based on how well it matches ideal characteristics
Context Filtering: Patterns only trigger in appropriate market conditions (uptrend/downtrend)
Signal Prioritization: When multiple patterns occur, only the strongest one triggers
Mutual Exclusion: Prevents simultaneous buy/sell signals on the same candle
2. Enhanced Pattern Recognition:
Minimum Strength Threshold: Configurable minimum pattern strength (default 60%)
Trend Context Awareness: Hammer/Inverted Hammer only in downtrends, Hanging Man/Shooting Star only in uptrends
Improved Ratios: Better body-to-wick ratio calculations
Volume Consideration: Patterns require meaningful price ranges
3. Smart Decision Logic:
Pattern Counting: Counts active bullish vs bearish patterns
Conflict Resolution: If both signals exist, chooses the stronger one
Final Signal Generation: Only one signal type per candle
4. Advanced Features:
Trend Filter: Optional MA-based trend filter (20-period default)
Strength Display: Shows pattern strength percentage in labels
Context Information: Alerts include trend direction
Visual Enhancements: Larger, clearer signals with strength indicators
5. Configuration Options:
Trend Filter Toggle: Enable/disable trend-based filtering
Minimum Pattern Strength: Adjust sensitivity (0.3-1.0)
Individual Pattern Control: Enable/disable specific patterns
Visual Customization: Control labels, shapes, and alerts
How It Prevents Conflicts:
Context Separation: Bullish patterns only trigger in bearish contexts and vice versa
Strength Comparison: When conflicts arise, only the strongest pattern signals
Pattern Validation: Each pattern must meet strict strength criteria
Final Decision Layer: A final logic layer ensures only one signal type per bar
This optimized version will give you clear, non-conflicting entry signals with much higher accuracy and reliability!Retry
Positional Toolbox v6 (distinct colors)what the lines mean (colors)
EMA20 (green) = fast trend
EMA50 (orange) = intermediate trend
EMA200 (purple, thicker) = primary trend
when the chart is “bullish” vs “bearish”
Bullish bias (look for buys):
EMA20 > EMA50 > EMA200 and EMA200 sloping up.
Bearish bias (avoid longs / consider exits):
EMA20 < EMA50 < EMA200 or price closing under EMA50/EMA200.
the two buy signals the script gives you
Pullback Long (triangle up)
Prints when price dips to EMA20 (green) and closes back above it while trend is bullish and ADX is decent.
Entry: buy on the same close or on a break of that candle’s high next day.
Stop: below the pullback swing-low (or below EMA50 for simplicity).
Best for: adding on an existing uptrend after a shallow dip.
Breakout 55D (“BO55” label)
Prints when price closes above prior 55-day high with volume surge in a bullish trend.
Entry: on the close that triggers, or next day above the breakout candle’s high.
Stop: below the breakout candle’s low (conservative: below base low).
Best for: fresh trend legs from bases.
simple “sell / exit” rules
Trend exit (clean & mechanical): exit if daily close < EMA50 (orange).
More conservative: only exit if close < EMA200 (purple).
Momentum fade / weak breakout: if BO55 triggers but price re-closes back inside the base within 1–3 sessions on above-avg volume → exit or cut size.
Profit taking: book some at +1.5R to +2R, trail the rest (e.g., below prior swing lows or EMA20).
quick visual checklist (what to look for)
Are the EMAs stacked up (green over orange over purple)? → ok to buy setups.
Did a triangle print near EMA20? → pullback long candidate.
Did a BO55 label print with strong volume? → breakout candidate.
Any close under EMA50 after you’re in? → reduce/exit.
timeframe
Use Daily for positional signals.
If you want a tighter entry, drop to 30m/1h only to time the trigger—but keep decisions anchored to the daily trend.
alerts to set (so you don’t miss signals)
Add alert on Breakout 55D and Pullback Long (from the indicator’s alertconditions).
Optional price alerts at the breakout level or EMA20 touch.
risk guardrails (MTF friendly)
Risk ≤1% of capital per trade.
Avoid fresh entries within ~5 trading days of earnings unless you accept gap risk.
Prefer high-liquidity NSE F&O names (your CSV watchlist covers this).
TL;DR (super short):
Green > Orange > Purple = uptrend.
Triangle near green = buy the pullback; stop under swing low/EMA50.
BO55 label = buy the breakout; stop under breakout candle/base.
Exit on close below EMA50 (or below EMA200 if you’re giving more room).
CNagda Anchor2EntryCNagda Anchor2Entry Pine Script v6 overlay indicator pulls higher-timeframe (HTF) signal events to define anchor high/low levels and then projects visual entry labels on the lower-timeframe (LTF). It also draws auto-oriented Fibonacci retracement/extension levels for context, but it does not execute orders, stops, or targets—only visual guidance.
Inputs
Key inputs include Lookback Length for HTF scanning and a Signal Timeframe used with request.security to import HTF events onto the active chart.
Entry behavior can be set to “Confirm only” or “Wait candle,” trade side can be restricted to Buy/Sell/Both, and individual strategies (Buy WAIT/S1; Sell REV/S1/S2/S3) can be toggled.
HTF logic
The script defines WAIT/BUY setup and confirmation, SELL reversal on breaking the WAIT BUY low, and several volume/candle-based patterns (Sell S1/S2/S3, Buy S1).
It captures the associated highs/lows at those events with ta.valuewhen and imports them via request.security to form anchors (anc_hi/anc_lo) and “new trigger” booleans that gate label creation on the LTF.
Flip entries
When enabled, “Flip entries” generate contrarian labels based on breaking or confirming HTF anchors: crossing above anc_hi can trigger a flip-to-sell label, and crossing below anc_lo can trigger a flip-to-buy label.
The flip mode supports Immediate (on cross) or Confirm (on sustained break) to control how strict the trigger is.
Fibonacci drawing
User-specified Fib levels are parsed from a string, safely converted to floats, and drawn as dotted horizontal lines only when they fall inside an approximate visible viewport. Orientation (up or down) is decided automatically from pending signal direction and a simple context score (candle bias, trend, and price vs. mid), with efficient redraw/clear guards to avoid clutter.
Dynamic anchors
If HTF anchors are missing or too far from current price (checked with an ATR-based threshold), the script falls back to local swing highs/lows to keep the reference range relevant. This dynamic switch helps Fib levels and labels remain close to current market structure without manual intervention.
Signal labels
Labels are created only on confirmed bars to avoid repainting noise, with one “latest” label kept by deleting the previous one. The script places BUY/SELL labels for WAIT/CONFIRM, direct HTF patterns (Buy S1, Sell S1/S2/S3), and contrarian flip events, offset slightly from highs/lows with clear coloring and configurable sizes.
Visual context
Bars are softly colored (lime tint for bullish, orange tint for bearish) for quick context, and everything renders as an overlay on the price chart. Fib labels include a Δ readout (distance from current close), and line extension length, label sizes, and viewport padding are adjustable.
How to use
Set the Signal Timeframe and Lookback Length to establish which HTF structures and ranges will drive the anchors and entry conditions. Choose entry flow (Wait vs Confirm), enable Flip if contrarian triggers are desired, select the trade side, toggle strategies, and customize Fibonacci levels plus dynamic-anchor fallback for practical on-chart guidance.
Notes
This is a visual decision-support tool; it does not place trades, stops, or targets and should be validated on charts before live use. It is written for Pine Script v6 and relies heavily on request.security for HTF-to-LTF transfer of signals and anchors.
triple Keltner Channels with Z-Score V2This script expands on the classic Keltner Channel by plotting three adaptive volatility bands around an EMA baseline and introducing a dynamic Z-Score calculation to quantify price positioning within or beyond those bands.
Features
Three Keltner Channels:
Inner Channel at ×2 ATR
Outer Channel at ×3 ATR
Extended Channel at ×3.5 ATR
Customizable Inputs: EMA length, ATR length, and multipliers can be adjusted to suit different market conditions or asset volatility.
Z-Score Integration: Converts price location relative to the channels into standardized scores (from +2.5 to –2.5). Positive Z indicate a good value/zone to buy while negative one is the contrary (do not use it alone, use it with other indicators )
This provides a statistical lens for identifying overextended, neutral, or mean-reverting conditions.
Visual Clarity: Channel fills highlight volatility zones, while an on-chart label dynamically displays the current Z-Score.
How to Use
Overbought/Oversold Signals: Extreme Z-Score readings (±2 and beyond) suggest stretched conditions that often precede pullbacks or reversions.
Mean Reversion vs Breakout: Traders can assess whether price is likely to revert to the mean (EMA) or sustain momentum beyond outer bands.
Originality
Unlike a standard Keltner Channel, this one:
Uses three progressively wider ATR multiples for deeper volatility mapping.
Adds a Z-Score framework to statistically measure price displacement.
Provides a visual + numerical hybrid output (bands + live Z-Score label).
use only on 1W timeframe
88-Key Piano Range - Musical Price Levels88-Key Piano Range - Musical Price Levels
Description:
Explore price analysis through musical harmony! This educational indicator maps price movements to the standard 88-key piano keyboard (A0 to C8), offering a creative way to visualize market ranges and explore harmonic price relationships with authentic keyboard-style background fills.
🎹 KEY FEATURES:
• Complete 88-Key Mapping - Full piano range from A0 to C8 mapped to your price range
• Piano-Style Visual Design - Clean background fills distinguishing white keys, black keys, and octaves
• Dual Anchor System - Set two time/price points to define your analytical range
• Flexible Display Options - Show all 88 keys, octaves only (C notes), or custom selections
• Harmonic Exploration - Explore consonant/dissonant key relationships based on music theory
• Real-time Price Note - See what musical note your current price represents
• Customizable Interface - Adjust colors, line widths, fills, and visual elements
🎵 EDUCATIONAL CONCEPTS:
• Octave Levels - C notes as harmonic reference points (similar to round numbers)
• Key Classifications - Natural notes (white keys) vs chromatic notes (black keys)
• Harmonic Intervals - Musical relationships applied to price analysis
• Creative Visualization - Alternative way to view price ranges and movements
⚙️ HOW TO USE:
1. Select Your Price Leg - Choose an upleg, downleg, or significant price movement to explore
2. Set Anchor A - Place at the start of your selected leg (swing low for upleg, swing high for downleg)
3. Set Anchor B - Place at the end of your selected leg (swing high for upleg, swing low for downleg)
4. Configure Display - Select all keys, octaves only, or enable background fills
5. Explore Harmonics - Enable harmony coloring to see musical relationships
6. Study Patterns - Observe how price movements align with musical intervals
🎼 CREATIVE APPLICATIONS:
• Experimental Analysis - Try a musical approach to leg analysis
• Educational Tool - Learn about mathematical relationships in both music and markets
• Alternative Perspective - View support/resistance through a musical lens
• Pattern Recognition - Explore if harmonic levels show interesting price behavior
• Fun Learning - Combine musical knowledge with trading concepts
📊 EXPERIMENTAL USE:
• Creative alternative to traditional Fibonacci levels
• Educational exploration of mathematical harmony in markets
• Interesting way to visualize price ranges and retracements
• Novel approach for musicians interested in trading concepts
Important Note: This is an educational and experimental tool that applies musical theory concepts to price analysis. It should be used for learning and exploration purposes alongside proven technical analysis methods. The musical relationships are mathematically based but not validated as reliable trading signals.
Options Max Pain Calculator [BackQuant]Options Max Pain Calculator
A visualization tool that models option expiry dynamics by calculating "max pain" levels, displaying synthetic open interest curves, gamma exposure profiles, and pin-risk zones to help identify where market makers have the least payout exposure.
What is Max Pain?
Max Pain is the theoretical expiration price where the total dollar value of outstanding options would be minimized. At this price level, option holders collectively experience maximum losses while option writers (typically market makers) have minimal payout obligations. This creates a natural gravitational pull as expiration approaches.
Core Features
Visual Analysis Components:
Max Pain Line: Horizontal line showing the calculated minimum pain level
Strike Level Grid: Major support and resistance levels at key option strikes
Pin Zone: Highlighted area around max pain where price may gravitate
Pain Heatmap: Color-coded visualization showing pain distribution across prices
Gamma Exposure Profile: Bar chart displaying net gamma at each strike level
Real-time Dashboard: Summary statistics and risk metrics
Synthetic Market Modeling**
Since Pine Script cannot access live options data, the indicator creates realistic synthetic open interest distributions based on configurable market parameters including volume patterns, put/call ratios, and market maker positioning.
How It Works
Strike Generation:
The tool creates a grid of option strikes centered around the current price. You can control the range, density, and whether strikes snap to realistic market increments.
Open Interest Modeling:
Using your inputs for average volume, put/call ratios, and market maker behavior, the indicator generates synthetic open interest that mirrors real market dynamics:
Higher volume at-the-money with decay as strikes move further out
Adjustable put/call bias to reflect current market sentiment
Market maker inventory effects and typical short-gamma positioning
Weekly options boost for near-term expirations
Pain Calculation:
For each potential expiry price, the tool calculates total option payouts:
Call options contribute pain when finishing in-the-money
Put options contribute pain when finishing in-the-money
The strike with minimum total pain becomes the Max Pain level
Gamma Analysis:
Net gamma exposure is calculated at each strike using standard option pricing models, showing where hedging flows may be most intense. Positive gamma creates price support while negative gamma can amplify moves.
Key Settings
Basic Configuration:
Number of Strikes: Controls grid density (recommended: 15-25)
Days to Expiration: Time until option expiry
Strike Range: Price range around current level (recommended: 8-15%)
Strike Increment: Spacing between strikes
Market Parameters:
Average Daily Volume: Baseline for synthetic open interest
Put/Call Volume Ratio: Market sentiment bias (>1.0 = bearish, <1.0 = bullish) It does not work if set to 1.0
Implied Volatility: Current option volatility estimate
Market Maker Factors: Dealer positioning and hedging intensity
Display Options:
Model Complexity: Simple (line only), Standard (+ zones), Advanced (+ heatmap/gamma)
Visual Elements: Toggle individual components on/off
Theme: Dark/Light mode
Update Frequency: Real-time or daily calculation
Reading the Display
Dashboard Table (Top Right):
Current Price vs Max Pain Level
Distance to Pain: Percentage gap (smaller = higher pin risk)
Pin Risk Assessment: HIGH/MEDIUM/LOW based on proximity and time
Days to Expiry and Strike Count
Model complexity level
Visual Elements:
Red Line: Max Pain level where payout is minimized
Colored Zone: Pin risk area around max pain
Dotted Lines: Major strike levels (green = support, orange = resistance)
Color Bar: Pain heatmap (blue = high pain, red = low pain/max pain zones)
Horizontal Bars: Gamma exposure (green = positive, red = negative)
Yellow Dotted Line: Gamma flip level where hedging behavior changes
Trading Applications
Expiration Pinning:
When price is near max pain with limited time remaining, there's increased probability of gravitating toward that level as market makers hedge their positions.
Support and Resistance:
High open interest strikes often act as magnets, with max pain representing the strongest gravitational pull.
Volatility Expectations:
Above gamma flip: Expect dampened volatility (long gamma environment)
Below gamma flip: Expect amplified moves (short gamma environment)
Risk Assessment:
The pin risk indicator helps gauge likelihood of price manipulation near expiry, with HIGH risk suggesting potential range-bound action.
Best Practices
Setup Recommendations
Start with Model Complexity set to "Standard"
Use realistic strike ranges (8-12% for most assets)
Set put/call ratio based on current market sentiment
Adjust implied volatility to match current levels
Interpretation Guidelines:
Small distance to pain + short time = high pin probability
Large gamma bars indicate key hedging levels to monitor
Heatmap intensity shows strength of pain concentration
Multiple nearby strikes can create wider pin zones
Update Strategy:
Use "Daily" updates for cleaner visuals during trading hours
Switch to "Every Bar" for real-time analysis near expiration
Monitor changes in max pain level as new options activity emerges
Important Disclaimers
This is a modeling tool using synthetic data, not live market information. While the calculations are mathematically sound and the modeling realistic, actual market dynamics involve numerous factors not captured in any single indicator.
Max pain represents theoretical minimum payout levels and suggests where natural market forces may create gravitational pull, but it does not guarantee price movement or predict exact expiration levels. Market gaps, news events, and changing volatility can override these dynamics.
Use this tool as additional context for your analysis, not as a standalone trading signal. The synthetic nature of the data makes it most valuable for understanding market structure and potential zones of interest rather than precise price prediction.
Technical Notes
The indicator uses established option pricing principles with simplified implementations optimized for Pine Script performance. Gamma calculations use standard financial models while pain calculations follow the industry-standard definition of minimized option payouts.
All visual elements use fixed positioning to prevent movement when scrolling charts, and the tool includes performance optimizations to handle real-time calculation without timeout errors.
StdDev Supertrend {CHIPA}StdDev Supertrend ~ C H I P A is a supertrend style trend engine that replaces ATR with standard deviation as the volatility core. It can operate on raw prices or log return volatility, with optional smoothing to control noise.
Key features include:
Supertrend trailing rails built from a stddev scaled envelope that flips the regime only when price closes through the opposite rail.
Returns-based mode that scales volatility by log returns for more consistent behavior across price regimes.
Optional smoothing on the volatility input to tune responsiveness versus stability.
Directional gap fill between price and the active trend line on the main chart; opacity adapts to the distance (vs ATR) so wide gaps read stronger and small gaps stay subtle.
Secondary pane view of the rails with the same adaptive fade, plus an optional candle overlay for context.
Clean alerts that fire once when state changes
Use cases: medium-term trend following, stop/flip systems, and visual regime confirmation when you prefer stddev-based distance over ATR.
Note: no walk-forward or robustness testing is implied; parameter choices and risk controls are on you.
Simple Turnover (Enhanced v2)📊 Simple Turnover (Enhanced)
🔹 Overview
The Simple Turnover Indicator calculates a stock’s turnover by combining both price and volume, and then compares it against quarterly highs. This helps traders quickly gauge whether market participation in a move is strong enough to confirm a breakout, or weak and likely to be false.
Unlike volume alone, turnover considers both traded volume and price level, giving a truer reflection of capital flow in/out of a stock.
________________________________________
🔹 Formulae Used
1. Average Price (SMA)
AvgPrice=SMA(Close,n)
2. Average Volume (SMA)
AvgVol=SMA(Volume,n)
3. Turnover (Raw)
Turnover raw=AvgPrice × AvgVol
4. Unit Adjustment
• If Millions → Turnover = Turnover raw × 10^−6
• If Crores → Turnover = Turnover raw × 10^−7
• If Raw → Turnover = Turnover raw
5. Quarterly High Turnover (qHigh)
Within each calendar quarter (Jan–Mar, Apr–Jun, Jul–Sep, Oct–Dec), we track the maximum turnover seen:
qHigh=max (Turnover within current quarter)
________________________________________
🔹 Visualization
• Bars → Color follows price candle:
o Green if Close ≥ Open
o Red if Close < Open
• Blue Line → Rolling Quarterly High Turnover (qHigh)
________________________________________
🔹 Strategy Use Case
The Simple Turnover Indicator is most effective for confirming true vs false breakouts.
• A true breakout should be supported by increasing turnover, showing real capital backing the move.
• A false breakout often occurs with weak or declining turnover, suggesting lack of conviction.
📌 Example Strategy (3H timeframe):
1. Identify a demand zone using your preferred supply-demand indicator.
2. From this demand zone, monitor turnover bars.
3. A potential long entry is validated when:
o The current turnover bar is at least 20% higher than the previous one or two bars.
o Example setting: SMA length = 5 (i.e., turnover = 5-bar average close × 5-bar average volume).
4. This confirms strong participation in the move, increasing probability of a sustained breakout.
________________________________________
🔹 Disclaimer
⚠️ This indicator/strategy does not guarantee 100% accurate results.
It is intended to improve the probability of identifying true breakouts.
The actual success of the strategy will depend on price action, market momentum, and prevailing market conditions.
Always use this as a supporting tool along with broader trading analysis and risk management.
15m Continuation — prev → new (v6, styled)This indicator gives you backtested statistics on how often reversals vs continuations occur on 15 minute candles on any pair you want to trade. This is great for 15m binary markets like on Polymarket.
Momentum Shift Oscillator (MSO) [SharpStrat]Momentum Shift Oscillator (MSO)
The Momentum Shift Oscillator (MSO) is a custom-built oscillator that combines the best parts of RSI, ROC, and MACD into one clean, powerful indicator. Its goal is to identify when momentum shifts are happening in the market, filtering out noise that a single momentum tool might miss.
Why MSO?
Most traders rely on just one momentum indicator like RSI, MACD, or ROC. Each has strengths, but also weaknesses:
RSI → great for overbought/oversold, but often lags in strong trends.
ROC (Rate of Change) → captures price velocity, but can be too noisy.
MACD Histogram → shows trend strength shifts, but reacts slowly at times.
By blending all three (with adjustable weights), MSO gives a balanced view of momentum. It captures trend strength, velocity, and exhaustion in one oscillator.
How MSO Works
Inputs:
RSI, ROC, and MACD Histogram are calculated with user-defined lengths.
Each is normalized (so they share the same scale of -100 to +100).
You can set weights for RSI, ROC, and MACD to emphasize different components.
The components are blended into a single oscillator value.
Smoothing (SMA, EMA, or WMA) is applied.
MSO plots as a smooth line, color-coded by slope (green rising, red falling).
Overbought and oversold levels are plotted (default: +60 / -60).
A zero line helps identify bullish vs bearish momentum shifts.
How to trade with MSO
Zero line crossovers → crossing above zero suggests bullish momentum; crossing below zero suggests bearish momentum.
Overbought and oversold zones → values above +60 may indicate exhaustion in bullish moves; values below -60 may signal exhaustion in bearish moves.
Slope of the line → a rising line shows strengthening momentum, while a falling line signals fading momentum.
Divergences → if price makes new highs or lows but MSO does not, it can point to a possible reversal.
Why MSO is Unique
Combines trend + momentum + velocity into one view.
Filters noise better than standalone RSI/MACD.
Adapts to both trend-following and mean-reversion styles.
Can be used across any timeframe for confirmation.