Martingale Strategy Simulator [BackQuant]Martingale Strategy Simulator
Purpose
This indicator lets you study how a martingale-style position sizing rule interacts with a simple long or short trading signal. It computes an equity curve from bar-to-bar returns, adapts position size after losing streaks, caps exposure at a user limit, and summarizes risk with portfolio metrics. An optional Monte Carlo module projects possible future equity paths from your realized daily returns.
What a martingale is
A martingale sizing rule increases stake after losses and resets after a win. In its classical form from gambling, you double the bet after each loss so that a single win recovers all prior losses plus one unit of profit. In markets there is no fixed “even-money” payout and returns are multiplicative, so an exact recovery guarantee does not exist. The core idea is unchanged:
Lose one leg → increase next position size
Lose again → increase again
Win → reset to the base size
The expectation of your strategy still depends on the signal’s edge. Sizing does not create positive expectancy on its own. A martingale raises variance and tail risk by concentrating more capital as a losing streak develops.
What it plots
Equity – simulated portfolio equity including compounding
Buy & Hold – equity from holding the chart symbol for context
Optional helpers – last trade outcome, current streak length, current allocation fraction
Optional diagnostics – daily portfolio return, rolling drawdown, metrics table
Optional Monte Carlo probability cone – p5, p16, p50, p84, p95 aggregate bands
Model assumptions
Bar-close execution with no slippage or commissions
Shorting allowed and frictionless
No margin interest, borrow fees, or position limits
No intrabar moves or gaps within a bar (returns are close-to-close)
Sizing applies to equity fraction only and is capped by your setting
All results are hypothetical and for education only.
How the simulator applies it
1) Directional signal
You pick a simple directional rule that produces +1 for long or −1 for short each bar. Options include 100 HMA slope, RSI above or below 50, EMA or SMA crosses, CCI and other oscillators, ATR move, BB basis, and more. The stance is evaluated bar by bar. When the stance flips, the current trade ends and the next one starts.
2) Sizing after losses and wins
Position size is a fraction of equity:
Initial allocation – the starting fraction, for example 0.15 means 15 percent of equity
Increase after loss – multiply the next allocation by your factor after a losing leg, for example 2.00 to double
Reset after win – return to the initial allocation
Max allocation cap – hard ceiling to prevent runaway growth
At a high level the size after k consecutive losses is
alloc(k) = min( cap , base × factor^k ) .
In practice the simulator changes size only when a leg ends and its PnL is known.
3) Equity update
Let r_t = close_t / close_{t-1} − 1 be the symbol’s bar return, d_{t−1} ∈ {+1, −1} the prior bar stance, and a_{t−1} the prior bar allocation fraction. The simulator compounds:
eq_t = eq_{t−1} × (1 + a_{t−1} × d_{t−1} × r_t) .
This is bar-based and avoids intrabar lookahead. Costs, slippage, and borrowing costs are not modeled.
Why traders experiment with martingale sizing
Mean-reversion contexts – if the signal often snaps back after a string of losses, adding size near the tail of a move can pull the average entry closer to the turn
Behavioral or microstructure edges – some rules have modest edge but frequent small whipsaws; size escalation may shorten time-to-recovery when the edge manifests
Exploration and stress testing – studying the relationship between streaks, caps, and drawdowns is instructive even if you do not deploy martingale sizing live
Why martingale is dangerous
Martingale concentrates capital when the strategy is performing worst. The main risks are structural, not cosmetic:
Loss streaks are inevitable – even with a 55 percent win rate you should expect multi-loss runs. The probability of at least one k-loss streak in N trades rises quickly with N.
Size explodes geometrically – with factor 2.0 and base 10 percent, the sequence is 10, 20, 40, 80, 100 (capped) after five losses. Without a strict cap, required size becomes infeasible.
No fixed payout – in gambling, one win at even odds resets PnL. In markets, there is no guaranteed bounce nor fixed profit multiple. Trends can extend and gaps can skip levels.
Correlation of losses – losses cluster in trends and in volatility bursts. A martingale tends to be largest just when volatility is highest.
Margin and liquidity constraints – leverage limits, margin calls, position limits, and widening spreads can force liquidation before a mean reversion occurs.
Fat tails and regime shifts – assumptions of independent, Gaussian returns can understate tail risk. Structural breaks can keep the signal wrong for much longer than expected.
The simulator exposes these dynamics in the equity curve, Max Drawdown, VaR and CVaR, and via Monte Carlo sketches of forward uncertainty.
Interpreting losing streaks with numbers
A rough intuition: if your per-trade win probability is p and loss probability is q=1−p , the chance of a specific run of k consecutive losses is q^k . Over many trades, the chance that at least one k-loss run occurs grows with the number of opportunities. As a sanity check:
If p=0.55 , then q=0.45 . A 6-loss run has probability q^6 ≈ 0.008 on any six-trade window. Across hundreds of trades, a 6 to 8-loss run is not rare.
If your size factor is 1.5 and your base is 10 percent, after 8 losses the requested size is 10% × 1.5^8 ≈ 25.6% . With factor 2.0 it would try to be 10% × 2^8 = 256% but your cap will stop it. The equity curve will still wear the compounded drawdown from the sequence that led to the cap.
This is why the cap setting is central. It does not remove tail risk, but it prevents the sizing rule from demanding impossible positions
Note: The p and q math is illustrative. In live data the win rate and distribution can drift over time, so real streaks can be longer or shorter than the simple q^k intuition suggests..
Using the simulator productively
Parameter studies
Start with conservative settings. Increase one element at a time and watch how the equity, Max Drawdown, and CVaR respond.
Initial allocation – lower base reduces volatility and drawdowns across the board
Increase factor – set modestly above 1.0 if you want the effect at all; doubling is aggressive
Max cap – the most important brake; many users keep it between 20 and 50 percent
Signal selection
Keep sizing fixed and rotate signals to see how streak patterns differ. Trend-following signals tend to produce long wrong-way streaks in choppy ranges. Mean-reversion signals do the opposite. Martingale sizing interacts very differently with each.
Diagnostics to watch
Use the built-in metrics to quantify risk:
Max Drawdown – worst peak-to-trough equity loss
Sharpe and Sortino – volatility and downside-adjusted return
VaR 95 percent and CVaR – tail risk measures from the realized distribution
Alpha and Beta – relationship to your chosen benchmark
If you would like to check out the original performance metrics script with multiple assets with a better explanation on all metrics please see
Monte Carlo exploration
When enabled, the forecast draws many synthetic paths from your realized daily returns:
Choose a horizon and a number of runs
Review the bands: p5 to p95 for a wide risk envelope; p16 to p84 for a narrower range; p50 as the median path
Use the table to read the expected return over the horizon and the tail outcomes
Remember it is a sketch based on your recent distribution, not a predictor
Concrete examples
Example A: Modest martingale
Base 10 percent, factor 1.25, cap 40 percent, RSI>50 signal. You will see small escalations on 2 to 4 loss runs and frequent resets. The equity curve usually remains smooth unless the signal enters a prolonged wrong-way regime. Max DD may rise moderately versus fixed sizing.
Example B: Aggressive martingale
Base 15 percent, factor 2.0, cap 60 percent, EMA cross signal. The curve can look stellar during favorable regimes, then a single extended streak pushes allocation to the cap, and a few more losses drive deep drawdown. CVaR and Max DD jump sharply. This is a textbook case of high tail risk.
Strengths
Bar-by-bar, transparent computation of equity from stance and size
Explicit handling of wins, losses, streaks, and caps
Portable signal inputs so you can A–B test ideas quickly
Risk diagnostics and forward uncertainty visualization in one place
Example, Rolling Max Drawdown
Limitations and important notes
Martingale sizing can escalate drawdowns rapidly. The cap limits position size but not the possibility of extended adverse runs.
No commissions, slippage, margin interest, borrow costs, or liquidity limits are modeled.
Signals are evaluated on closes. Real execution and fills will differ.
Monte Carlo assumes independent draws from your recent return distribution. Markets often have serial correlation, fat tails, and regime changes.
All results are hypothetical. Use this as an educational tool, not a production risk engine.
Practical tips
Prefer gentle factors such as 1.1 to 1.3. Doubling is usually excessive outside of toy examples.
Keep a strict cap. Many users cap between 20 and 40 percent of equity per leg.
Stress test with different start dates and subperiods. Long flat or trending regimes are where martingale weaknesses appear.
Compare to an anti-martingale (increase after wins, cut after losses) to understand the other side of the trade-off.
If you deploy sizing live, add external guardrails such as a daily loss cut, volatility filters, and a global max drawdown stop.
Settings recap
Backtest start date and initial capital
Initial allocation, increase-after-loss factor, max allocation cap
Signal source selector
Trading days per year and risk-free rate
Benchmark symbol for Alpha and Beta
UI toggles for equity, buy and hold, labels, metrics, PnL, and drawdown
Monte Carlo controls for enable, runs, horizon, and result table
Final thoughts
A martingale is not a free lunch. It is a way to tilt capital allocation toward losing streaks. If the signal has a real edge and mean reversion is common, careful and capped escalation can reduce time-to-recovery. If the signal lacks edge or regimes shift, the same rule can magnify losses at the worst possible moment. This simulator makes those trade-offs visible so you can calibrate parameters, understand tail risk, and decide whether the approach belongs anywhere in your research workflow.
Cari dalam skrip untuk "股价站上60月线"
FibADX MTF Dashboard — DMI/ADX with Fibonacci DominanceFibADX MTF Dashboard — DMI/ADX with Fibonacci Dominance (φ)
This indicator fuses classic DMI/ADX with the Fibonacci Golden Ratio to score directional dominance and trend tradability across multiple timeframes in one clean panel.
What’s unique
• Fibonacci dominance tiers:
• BULL / BEAR → one side slightly stronger
• STRONG when one DI ≥ 1.618× the other (φ)
• EXTREME when one DI ≥ 2.618× (φ²)
• Rounded dominance % in the +DI/−DI columns (e.g., STRONG BULL 72%).
• ADX column modes: show the value (with strength bar ▂▃▅… and slope ↗/↘) or a tier (Weak / Tradable / Strong / Extreme).
• Configurable intraday row (30m/1H/2H/4H) + D/W/M toggles.
• Threshold line: color & width; Extended (infinite both ways) or Not extended (historical plot).
• Theme presets (Dark / Light / High Contrast) or full custom colors.
• Optional panel shading when all selected TFs are strong (and optionally directionally aligned).
How to use
1. Choose an intraday TF (30/60/120/240). Enable D/W/M as needed.
2. Use ADX ≥ threshold (e.g., 21 / 34 / 55) to find tradable trends.
3. Read the +DI/−DI labels to confirm bias (BULL/BEAR) and conviction (STRONG/EXTREME).
4. Prefer multi-TF alignment (e.g., 4H & D & W all strong bull).
5. Treat EXTREME as a momentum regime—trail tighter and scale out into spikes.
Alerts
• All selected TFs: Strong BULL alignment
• All selected TFs: Strong BEAR alignment
Notes
• Smoothing selectable: RMA (Wilder) / EMA / SMA.
• Percentages are whole numbers (72%, not 72.18%).
• Shorttitle is FibADX to comply with TV’s 10-char limit.
Why We Use Fibonacci in FibADX
Traditional DMI/ADX indicators rely on fixed numeric thresholds (e.g., ADX > 20 = “tradable”), but they ignore the relationship between +DI and −DI, which is what really determines trend conviction.
FibADX improves on this by introducing the Fibonacci Golden Ratio (φ ≈ 1.618) to measure directional dominance and classify trend strength more intelligently.
⸻
1. Fibonacci as a Natural Strength Threshold
The golden ratio φ appears everywhere in nature, growth cycles, and fractals.
Since financial markets also behave fractally, Fibonacci levels reflect natural crowd behavior and trend acceleration points.
In FibADX:
• When one DI is slightly larger than the other → BULL or BEAR (mild advantage).
• When one DI is at least 1.618× the other → STRONG BULL or STRONG BEAR (trend conviction).
• When one DI is 2.618× or more → EXTREME BULL or EXTREME BEAR (high momentum regime).
This approach adds structure and consistency to trend classification.
⸻
2. Why 1.618 and 2.618 Instead of Random Numbers
Other traders might pick thresholds like 1.5 or 2.0, but φ has special mathematical properties:
• φ is the most irrational ratio, meaning proportions based on φ retain structure even when scaled.
• Using φ makes FibADX naturally adaptive to all timeframes and asset classes — stocks, crypto, forex, commodities.
⸻
3 . Trading Advantages
Using the Fibonacci Golden Ratio inside DMI/ADX has several benefits:
• Better trend filtering → Avoid false DI crossovers without conviction.
• Catch early momentum shifts → Spot when dominance ratios approach φ before ADX reacts.
• Consistency across markets → Because φ is scalable and fractal, it works everywhere.
⸻
4. How FibADX Uses This
FibADX combines:
• +DI vs −DI ratio → Measures directional dominance.
• φ thresholds (1.618, 2.618) → Classifies strength into BULL, STRONG, EXTREME.
• ADX threshold → Confirms whether the move is tradable or just noise.
• Multi-timeframe dashboard → Aligns bias across 4H, D, W, M.
⸻
Quick Blurb for TradingView
FibADX uses the Fibonacci Golden Ratio (φ ≈ 1.618) to classify trend strength.
Unlike classic DMI/ADX, FibADX measures how much one side dominates:
• φ (1.618) = STRONG trend conviction
• φ² (2.618) = EXTREME momentum regime
This creates an adaptive, fractal-aware framework that works across stocks, crypto, forex, and commodities.
⚠️ Disclaimer : This script is provided for educational purposes only.
It does not constitute financial advice.
Use at your own risk. Always do your own research before making trading decisions.
Created by @nomadhedge
Intrabar Volume Delta — RealTime + History (Stocks/Crypto/Forex)Intrabar Volume Delta Grid — RealTime + History (Stocks/Crypto/Forex)
# Short Description
Shows intrabar Up/Down volume, Delta (absolute/relative) and UpShare% in a compact grid for both real-time and historical bars. Includes an MTF (M1…D1) dashboard, contextual coloring, density controls, and alerts on Δ and UpShare%. Smart historical splitting (“History Mode”) for Crypto/Futures/FX.
---
# What it does (Quick)
* **UpVol / DownVol / Δ / UpShare%** — visualizes order-flow inside each candle.
* **Real-time** — accumulates intrabar volume live by tick-direction.
* **History Mode** — splits Up/Down on closed bars via simple or range-aware logic.
* **MTF Dashboard** — one table view across M1, M5, M15, M30, H1, H4, D1 (Vol, Up/Down, Δ%, Share, Trend).
* **Contextual opacity** — stronger signals appear bolder.
* **Label density** — draw every N-th bar and limit to last X bars for performance.
* **Alerts** — thresholds for |Δ|, Δ%, and UpShare%.
---
# How it works (Real-Time vs History)
* **Real-time (open bar):** volume increments into **UpVolRT** or **DownVolRT** depending on last price move (↑ goes to Up, ↓ to Down). This approximates live order-flow even when full tick history isn’t available.
* **History (closed bars):**
* **None** — no split (Up/Down = 0/0). Safest for equities/indices with unreliable tick history.
* **Approx (Close vs Open)** — all volume goes to candle direction (green → Up 100%, red → Down 100%). Fast but yields many 0/100% bars.
* **Price Action Based** — splits by Close position within High-Low range; strength = |Close−mid|/(High−Low). Above mid → more Up; below mid → more Down. Falls back to direction if High==Low.
* **Auto** — **Stocks/Index → None**, **Crypto/Futures/FX → Approx**. If you see too many 0/100 bars, switch to **Price Action Based**.
---
# Rows & Meaning
* **Volume** — total bar volume (no split).
* **UpVol / DownVol** — directional intrabar volume.
* **Delta (Δ)** — UpVol − DownVol.
* **Absolute**: raw units
* **Relative (Δ%)**: Δ / (Up+Down) × 100
* **Both**: shows both formats
* **UpShare%** — UpVol / (Up+Down) × 100. >50% bullish, <50% bearish.
* Helpful icons: ▲ (>65%), ▼ (<35%).
---
# MTF Dashboard (🔧 Enable Dashboard)
A single table with **Vol, Up, Down, Δ%, Share, Trend (🔼/🔽/⏭️)** for selected timeframes (M1…D1). Great for a fast “panorama” read of flow alignment across horizons.
---
# Inputs (Grouped)
## Display
* Toggle rows: **Volume / Up / Down / Delta / UpShare**
* **Delta Display**: Absolute / Relative / Both
## Realtime & History
* **History Mode**: Auto / None / Approx / Price Action Based
* **Compact Numbers**: 1.2k, 1.25M, 3.4B…
## Theme & UI
* **Theme Mode**: Auto / Light / Dark
* **Row Spacing**: vertical spacing between rows
* **Top Row Y**: moves the whole grid vertically
* **Draw Guide Lines**: faint dotted guides
* **Text Size**: Tiny / Small / Normal / Large
## 🔧 Dashboard Settings
* **Enable Dashboard**
* **📏 Table Text Size**: Tiny…Huge
* **🦓 Zebra Rows**
* **🔲 Table Border**
## ⏰ Timeframes (for Dashboard)
* **M1…D1** toggles
## Contextual Coloring
* **Enable Contextual Coloring**: opacity by signal strength
* **Δ% cap / Share offset cap**: saturation caps
* **Min/Max transparency**: solid vs faint extremes
## Label Density & Size
* **Show every N-th bar**: draw labels only every Nth bar
* **Limit to last X bars**: keep labels only in the most recent X bars
## Colors
* Up / Down / Text / Guide
## Alerts
* **Delta Threshold (abs)** — |Δ| in volume units
* **UpShare > / <** — bullish/bearish thresholds
* **Enable Δ% Alert**, **Δ% > +**, **Δ% < −** — relative delta levels
---
# How to use (Quick Start)
1. Add the indicator to your chart (overlay=false → separate pane).
2. **History Mode**:
* Crypto/Futures/FX → keep **Auto** or switch to **Price Action Based** for richer history.
* Stocks/Index → prefer **None** or **Price Action Based** for safer splits.
3. **Label Density**: start with **Limit to last X bars = 30–150** and **Show every N-th bar = 2–4**.
4. **Contextual Coloring**: keep on to emphasize strong Δ% / Share moves.
5. **Dashboard**: enable and pick only the TFs you actually use.
6. **Alerts**: set thresholds (ideas below).
---
# Alerts (in TradingView)
Add alert → pick this indicator → choose any of:
* **Delta exceeds threshold** (|Δ| > X)
* **UpShare above threshold** (UpShare% > X)
* **UpShare below threshold** (UpShare% < X)
* **Relative Delta above +X%**
* **Relative Delta below −X%**
**Starter thresholds (tune per symbol & TF):**
* **Crypto M1/M5**: Δ% > +25…35 (bullish), Δ% < −25…−35 (bearish)
* **FX (tick volume)**: UpShare > 60–65% or < 40–35%
* **Stocks (liquid)**: set **Absolute Δ** by typical volume scale (e.g., 50k / 100k / 500k)
---
# Notes by Market Type
* **Crypto/Futures**: 24/7 and high liquidity — **Price Action Based** often gives nicer history splits than Approx.
* **Forex (FX)**: TradingView volume is typically **tick volume** (not true exchange volume). Treat Δ/Share as tick-based flow, still very useful intraday.
* **Stocks/Index**: historical tick detail can be limited. **None** or **Price Action Based** is a safer default. If you see too many 0/100% shares, switch away from Approx.
---
# “All Timeframes” accuracy
* Works on **any TF** (M1 → D1/W1).
* **Real-time accuracy** is strong for the open bar (live accumulation).
* **Historical accuracy** depends on your **History Mode** (None = safest, Approx = fastest/simplest, Price Action Based = more nuanced).
* The MTF dashboard uses `request.security` and therefore follows the same logic per TF.
---
# Trade Ideas (Use-Cases)
* **Scalping (M1–M5)**: a spike in Δ% + UpShare>65% + rising total Vol → momentum entries.
* **Intraday (M5–M30–H1)**: when multiple TFs show aligned Δ%/Share (e.g., M5 & M15 bullish), join the trend.
* **Swing (H4–D1)**: persistent Δ% > 0 and UpShare > 55–60% → structural accumulation bias.
---
# Advantages
* **True-feeling live flow** on the open bar.
* **Adaptable history** (three modes) to match data quality.
* **Clean visual layout** with guides, compact numbers, contextual opacity.
* **MTF snapshot** for quick bias read.
* **Performance controls** (last X bars, every N-th bar).
---
# Limitations & Care
* **FX uses tick volume** — interpret Δ/Share accordingly.
* **History Mode is an approximation** — confirm with trend/structure/liquidity context.
* **Illiquid symbols** can produce noisy or contradictory signals.
* **Too many labels** can slow charts → raise N, lower X, or disable guides.
---
# Best Practices (Checklist)
* Crypto/Futures: prefer **Price Action Based** for history.
* Stocks: **None** or **Price Action Based**; be cautious with **Approx**.
* FX: pair Δ% & UpShare% with session context (London/NY) and volatility.
* If labels overlap: tweak **Row Spacing** and **Text Size**.
* In the dashboard, keep only the TFs you actually act on.
* Alerts: start around **Δ% 25–35** for “punchy” moves, then refine per asset.
---
# FAQ
**1) Why do some closed bars show 0%/100% UpShare?**
You’re on **Approx** history mode. Switch to **Price Action Based** for smoother splits.
**2) Δ% looks strong but price doesn’t move — why?**
Δ% is an **order-flow** measure. Price also depends on liquidity pockets, sessions, news, higher-timeframe structure. Use confirmations.
**3) Performance slowdown — what to do?**
Lower **Limit to last X bars** (e.g., 30–100), increase **Show every N-th bar** (2–6), or disable **Draw Guide Lines**.
**4) Dashboard values don’t “match” the grid exactly?**
Dashboard is multi-TF via `request.security` and follows the history logic per TF. Differences are normal.
---
# Short “Store” Marketing Blurb
Intrabar Volume Delta Grid reveals the order-flow inside every candle (Up/Down, Δ, UpShare%) — live and on history. With smart history splitting, an MTF dashboard, contextual emphasis, and flexible alerts, it helps you spot momentum and bias across Crypto, Forex (tick volume), and Stocks. Tidy labels and compact numbers keep the panel readable and fast.
K線虛擬幣// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © dear.simpson
//@version=5
indicator("月季線視覺操盤", "", true)
// Getting inputs
length = input(5, "操盤線週期")
// Calculating
ma = ta.sma(close, length)
spread = close-ma
// Plotcandle
plotcandle(open, high, low, close, title='操盤K線', editable = false , display =display.pane+display.price_scale , color = (spread>=0 ? #ef5350 : #26a69a) , bordercolor= (spread>=0 ? #ef5350 : #26a69a) , wickcolor = #5d606b)
// Getting inputs
maPeriods1 = input( 5 , "MA 1" , group="移動平均線")
maPeriods2 = input(20 , "MA 2" , group="移動平均線")
maPeriods3 = input(60 , "MA 3" , group="移動平均線")
line0 = ta.sma(close, 2)
line1 = ta.sma(close, maPeriods1)
line2 = ta.sma(close, maPeriods2)
line3 = ta.sma(close, maPeriods3)
// Plot Moving Average Line
p0PlotID = plot(line0 ,"MA 0" , color.new(color.black ,100), display = display.none , editable = false)
p1PlotID = plot(line1 ,"MA 1" , color.new(#787b86, 50), display = display.pane+display.price_scale )
p2PlotID = plot(line2 ,"MA 2" , color.new(#787b86, 0), display = display.pane+display.price_scale )
p3PlotID = plot(line3 ,"MA 3" , color.new(color.blue , 30), display = display.pane+display.price_scale )
// Plot Zone Color
fill(p0PlotID, p2PlotID, close > line2 ? color.new(#ef5350, 70) : color.new(#26a69a, 90), '高/低於月線區域顏色')
fill(p0PlotID, p3PlotID, close > line3 ? color.new(#ef5350, 70) : color.new(#26a69a, 90), '高/低於季線區域顏色' , display = display.none )
MTF CRT Setup Finder (Raids + BOS linked)//@version=6
indicator("MTF CRT Setup Finder (Raids + BOS linked)", overlay=true, max_lines_count=500)
// === INPUTS ===
lookback = input.int(5, "Swing Lookback Bars", minval=2)
// === Function: Detect swing highs/lows ===
swingHigh(src, lb) => ta.pivothigh(src, lb, lb)
swingLow(src, lb) => ta.pivotlow(src, lb, lb)
// === Function: Detect CRT with memory ===
f_crt(tf) =>
hi = request.security(syminfo.tickerid, tf, high)
lo = request.security(syminfo.tickerid, tf, low)
cl = request.security(syminfo.tickerid, tf, close)
sh = request.security(syminfo.tickerid, tf, swingHigh(high, lookback))
sl = request.security(syminfo.tickerid, tf, swingLow(low, lookback))
raidHigh = not na(sh) and hi > sh and cl < sh
raidLow = not na(sl) and lo < sl and cl > sl
// store last raid state
var bool hadRaidHigh = false
var bool hadRaidLow = false
if raidHigh
hadRaidHigh := true
if raidLow
hadRaidLow := true
bosDown = hadRaidHigh and cl < sl
bosUp = hadRaidLow and cl > sh
// reset after BOS
if bosDown
hadRaidHigh := false
if bosUp
hadRaidLow := false
// === Apply on H1 only first (test) ===
= f_crt("60")
// === Plot ===
plotshape(raidHigh, title="Raid High", style=shape.diamond, color=color.red, size=size.small, text="Raid High")
plotshape(raidLow, title="Raid Low", style=shape.diamond, color=color.green, size=size.small, text="Raid Low")
plotshape(bosDown, title="Bearish CRT", style=shape.triangledown, color=color.red, size=size.large, text="CRT↓")
plotshape(bosUp, title="Bullish CRT", style=shape.triangleup, color=color.green, size=size.large, text="CRT↑")
Advanced Pattern Detection System [50+ Patterns]【Advanced Pattern Detection System - Auto-detects 50+ Chart Patterns】
Introducing the most powerful pattern detection indicator for TradingView!
◆ What is this?
An automated tool that finds and displays over 50 chart patterns on your charts. It detects all the patterns professional traders use - Double Tops, Triangles, Head & Shoulders, and more - all in ONE indicator.
◆ Main Features
・Detects 50+ patterns in real-time
・Shows visual explanation of WHY each pattern was identified
・Automatically calculates theoretical target prices
・Displays confidence levels in % (60-95%)
・Choose panel position from 9 locations
・Works on all timeframes (1min to Monthly)
◆ Detectable Patterns
1. Classic Patterns (Double Top/Bottom, Head & Shoulders, etc.)
2. Triangle Patterns (Ascending, Descending, Symmetrical, Expanding)
3. Continuation Patterns (Flags, Pennants, Wedges, etc.)
4. Harmonic Patterns (Gartley, Butterfly, Bat, etc.)
5. Price Action (Pin Bar, Engulfing, Hammer, etc.)
6. Special Patterns (Cup & Handle, V-formations, etc.)
◆ What Makes It Different
・Not just detection - shows the reasoning behind it
・Auto-draws pivot points and necklines
・Displays target prices with % gain/loss from current price
・Detects multiple patterns simultaneously, sorted by confidence
・Available in both Japanese and English versions
◆ Perfect For
✓ Anyone tired of using multiple indicators
✓ Beginners wanting to learn pattern trading
✓ Traders who don't want to miss entry points
✓ Those looking to improve discretionary trading accuracy
◆ How to Use (Easy 3 Steps)
1. Open TradingView and paste code in Pine Editor
2. Click "Add to Chart"
3. Enable only the patterns you need in settings
◆ Color Meanings
Green → Bullish potential (Buy signal)
Red → Bearish potential (Sell signal)
Yellow → Neutral direction (Wait and see)
◆ Recommended Settings
Scalping: Detection period 20, Sensitivity 0.0025
Day Trading: Detection period 50, Sensitivity 0.002
Swing Trading: Detection period 100, Sensitivity 0.0015
◆ Real Trading Example
"Detects Double Bottom → 85% confidence → Enter on neckline break → Take profit at displayed target price"
This is how you can use it in practice.
◆ Important Notes
・This is an analysis tool, not investment advice
・Always combine with other indicators
・Always set stop losses
・Practice on demo account before live trading
◆ Performance
If running slow, turn OFF unused pattern categories. Reducing max display count to 3 also helps.
◆ Summary
This single tool provides functionality that would normally require multiple paid indicators (worth $100-200 total). It's the ultimate pattern detection system recommended for all traders, from beginners to professionals.
Give it a try if interested! Feel free to ask questions in the comments.
SMA-Based Candle Color 60The Trend SMA colors the moving average green when sloping upward and red when sloping downward. Candles are also colored based on whether price is above (green) or below (red) the SMA, making trends easy to spot.
SMA-Based Candle Color 60The Trend SMA colors the moving average green when sloping upward and red when sloping downward. Candles are also colored based on whether price is above (green) or below (red) the SMA, making trends easy to spot.
TF + Ticker (vahab)Fixed Timeframe Display with Custom Colors & Size
This indicator displays the current chart timeframe in the bottom-right corner with clear formatting. Features include:
Automatic conversion of minute-based timeframes to hours (e.g., 60 → 1H, 240 → 4H).
Distinguishes seconds, minutes, hours, and daily/weekly/monthly timeframes.
Fully customizable colors for each type of timeframe.
Adjustable font size for readability.
Simple, stable, and lightweight overlay.
Perfect for traders who want an easy-to-read timeframe display without cluttering the chart.
Volume Profile + VAH, VAL, and POCWhat it is
A clean, on-chart volume profile that approximates your visible range using a configurable Bars Back window. It builds a horizontal histogram of volume by price, splits each price bin into Buy vs Sell volume, draws POC, and computes Value Area High/Low (VAH/VAL). A Stealth Mode toggle switches to a subtle grayscale palette for low-key charts.
Why this instead of the built-in VPVR?
Buy/Sell split per bin: See which prices were defended by buyers vs sellers, not just total volume.
Value Area from POC outward: Classic expansion method until the selected % of total volume (default 70%).
Sleek borders & Stealth Mode: Crisp bin outlines and a one-click professional colorway.
Deterministic & fast: No sessions or anchors needed—set your Bars Back and go.
How it works (under the hood)
Window selection – Pine can’t read your viewport, so we approximate it with Bars Back (user input).
Binning – The window’s price range is divided into N bins.
Volume allocation – For each bar in the window:
Distribute Across Hi–Lo (optional): Spread volume across all bins the bar overlaps, weighted by overlap; or
Single-price mode: Assign all volume to one bin using a representative price (hlc3).
Buy/Sell split (two methods):
Body Proportional (recommended): Split by relative up/down body size (|close−open|).
Up/Down Candle: 100% buy if close ≥ open, else 100% sell.
POC & VA: Point of Control is the bin with max total volume. VAH/VAL expands from POC toward the higher-volume neighbor until the selected % of total volume is included.
Reading the visuals
Horizontal bars (right side): Total volume per price bin.
Left sub-segment = Sell volume
Right sub-segment = Buy volume
POC line: Price level with peak total volume.
VAH / VAL (dashed): Upper and lower bounds of the selected Value Area.
Borders: Each bin has a clean outer outline so the profile looks tight and organized.
Stealth Mode: Grayscale palette that preserves contrast without loud colors.
Key inputs (organized for clarity)
Theme
Stealth Mode: Toggles the grayscale look.
Core
Price Bins: Vertical resolution of the profile.
Lookback (Bars): Approximates your visible range.
Style
Profile Width (bars): How far the histogram extends to the right.
Bin Border Width: Outline thickness.
Markers & Lines
Show POC, Show VAH/VAL, Value Area %, VA line width.
Advanced
Distribute Volume Across Hi–Lo: More accurate, heavier compute.
Buy/Sell Split Method: Body Proportional (realistic) or Up/Down (simple).
Tips & best practices
Start with Body Proportional + Distribute Across ON for intraday accuracy.
If the chart lags, reduce Price Bins or Bars Back, or switch off distribution.
For small windows, fewer bins often looks cleaner (e.g., 30–60).
Stealth Mode plays nicely with both dark and light chart themes.
Limitations & notes
Viewport: Pine can’t access the actual visible bars; Bars Back is a practical stand-in.
Buy/Sell split: This is an approximation from candle bodies, not true bid/ask delta.
Designed for overlay; profile renders to the right of the latest bar.
Smart Money Windows- X7Smart Money Windows 📊💰
Unlock the secret moves of the big players! This indicator highlights key liquidity traps, smart money zones, and market kill zones for the Asian, London, and New York sessions. See where the pros hide their orders and spot potential price flips before they happen! 🚀🔥
Features:
Visual session boxes with high/low/mid levels 🟪🟫
NY session shifted 60 mins for precise timing 🕒
Perfect for spotting traps, inducements & smart money maneuvers 🎯
Works on Forex, crypto, and stocks 💹
Get in the “Smart Money Window” and trade like the pros! 💸🔑
By HH
Smart Money Windows- X7Smart Money Windows 📊💰
Unlock the secret moves of the big players! This indicator highlights key liquidity traps, smart money zones, and market kill zones for the Asian, London, and New York sessions. See where the pros hide their orders and spot potential price flips before they happen! 🚀🔥
Features:
Visual session boxes with high/low/mid levels 🟪🟫
NY session shifted 60 mins for precise timing 🕒
Perfect for spotting traps, inducements & smart money maneuvers 🎯
Works on Forex, crypto, and stocks 💹
Get in the “Smart Money Window” and trade like the pros! 💸🔑
By HH
20/40/60Displays three consecutive, connected range boxes showing high/low price ranges for customizable periods. Boxes are positioned seamlessly with shared boundaries for continuous price action visualization.
Features
Three Connected Boxes: Red (most recent), Orange (middle), Green (earliest) periods
Customizable Positioning: Set range length and starting offset from current bar
Individual Styling: Custom colors, transparency, and border width for each box
Display Controls: Toggle borders, fills, and line visibility
Use Cases
Range Analysis: Compare volatility across time periods, spot breakouts
Support/Resistance: Use box boundaries as potential S/R levels
Market Structure: Visualize recent price development and trend patterns
Key Settings
Range Length: Bars per box (default: 20)
Starting Offset: Bars back from current to position boxes (default: 0)
Style Options: Colors, borders, and visibility controls for each box
Perfect for traders analyzing consecutive price ranges and comparing current conditions to recent historical periods.
RSI with Moving Averages[UO] EnhancedWhat This Indicator Does
Displays the RSI (Relative Strength Index) with two customizable moving averages to help identify trend direction and momentum shifts.
Key Features
RSI Line: Shows momentum (overbought above 70, oversold below 30)
Two Moving Averages: Smooth RSI signals and show trend direction
Color-Coded Fills: Visual areas between lines indicate bullish/bearish conditions
Support/Resistance Lines: Bull market support (40) and bear market resistance (60)
Customization Options
Moving Average Types: Choose SMA or EMA for each line
Periods: Adjust RSI (14), First MA (13), Second MA (33)
Visual Elements: Toggle background shading and fills on/off
Colors & Styles: Customize all line colors and widths in Style tab
How to Read It
Green Fill: Second MA below first MA (bullish momentum)
Red Fill: Second MA above first MA (bearish momentum)
RSI Above 70: Potentially overbought
RSI Below 30: Potentially oversold
Perfect for traders wanting enhanced RSI analysis with flexible moving average confirmation signals.
RSI deyvidholnik
📊 Overview
RSI deyvidholnik is an advanced technical indicator that combines the power of traditional RSI (Relative Strength Index) with automatic divergence detection to identify potential market reversal points. This indicator was developed by kingthies and offers clear visual analysis of overbought/oversold conditions along with highly precise divergence signals.
🔧 Key Features
Customizable RSI
Data Source: Configurable (default: close)
Period: Adjustable (default: 14)
Moving Average: Multiple types available (SMA, EMA, SMMA, WMA, VWMA, MMS)
MA Period: Configurable (default: 14)
Divergence Detection
The indicator identifies four types of divergences:
🟢 Bullish Divergence
Occurs when price makes lower lows, but RSI makes higher lows
Indicates possible trend reversal from bearish to bullish
Signaled with green dots on RSI
🔴 Bearish Divergence
Occurs when price makes higher highs, but RSI makes lower highs
Indicates possible trend reversal from bullish to bearish
Signaled with red dots on RSI
🟢 Hidden Bullish Divergence (Optional)
Price makes higher lows while RSI makes lower lows
Confirms continuation of bullish trend
Useful in trending markets
🔴 Hidden Bearish Divergence (Optional)
Price makes lower highs while RSI makes higher highs
Confirms continuation of bearish trend
Useful in trending markets
⚙️ Pivot Settings
Optimized Default Configuration
Right Bars: 1 (quick confirmation)
Left Bars: 5 (noise filtering)
Maximum Bars Between Pivots: 60
Minimum Bars Between Pivots: 3
These settings have been adjusted to provide:
✅ Faster and more responsive signals
✅ Reduction of false signals
✅ Better identification of significant pivots
🎨 Visual Interface
RSI Levels
Line 70: Overbought zone (red)
Line 50: Neutral centerline
Line 30: Oversold zone (green)
Gradient fill: Visually intensifies extreme zones
Graphical Elements
RSI: Main line in white
Moving Average: Smoothed yellow line
Divergence Points: Colored markers on pivots
Background: Subtle fill for better readability
📈 How to Use
For Reversal Trading
Enable only: Bullish and Bearish (default)
Look for: Divergences in overbought/oversold zones
Confirm with: Other indicators or price analysis
For Trend Trading
Enable: Hidden Bull and Hidden Bear
Use in: Markets with clear established trends
Combine with: Market structure analysis
Alert Configuration
The indicator includes automatic alerts for:
⚠️ Bullish Divergence
⚠️ Bearish Divergence
⚠️ Hidden Bullish Divergence
⚠️ Hidden Bearish Divergence
💡 Main Advantages
✅ Automatic Detection: Identifies divergences without manual interpretation
✅ Optimized Configuration: Default values tested for maximum efficiency
✅ Clean Interface: Clear and professional visual
✅ Integrated Alerts: Automatic signal notifications
✅ Flexibility: Multiple customization options
✅ Performance: Optimized code for efficient execution
🎯 Recommended Timeframes
Scalping: 1m, 5m (with more sensitive settings)
Intraday: 15m, 30m, 1h (default configuration)
Swing: 4h, 1D (for medium-term signals)
⚠️ Important Considerations
Not infallible: Always use in conjunction with other analysis methods
Sideways markets: More effective in markets with directional movement
Confirmation: Always wait for signal confirmation before trading
Risk management: Always implement adequate stop-loss and take-profit
Trend Continuation Filter - 🚀 Trend Continuation Filter — Multi-Factor Overlay
This overlay plots bullish / bearish continuation labels & arrows only when the market has enough confluence behind the move. Think of it as your “trend gatekeeper” — cutting out weak setups and highlighting only those with real momentum + structure.
🔍 Built-in Filters
✔ Ichimoku Cloud → trend bias + Tenkan/Kijun confirmation
✔ MACD (12/26/9) → acceleration via histogram slope
✔ RSI / MFI (14) → momentum quality (≥60 bullish / ≤40 bearish)
✔ ADX (14) → strength check (≥20 and rising)
➕ EMA Alignment (9/21/55/233) (optional)
➕ ATR Slope (14) (optional)
🎯 How it works
✅ Prints a Bull Continuation label/arrow when ≥4 filters align to the upside
✅ Prints a Bear Continuation label/arrow when ≥4 filters align to the downside
⚙️ minChecks input lets you adjust the strictness:
• Normal Days → set to 4 (more frequent, flexible)
• Trend Days → raise to 5–6 (fewer, high-conviction setups)
📈 Best Practices
⏰ Focus on London & New York sessions for clean expectancy
🧩 Pair with a HUD/Dashboard panel to see exactly which filters are active
Penguin Trend with RSI on DiffVisualizes volatility regime via the percent spread between the upper Bollinger Band and the upper Keltner Channel, with bar colors from a lightweight trend engine and an RSI computed on the Diff signal. Supports SMA/EMA/WMA/RMA/HMA/VWMA/VWAP and an optional calculation timeframe. Defaults preserve the original look and behavior.
Penguin Trend with RSI on Diff shows expansion vs. compression in price action by comparing two classic volatility envelopes. It computes:
Diff% = (UpperBB − UpperKC) / UpperKC × 100
• Diff > 0: Bollinger Bands are wider than Keltner Channels → expansion / momentum regime
• Diff < 0: BB narrower than KC → compression / squeeze regime
A white “Average Diff” line smooths Diff% (default: SMA(5)) to highlight regime shifts. Bars are colored only when Diff > 0 to focus on expansion phases. A lightweight trend engine defines four states from a fast/slow MA bias and a short “thrust” MA on ohlc4:
• Green: Bullish bias and thrust > fast MA (healthy upside thrust)
• Red: Bearish bias and thrust < fast MA (healthy downside thrust)
• Yellow: Bullish bias but thrust ≤ fast MA (pullback/weakness)
• Blue: Bearish bias but thrust ≥ fast MA (bear rally/short squeeze)
RSI on Diff:
The indicator adds an RSI applied to Diff% to gauge momentum of the expansion/compression signal itself. Choose between Built-in RSI or a manual RMA-based computation, and optionally smooth it. Default OB/OS lines are 70/30.
How it works:
• Bollinger Bands (BB): Basis = selected MA of src (default SMA(20)); Width = StdDev × Mult (default 2.0)
• Keltner Channels (KC): Basis = selected MA of src (default SMA(20)); Width = ATR(kcATR) × Mult (defaults 20 and 2.0)
• Diff%: Safe division guards against division-by-zero
• MA engine: Select SMA / EMA / WMA / RMA / HMA / VWMA / VWAP for BB/KC bases, Average Diff, and trend components (VWAP is session-anchored)
• Calculation timeframe: Compute internals on a chosen TF via request.security() while viewing any chart TF
Inputs (key):
• Calculation timeframe: Empty = chart TF; set e.g., 60/240 to compute on that TF
• BB: Length, StdDev Mult, MA Type
• KC: Basis Length, ATR Length, Multiplier, MA Type
• Average Diff: Length and MA Type
• RSI on Diff: RSI Length, Method (Built-in or Manual RMA), Smoothing Length, OB/OS levels, show/hide
• Trend Engine: Fast/Slow lengths & MA type, Signal (kept for completeness), Thrust MA length & type
• Display/Visibility: Paint bars only when Diff > 0; show zero line; “true Blue” color toggle; show/hide Diff columns and Average Diff
How to use:
1. Regime changes: Watch Diff% or Average Diff crossing 0. Above zero favors momentum/continuation setups; below zero suggests compression and potential breakout conditions.
2. State confirmation: During expansion (Diff > 0), prioritize Green/Red for aligned thrust; treat Yellow/Blue as cautionary/contrarian.
3. RSI on Diff: Use OB/OS and crossovers for timing entries/exits or for confirming/negating expansion strength.
Alerts:
• Diff crosses above/below 0
• Average Diff crosses above/below 0
• RSI(Diff) crosses above OB / below OS
• State changes: GREEN / RED / YELLOW / BLUE
Notes & limitations:
• VWAP is session-anchored and best on intraday data. If not applicable on the selected calculation TF, the script automatically falls back to EMA.
• Defaults (SMA(20) for BB/KC, multipliers 2.0, SMA(5) Average Diff, original trend coloring and bar painting) preserve the original appearance.
• RSI on Diff is plotted in the same pane for a compact workflow; you can hide it or split into a separate indicator if desired.
Release notes:
v6.0 — Upgraded to Pine v6. Added multi-MA options (SMA/EMA/WMA/RMA/HMA/VWMA/VWAP), calculation timeframe, RSI on Diff (Built-in or Manual RMA) with smoothing, safe division guard, optional zero line, and optional true Blue color. Defaults retain the original behavior.
License / disclaimer:
© waranyu.trkm — MIT License. Educational use only; not financial advice.
Penguin TrendMeasures the volatility regime by comparing the upper Bollinger Band to the upper Keltner Channel and colors bars with a lightweight trend state. Supports SMA/EMA/WMA/RMA/HMA/VWMA/VWAP and a selectable calculation timeframe. Default settings preserve the original look and behavior.
Penguin Trend visualizes expansion vs. compression in price action by comparing two classic volatility envelopes. It computes:
Diff% = (UpperBB − UpperKC) / UpperKC × 100
* Diff > 0: Bollinger Bands are wider than Keltner Channels -> expansion / momentum regime.
* Diff < 0: BB narrower than KC -> compression / squeeze regime.
A white “Average Difference” line smooths Diff% (default: SMA(5)) to help spot regime shifts.
Trend coloring (kept from original):
Bars are colored only when Diff > 0 to emphasize expansion phases. A lightweight trend engine defines four states using a fast/slow MA bias and a short “thrust” MA applied to ohlc4:
* Green: Bullish bias and thrust > fast MA (healthy upside thrust).
* Red: Bearish bias and thrust < fast MA (healthy downside thrust).
* Yellow: Bullish bias but thrust ≤ fast MA (pullback/weakness).
* Blue: Bearish bias but thrust ≥ fast MA (bear rally/short squeeze).
Note: By default, Blue renders as Yellow to preserve the original visual style. Enable “Use true BLUE color” if you prefer Aqua for Blue.
How it works (under the hood):
* Bollinger Bands (BB): Basis = selected MA of src (default SMA(20)). Width = StdDev × Mult (default 2.0).
* Keltner Channels (KC): Basis = selected MA of src (default SMA(20)). Width = ATR(kcATR) × Mult (defaults 20 and 2.0).
* Diff%: Safe division guards against division-by-zero.
* MA engine: You can choose SMA / EMA / WMA / RMA / HMA / VWMA / VWAP for BB/KC bases, Diff smoothing, and the trend components (VWAP is session-anchored).
* Calculation timeframe: Set “Calculation timeframe” to compute all internals on a chosen TF via request.security() while viewing any chart TF.
Inputs (key ones):
* Calculation timeframe: Empty = use chart TF; if set (e.g., 60), all internals compute on that TF.
* BB: Length, StdDev Mult, MA Type.
* KC: Basis Length, ATR Length, Multiplier, MA Type.
* Smoothing: Average Length & MA Type for the “Average Difference” line.
* Trend Engine: Fast/Slow lengths & MA type; Signal (kept for completeness); Thrust length & MA type (defaults replicate original behavior).
* Display: Paint bars only when Diff > 0; optional Zero line; optional true Blue color.
How to use:
1. Regime changes: Watch Diff% or Average Diff crossing 0. Above zero favors momentum/continuation setups; below zero suggests compression and potential breakout conditions.
2. State confirmation: Use bar colors to qualify expansion: Green/Red indicate expansion aligned with trend thrust; Yellow/Blue flag weaker/contrarian thrust during expansion.
3. Multi-timeframe analysis: Run calculations on a higher TF (e.g., H1/H4) while trading a lower TF chart to smooth noise.
Alerts:
* Diff crosses above/below 0.
* Average Diff crosses above/below 0.
* State changes: GREEN / RED / YELLOW / BLUE.
Notes & limitations:
* VWAP is session-anchored and best on intraday data. If not applicable on the selected calculation TF, the script automatically falls back to EMA.
* Default parameters (SMA(20) for BB/KC, multipliers 2.0, SMA(5) smoothing, trend logic and bar painting) preserve the original appearance.
Release notes:
v6.0 — Rewritten in Pine v6 with structured inputs and guards. Multi-MA support (SMA/EMA/WMA/RMA/HMA/VWMA/VWAP). Calculation timeframe via request.security() for multi-TF workflows. Safe division; optional zero line; optional true Blue color. Original visuals and behavior preserved by default.
License / disclaimer:
© waranyu.trkm — MIT License. Educational use only; not financial advice.
DYNAMIC TRADING DASHBOARDStudy Material for the "Dynamic Trading Dashboard"
This Dynamic Trading Dashboard is designed as an educational tool within the TradingView environment. It compiles commonly used market indicators and analytical methods into one visual interface so that traders and learners can see relationships between indicators and price action. Understanding these indicators, step by step, can help traders develop discipline, improve technical analysis skills, and build strategies. Below is a detailed explanation of each module.
________________________________________
1. Price and Daily Reference Points
The dashboard displays the current price, along with percentage change compared to the day’s opening price. It also highlights whether the price is moving upward or downward using directional symbols. Alongside, it tracks daily high, low, open, and daily range.
For traders, daily levels provide valuable reference points. The daily high and low are considered intraday support and resistance, while the median price of the day often acts as a pivot level for mean reversion traders. Monitoring these helps learners see how price oscillates within daily ranges.
________________________________________
2. VWAP (Volume Weighted Average Price)
VWAP is calculated as a cumulative average price weighted by volume. The dashboard compares the current price with VWAP, showing whether the market is trading above or below it.
For traders, VWAP is often a guide for institutional order flow. Price trading above VWAP suggests bullish sentiment, while trading below VWAP indicates bearish sentiment. Learners can use VWAP as a training tool to recognize trend-following vs. mean reversion setups.
________________________________________
3. Volume Analysis
The system distinguishes between buy volume (when the closing price is higher than the open) and sell volume (when the closing price is lower than the open). A progress bar highlights the ratio of buying vs. selling activity in percentage.
This is useful because volume confirms price action. For instance, if prices rise but sell volume dominates, it can signal weakness. New traders learning with this tool should focus on how volume often precedes price reversals and trends.
________________________________________
4. RSI (Relative Strength Index)
RSI is a momentum oscillator that measures price strength on a scale from 0 to 100. The dashboard classifies RSI readings into overbought (>70), oversold (<30), or neutral zones and adds visual progress bars.
RSI helps learners understand momentum shifts. During training, one should notice how trending markets can keep RSI extended for longer periods (not immediate reversal signals), while range-bound markets react more sharply to RSI extremes. It is an excellent tool for practicing trend vs. range identification.
________________________________________
5. MACD (Moving Average Convergence Divergence)
The MACD indicator involves a fast EMA, slow EMA, and signal line, with focus on crossovers. The dashboard shows whether a “bullish cross” (MACD above signal line) or “bearish cross” (MACD below signal line) has occurred.
MACD teaches traders to identify trend momentum shifts and divergence. During practice, traders can explore how MACD signals align with VWAP trends or RSI levels, which helps in building a structured multi-indicator analysis.
________________________________________
6. Stochastic Oscillator
This indicator compares the current close relative to a range of highs and lows over a period. Displayed values oscillate between 0 and 100, marking zones of overbought (>80) and oversold (<20).
Stochastics are useful for students of trading to recognize short-term momentum changes. Unlike RSI, it reacts faster to price volatility, so false signals are common. Part of the training exercise can be to observe how stochastic “flips” can align with volume surges or daily range endpoints.
________________________________________
7. Trend & Momentum Classification
The dashboard adds simple labels for trend (uptrend, downtrend, neutral) based on RSI thresholds. Additionally, it provides quick momentum classification (“bullish hold”, “bearish hold”, or neutral).
This is beneficial for beginners as it introduces structured thinking: differentiating long-term market bias (trend) from short-term directional momentum. By combining both, traders can practice filtering signals instead of trading randomly.
________________________________________
8. Accumulation / Distribution Bias
Based on RSI levels, the script generates simplified tags such as “Accumulate Long”, “Accumulate Short”, or “Wait”.
This is purely an interpretive guide, helping learners think in terms of accumulation phases (when markets are low) and distribution phases (when markets are high). It reinforces the concept that trading is not only directional but also involves timing.
________________________________________
9. Overall Market Status and Score
Finally, the dashboard compiles multiple indicators (VWAP position, RSI, MACD, Stochastics, and price vs. median levels) into a Market Score expressed as a percentage. It also labels the market as Overbought, Oversold, or Normal.
This scoring system isn’t a recommendation but a learning framework. Students can analyze how combining different indicators improves decision-making. The key training focus here is confluence: not depending on one indicator but observing when several conditions align.
Extended Study Material with Formulas
________________________________________
1. Daily Reference Levels (High, Low, Open, Median, Range)
• Day High (H): Maximum price of the session.
DayHigh=max(Hightoday)DayHigh=max(Hightoday)
• Day Low (L): Minimum price of the session.
DayLow=min(Lowtoday)DayLow=min(Lowtoday)
• Day Open (O): Opening price of the session.
DayOpen=OpentodayDayOpen=Opentoday
• Day Range:
Range=DayHigh−DayLowRange=DayHigh−DayLow
• Median: Mid-point between high and low.
Median=DayHigh+DayLow2Median=2DayHigh+DayLow
These act as intraday guideposts for seeing how far the price has stretched from its key reference levels.
________________________________________
2. VWAP (Volume Weighted Average Price)
VWAP considers both price and volume for a weighted average:
VWAPt=∑i=1t(Pricei×Volumei)∑i=1tVolumeiVWAPt=∑i=1tVolumei∑i=1t(Pricei×Volumei)
Here, Price_i can be the average price (High + Low + Close) ÷ 3, also known as hlc3.
• Interpretation: Price above VWAP = bullish bias; Price below = bearish bias.
________________________________________
3. Volume Buy/Sell Analysis
The dashboard splits total volume into buy volume and sell volume based on candle type.
• Buy Volume:
BuyVol=Volumeif Close > Open, else 0BuyVol=Volumeif Close > Open, else 0
• Sell Volume:
SellVol=Volumeif Close < Open, else 0SellVol=Volumeif Close < Open, else 0
• Buy Ratio (%):
VolumeRatio=BuyVolBuyVol+SellVol×100VolumeRatio=BuyVol+SellVolBuyVol×100
This helps traders gauge who is in control during a session—buyers or sellers.
________________________________________
4. RSI (Relative Strength Index)
RSI measures strength of momentum by comparing gains vs. losses.
Step 1: Compute average gains (AG) and losses (AL).
AG=Average of Upward Closes over N periodsAG=Average of Upward Closes over N periodsAL=Average of Downward Closes over N periodsAL=Average of Downward Closes over N periods
Step 2: Calculate relative strength (RS).
RS=AGALRS=ALAG
Step 3: RSI formula.
RSI=100−1001+RSRSI=100−1+RS100
• Used to detect overbought (>70), oversold (<30), or neutral momentum zones.
________________________________________
5. MACD (Moving Average Convergence Divergence)
• Fast EMA:
EMAfast=EMA(Close,length=fast)EMAfast=EMA(Close,length=fast)
• Slow EMA:
EMAslow=EMA(Close,length=slow)EMAslow=EMA(Close,length=slow)
• MACD Line:
MACD=EMAfast−EMAslowMACD=EMAfast−EMAslow
• Signal Line:
Signal=EMA(MACD,length=signal)Signal=EMA(MACD,length=signal)
• Histogram:
Histogram=MACD−SignalHistogram=MACD−Signal
Crossovers between MACD and Signal are used in studying bullish/bearish phases.
________________________________________
6. Stochastic Oscillator
Stochastic compares the current close against a range of highs and lows.
%K=Close−LowestLowHighestHigh−LowestLow×100%K=HighestHigh−LowestLowClose−LowestLow×100
Where LowestLow and HighestHigh are the lowest and highest values over N periods.
The %D line is a smooth version of %K (using a moving average).
%D=SMA(%K,smooth)%D=SMA(%K,smooth)
• Values above 80 = overbought; below 20 = oversold.
________________________________________
7. Trend and Momentum Classification
This dashboard generates simplified trend/momentum logic using RSI.
• Trend:
• RSI < 40 → Downtrend
• RSI > 60 → Uptrend
• In Between → Neutral
• Momentum Bias:
• RSI > 70 → Bullish Hold
• RSI < 30 → Bearish Hold
• Otherwise Neutral
This is not predictive, only a classification framework for educational use.
________________________________________
8. Accumulation/Distribution Bias
Based on extreme RSI values:
• RSI < 25 → Accumulate Long Bias
• RSI > 80 → Accumulate Short Bias
• Else → Wait/No Action
This helps learners understand the idea of accumulation at lows (strength building) and distribution at highs (profit booking).
________________________________________
9. Overall Market Status and Score
The tool adds up 5 bullish conditions:
1. Price above VWAP
2. RSI > 50
3. MACD > Signal
4. Stochastic > 50
5. Price above Daily Median
BullishScore=ConditionsMet5×100BullishScore=5ConditionsMet×100
Then it categorizes the market:
• RSI > 70 or Stoch > 80 → Overbought
• RSI < 30 or Stoch < 20 → Oversold
• Else → Normal
This encourages learners to think in terms of probabilistic conditions instead of single-indicator signals.
________________________________________
⚠️ Warning:
• Trading financial markets involves substantial risk.
• You can lose more money than you invest.
• Past performance of indicators does not guarantee future results.
• This script must not be copied, resold, or republished without authorization from aiTrendview.
By using this material or the code, you agree to take full responsibility for your trading decisions and acknowledge that this is not financial advice.
________________________________________
⚠️ Disclaimer and Warning (From aiTrendview)
This Dynamic Trading Dashboard is created strictly for educational and research purposes on the TradingView platform. It does not provide financial advice, buy/sell recommendations, or guaranteed returns. Any use of this tool in live trading is completely at the user’s own risk. Markets are inherently risky; losses can exceed initial investment.
The intellectual property of this script and its methodology belongs to aiTrendview. Unauthorized reproduction, modification, or redistribution of this code is strictly prohibited. By using this study material or the script, you acknowledge personal responsibility for any trading outcomes. Always consult professional financial advisors before making investment decisions.
Daryl Guppy's Multiple Moving Averages - GMMAThe Guppy EMAs indicator (Daryl Guppy’s method) displays two groups of exponential moving averages (EMAs) on the chart:
Fast EMA group: 3, 5, 8, 10, 12, 15 periods (thinner, more responsive lines)
Slow EMA group: 30, 35, 40, 45, 50, 60 periods (thicker, smoother lines)
Color Logic:
Fast EMAs turn AQUA if all fast EMAs are in bullish alignment and slow EMAs are in bullish alignment.
Fast EMAs turn ORANGE if all fast EMAs are in bearish alignment and slow EMAs are in bearish alignment.
Otherwise, fast EMAs appear GRAY.
Slow EMAs turn LIME when in bullish order, RED when bearish, and remain GRAY otherwise.
The area between the outermost fast EMAs and slow EMAs is filled with a semi-transparent silver color for visual emphasis.
ATAI Volume Pressure Analyzer V 1.0 — Pure Up/DownATAI Volume Pressure Analyzer V 1.0 — Pure Up/Down
Overview
Volume is a foundational tool for understanding the supply–demand balance. Classic charts show only total volume and don’t tell us what portion came from buying (Up) versus selling (Down). The ATAI Volume Pressure Analyzer fills that gap. Built on Pine Script v6, it scans a lower timeframe to estimate Up/Down volume for each host‑timeframe candle, and presents “volume pressure” in a compact HUD table that’s comparable across symbols and timeframes.
1) Architecture & Global Settings
Global Period (P, bars)
A single global input P defines the computation window. All measures—host‑TF volume moving averages and the half‑window segment sums—use this length. Default: 55.
Timeframe Handling
The core of the indicator is estimating Up/Down volume using lower‑timeframe data. You can set a custom lower timeframe, or rely on auto‑selection:
◉ Second charts → 1S
◉ Intraday → 1 minute
◉ Daily → 5 minutes
◉ Otherwise → 60 minutes
Lower TFs give more precise estimates but shorter history; higher TFs approximate buy/sell splits but provide longer history. As a rule of thumb, scan thin symbols at 5–15m, and liquid symbols at 1m.
2) Up/Down Volume & Derived Series
The script uses TradingView’s library function tvta.requestUpAndDownVolume(lowerTf) to obtain three values:
◉ Up volume (buyers)
◉ Down volume (sellers)
◉ Delta (Up − Down)
From these we define:
◉ TF_buy = |Up volume|
◉ TF_sell = |Down volume|
◉ TF_tot = TF_buy + TF_sell
◉ TF_delta = TF_buy − TF_sell
A positive TF_delta indicates buyer dominance; a negative value indicates selling pressure. To smooth noise, simple moving averages of TF_buy and TF_sell are computed over P and used as baselines.
3) Key Performance Indicators (KPIs)
Half‑window segmentation
To track momentum shifts, the P‑bar window is split in half:
◉ C→B: the older half
◉ B→A: the newer half (toward the current bar)
For each half, the script sums buy, sell, and delta. Comparing the two halves reveals strengthening/weakening pressure. Example: if AtoB_delta < CtoB_delta, recent buying pressure has faded.
[ 4) HUD (Table) Display /i]
Colors & Appearance
Two main color inputs define the theme: a primary color and a negative color (used when Δ is negative). The panel background uses a translucent version of the primary color; borders use the solid primary color. Text defaults to the primary color and flips to the negative color when a block’s Δ is negative.
Layout
The HUD is a 4×5 table updated on the last bar of each candle:
◉ Row 1 (Meta): indicator name, P length, lower TF, host TF
◉ Row 2 (Host TF): current ↑Buy, ↓Sell, ΔDelta; plus Σ total and SMA(↑/↓)
◉ Row 3 (Segments): C→B and B→A blocks with ↑/↓/Δ
◉ Rows 4–5: reserved for advanced modules (Wings, α/β, OB/OS, Top
5) Advanced Modules
5.1 Wings
“Wings” visualize volume‑driven movement over C→B (left wing) and B→A (right wing) with top/bottom lines and a filled band. Slopes are ATR‑per‑bar normalized for cross‑symbol/TF comparability and converted to angles (degrees). Coloring mirrors HUD sign logic with a near‑zero threshold (default ~3°):
◉ Both lines rising → blue (bullish)
◉ Both falling → red (bearish)
◉ Mixed/near‑zero → gray
Left wing reflects the origin of the recent move; right wing reflects the current state.
5.2 α / β at Point B
We compute the oriented angle between the two wings at the midpoint B:
β is the bottom‑arc angle; α = 360° − β is the top‑arc angle.
◉ Large α (>180°) or small β (<180°) flags meaningful imbalance.
◉ Intuition: large α suggests potential selling pressure; small β implies fragile support. HUD cells highlight these conditions.
5.3 OB/OS Spike
OverBought/OverSold (OB/OS) labels appear when directional volume spikes align with a 7‑oscillator vote (RSI, Stoch, %R, CCI, MFI, DeMarker, StochRSI).
◉ OB label (red): unusually high sell volume + enough OB votes
◉ OS label (teal): unusually high buy volume + enough OS votes
Minimum votes and sync window are user‑configurable; dotted connectors can link labels to the candle wick.
5.4 Top3 Volume Peaks
Within the P window the script ranks the top three BUY peaks (B1–B3) and top three SELL peaks (S1–S3).
◉ B1 and S1 are drawn as horizontal resistance (at B1 High) and support (at S1 Low) zones with adjustable thickness (ticks/percent/ATR).
◉ The HUD dedicates six cells to show ↑/↓/Δ for each rank, and prints the exact High (B1) and Low (S1) inline in their cells.
6) Reading the HUD — A Quick Checklist
◉ Meta: Confirm P and both timeframes (host & lower).
◉ Host TF block: Compare current ↑/↓/Δ against their SMAs.
◉ Segments: Contrast C→B vs B→A deltas to gauge momentum change.
◉ Wings: Right‑wing color/angle = now; left wing = recent origin.
◉ α / β: Look for α > 180° or β < 180° as imbalance cues.
◉ OB/OS: Note labels, color (red/teal), and the vote count.
◉Top3: Keep B1 (resistance) and S1 (support) on your radar.
Use these together to sketch scenarios and invalidation levels; never rely on a single signal in isolation.
[ 7) Example Highlights (What the table conveys) /i]
◉ Row 1 shows the indicator name, the analysis length P (default 55), and both TFs used for computation and display.
◉ B1 / S1 blocks summarize each side’s peak within the window, with Δ indicating buyer/seller dominance at that peak and inline price (B1 High / S1 Low) for actionable levels.
◉ Angle cells for each wing report the top/bottom line angles vs. the horizontal, reflecting the directional posture.
◉ Ranks B2/B3 and S2/S3 extend context beyond the top peak on each side.
◉ α / β cells quantify the orientation gap at B; changes reflect shifting buyer/seller influence on trend strength.
Together these visuals often reveal whether the “wings” resemble a strong, upward‑tilted arm supported by buyer volume—but always corroborate with your broader toolkit
8) Practical Tips & Tuning
◉ Choose P by market structure. For daily charts, 34–89 bars often works well.
◉ Lower TF choice: Thin symbols → 5–15m; liquid symbols → 1m.
◉ Near‑zero angle: In noisy markets, consider 5–7° instead of 3°.
◉ OB/OS votes: Daily charts often work with 3–4 votes; lower TFs may prefer 4–5.
◉ Zone thickness: Tie B1/S1 zone thickness to ATR so it scales with volatility.
◉ Colors: Feel free to theme the primary/negative colors; keep Δ<0 mapped to the negative color for readability.
Combine with price action: Use this indicator alongside structure, trendlines, and other tools for stronger decisions.
Technical Notes
Pine Script v6.
◉ Up/Down split via TradingView/ta library call requestUpAndDownVolume(lowerTf).
◉ HUD‑first design; drawings for Wings/αβ/OBOS/Top3 align with the same sign/threshold logic used in the table.
Disclaimer: This indicator is provided solely for educational and analytical purposes. It does not constitute financial advice, nor is it a recommendation to buy or sell any security. Always conduct your own research and use multiple tools before making trading decisions.
Trapped Traders [ScorsoneEnterprises]This indicator identifies and visualizes trapped traders - market participants caught on the wrong side of price movements with significant volume imbalances. By analyzing volume delta at specific price levels, it reveals where traders are likely experiencing unrealized losses and may be forced to exit their positions.
The point of this tool is to identify where the liquidity in a trend may be.
var lowerTimeframe = switch
useCustomTimeframeInput => lowerTimeframeInput
timeframe.isseconds => "1S"
timeframe.isintraday => "1"
timeframe.isdaily => "5"
=> "60"
= ta.requestVolumeDelta(lowerTimeframe)
price_quantity = map.new()
is_red_candle = close < open
is_green_candle = close > open
for i=0 to lkb-1 by 1
current_vol = price_quantity.get(close)
new_vol = na(current_vol) ? lastVolume : current_vol + lastVolume
price_quantity.put(close, new_vol)
if is_green_candle and new_vol < 0
price_quantity.put(close, new_vol)
else if is_red_candle and new_vol > 0
price_quantity.put(close, new_vol)
We see in this snippet, the lastVolume variable is the most recent volume delta we can receive from the lower timeframe, we keep updating the price level we're keeping track of with that lastVolume from the lower timeframe.
This is the bulk of the concept as this level and size gives us the idea of how many traders were on the wrong side of the trend, and acting as liquidity for the profitable entries. The more, the stronger.
There are 3 ways to visualize this. A basic label, that will display the size and if positive or negative next to the bar, a gradient line that goes 10 bars to the future to be used as a support or resistance line that includes the quantity, and a bubble chart with the quantity. The larger the quantity, the bigger the bubble.
We see in this example on NYMEX:CL1! that there are lines plotted throughout this price action that price interacts with in meaningful way. There are consistently many levels for us.
Here on CME_MINI:ES1! we see the labels on the chart, and the size set to large. It is the same concept just another way to view it.
This chart of CME_MINI:RTY1! shows the bubble chart visualization. It is a way to view it that is pretty non invasive on the chart.
Every timeframe is supported including daily, weekly, and monthly.
The included settings are the display style, like mentioned above. If the user would like to see the volume numbers on the chart. The text size along with the transparency percentage. Following that is the settings for which lower timeframe to calculate the volume delta on. Finally, if you would like to see your inputs in the status line.
No indicator is 100% accurate, use "Trapped Traders" along with your own discretion.
BarLibrary "Bar"
A comprehensive library for creating and managing custom multi-timeframe (MTF) candlestick bars without using request.security calls, providing enhanced visualization and analytical capabilities with improved performance
Candle()
Creates a new candle object initialized with current bar's OHLC data
Returns: A new _Candle instance with current market data
method body(this)
Calculates the absolute size of the candle body (distance between open and close)
Namespace types: _Candle
Parameters:
this (_Candle)
Returns: The absolute difference between closing and opening prices
method topWick(this)
Calculates the length of the upper wick (shadow above the candle body)
Namespace types: _Candle
Parameters:
this (_Candle)
Returns: The distance from the higher of open/close to the high price
method bottomWick(this)
Calculates the length of the lower wick (shadow below the candle body)
Namespace types: _Candle
Parameters:
this (_Candle)
Returns: The distance from the low price to the lower of open/close
method display(this, bullishColor, bearishColor, transp, borderWidth, lineWidth)
Renders the candle visually on the chart with customizable colors and styling options
Namespace types: _Candle
Parameters:
this (_Candle)
bullishColor (color)
bearishColor (color)
transp (int)
borderWidth (int)
lineWidth (int)
candles(tf, autoDisplay)
Creates and manages an array of custom timeframe candles with optional automatic display
Parameters:
tf (string) : Target timeframe string (e.g., "60", "240", "D") for candle aggregation
autoDisplay (bool)
Returns: Array containing all completed candles for the specified timeframe
_Candle
Custom candlestick data structure that stores OHLCV data with visual rendering components
Fields:
start (series int) : Opening timestamp of the candle period
end (series int) : Closing timestamp of the candle period
o (series float) : Opening price of the candle
h (series float) : Highest price reached during the candle period
l (series float) : Lowest price reached during the candle period
c (series float) : Closing price of the candle
v (series float) : Volume traded during the candle period
bodyBox (series box)
wickLine (series line)
Example Usage
// Change version with latest version
import EmreKb/Bar/1 as bar
// "240" for 4h timeframe
// true for auto display candles on chart (default: false)
candlesArr = bar.candles("240", true)