Fibo & Gann Advanced Auto[CongTrader]🔍 Description:
"Fibo & Gann Advanced Auto by CongTrader" is a smart automatic indicator that combines Fibonacci Retracement & Extension levels with Gann Boxes and Fan lines, helping traders identify key support/resistance zones and potential turning points in the market.
This tool automatically detects recent swing highs/lows using pivots and overlays:
📏 Fibonacci Retracement & Extension (0.236 to 1.618)
🟪 Gann Box between 2 latest pivots
📐 Gann Fan Lines (1x1, 2x1, etc.)
🟢 Optional filtered Buy/Sell signals based on wave size and RSI
Designed for discretionary and technical traders who want a visual confirmation of price geometry and market structure.
📘 How to Use:
Apply to any chart & timeframe.
Adjust pivot sensitivity via “Pivot Length” input.
Look for confluence between Fib retracement/extension and Gann box edges for trade entries.
Gann fan lines help visualize trend angles or speed.
Combine with your own strategy for better confirmation (e.g., volume, candlestick pattern).
💡 Tip: Use in higher timeframes (H1, H4, D1) for cleaner and more reliable pivots.
🙏 Thanks:
Created with love and passion for the trading community by CongTrader.
If you find it helpful, please give a like or comment. Feedback is always appreciated!
⚠️ Disclaimer:
This script is for educational and informational purposes only.
It does not constitute financial advice and should not be used as a sole basis for trading decisions.
Always use proper risk management and perform your own analysis before entering any trade.
Trading involves risk, and past performance is not indicative of future results..#fibonacci #gann #gannbox #gannfan #elliottwave #marketstructure
#priceaction #autopivot #congtrader #tradingviewindicator
#technicalanalysis #tradingtools #forextrading #cryptoindicator
#tradingstrategy #tradingsetup #smartmoney #supportresistance
波動率
Adaptive ATR Stop Loss FinderPlots dynamic ATR-based stop levels with an automatically adjusting multiplier based on volatility. High/low stops and a live table display ATR×multiplier, helping swing and crypto traders protect profits and trail stops efficiently. Adjustable ATR length, smoothing, and colors.
Marcius Studio® - Trend Detector™Trend Detector™ — is an advanced trend detection indicator that combines statistical Z-Score analysis with a simplified ADF stationarity test .
It is designed to help traders identify strong directional moves while filtering out noise and false signals.
Unlike traditional moving average crossovers or momentum oscillators, this tool evaluates both trend direction and trend strength , giving you a clear visual overview of market conditions.
Important! This indicator is intended for educational and informational purposes . It does not guarantee future performance and should be used together with proper risk management.
Idea
Markets spend 70–80% of the time in consolidation and only 20–30% in trending phases . The key to profitable trading is spotting when a major trend shift begins. Trend Detector™ was built exactly for this purpose — to filter noise and highlight true trend reversals.
How It Works
Calculates the Z-Score of price to detect extreme deviations from the mean.
Applies a simplified ADF t-Statistic test to confirm trend validity.
Uses an ATR-based ribbon for clean visualization of bullish/bearish phases.
Generates Buy/Sell signals when trend switches are confirmed.
Displays an Info Panel with real-time metrics: Z-Score, ADF t-Stat, Trend Strength (0–100), ATR % of price.
Features
Trend Ribbon : visually highlights bullish, bearish, or neutral phases.
Confirmation Filter : avoids false flips by requiring multiple bars of validation.
Strength Score : quantifies how powerful the current trend is.
Signal Markers : “BUY” and “SELL” alerts appear directly on the chart.
Customizable Alerts : get notified when new uptrends or downtrends are detected.
Recommendations
Works well on swing trading timeframes (1H, 4H, Daily).
Use in combination with support/resistance zones or volume profile tools for higher accuracy.
The higher the Trend Strength Score , the more reliable the trend continuation.
Indicator Settings
Analysis Period : number of bars for Z-Score & ADF test.
ATR Length : used for ribbon visualization.
Min Bars to Confirm Trend : filters false trend flips.
Show/Hide options for Ribbon, Signals, and Info Panel.
Example Settings
Timeframe : 1H or 4H
Analysis Period : 20
ATR Length : 14
Min Confirmation Bars : 2–3
Disclaimer
Trading and investing involve risk — always do your own research (DYOR) and seek professional advice. We are not responsible for any financial losses.
엘리어트 파동 3의 3파//@version=5
indicator("Elliott Wave — 3 of 3 Detector (v5)", overlay=true, timeframe_gaps=true)
// === Inputs ===
pivotLen = input.int(5, "Pivot length (bars each side)", minval=2)
subPivotLen = input.int(3, "Sub-pivot length (internal waves)", minval=2)
retrMin = input.float(0.382, "Wave 2 retracement min", minval=0.1, maxval=0.9, step=0.001)
retrMax = input.float(0.786, "Wave 2 retracement max", minval=0.1, maxval=0.95, step=0.001)
subRetrMin = input.float(0.382, "Subwave 2 retracement min", minval=0.1, maxval=0.9, step=0.001)
subRetrMax = input.float(0.618, "Subwave 2 retracement max", minval=0.1, maxval=0.95, step=0.001)
useRSI = input.bool(true, "Require RSI > threshold")
rsiPeriod = input.int(14, "RSI period", minval=2)
rsiThresh = input.float(55.0, "RSI threshold", minval=40, maxval=70)
useMACD = input.bool(true, "Require MACD histogram > 0")
fastLen = input.int(12, "MACD fast EMA", minval=2)
slowLen = input.int(26, "MACD slow EMA", minval=2)
signalLen = input.int(9, "MACD signal", minval=1)
useEMAFilter = input.bool(true, "Require trend filter (EMA50 > EMA200)")
useVolFilter = input.bool(false, "Require volume > volume MA")
volMaLen = input.int(20, "Volume MA length", minval=1)
plotZigs = input.bool(true, "Plot swing lines")
showLabels = input.bool(true, "Show wave labels")
// === Helpers ===
rsi = ta.rsi(close, rsiPeriod)
macdLine = ta.ema(close, fastLen) - ta.ema(close, slowLen)
signal = ta.ema(macdLine, signalLen)
hist = macdLine - signal
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
volMa = ta.sma(volume, volMaLen)
bool momentumOK = (not useRSI or rsi > rsiThresh) and (not useMACD or hist > 0)
bool trendOK = (not useEMAFilter or ema50 > ema200)
bool volOK = (not useVolFilter or volume > volMa)
// === Swing detection (basic pivot-based zigzag) ===
var float pivPrice = array.new_float()
var int pivIndex = array.new_int()
var int pivType = array.new_int() // +1 = swing high, -1 = swing low
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
f_addPivot(_price, _index, _type) =>
// avoid duplicate consecutive types
if array.size(pivType) > 0 and array.get(pivType, array.size(pivType)-1) == _type
// replace last pivot if same type and is more extreme in same direction
lastPrice = array.get(pivPrice, array.size(pivPrice)-1)
replace = (_type == 1 and _price > lastPrice) or (_type == -1 and _price < lastPrice)
if replace
array.set(pivPrice, array.size(pivPrice)-1, _price)
array.set(pivIndex, array.size(pivIndex)-1, _index)
else
array.push(pivPrice, _price)
array.push(pivIndex, _index)
array.push(pivType, _type)
if not na(ph)
f_addPivot(ph, bar_index - pivotLen, 1)
if not na(pl)
f_addPivot(pl, bar_index - pivotLen, -1)
// Keep arrays from growing unbounded
maxKeep = 200
if array.size(pivPrice) > maxKeep
for _i = 0 to array.size(pivPrice) - maxKeep - 1
array.shift(pivPrice)
array.shift(pivIndex)
array.shift(pivType)
// === Utility to get recent Nth pivot from the end ===
getPrice(n) => array.get(pivPrice, array.size(pivPrice) - 1 - n)
getIndex(n) => array.get(pivIndex, array.size(pivIndex) - 1 - n)
getType(n) => array.get(pivType, array.size(pivType) - 1 - n)
haveAtLeast(n) => array.size(pivPrice) >= n
// === Identify bullish 1-2 structure ===
bool has12 = false
float L0 = na, H1 = na, L2 = na
int L0i = na, H1i = na, L2i = na
if haveAtLeast(3)
// We want last three alternating pivots to be: low (L0), high (H1), low (L2)
t0 = getType(2)
t1 = getType(1)
t2 = getType(0)
if t0 == -1 and t1 == 1 and t2 == -1
L0 := getPrice(2)
H1 := getPrice(1)
L2 := getPrice(0)
L0i := getIndex(2)
H1i := getIndex(1)
L2i := getIndex(0)
// Retracement check for wave 2
wave1 = H1 - L0
retr = wave1 != 0 ? (H1 - L2) / wave1 : na
has12 := wave1 > 0 and not na(retr) and retr >= retrMin and retr <= retrMax
// === Wave 3 start (break above H1) ===
bool wave3Start = has12 and close > H1 and bar_index > H1i
// === Internal subwave 1-2 inside wave 3 using tighter sub-pivots ===
// We'll compute a separate list of sub-pivots since L2 to now, using smaller length
var float spPrice = array.new_float()
var int spIndex = array.new_int()
var int spType = array.new_int()
sph = ta.pivothigh(high, subPivotLen, subPivotLen)
spl = ta.pivotlow(low, subPivotLen, subPivotLen)
f_addSubPivot(_price, _index, _type) =>
if array.size(spType) > 0 and array.get(spType, array.size(spType)-1) == _type
lastPrice = array.get(spPrice, array.size(spPrice)-1)
replace = (_type == 1 and _price > lastPrice) or (_type == -1 and _price < lastPrice)
if replace
array.set(spPrice, array.size(spPrice)-1, _price)
array.set(spIndex, array.size(spIndex)-1, _index)
else
array.push(spPrice, _price)
array.push(spIndex, _index)
array.push(spType, _type)
// Reset sub-pivots after L2 to only track internal wave structure of current move
var int lastL2iTracked = na
if not na(L2i)
if na(lastL2iTracked) or L2i != lastL2iTracked
array.clear(spPrice)
array.clear(spIndex)
array.clear(spType)
lastL2iTracked := L2i
if not na(sph) and (na(L2i) or (bar_index - subPivotLen) >= L2i)
f_addSubPivot(sph, bar_index - subPivotLen, 1)
if not na(spl) and (na(L2i) or (bar_index - subPivotLen) >= L2i)
f_addSubPivot(spl, bar_index - subPivotLen, -1)
// Find subwave 1-2 (sL0 -> sH1 -> sL2) after L2
bool hasSub12 = false
float sL0 = na, sH1 = na, sL2 = na
int sL0i = na, sH1i = na, sL2i = na
if array.size(spPrice) >= 3
st0 = array.get(spType, array.size(spType) - 3)
st1 = array.get(spType, array.size(spType) - 2)
st2 = array.get(spType, array.size(spType) - 1)
if st0 == -1 and st1 == 1 and st2 == -1
sL0 := array.get(spPrice, array.size(spPrice) - 3)
sH1 := array.get(spPrice, array.size(spPrice) - 2)
sL2 := array.get(spPrice, array.size(spPrice) - 1)
sL0i := array.get(spIndex, array.size(spIndex) - 3)
sH1i := array.get(spIndex, array.size(spIndex) - 2)
sL2i := array.get(spIndex, array.size(spIndex) - 1)
// Sub retracement check
sw1 = sH1 - sL0
sRetr = sw1 != 0 ? (sH1 - sL2) / sw1 : na
hasSub12 := sw1 > 0 and not na(sRetr) and sRetr >= subRetrMin and sRetr <= subRetrMax
// === 3 of 3 trigger ===
bool threeOfThree = wave3Start and hasSub12 and close > sH1 and bar_index > sH1i and momentumOK and trendOK and volOK
// === Plotting ===
color upCol = color.new(color.lime, 0)
color dnCol = color.new(color.red, 0)
color neutCol = color.new(color.gray, 60)
plotshape(threeOfThree, title="3 of 3 Buy Signal", style=shape.triangleup, location=location.belowbar, size=size.large, color=upCol, text="3/3")
// Mark the 1-2 and sub 1-2 swings
if showLabels and has12
label.new(H1i, H1, text="1", style=label.style_label_up, color=color.new(color.green, 0))
label.new(L2i, L2, text="2", style=label.style_label_down, color=color.new(color.orange, 0))
if showLabels and hasSub12
label.new(sH1i, sH1, text="(i)", style=label.style_label_up, color=color.new(color.green, 60))
label.new(sL2i, sL2, text="(ii)", style=label.style_label_down, color=color.new(color.orange, 60))
// Draw swing lines
f_plotZigzag() =>
if array.size(pivPrice) >= 2 and plotZigs
for i = 1 to 1
x1 = array.get(pivIndex, array.size(pivIndex) - 2)
y1 = array.get(pivPrice, array.size(pivPrice) - 2)
x2 = array.get(pivIndex, array.size(pivIndex) - 1)
y2 = array.get(pivPrice, array.size(pivPrice) - 1)
line.new(x1, y1, x2, y2, extend=extend.none, color=neutCol, width=1)
f_plotZigzag()
// Visual filters
plot(ema50, color=color.new(color.teal, 0), title="EMA50")
plot(ema200, color=color.new(color.blue, 0), title="EMA200")
bgcolor(threeOfThree ? color.new(color.lime, 85) : na)
// === Alerts ===
alertcondition(threeOfThree, title="3 of 3 long", message="3 of 3 long setup on {{ticker}} {{interval}} — price has broken above subwave (i) high with momentum.")
// === Notes ===
// Heuristic detector:
// 1) Find L0-H1-L2 with L2 retracing 38.2%–78.6% of wave 1.
// 2) Confirm wave 3 start when price breaks above H1.
// 3) Inside wave 3, find sub L0-H1-L2 using tighter sub-pivots with 38.2%–61.8% retracement.
// 4) Trigger 3 of 3 when price breaks above subwave (i) high with momentum/trend/volume filters.
// Tune pivotLen/subPivotLen and thresholds to match your instrument and timeframe.
Seasonality Monte Carlo Forecaster [BackQuant]Seasonality Monte Carlo Forecaster
Plain-English overview
This tool projects a cone of plausible future prices by combining two ideas that traders already use intuitively: seasonality and uncertainty. It watches how your market typically behaves around this calendar date, turns that seasonal tendency into a small daily “drift,” then runs many randomized price paths forward to estimate where price could land tomorrow, next week, or a month from now. The result is a probability cone with a clear expected path, plus optional overlays that show how past years tended to move from this point on the calendar. It is a planning tool, not a crystal ball: the goal is to quantify ranges and odds so you can size, place stops, set targets, and time entries with more realism.
What Monte Carlo is and why quants rely on it
• Definition . Monte Carlo simulation is a way to answer “what might happen next?” when there is randomness in the system. Instead of producing a single forecast, it generates thousands of alternate futures by repeatedly sampling random shocks and adding them to a model of how prices evolve.
• Why it is used . Markets are noisy. A single point forecast hides risk. Monte Carlo gives a distribution of outcomes so you can reason in probabilities: the median path, the 68% band, the 95% band, tail risks, and the chance of hitting a specific level within a horizon.
• Core strengths in quant finance .
– Path-dependent questions : “What is the probability we touch a stop before a target?” “What is the expected drawdown on the way to my objective?”
– Pricing and risk : Useful for path-dependent options, Value-at-Risk (VaR), expected shortfall (CVaR), stress paths, and scenario analysis when closed-form formulas are unrealistic.
– Planning under uncertainty : Portfolio construction and rebalancing rules can be tested against a cloud of plausible futures rather than a single guess.
• Why it fits trading workflows . It turns gut feel like “seasonality is supportive here” into quantitative ranges: “median path suggests +X% with a 68% band of ±Y%; stop at Z has only ~16% odds of being tagged in N days.”
How this indicator builds its probability cone
1) Seasonal pattern discovery
The script builds two day-of-year maps as new data arrives:
• A return map where each calendar day stores an exponentially smoothed average of that day’s log return (yesterday→today). The smoothing (90% old, 10% new) behaves like an EWMA, letting older seasons matter while adapting to new information.
• A volatility map that tracks the typical absolute return for the same calendar day.
It calculates the day-of-year carefully (with leap-year adjustment) and indexes into a 365-slot seasonal array so “March 18” is compared with past March 18ths. This becomes the seasonal bias that gently nudges simulations up or down on each forecast day.
2) Choice of randomness engine
You can pick how the future shocks are generated:
• Daily mode uses a Gaussian draw with the seasonal bias as the mean and a volatility that comes from realized returns, scaled down to avoid over-fitting. It relies on the Box–Muller transform internally to turn two uniform random numbers into one normal shock.
• Weekly mode uses bootstrap sampling from the seasonal return history (resampling actual historical daily drifts and then blending in a fraction of the seasonal bias). Bootstrapping is robust when the empirical distribution has asymmetry or fatter tails than a normal distribution.
Both modes seed their random draws deterministically per path and day, which makes plots reproducible bar-to-bar and avoids flickering bands.
3) Volatility scaling to current conditions
Markets do not always live in average volatility. The engine computes a simple volatility factor from ATR(20)/price and scales the simulated shocks up or down within sensible bounds (clamped between 0.5× and 2.0×). When the current regime is quiet, the cone narrows; when ranges expand, the cone widens. This prevents the classic mistake of projecting calm markets into a storm or vice versa.
4) Many futures, summarized by percentiles
The model generates a matrix of price paths (capped at 100 runs for performance inside TradingView), each path stepping forward for your selected horizon. For each forecast day it sorts the simulated prices and pulls key percentiles:
• 5th and 95th → approximate 95% band (outer cone).
• 16th and 84th → approximate 68% band (inner cone).
• 50th → the median or “expected path.”
These are drawn as polylines so you can immediately see central tendency and dispersion.
5) A historical overlay (optional)
Turn on the overlay to sketch a dotted path of what a purely seasonal projection would look like for the next ~30 days using only the return map, no randomness. This is not a forecast; it is a visual reminder of the seasonal drift you are biasing toward.
Inputs you control and how to think about them
Monte Carlo Simulation
• Price Series for Calculation . The source series, typically close.
• Enable Probability Forecasts . Master switch for simulation and drawing.
• Simulation Iterations . Requested number of paths to run. Internally capped at 100 to protect performance, which is generally enough to estimate the percentiles for a trading chart. If you need ultra-smooth bands, shorten the horizon.
• Forecast Days Ahead . The length of the cone. Longer horizons dilute seasonal signal and widen uncertainty.
• Probability Bands . Draw all bands, just 95%, just 68%, or a custom level (display logic remains 68/95 internally; the custom number is for labeling and color choice).
• Pattern Resolution . Daily leans on day-of-year effects like “turn-of-month” or holiday patterns. Weekly biases toward day-of-week tendencies and bootstraps from history.
• Volatility Scaling . On by default so the cone respects today’s range context.
Plotting & UI
• Probability Cone . Plots the outer and inner percentile envelopes.
• Expected Path . Plots the median line through the cone.
• Historical Overlay . Dotted seasonal-only projection for context.
• Band Transparency/Colors . Customize primary (outer) and secondary (inner) band colors and the mean path color. Use higher transparency for cleaner charts.
What appears on your chart
• A cone starting at the most recent bar, fanning outward. The outer lines are the ~95% band; the inner lines are the ~68% band.
• A median path (default blue) running through the center of the cone.
• An info panel on the final historical bar that summarizes simulation count, forecast days, number of seasonal patterns learned, the current day-of-year, expected percentage return to the median, and the approximate 95% half-range in percent.
• Optional historical seasonal path drawn as dotted segments for the next 30 bars.
How to use it in trading
1) Position sizing and stop logic
The cone translates “volatility plus seasonality” into distances.
• Put stops outside the inner band if you want only ~16% odds of a stop-out due to noise before your thesis can play.
• Size positions so that a test of the inner band is survivable and a test of the outer band is rare but acceptable.
• If your target sits inside the 68% band at your horizon, the payoff is likely modest; outside the 68% but inside the 95% can justify “one-good-push” trades; beyond the 95% band is a low-probability flyer—consider scaling plans or optionality.
2) Entry timing with seasonal bias
When the median path slopes up from this calendar date and the cone is relatively narrow, a pullback toward the lower inner band can be a high-quality entry with a tight invalidation. If the median slopes down, fade rallies toward the upper band or step aside if it clashes with your system.
3) Target selection
Project your time horizon to N bars ahead, then pick targets around the median or the opposite inner band depending on your style. You can also anchor dynamic take-profits to the moving median as new bars arrive.
4) Scenario planning & “what-ifs”
Before events, glance at the cone: if the 95% band already spans a huge range, trade smaller, expect whips, and avoid placing stops at obvious band edges. If the cone is unusually tight, consider breakout tactics and be ready to add if volatility expands beyond the inner band with follow-through.
5) Options and vol tactics
• When the cone is tight : Prefer long gamma structures (debit spreads) only if you expect a regime shift; otherwise premium selling may dominate.
• When the cone is wide : Debit structures benefit from range; credit spreads need wider wings or smaller size. Align with your separate IV metrics.
Reading the probability cone like a pro
• Cone slope = seasonal drift. Upward slope means the calendar has historically favored positive drift from this date, downward slope the opposite.
• Cone width = regime volatility. A widening fan tells you that uncertainty grows fast; a narrow cone says the market typically stays contained.
• Mean vs. price gap . If spot trades well above the median path and the upper band, mean-reversion risk is high. If spot presses the lower inner band in an up-sloping cone, you are in the “buy fear” zone.
• Touches and pierces . Touching the inner band is common noise; piercing it with momentum signals potential regime change; the outer band should be rare and often brings snap-backs unless there is a structural catalyst.
Methodological notes (what the code actually does)
• Log returns are used for additivity and better statistical behavior: sim_ret is applied via exp(sim_ret) to evolve price.
• Seasonal arrays are updated online with EWMA (90/10) so the model keeps learning as each bar arrives.
• Leap years are handled; indexing still normalizes into a 365-slot map so the seasonal pattern remains stable.
• Gaussian engine (Daily mode) centers shocks on the seasonal bias with a conservative standard deviation.
• Bootstrap engine (Weekly mode) resamples from observed seasonal returns and adds a fraction of the bias, which captures skew and fat tails better.
• Volatility adjustment multiplies each daily shock by a factor derived from ATR(20)/price, clamped between 0.5 and 2.0 to avoid extreme cones.
• Performance guardrails : simulations are capped at 100 paths; the probability cone uses polylines (no heavy fills) and only draws on the last confirmed bar to keep charts responsive.
• Prerequisite data : at least ~30 seasonal entries are required before the model will draw a cone; otherwise it waits for more history.
Strengths and limitations
• Strengths :
– Probabilistic thinking replaces single-point guessing.
– Seasonality adds a small but meaningful directional bias that many markets exhibit.
– Volatility scaling adapts to the current regime so the cone stays realistic.
• Limitations :
– Seasonality can break around structural changes, policy shifts, or one-off events.
– The number of paths is performance-limited; percentile estimates are good for trading, not for academic precision.
– The model assumes tomorrow’s randomness resembles recent randomness; if regime shifts violently, the cone will lag until the EWMA adapts.
– Holidays and missing sessions can thin the seasonal sample for some assets; be cautious with very short histories.
Tuning guide
• Horizon : 10–20 bars for tactical trades; 30+ for swing planning when you care more about broad ranges than precise targets.
• Iterations : The default 100 is enough for stable 5/16/50/84/95 percentiles. If you crave smoother lines, shorten the horizon or run on higher timeframes.
• Daily vs. Weekly : Daily for equities and crypto where month-end and turn-of-month effects matter; Weekly for futures and FX where day-of-week behavior is strong.
• Volatility scaling : Keep it on. Turn off only when you intentionally want a “pure seasonality” cone unaffected by current turbulence.
Workflow examples
• Swing continuation : Cone slopes up, price pulls into the lower inner band, your system fires. Enter near the band, stop just outside the outer line for the next 3–5 bars, target near the median or the opposite inner band.
• Fade extremes : Cone is flat or down, price gaps to the upper outer band on news, then stalls. Favor mean-reversion toward the median, size small if volatility scaling is elevated.
• Event play : Before CPI or earnings on a proxy index, check cone width. If the inner band is already wide, cut size or prefer options structures that benefit from range.
Good habits
• Pair the cone with your entry engine (breakout, pullback, order flow). Let Monte Carlo do range math; let your system do signal quality.
• Do not anchor blindly to the median; recalc after each bar. When the cone’s slope flips or width jumps, the plan should adapt.
• Validate seasonality for your symbol and timeframe; not every market has strong calendar effects.
Summary
The Seasonality Monte Carlo Forecaster wraps institutional risk planning into a single overlay: a data-driven seasonal drift, realistic volatility scaling, and a probabilistic cone that answers “where could we be, with what odds?” within your trading horizon. Use it to place stops where randomness is less likely to take you out, to set targets aligned with realistic travel, and to size positions with confidence born from distributions rather than hunches. It will not predict the future, but it will keep your decisions anchored to probabilities—the language markets actually speak.
ICT + ORB + VIXFix Confluence Signals (Panel)What it is
ICT + ORB + VIXFix Confluence Signals (Panel) is a signal-only Pine v5 indicator that prints clean BUY/SELL arrows when multiple filters align:
ICT structure: BOS / liquidity sweeps + 3-candle FVG with minimum size by ATR
Trend filter: EMA 50 vs EMA 200
ORB filter: opening-range breakout (custom session + minutes)
VIXFix filter: CM_Williams_VIX_Fix–style volatility spike (incl. inverted top)
Status panel: shows which filters are passing and why a signal didn’t fire
No orders are placed; it’s meant to identify trades and trigger alerts.
How signals are built (picky by design)
A BUY arrow paints when all enabled conditions are true:
Trend: EMA50 > EMA200 (or disabled)
ICT: BOS/sweep and bullish FVG (if enabled)
ORB: price breaks above ORB high after the ORB window closes (if enabled)
VIXFix: recent bottom spike within VIX_Lookback bars (if enabled)
A SELL arrow mirrors the above (downtrend, bearish FVG, break below ORB low, recent top spike).
Tip: Leave “Confirm Close Only” on for cleaner signals and fewer repaint-like artifacts.
Inputs (quick reference)
Use Trend (EMA 50/200): require higher-timeframe trend alignment
Use FVG / Use Sweep/BOS: ICT structure filters
SwingLen: pivot left/right length for swings (structure sensitivity)
MinFVG_ATR: minimum FVG size as a fraction of ATR (e.g., 0.20 = 20% ATR)
Session / ORB_Min / Plot_ORB: first N minutes after session open define the range
VIX_LB, VIX_BBLen, VIX_Mult, VIX_Lookback: VIXFix parameters (spike threshold + validity)
Confirm Close Only: only signal at bar close (recommended)
Show Status Panel: compact checklist explaining current filter states
Alerts
Create alerts on this indicator using “Once per bar close” (recommended) and these built-in conditions:
BUY Signal → message: ICT ORB VIXFix BUY
SELL Signal → message: ICT ORB VIXFix SELL
Recommended starting presets
NQ1! / ES1! (US session), intraday 1–5m
Confirm Close Only: ON
Use Trend: ON
Use FVG + Use Sweep/BOS: ON
SwingLen: 3–5
MinFVG_ATR: 0.20–0.30
Session: 0930–1600 (exchange time)
ORB_Min: 10–15
VIXFix: ON, VIX_Lookback 10–20
If you see too few signals, loosen MinFVG_ATR (e.g., 0.10) or temporarily turn off the VIXFix and ORB filters, then re-enable them.
What the panel tells you
Trend (UP/DN): EMA relationship
ICT Long/Short: whether structure/FVG requirements pass for each side
ORB Ready / Long/Short: whether the ORB window is complete and which side broke
VIX Long/Short: recent bottom/top spike validity
Signals: BUY/SELL computed this bar
Why none: quick text reason (trend / ict / orb / vix) if no signal
Notes & attribution
VIXFix is a re-implementation of the CM_Williams_VIX_Fix concept (plus inverted top).
ORB logic uses your chosen session; if your market differs, adjust Session or test on SPY/ES1!/NQ1!.
This is an indicator, not financial advice. Always validate on your instruments/timeframes.
Changelog
v1.0 – Initial release: ICT structure + FVG size by ATR, ORB breakout filter, VIXFix spike filter, trend filter, alerts, and status panel.
Tags
ICT, FVG, ORB, VIX, VIXFix, volatility, structure, BOS, sweep, breakout, EMA, futures, indices, NQ, ES, SPY, day trading, confluence, signals
Bar Risk with Stop Spread – by G.I.N.e TradingThis indicator calculates the potential risk of each individual bar, taking into account the candle’s direction and an adjustable stop spread.
For green (long) candles:
Risk = (Close − Low) + Spread
For red (short) candles:
Risk = (High − Close) + Spread (or (Close − High) if “Original Sign” mode is enabled)
The spread can be specified in price units or ticks, making the tool adaptable to any market instrument.
The result is displayed as a column-style histogram in a separate pane:
Teal bars indicate long-bar risk
Red bars indicate short-bar risk
Optional mode to show both long and short streams separately
Optional label on the last bar showing the most recent calculated risk value
Purpose:
This tool allows traders to quickly assess the “stop distance” risk per bar, including custom spread adjustments, for precise position sizing and money management.
PLAIN VAMSThe PLAIN VAMS (Volatility-Adjusted Momentum Score) is a visual tool designed to help traders identify momentum shifts relative to prevailing volatility conditions. Unlike traditional momentum indicators, VAMS adapts dynamically to price fluctuations by comparing current price levels to volatility-based boundaries derived from customizable moving averages.
Key Features:
- Volatility-Adjusted Zones: Prices are evaluated against upper and lower dynamic boundaries, signaling potential overbought or oversold momentum conditions.
Two Modes:
- PLAIN VAMS (default): Uses a longer lookback period for smoother, trend-following behavior.
- RAW VAMS: A shorter lookback for high-sensitivity, intraday or scalping setups.
Customizable Moving Averages:
Choose from multiple MA types (EMA, SMA, WMA, etc.) to match your strategy preferences.
Visual Clarity:
- Color-coded candles for quick signal recognition.
- Optional background shading for immediate context.
- Boundary lines to define momentum thresholds.
How It Works:
The script calculates a moving average (based on user-selected type and period) and applies an upper and lower multiplier to create dynamic price boundaries. When price closes beyond these bands, it suggests a strong directional momentum move. The indicator is fully customizable to adapt to your trading style and timeframe.
Use Cases:
- Identify potential breakouts or trend continuations.
- Filter entries/exits based on momentum strength.
- Combine with other tools for confirmation in your strategy.
This indicator does not repaint or use future-looking data. It’s designed for discretionary and systematic traders looking for an adaptive way to visualize momentum relative to market volatility.
Multi-Timeframe Bias Dashboard + VolatilityWhat it is: A corner table (overlay) that gives a quick higher-timeframe read for Daily / 4H / 1H using EMA alignment, MACD, RSI, plus a volatility gauge.
How it works (per timeframe):
EMA block (50/100/200): “Above/Below/Mixed” based on price vs all three EMAs.
MACD: “Bullish/Bearish/Neutral” from MACD line vs Signal and histogram sign.
RSI: Prints the value and an ↑/↓ based on 50 line.
Volatility: Compares ATR(14) to its SMA over 20 bars → High (>*1.2), Normal, Low (<*0.8).
Bias: Combines three votes (EMA, MACD, RSI):
Bullish if ≥2 bullish, Bearish if ≥2 bearish, else Mixed.
Display:
Rows: D / 4H / 1H.
Columns: Bias, EMA(50/100/200), RSI, MACD, Volatility.
Bias cell is color-coded (green/red/gray).
Position setting lets you park the table in Top Right / Bottom Right / Bottom Left (works on mobile too).
Use it for:
Quickly aligning intraday setups with higher-TF direction.
Skipping low-volatility periods.
Confirming momentum (MACD/RSI) when price returns to your OB/FVG zones.
Live NY Session Movement (points)//@version=5
indicator("Live NY Session Movement (points)", overlay=true)
// --- Inputs ---
nySession = input.session("0830-1700", "NY Session (local NY time)")
nyTimezone = input.string("America/New_York", "Session Timezone")
showShade = input.bool(true, "Shade NY Session")
// --- In-session detection (per-bar) ---
inNy = not na(time(timeframe.period, nySession, nyTimezone))
// --- Track session H/L and live movement ---
var float sessHigh = na
var float sessLow = na
var label liveLab = na
var bool wasIn = false
// session edge flags
justStarted = inNy and not wasIn
justEnded = not inNy and wasIn
wasIn := inNy
if justStarted
sessHigh := high
sessLow := low
if inNy
sessHigh := na(sessHigh) ? high : math.max(sessHigh, high)
sessLow := na(sessLow) ? low : math.min(sessLow, low)
movePts = sessHigh - sessLow
// create once, then update in place each bar
if na(liveLab)
liveLab := label.new(bar_index, high, "NY Move: " + str.tostring(movePts, format.mintick), style=label.style_label_down, textcolor=color.white, color=color.new(color.blue, 0), size=size.small)
label.set_x(liveLab, bar_index)
label.set_y(liveLab, high)
label.set_text(liveLab, "NY Move: " + str.tostring(movePts, format.mintick))
else
// clean up at end of session
sessHigh := na
sessLow := na
if not na(liveLab)
label.delete(liveLab)
liveLab := na
// Optional: shade the session so you can see it clearly
bgcolor(showShade and inNy ? color.new(color.blue, 92) : na)
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! 🚀
Average True Range %The ATR% oscillator measures market volatility as a percentage of the closing price, smooths it using a chosen method (RMA, SMA, EMA, or WMA), and compares it to the threshold levels of 0.95% and 1.20%.
Calm before the StormCalm before the Storm - Bollinger Bands Volatility Indicator
What It Does
This indicator identifies and highlights periods of extremely low market volatility by analyzing Bollinger Bands distance. It uses percentile-based analysis to find the "quietest" market periods and highlights them with a gradient background, operating on the premise that low volatility periods often precede significant price movements.
How It Works
Volatility Measurement: Calculates the distance between Bollinger Bands upper and lower boundaries
Percentile Analysis: Analyzes the lowest X% of volatility periods over a configurable lookback period (default: lowest 40% over 200 bars)
Visual Highlighting: Uses gradient opacity to show volatility levels - the lower the volatility, the more opaque the background highlighting
Adaptive Threshold: Automatically calculates what constitutes "low volatility" based on recent market conditions
Who Should Use It
Primary Users:
Breakout Traders: Looking for consolidation periods that may precede significant moves
Options Traders: Seeking low implied volatility periods before volatility expansion
Swing Traders: Identifying accumulation/distribution phases before trend continuation or reversal
Range Traders: Spotting tight trading ranges for mean reversion strategies
Trading Styles:
Volatility-based strategies
Breakout and momentum trading
Options strategies (volatility plays)
Market timing approaches
When to Use It
Market Conditions:
Consolidation Phases: When price is moving sideways with decreasing volatility
Pre-Announcement Periods: Before earnings, economic data, or major events
Market Transitions: During shifts between trending and ranging markets
Low Volume Periods: When institutional participation is reduced
Strategic Applications:
Entry Timing: Wait for volatility compression before positioning for breakouts
Risk Management: Reduce position sizes during highlighted periods (anticipating volatility expansion)
Options Strategy: Sell premium during low volatility, buy during expansion
Multi-Timeframe Analysis: Combine with higher timeframe trends for confluence
Key Benefits
Objective Volatility Measurement: Removes subjectivity from identifying "quiet" markets
Adaptive Analysis: Automatically adjusts to current market conditions
Visual Clarity: Easy-to-interpret gradient highlighting
Customizable Sensitivity: Adjustable percentile thresholds for different trading styles
Best Used In Combination With:
Trend analysis tools
Support/resistance levels
Volume indicators
Momentum oscillators
This indicator is particularly valuable for traders who understand that periods of low volatility are often followed by periods of high volatility, allowing them to position ahead of potential significant price movements.
Pips Promedio 20 días - AutoEste indicador muestra la media diaria que mueve un par en pips en los ultimos 20 dias .
Chicago 17:00-19:00 Overnight RangeThis indicator will map out range high and range low of previous 17:00 - 19:00 of the chart. It can also display mid range if needed
Opening Range — Chicago 17:00-19:00 (Customizable)Maps opening 2 hour range of Chicago timezone with the range high range low and medium zone. It can be customized to fit your needs
Enhanced Circle CandlestickEnhanced Circle Candlestick
This script transforms standard candlesticks into circles, visualizing momentum, volume, and volatility in a unique way. The size and color of the circles change based on the body size of the candlestick, while a change in color signifies a volume spike. Long wicks are also highlighted, providing a quick visual cue for potential reversals or indecision.
Features
Circle Visualization: Replaces the standard candlestick body with a circle. The size of the circle is determined by the size of the candlestick body, making it easy to spot periods of high momentum.Gradient Color: The circle's opacity changes based on the body size. Smaller bodies have a lighter color, while larger, more powerful bodies have a darker, more vivid color. This visual gradient provides a clear indication of a bar's strength.Volume Spike Highlight: The circle's color will change to a bright yellow when the current volume exceeds the average volume by a user-defined factor, indicating a significant influx of buying or selling pressure.Long Wick Markers: The script draws a small triangle above or below the candlestick when a wick's length surpasses a user-defined percentage of the body's size. This helps identify potential exhaustion, rejection, or indecision in the market.
Settings
Bullish/Bearish Color: Customize the base colors for bullish (green) and bearish (red) circles.Volume Spike Color: Choose the color for the circle when a volume spike occurs.Volume Spike Factor: Set the multiplier for the volume spike detection. For example, a value of 2.0 means a volume spike is detected when the current volume is twice the 20-period moving average.Circle Opacity (0-100): Adjust the base transparency of the circles. Lower numbers result in more opaque (solid) colors.Opacity Factor: Controls how quickly the color gradient changes based on the body size. A higher value makes the color change more dramatic.Wick Length Factor (vs Body): Set the threshold for marking long wicks. A value of 0.8 means a wick is marked if its length is 80% or more of the candlestick body's size.
How to Use
Add this indicator to your chart.Open the Chart Settings.In the "Symbol" tab, set the transparency of the candlestick "Body" to 0%. (This step is essential because the indicator's settings will not be applied when the indicator is not selected, and the default platform settings take precedence.)
I do not speak English at all. Please understand that if you send me a message, I may not be able to reply, or my reply may have a different meaning. Thank you for your understanding.
Weekly Expected Move (Daily Chart)This Indicator plots the Weekly Expected Move with selectable Historical Volatility or user entered IV for Weekly IV (This can be found on Option Chain of a trading platform). This Indicator should be used on Daily Charts.
EEI Strategy — Greedy/Guarded v1.2Purpose
Day‑trading strategy (5‑min focus) that hunts “armed” setups (PRE) and confirms them (GO) with greedy-but‑guarded execution. It adapts to symbol type, trend strength, and how long it’s been since the last signal.
Core signals & regime
Trend/Regime: EMA‑200 (intraday bias), VWAP, and a non‑repainting HTF EMA (via request.security(...) ).
Momentum/Structure: Manual Wilder DMI/ADX, micro‑ribbon (EMA 8/21), Bollinger‑Keltner squeeze + “squeeze fire,” BOS (break of swing high/low), pullback to band.
Liquidity/Vol: RVOL vs SMA(volume) + a latch (keeps eligibility a few bars after the first spike).
Volatility: ATR + ATR EMA (expansion).
PRE / GO engine
Score (0–100) aggregates trend, momentum, RVOL, squeeze, OBV slope, ribbon, pullback, BOS, and an Opening‑Range (OR) proximity penalty.
PRE arms when the adjusted score ≥ threshold and basic hygiene passes (ATR%, cooldown, etc.).
GO confirms within a dynamic window (1–3 bars):
Wick‑break mode on hot momentum (trend‑day / high ADX+RVOL): stop orders above/below the PRE high/low with a tick buffer.
Close‑through mode otherwise: close must push through PRE high/low plus ATR buffer.
Chase guard: entry cannot be too far from PRE price (ATR‑based), with a tiny extra allowance when the 8/21 ribbon aligns.
Multiple PREs per squeeze (capped) + per‑entry cooldown.
Adaptive behavior
Presets (Conservative/Balanced/Aggressive/Turbo) shift score/ADX/RVOL/ATR gates, GO window, cooldown, and max chase.
Profiles / Auto by Symbol:
Mega Trend (e.g., AMD/NVDA/TSLA/AAPL): looser chase, ATR stop, chandelier trail.
Mid Guarded (e.g., TTD/COIN/SOFI): swing stop, EMA trail, moderate gates.
Small Safe (e.g., BTAI/BBAI class): tighter gates, more guardrails.
BBAI micro‑override: easier arming (lower score/ADX/RVOL), multi‑PRE=3, swing stop + EMA trail, lighter OR penalty.
Trend‑day detector: if ADX hot + RVOL strong + ATR expanding + distance from day‑open large → GO window = 1 and wick‑break mode.
Mid‑day relaxers: mild score bonus between 10:30–14:30 to keep signals flowing in quieter tape.
Auto‑Relaxer (no‑signal fallback): after N bars without PRE/GO, gradually lowers score/ADX/RVOL/ATR% gates and raises max chase so the engine doesn’t stall on sleepy symbols.
Auto‑Session fallback: if RTH session isn’t detected (some tickers/premarket), it falls back to daily boundaries so Opening Range and day‑open logic still work.
Risk & exits
Initial stop per side chosen by ATR, Swing, or OR (computed every bar; no conditional calls).
Scaled targets: TP1/TP2 (R‑based) + runner with optional Chandelier or EMA trailing.
BE logic: optional move to breakeven after TP1; trailing can start after TP1 if configured.
Opening Range (OR)
Computes day open, OR high/low over configurable minutes; applies a penalty when entries are too close to OR boundary (lighter for small caps/BBAI). Protects against boundary whips.
Alerts & visuals
Alertconditions: PRE Long/Short Armed, GO Long/Short + explicit alert() calls for once‑per‑bar automation.
Plots: EMA‑200, HTF EMA, BB/KC bands, OR lines, squeeze shading, and PRE markers.
Why it’s robust
Non‑repainting HTF technique, all series precomputed every bar, no function calls hidden in conditionals that could break history dependence, and consistent state handling (var + sentinels).
Tuning cheat‑sheet (fast wins)
More trades: lower scoreBase, adxHot, or rvolMinBase a notch; reduce cooldownBase; increase maxPREperSqueeze.
Fewer whips: increase closeBufferATR, wickBufferTicks, or atrMinPct; reduce maxChaseATRBase.
Trend capture: use trailType="Chandelier", smaller trailLen, slightly larger trailMult; set preset="Aggressive".
Choppy names: prefer stopMode="Swing", enable EMA trail, keep OR penalty on.
New RSI📌 New RSI
The New RSI is a modern, enhanced version of the classic RSI created in 1978 — redesigned for today’s fast-moving markets, where algorithmic trading and AI dominate price action.
This indicator combines:
Adaptive RSI: Adjusts its calculation length in real time based on market volatility, making it more responsive during high volatility and smoother during calm periods.
Dynamic Bands: Upper and lower bands calculated from historical RSI volatility, helping you spot overbought/oversold conditions with greater accuracy.
Trend & Regime Filters: EMA and ADX-based detection to confirm signals only in favorable market conditions.
Volume Confirmation: Signals appear only when high trading volume supports the move — green volume for bullish setups and red volume for bearish setups — filtering out weak and unreliable trades.
💡 How it works:
A LONG signal appears when RSI crosses above the lower band and the volume is high with a bullish candle.
A SHORT signal appears when RSI crosses below the upper band and the volume is high with a bearish candle.
Trend and higher timeframe filters (optional) can help improve precision and adapt to different trading styles.
✅ Best Use Cases:
Identify high-probability reversals or pullbacks with strong momentum confirmation.
Avoid false signals by trading only when volume validates the move.
Combine with your own support/resistance or price action strategy for even higher accuracy.
⚙️ Fully Customizable:
Adjustable RSI settings (length, volatility adaptation, smoothing)
Dynamic band sensitivity
Volume threshold multiplier
Higher timeframe RSI filter
Color-coded background for market regime visualization
This is not just another RSI — it’s a complete, next-gen momentum tool designed for traders who want accuracy, adaptability, and confirmation in every signal.
Heiken Ashi + Ichimoku Baseline ScalperHi
This a trend identification strategy. You can hold your trade as long as the signals are in your favor.
Information-Geometric Market DynamicsInformation-Geometric Market Dynamics
The Information Field: A Geometric Approach to Market Dynamics
By: DskyzInvestments
Foreword: Beyond the Shadows on the Wall
If you have traded for any length of time, you know " the feeling ." It is the frustration of a perfect setup that fails, the whipsaw that stops you out just before the real move, the nagging sense that the chart is telling you only half the story. For decades, technical analysis has relied on interpreting the shadows—the patterns left behind by price. We draw lines on these shadows, apply indicators to them, and hope they reveal the future.
But what if we could stop looking at the shadows and, instead, analyze the object casting them?
This script introduces a new paradigm for market analysis: Information-Geometric Market Dynamics (IGMD) . The core premise of IGMD is that the price chart is merely a one-dimensional projection of a much richer, higher-dimensional reality—an " information field " generated by the collective actions and beliefs of all market participants.
This is not just another collection of indicators. It is a unified framework for measuring the geometry of the market's information field—its memory, its complexity, its uncertainty, its causal flows—and making high-probability decisions based on that deeper reality. By fusing advanced mathematical and informational concepts, IGMD provides a multi-faceted lens through which to view market behavior, moving beyond simple price action into the very structure of market information itself.
Prepare to move beyond the flatland of the price chart. Welcome to the information field.
The IGMD Framework: A Multi-Kernel Approach
What is a Kernel? The Heart of Transformation
In mathematics and data science, a kernel is a powerful and elegant concept. At its core, a kernel is a function that takes complex, often inscrutable data and transforms it into a more useful format. Think of it as a specialized lens or a mathematical "probe." You cannot directly measure abstract concepts like "market memory" or "trend quality" by looking at a price number. First, you must process the raw price data through a specific mathematical machine—a kernel—that is designed to output a measurement of that specific property. Kernels operate by performing a sort of "similarity test," projecting data into a higher-dimensional space where hidden patterns and relationships become visible and measurable.
Why do creators use them? We use kernels to extract features —meaningful pieces of information—that are not explicitly present in the raw data. They are the essential tools for moving beyond surface-level analysis into the very DNA of market behavior. A simple moving average can tell you the average price; a suite of well-chosen kernels can tell you about the character of the price action itself.
The Alchemist's Challenge: The Art of Fusion
Using a single kernel is a challenge. Using five distinct, computationally demanding mathematical engines in unison is an immense undertaking. The true difficulty—and artistry—lies not just in using one kernel, but in fusing the outputs of many . Each kernel provides a different perspective, and they can often give conflicting signals. One kernel might detect a strong trend, while another signals rising chaos and uncertainty. The IGMD script's greatest strength is its ability to act as this alchemist, synthesizing these disparate viewpoints through a weighted fusion process to produce a single, coherent picture of the market's state. It required countless hours of testing and calibration to balance the influence of these five distinct analytical engines so they work in harmony rather than cacophony.
The Five Kernels of Market Dynamics
The IGMD script is built upon a foundation of five distinct kernels, each chosen to probe a unique and critical dimension of the market's information field.
1. The Wavelet Kernel (The "Microscope")
What it is: The Wavelet Kernel is a signal processing function designed to decompose a signal into different frequency scales. Unlike a Fourier Transform that analyzes the entire signal at once, the wavelet slides across the data, providing information about both what frequencies are present and when they occurred.
The Kernels I Use:
Haar Kernel: The simplest wavelet, a square-wave shape defined by the coefficients . It excels at detecting sharp, sudden changes.
Daubechies 2 (db2) Kernel: A more complex and smoother wavelet shape that provides a better balance for analyzing the nuanced ebb and flow of typical market trends.
How it Works in the Script: This kernel is applied iteratively. It first separates the finest "noise" (detail d1) from the first level of trend (approximation a1). It then takes the trend a1 and repeats the process, extracting the next level of cycle (d2) and trend (a2), and so on. This hierarchical decomposition allows us to separate short-term noise from the long-term market "thesis."
2. The Hurst Exponent Kernel (The "Memory Gauge")
What it is: The Hurst Exponent is derived from a statistical analysis kernel that measures the "long-term memory" or persistence of a time series. It is the definitive measure of whether a series is trending (H > 0.5), mean-reverting (H < 0.5), or random (H = 0.5).
How it Works in the Script: The script employs a method based on Rescaled Range (R/S) analysis. It calculates the average range of price movements over increasingly larger time lags (m1, m2, m4, m8...). The slope of the line plotting log(range) vs. log(lag) is the Hurst Exponent. Applying this complex statistical analysis not to the raw price, but to the clean, wavelet-decomposed trend lines, is a key innovation of IGMD.
3. The Fractal Dimension Kernel (The "Complexity Compass")
What it is: This kernel measures the geometric complexity or "jaggedness" of a price path, based on the principles of fractal geometry. A straight line has a dimension of 1; a chaotic, space-filling line approaches a dimension of 2.
How it Works in the Script: We use a version based on Ehlers' Fractal Dimension Index (FDI). It calculates the rate of price change over a full lookback period (N3) and compares it to the sum of the rates of change over the two halves of that period (N1 + N2). The formula d = (log(N1 + N2) - log(N3)) / log(2) quantifies how much "longer" and more convoluted the price path was than a simple straight line. This kernel is our primary filter for tradeable (low complexity) vs. untradeable (high complexity) conditions.
4. The Shannon Entropy Kernel (The "Uncertainty Meter")
What it is: This kernel comes from Information Theory and provides the purest mathematical measure of information, surprise, or uncertainty within a system. It is not a measure of volatility; a market moving predictably up by 10 points every bar has high volatility but zero entropy .
How it Works in the Script: The script normalizes price returns by the ATR, categorizes them into a discrete number of "bins" over a lookback window, and forms a probability distribution. The Shannon Entropy H = -Σ(p_i * log(p_i)) is calculated from this distribution. A low H means returns are predictable. A high H means returns are chaotic. This kernel is our ultimate gauge of market conviction.
5. The Transfer Entropy Kernel (The "Causality Probe")
What it is: This is by far the most advanced and computationally intensive kernel in the script. Transfer Entropy is a non-parametric measure of directed information flow between two time series. It moves beyond correlation to ask: "Does knowing the past of Volume genuinely reduce our uncertainty about the future of Price?"
How it Works in the Script: To make this work, the script discretizes both price returns and the chosen "driver" (e.g., OBV) into three states: "up," "down," or "neutral." It then builds complex conditional probability tables to measure the flow of information in both directions. The Net Transfer Entropy (TE Driver→Price minus TE Price→Driver) gives us a direct measure of causality . A positive score means the driver is leading price, confirming the validity of the move. This is a profound leap beyond traditional indicator analysis.
Chapter 3: Fusion & Interpretation - The Field Score & Dashboard
Each kernel is a specialist providing a piece of the puzzle. The Field Score is where they are fused into a single, comprehensive reading. It's a weighted sum of the normalized scores from all five kernels, producing a single number from -1 (maximum bearish information field) to +1 (maximum bullish information field). This is the ultimate "at-a-glance" metric for the market's net state, and it is interpreted through the dashboard.
The Dashboard: Your Mission Control
Field Score & Regime: The master metric and its plain-English interpretation ("Uptrend Field", "Downtrend Field", "Transitional").
Kernel Readouts (Wave Align, H(w), FDI, etc.): The live scores of each individual kernel. This allows you to see why the Field Score is what it is. A high Field Score with all components in agreement (all green or red) is a state of High Coherence and represents a high-quality setup.
Market Context: Standard metrics like RSI and Volume for additional confluence.
Signals: The raw and adjusted confluence counts and the final, calculated probability scores for potential long and short entries.
Pattern: Shows the dominant candlestick pattern detected within the currently forming APEX range box and its calculated confidence percentage.
Chapter 4: Mastering the Controls - The Inputs Menu
Every parameter is a lever to fine-tune the IGMD engine.
📊 Wavelet Transform: Kernel ( Haar for sharp moves, db2 for smooth trends) and Scales (depth of analysis) let you tune the script's core microscope to your asset's personality.
📈 Hurst Exponent: The Window determines if you're assessing short-term or long-term market memory.
🔍 Fractal Dimension & ⚡ Entropy Volatility: Adjust the lookback windows to make these kernels more or less sensitive to recent price action. Always keep "Normalize by ATR" enabled for Entropy for consistent results.
🔄 Transfer Entropy: Driver lets you choose what causal force to measure (e.g., OBV, Volume, or even an external symbol like VIX). The throttle setting is a crucial performance tool, allowing you to balance precision with script speed.
⚡ Field Fusion • Weights: This is where you can customize the model's "brain." Increase the weights for the kernels that best align with your trading philosophy (e.g., w_hurst for trend followers, w_fdi for chop avoiders).
📊 Signal Engine: Mode offers presets from Conservative to Aggressive . Min Confluence sets your evidence threshold. Dynamic Confluence is a powerful feature that automatically adapts this threshold to the market regime.
🎨 Visuals & 📏 Support/Resistance: These inputs give you full control over the chart's appearance, allowing you to toggle every visual element for a setup that is as clean or as data-rich as you desire.
Chapter 5: Reading the Battlefield - On-Chart Visuals
Pattern Boxes (The Large Rectangles): These are not simple range boxes. They appear when the Field Score crosses a significance threshold, signaling a potential ignition point.
Color: The color reflects the dominant candlestick pattern that has occurred within that box's duration (e.g., green for Bull Engulf).
Label: Displays the dominant pattern, its duration in bars, and a calculated Confidence % based on field strength and pattern clarity.
Bar Pattern Boxes (The Small Boxes): If enabled, these highlight individual, significant candlestick patterns ( BE for Bull Engulf, H for Hammer) on a bar-by-bar basis.
Signal Markers (▲ and ▼): These appear only when the Signal Engine's criteria are all met. The number is the calculated Probability Score .
RR Rails (Dashed Lines): When a signal appears, these lines automatically plot the Entry, Stop Loss (based on ATR), and two Take Profit targets (based on Risk/Reward ratios). They dynamically break and disappear as price touches each level.
Support & Resistance Lines: Plots of the highest high ( Resistance ) and lowest low ( Support ) over a lookback, providing key structural levels.
Chapter 6: Development Philosophy & A Final Word
One single question: " What is the market really doing? " It represents a triumph of complexity, blending concepts from signal processing, chaos theory, and information theory into a cohesive framework. It is offered for educational and analytical purposes and does not constitute financial advice. Its goal is to elevate your analysis from interpreting flat shadows to measuring the rich, geometric reality of the market's information field.
As the great mathematician Benoit Mandelbrot , father of fractal geometry, noted:
"Clouds are not spheres, mountains are not cones, coastlines are not circles, and bark is not smooth, nor does lightning travel in a straight line."
Neither does the market. IGMD is a tool designed to navigate that beautiful, complex, and fractal reality.
— Dskyz, Trade with insight. Trade with anticipation.