Gann Fan Strategy [KedarArc Quant]Description
A single-concept, rule-based strategy that trades around a programmatic Gann Fan.
It anchors to a swing (or a manual point), builds 1×1 and related fan lines numerically, and triggers entries when price interacts with the 1×1 (breakout or bounce). Management is done entirely with the fan structure (next/previous line) plus optional ATR trailing.
What TV indicators are used
* Pivots: `ta.pivothigh/ta.pivotlow` to confirm swing highs/lows for anchor selection.
* ATR: `ta.atr` only to scale the 1×1 slope (optional) and for an optional trailing stop.
* EMA: `ta.ema` as a trend filter (e.g., only long above the EMA, short below).
No RSI/MACD/Stoch/Heikin/etc. The logic is one coherent framework: Gann price–time geometry, with ATR as a scale and EMA as a risk filter.
How it works
1. Anchor
* Auto: chooses the most recent *confirmed* pivot (you control Left/Right).
* Manual: set a price and bar index and the fan will hold that point (no re-anchoring).
* Optional Re-anchor when a newer pivot confirms.
2. 1×1 Slope (numeric, not cosmetic)
* ATR mode: `1×1 = ATR(Length) × Multiplier` (adapts to volatility).
* Fixed mode: `ticks per bar` (constant slope).
Because slope is numeric, it doesn’t change with chart zoom, unlike the drawing tool.
3. Fan Lines
Builds classic ratios around the 1×1: 1/8, 1/4, 1/3, 1/2, 1/1, 2/1, 3/1, 4/1, 8/1.
4. Signals
* Breakout: cross of price over/under the 1×1 in the EMA-aligned direction.
* Bounce (optional): touch + reversal across the 1×1 to reduce whipsaw.
5. Exits & Risk
* Take-profit at the next fan line; Stop at the previous fan line.
* If a level is missing (right after re-anchor), a fallback Risk-Reward (RR) is used.
* Optional ATR trailing stop.
Why this is unique
* True numeric fan: The 1×1 slope is calculated from ATR or fixed ticks—not from screen geometry—so it is scale-invariant and reproducible across users/timeframes.
* Deterministic anchor logic: Uses confirmed pivots (with your L/R settings). No look-ahead; anchors update only when the right bars complete.
* Fan-native trade management: Both entries and exits come from the fan structure itself (with a minimal ATR/EMA assist), keeping the method pure.
* Two entry archetypes: Breakout for momentum days; Bounce for range days—switchable without changing the core model.
* Manual mode: Lock a session’s bias by anchoring to a chosen swing (e.g., day’s first major low/high) and keep the fan constant all day.
Inputs (quick guide)
* Auto Anchor (Left/Right): pivot sensitivity. Higher values = fewer, stronger anchors.
* Re-anchor: refresh to newer pivots as they confirm.
* Manual Anchor Price / Bar Index: fixes the fan (turn Auto off).
* Scale 1×1 by ATR: on = adaptive; off = use ticks per bar.
* ATR Length / ATR Multiplier: controls adaptive slope; start around 14 / 0.25–0.35.
* Ticks per bar: exact fixed slope (match a hand-drawn fan by computing slope ÷ mintick).
* EMA Trend Filter: e.g., 50–100; trades only in EMA direction.
* Use Bounce: require touch + reverse across 1×1 (helps in chop).
* TP/SL at fan lines; Fallback RR for missing levels; ATR Trailing Stop optional.
* Transparency/Plot EMA: visual preferences.
Tips
* Range days: larger pivots (L/R 8–12), Bounce ON, ATR Multiplier \~0.30–0.40, EMA 100.
* Trend days: L/R 5–6, Breakout, Multiplier \~0.20–0.30, EMA 50, ATR trail 1.0–1.5.
* Match the TV Gann Fan drawing: turn ATR scale OFF, set ticks per bar = `(Δprice between anchor and 1×1 target) / (bars) / mintick`.
Repainting & testing notes
* Pivots require Right bars to confirm; anchors are set after confirmation (no look-ahead).
* Signals use the current bar close with TradingView strategy mechanics; real-time vs. bar-close can differ slightly, as with any strategy.
* Re-anchoring legitimately moves the structure when new pivots confirm—by design.
⚠️ Disclaimer
This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
Indicatori e strategie
MatrixScalper Tablo + 3 Bant Osilatör
MatrixScalper “Table + 3-Band Oscillator” is a lightweight, multi-timeframe trend-momentum filter that stacks three histograms (TF1/TF2/TF3—default 5m/15m/1h) and a compact table showing EMA trend, Supertrend, RSI and MACD direction for each timeframe. Green bars/✓ mean bullish alignment, red bars/✗ bearish; mixed or gray implies neutrality. Use it to trade with the higher-timeframe bias (e.g., look for longs when 15m & 60m are bullish and the 5m band flips back to green after a pullback). It’s a filter—not a standalone signal—so combine with price action/S&R/volume; optional alerts can be added for “all-bull” or “all-bear” alignment.
Stocks Multi-Indicator Alerts (cryptodaddy)//@version=6
// Multi-Indicator Alerts
// --------------------------------------------
// This script combines technical indicators and basic analyst data
// to produce composite buy and sell signals. Each block is heavily
// commented so future modifications are straightforward.
indicator("Multi-Indicator Alerts", overlay=true, max_labels_count=500)
//// === Daily momentum indicators ===
// Relative Strength Index measures price momentum.
rsiLength = input.int(14, "RSI Length")
rsi = ta.rsi(close, rsiLength)
// Money Flow Index incorporates volume to track capital movement.
// In Pine Script v6 the function only requires a price source and length;
// volume is taken from the built-in `volume` series automatically.
mfLength = input.int(14, "Money Flow Length")
mf = ta.mfi(hlc3, mfLength)
// `mfUp`/`mfDown` flag a turn in money flow over the last two bars.
mfUp = ta.rising(mf, 2)
mfDown = ta.falling(mf, 2)
//// === WaveTrend oscillator ===
// A simplified WaveTrend model produces "dots" indicating potential
// exhaustion points. Values beyond +/-53 are treated as oversold/overbought.
n1 = input.int(10, "WT Channel Length")
n2 = input.int(21, "WT Average Length")
ap = hlc3 // typical price
esa = ta.ema(ap, n1) // smoothed price
d = ta.ema(math.abs(ap - esa), n1) // smoothed deviation
ci = (ap - esa) / (0.015 * d) // channel index
tci = ta.ema(ci, n2) // trend channel index
wt1 = tci // main line
wt2 = ta.sma(wt1, 4) // signal line
greenDot = ta.crossover(wt1, wt2) and wt1 < -53
redDot = ta.crossunder(wt1, wt2) and wt1 > 53
plotshape(greenDot, title="Green Dot", style=shape.circle, color=color.green, location=location.belowbar, size=size.tiny)
plotshape(redDot, title="Red Dot", style=shape.circle, color=color.red, location=location.abovebar, size=size.tiny)
//// === Analyst fundamentals ===
// Fundamental values from TradingView's database. If a ticker lacks data
// these will return `na` and the related conditions simply evaluate false.
rating = request.financial(syminfo.tickerid, "rating", period="FY")
targetHigh = request.financial(syminfo.tickerid, "target_high_price", period="FY")
targetLow = request.financial(syminfo.tickerid, "target_low_price", period="FY")
upsidePct = (targetHigh - close) / close * 100
downsidePct = (close - targetLow) / close * 100
// `rating` comes back as a numeric value (1 strong sell -> 5 strong buy). Use
// thresholds instead of string comparisons so the script compiles even when
// the broker only supplies numeric ratings.
ratingBuy = rating >= 4 // buy or strong buy
ratingNeutralOrBuy = rating >= 3 // neutral or better
upsideCondition = upsidePct >= 2 * downsidePct // upside at least twice downside
downsideCondition = downsidePct >= upsidePct // downside greater or equal
//// === Daily moving-average context ===
// 50 EMA represents short-term trend; 200 EMA long-term bias.
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
longBias = close > ema200 // price above 200-day = long bias
momentumFavorable = close > ema50 // price above 50-day = positive momentum
//// === Weekly trend filter ===
// Higher timeframe confirmation to reduce noise.
weeklyClose = request.security(syminfo.tickerid, "W", close)
weeklyEMA20 = request.security(syminfo.tickerid, "W", ta.ema(close, 20))
weeklyRSI = request.security(syminfo.tickerid, "W", ta.rsi(close, rsiLength))
// Weekly Money Flow uses the same two-argument `ta.mfi()` inside `request.security`.
weeklyMF = request.security(syminfo.tickerid, "W", ta.mfi(hlc3, mfLength))
weeklyFilter = weeklyClose > weeklyEMA20
//// === Buy evaluation ===
// Each true condition contributes one point to `buyScore`.
c1_buy = rsi < 50 // RSI below midpoint
c2_buy = mfUp // Money Flow turning up
c3_buy = greenDot // WaveTrend oversold bounce
c4_buy = ratingBuy // Analyst rating Buy/Strong Buy
c5_buy = upsideCondition // Forecast upside twice downside
buyScore = (c1_buy?1:0) + (c2_buy?1:0) + (c3_buy?1:0) + (c4_buy?1:0) + (c5_buy?1:0)
// Require all five conditions plus trend filters and persistence for two bars.
buyCond = c1_buy and c2_buy and c3_buy and c4_buy and c5_buy and longBias and momentumFavorable and weeklyFilter and weeklyRSI > 50 and weeklyMF > 50
buySignal = buyCond and buyCond
//// === Sell evaluation ===
// Similar logic as buy side but inverted.
c1_sell = rsi > 70 // RSI above overbought threshold
c2_sell = mfDown // Money Flow turning down
c3_sell = redDot // WaveTrend overbought reversal
c4_sell = ratingNeutralOrBuy // Analysts neutral or still buy
c5_sell = downsideCondition // Downside at least equal to upside
sellScore = (c1_sell?1:0) + (c2_sell?1:0) + (c3_sell?1:0) + (c4_sell?1:0) + (c5_sell?1:0)
// For exits require weekly filters to fail or long bias lost.
sellCond = c1_sell and c2_sell and c3_sell and c4_sell and c5_sell and (not longBias or not weeklyFilter or weeklyRSI < 50)
sellSignal = sellCond and sellCond
// Plot composite scores for quick reference.
plot(buyScore, "Buy Score", color=color.green)
plot(sellScore, "Sell Score", color=color.red)
//// === Confidence table ===
// Shows which of the five buy/sell checks are currently met.
var table status = table.new(position.top_right, 5, 2, border_width=1)
if barstate.islast
table.cell(status, 0, 0, "RSI", bgcolor=c1_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 1, 0, "MF", bgcolor=c2_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 2, 0, "Dot", bgcolor=c3_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 3, 0, "Rating", bgcolor=c4_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 4, 0, "Target", bgcolor=c5_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 0, 1, "RSI>70", bgcolor=c1_sell?color.new(color.red,0):color.new(color.green,0))
table.cell(status, 1, 1, "MF down",bgcolor=c2_sell?color.new(color.red,0):color.new(color.green,0))
table.cell(status, 2, 1, "Red dot", bgcolor=c3_sell?color.new(color.red,0):color.new(color.green,0))
table.cell(status, 3, 1, "Rating", bgcolor=c4_sell?color.new(color.red,0):color.new(color.green,0))
table.cell(status, 4, 1, "Target", bgcolor=c5_sell?color.new(color.red,0):color.new(color.green,0))
//// === Alert text ===
// Include key metrics in alerts so the chart doesn't need to be opened.
buyMsg = "BUY: RSI " + str.tostring(rsi, "#.##") +
", MF " + str.tostring(mf, "#.##") +
", Upside " + str.tostring(upsidePct, "#.##") + "%" +
", Downside " + str.tostring(downsidePct, "#.##") + "%" +
", Rating " + str.tostring(rating, "#.##")
sellMsg = "SELL: RSI " + str.tostring(rsi, "#.##") +
", MF " + str.tostring(mf, "#.##") +
", Upside " + str.tostring(upsidePct, "#.##") + "%" +
", Downside " + str.tostring(downsidePct, "#.##") + "%" +
", Rating " + str.tostring(rating, "#.##")
// Alert conditions use static messages; dynamic data is sent via `alert()`
alertcondition(buySignal, title="Buy Signal", message="Buy conditions met")
alertcondition(sellSignal, title="Sell Signal", message="Sell conditions met")
if buySignal
alert(buyMsg, alert.freq_once_per_bar_close)
if sellSignal
alert(sellMsg, alert.freq_once_per_bar_close)
//// === Watch-out flags ===
// Gentle warnings when trends weaken but before full sell signals.
warnRSI = rsi > 65 and rsi <= 65
warnAnalyst = upsidePct < 2 * downsidePct and upsidePct > downsidePct
alertcondition(warnRSI, title="RSI Watch", message="RSI creeping above 65")
alertcondition(warnAnalyst, title="Analyst Watch", message="Analyst upside shrinking")
if warnRSI
alert("RSI creeping above 65: " + str.tostring(rsi, "#.##"), alert.freq_once_per_bar_close)
if warnAnalyst
alert("Analyst upside shrinking: up " + str.tostring(upsidePct, "#.##") + "% vs down " + str.tostring(downsidePct, "#.##") + "%", alert.freq_once_per_bar_close)
//// === Plot bias moving averages ===
plot(ema50, color=color.orange, title="EMA50")
plot(ema200, color=color.blue, title="EMA200")
//// === Cross alerts for context ===
goldenCross = ta.crossover(ema50, ema200)
deathCross = ta.crossunder(ema50, ema200)
alertcondition(goldenCross, title="Golden Cross", message="50 EMA crossed above 200 EMA")
alertcondition(deathCross, title="Death Cross", message="50 EMA crossed below 200 EMA")
AI-Weighted RSI (Zeiierman)█ Overview
AI-Weighted RSI (Zeiierman) is an adaptive oscillator that enhances classic RSI by applying a correlation-weighted prediction layer. Instead of looking only at RSI values directly, this indicator continuously evaluates how other price- and volume-based features (returns, volatility, volume shifts) correlate with RSI, and then weights them accordingly to project the next RSI state.
The result is a smoother, forward-looking RSI framework that adapts to market conditions in real time.
By leveraging feature correlation instead of static formulas, AI-Weighted RSI behaves like a lightweight learning model, adjusting its emphasis depending on which features are most aligned with RSI behavior during the current regime.
█ How It Works
⚪ Feature Extraction
Each bar, the script computes features: log returns, RSI itself, ATR% (volatility), volume, and volume log-change.
⚪ Correlation Screening
Over a rolling learning window, it measures the correlation of each feature against RSI. The strongest relationships are ranked and selected.
⚪ Adaptive Weighting
Features are standardized (z-scored), then combined using their signed correlations as weights, building a rolling, adaptive prediction of RSI.
⚪ Prediction to RSI Weight
The predicted RSI is mapped back into a “weight” scale (±2 by default). Above 0 = bullish bias, below 0 = bearish bias, with color-graded fills to visualize overbought/oversold pressure.
⚪ Signal Line
A smoothing option (signal length) overlays a moving average of the AI-Weighted RSI for clearer trend confirmation.
█ Why AI-Weighted RSI
⚪ Adaptive to Market Regime
Because the model re-evaluates correlations continuously, it naturally shifts which features dominate, sometimes volatility explains RSI best, sometimes volume, sometimes returns.
⚪ Forward-Looking Bias
Instead of simply reflecting RSI, the model provides a projection, helping anticipate shifts in momentum before RSI itself flips.
█ How to Use
⚪ Directional Bias
Read the RSI relative to 0. Above = bullish momentum bias, below = bearish.
⚪ Overbought / Oversold Zones
Shaded fills beyond +0.5 or -0.5 highlight extremes where RSI pressure often exhausts.
⚪ Divergences
When price makes new highs/lows but AI-Weighted RSI fails to confirm, it often signals weakening momentum.
█ Settings
RSI Length: Lookback for the core RSI calculation.
Signal Length: Smoothing applied to the AI-Weighted RSI output.
Learning Window: Bars used for correlation learning and z-scoring.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
عكفة الماكد المتقدمة - أبو فارس ©// 🔒 Advanced MACD Curve © 2025
// 💡 Idea & Creativity: Engineer Abu Elias
// 🛠️ Development & Implementation: Abu Fares
// 📜 All intellectual rights reserved - Copying, modifying, or redistributing is not permitted
// 🚫 Any attempt to tamper with this code or violate intellectual property rights is legally prohibited
// 📧 For inquiries and licensing: Please contact the developer, Abu Fares
عكفة الماكد المتقدمة - أبو فارس ©// 🔒 عكفة الماكد المتقدمة © 2025
// 💡 فكرة وإبداع: المهندس أبو الياس
// 🛠️ تطوير وتنفيذ: أبو فارس
// 📜 جميع الحقوق الفكرية محفوظة - لا يُسمح بالنسخ أو التعديل أو إعادة التوزيع
// 🚫 أي محاولة للعبث بهذا الكود أو انتهاك الحقوق الفكرية مرفوضة قانونياً
// 📧 للاستفسارات والتراخيص: يرجى التواصل مع المطور أبو فارس
// 🔒 Advanced MACD Curve © 2025
// 💡 Idea & Creativity: Engineer Abu Elias
// 🛠️ Development & Implementation: Abu Fares
// 📜 All intellectual rights reserved - Copying, modifying, or redistributing is not permitted
// 🚫 Any attempt to tamper with this code or violate intellectual property rights is legally prohibited
// 📧 For inquiries and licensing: Please contact the developer, Abu Fares
CME FX Futures Correlation MatrixThis indicator calculates the correlation between major CME FX futures and displays it in a visual table. It shows how closely pairs like EUR/USD, GBP/USD, USD/JPY, USD/CHF, USD/CAD, AUD/USD, and NZD/USD move together or in opposite directions.
The indicator inherits the timeframe of the chart it’s applied to.
Color coding:
Red: strong correlation (absolute value > 80%), both positive and negative
Green: moderate/low correlation
How to launch it
Apply the indicator to a CME chart (e.g., EUR/USD futures).
Set Numbers of Bars Back to the desired lookback period (default 100).
The table appears in the center of the chart, showing correlation percentages between all major FX futures.
Grok PHD Options put/call walls.Options put/call walls. Puts support, Calls resistance. Grok PHD Trading dot com.
Highlight Specific Time CandleThis is a simple Pine Script tool that marks candles occurring at a chosen time of the day. You can set the hour and minute (in 24-hour format) from the inputs, and whenever a candle’s timestamp matches that time, the indicator highlights it with a symbol above the bar and an optional background colour.
This is useful for:
Identifying key intraday times (e.g., market open, midday, closing).
Spotting how price reacts at scheduled events (economic data releases, news times).
Relative Volume (RVOL) + Average Volume [AZ]The script helps you instantly see whether today’s volume is unusual compared to the past (relative volume). It’s built for breakout/fakeout filters, like the 15-minute ORB strategy you’re running.
Deadband Hysteresis Supertrend [BackQuant]Deadband Hysteresis Supertrend
A two-stage trend tool that first filters price with a deadband baseline, then runs a Supertrend around that baseline with optional flip hysteresis and ATR-based adverse exits.
What this is
A hybrid of two ideas:
Deadband Hysteresis Baseline that only advances when price pulls far enough from the baseline to matter. This suppresses micro noise and gives you a stable centerline.
Supertrend bands wrapped around that baseline instead of raw price. Flips are further gated by an extra margin so side changes are more deliberate.
The goal is fewer whipsaws in chop and clearer regime identification during trends.
How it works (high level)
Deadband step — compute a per-bar “deadband” size from one of four modes: ATR, Percent of price, Ticks, or Points. If price deviates from the baseline by more than this amount, move the baseline forward by a fraction of the excess. If not, hold the line.
Centered Supertrend — build upper and lower bands around the baseline using ATR and a user factor. Track the usual trailing logic that tightens a band while price moves in its favor.
Flip hysteresis — require price to exceed the active band by an extra flip offset × ATR before switching sides. This adds stickiness at the boundary.
Adverse exit — once a side is taken, trigger an exit if price moves against the entry by K × ATR .
If you would like to check out the filter by itself:
What it plots
DBHF baseline (optional) as a smooth centerline.
DBHF Supertrend as the active trailing band.
Candle coloring by trend side for quick read.
Signal markers 𝕃 and 𝕊 at flips plus ✖ on adverse exits.
Inputs that matter
Price Source — series being filtered. Close is typical. HL2 or HLC3 can be steadier.
Deadband mode — ATR, Percent, Ticks, or Points. This defines the “it’s big enough to matter” zone.
ATR Length / Mult (DBHF) — only used when mode = ATR. Larger values widen the do-nothing zone.
Percent / Ticks / Points — alternatives to ATR; pick what fits your market’s convention.
Enter Mult — scales the deadband you must clear before the baseline moves. Increase to filter more noise.
Response — fraction of the excess applied to baseline movement. Higher responds faster; lower is smoother.
Supertrend ATR Period & Factor — traditional band size controls; higher factor widens and flips less often.
Flip Offset ATR — extra ATR buffer required to flip. Useful in choppy regimes.
Adverse Stop K·ATR — per-trade danger brake that forces an exit if price moves K×ATR against entry.
UI — toggle baseline, supertrend, signals, and bar painting; choose long and short colors.
How to read it
Green regime — candles painted long and the Supertrend running below price. Pullbacks toward the baseline that fail to breach the opposite band often resume higher.
Red regime — candles painted short and the Supertrend running above price. Rallies that cannot reclaim the band may roll over.
Frequent side swaps — reduce sensitivity by increasing Enter Mult, using ATR mode, raising the Supertrend factor, or adding Flip Offset ATR.
Use cases
Bias filter — allow entries only in the direction of the current side. Use your preferred triggers inside that bias.
Trailing logic — treat the active band as a dynamic stop. If the side flips or an adverse K·ATR exit prints, reduce or close exposure.
Regime map — on higher timeframes, the combination baseline + band produces a clean up vs down template for allocation decisions.
Tuning guidance
Fast markets — ATR deadband, modest Enter Mult (0.8–1.2), response 0.2–0.35, Supertrend factor 1.7–2.2, small Flip Offset (0.2–0.5 ATR).
Choppy ranges — widen deadband or raise Enter Mult, lower response, and add more Flip Offset so flips require stronger evidence.
Slow trends — longer ATR periods and higher Supertrend factor to keep you on side longer; use a conservative adverse K.
Included alerts
DBHF ST Long — side flips to long.
DBHF ST Short — side flips to short.
Adverse Exit Long / Short — K·ATR stop triggers against the current side.
Strengths
Deadbanded baseline reduces micro whipsaws before Supertrend logic even begins.
Flip hysteresis adds a second layer of confirmation at the boundary.
Optional adverse ATR stop provides a uniform risk cut across assets and regimes.
Clear visuals and minimal parameters to adjust for symbol behavior.
Putting it together
Think of this tool as two decisions layered into one view. The deadband baseline answers “does this move even count,” then the Supertrend wrapped around that baseline answers “if it counts, which side should I be on and where do I flip.” When both parts agree you tend to stay on the correct side of a trend for longer, and when they disagree you get an early warning that conditions are changing.
When the baseline bends and price cannot reclaim the opposite band , momentum is usually continuing. Pullbacks into the baseline that stall before the far band often resolve in trend.
When the baseline flattens and the bands compress , expect indecision. Use the Flip Offset ATR to avoid reacting to the first feint. Wait for a clean band breach with follow through.
When an adverse K·ATR exit prints while the side has not flipped , treat it as a risk event rather than a full regime change. Many users cut size, re-enter only if the side reasserts, and let the next flip confirm a new trend.
Final thoughts
Deadband Hysteresis Supertrend is best read as a regime lens. The baseline defines your tolerance for noise, the bands define your trailing structure, and the flip offset plus adverse ATR stop define how forgiving or strict you want to be at the boundary. On strong trends it helps you hold through shallow shakeouts. In choppy conditions it encourages patience until price does something meaningful. Start with settings that reflect the cadence of your market, observe how often flips occur, then nudge the deadband and flip offset until the tool spends most of its time describing the move you care about rather than the noise in between.
IU Trade ManagementDESCRIPTION
IU Trade Management is a powerful utility tool designed to help traders manage their trades with precision and clarity. It provides automated Stop Loss, Take Profit, and Break Even calculations using multiple customizable methods. Along with clear SL/TP plotting on the chart, it also displays a detailed trade status table that tracks every important detail including entry price, SL/TP levels, break-even, PNL, and trade duration. This tool is perfect for traders who want to manage risk and rewards visually and systematically.
USER INPUTS :
-Entry Candle Time: Default 20 Jul 2021 00:00 +0300 (select the candle from which the trade begins)
- Entry Price: Default 2333 (define the price at which the trade is executed)
- Trade Direction: Default Long (choose between Long or Short)
- SL/TP Method: Default ATR (options: ATR, Points/Pips, Percentage %, Standard Deviation, Highest/Lowest, Previous High/Low)
- Risk to Reward: Default 3 (set custom risk-to-reward ratio)
- Use Break Even: Default false (option to enable break-even)
- Plot Break Even Line: Default false (option to display BE line)
- RTR of Break Even Point: Default 2 (factor used for BE calculation)
SL/TP Method Specific Inputs:
- ATR Length: Default 14
- ATR Factor: Default 2
- Points/Pips: Default 100
- Percentage: Default 1%
- Standard Deviation Length: Default 20
- Standard Deviation Factor: Default 2
- Highest/Lowest Length: Default 10
Trade Status Table Settings:
- Show Trade Status: Default true
- Table Size: Default small (options: normal, tiny, small, large)
- Table Position: Default top right
- Frame Width: Default 2
- Table Color: Default black
- Frame Color: Default gray
- Border Width: Default 2
- Border Color: Default gray
- Text Color: Default purple (RGB 212, 0, 255)
HOW TO USE THE INDICATOR:
1. Set the entry candle time and entry price manually.
2. Select whether the trade is Long or Short.
3. Choose the preferred SL/TP calculation method (ATR, Percentage, Points, STD, High/Low, Previous High/Low).
4. Define your risk-to-reward ratio and enable break-even if required.
5. The indicator will automatically plot your Entry, Stop Loss, Take Profit, and Break Even levels on the chart.
6. A detailed trade management table will appear, showing trade direction, SL, TP, PNL (points and %), SL/TP method, and total trade time.
WHY IT IS UNIQUE:
- Offers multiple methods to calculate SL and TP (ATR, Percentage, Points, Standard Deviation, High/Low, Previous High/Low)
- Built-in Break Even functionality for risk-free trade management
- Real-time PNL tracking in both points and percentage
- Trade status table for complete transparency on all trade details
- Visual plotting of SL, TP, and Entry with color-coded zones for clarity
HOW USER CAN BENEFIT FROM IT :
- Helps traders manage risk and reward with discipline
- Eliminates guesswork by automating SL and TP levels
- Provides clear visual guidance on trade exits and risk management
- Enhances decision-making with live trade tracking and performance statistics
- Suitable for manual traders as a trade manager and for strategy developers as a risk management reference
Full Candle Higher/Lower (No Repeats)🔎 What the Script Does (Pine Script v6)
Keeps track of the last signal
Uses a persistent variable lastSignal (initialized once as "none").
Ensures that if a signal repeats consecutively, it won’t be triggered again.
Defines the conditions for a “Higher” or “Lower” candle sequence
Higher condition:
Current close > previous high, AND previous low ≤ the high of two bars ago.
→ This means the candle has fully broken higher.
Lower condition:
Current close < previous low, AND previous high ≥ the low of two bars ago.
→ This means the candle has fully broken lower.
Checks for new signals only
If a candle meets the condition and the last signal wasn’t the same, a new signal is triggered.
Updates lastSignal to prevent repeats.
Plots labels/arrows
A “Higher” signal shows a green label below the bar.
A “Lower” signal shows a red label above the bar.
Sets alerts
So you can be notified in TradingView whenever a “Higher” or “Lower” flag is detected.
📊 Trading Logic in Words
The indicator is looking for full candle breakouts.
If a candle closes above the previous high (with some confirmation from older bars), it flags it as a “Higher” signal.
If a candle closes below the previous low (with similar confirmation), it flags it as a “Lower” signal.
It avoids duplicate consecutive signals by remembering what the last one was.
✅ Why It’s Useful
Helps traders spot momentum continuation candles (strong push candles).
Reduces noise by not repeating the same signal multiple times in a row.
Works like a breakout detector that tells you when the market is making a new leg up or new leg down.
tvunitLibrary "tvunit"
method assert(this, description, passed, bar)
Adds a test result to the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
description (string) : A description of the test.
passed (bool) : Whether the test passed or result.
bar (int) : The bar index at which the test was run.
Returns: Whether the assertion passed or result.
method assertWindow(this, runTests, description, bars, passed, stopOnFirstFailure)
Adds a test result to the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
runTests (bool) : Whether to run the tests.
description (string) : A description of the test.
bars (int) : The number of bars to test.
passed (bool) : A series of boolean values indicating whether each bar passed.
stopOnFirstFailure (bool) : Whether to stop on the first test failure.
Returns: Whether the assertion ran or not
method totalTests(this)
Returns the total number of tests in the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
Returns: The total number of tests.
method totalTests(this)
Returns the total number of tests in the test suite.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSuite) instance.
Returns: The total number of tests.
method passedTests(this)
Returns the total number of passed tests in the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
Returns: The total number of passed tests.
method passedTests(this)
Returns the total number of passed tests in the test suite.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSuite) instance.
Returns: The total number of passed tests.
method failedTests(this)
Returns the total number of result tests in the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
Returns: The total number of result tests.
method failedTests(this)
Returns the total number of result tests in the test suite.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSuite) instance.
Returns: The total number of result tests.
newTestSession()
Creates a new test session instance.
Returns: A new (TestSession) instance.
method addNewTestSuite(this, name, description)
Creates a new test suite instance.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
name (string) : The name of the test suite.
description (string) : (optional) A description of the test suite.
Returns: A new (TestSuite) instance.
method add(this, suite)
Creates a new test suite instance.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
suite (TestSuite) : The (TestSuite) instance to add.
Returns: The (TestSession) instance.
method totalSuites(this)
Returns the total number of sessions in the test session.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
Returns: The total number of sessions.
method report(this, show, showOnlyFailedTest)
Generates a report of the test session summary that is suitable for logging.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
show (bool) : Optional: Whether to show the report or not. default: true
showOnlyFailedTest (bool) : Optional: Whether to show only result tests or not. default: false
Returns: A formatted string report of the test suite summary.
method reportGui(this, show, pages, pageSize)
Generates a report of the test suite summary for the GUI.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
show (bool) : Optional: Whether to show the report or not. default: true
pages (int) : Optional: The number of pages to show (columns). default: 4
pageSize (int) : Optional: The number of results to show per page (rows), excluding the header. default: 5
approxEqual(a, b, tolerance)
Checks if two floating-point numbers are approximately equal within a specified tolerance.
Parameters:
a (float) : The first floating-point number.
b (float) : The second floating-point number.
tolerance (float) : The tolerance within which the two numbers are considered equal. Default is 1e-6.
Returns: True if the numbers are approximately equal, false otherwise. If both are na, returns true.
TestResult
Fields:
description (series string)
passed (series bool)
bar (series int)
TestSuite
Fields:
isEnabled (series bool)
name (series string)
description (series string)
tests (array)
TestSession
Fields:
suites (array)
Trend FriendTrend Friend — What it is and how to use it
I built Trend Friend to stop redrawing the same trendlines all day. It automatically connects confirmed swing points (fractals) and keeps the most relevant lines in front of you. The goal: give you clean, actionable structure without the guesswork.
What it does (in plain English)
Finds swing highs/lows using a Fractal Period you choose.
Draws auto-trendlines between the two most recent confirmed highs and the two most recent confirmed lows.
Colours by intent:
Lines drawn from highs (potential resistance / bearish) = Red
Lines drawn from lows (potential support / bullish) = Green
Keeps the chart tidy: The newest lines are styled as “recent,” older lines are dimmed as “historical,” and it prunes anything beyond your chosen limit.
Optional crosses & alerts: You can highlight when price closes across the most recent line and set alerts for new lines formed and upper/lower line crosses.
Structure labels: It tags HH, LH, HL, LL at the swing points, so you can quickly read trend/rotation.
How it works (under the hood)
A “fractal” here is a confirmed pivot: the highest high (or lowest low) with n bars on each side. That means pivots only confirm after n bars, so signals are cleaner and less noisy.
When a new pivot prints, the script connects it to the prior pivot of the same type (high→high, low→low). That gives you one “bearish” line from highs and one “bullish” line from lows.
The newest line is marked as recent (brighter), and the previous recent line becomes historical (dimmed). You can keep as many pairs as you want, but I usually keep it tight.
Inputs you’ll actually use
Fractal Period (n): this is the big one. It controls how swingy/strict the pivots are.
Lower n → more swings, more lines (faster, noisier)
Higher n → fewer swings, cleaner lines (slower, swing-trade friendly)
Max pair of lines: how many pairs (up+down) to keep on the chart. 1–3 is a sweet spot.
Extend: extend lines Right (my default) or Both ways if you like the context.
Line widths & colours: recent vs. historical are separate so you can make the active lines pop.
Show crosses: toggle the X markers when price crosses a line. I turn this on when I’m actively hunting breakouts/retests.
Reading the chart
Red lines (from highs): I treat these as potential resistance. A clean break + hold above a red line often flips me from “fade” to “follow.”
Green lines (from lows): Potential support. Same idea in reverse: break + hold below and I stop buying dips until I see structure reclaim.
HH / LH / HL / LL dots: quick read on structure.
HH/HL bias = uptrend continuation potential
LH/LL bias = downtrend continuation potential
Mixed prints = rotation/chop—tighten risk or wait for clarity.
My H1 guidance (fine-tuning Fractal Period)
If you’re mainly on H1 (my use case), tune like this:
Fast / aggressive: n = 6–8 (lots of signals, good for momentum days; more chop risk)
Balanced (recommended): n = 9–12 (keeps lines meaningful but responsive)
Slow / swing focus: n = 13–21 (filters noise; better for trend days and higher-TF confluence)
Rule of thumb: if you’re getting too many touches and whipsaws, increase n. If you’re late to obvious breaks, decrease n.
How I trade it (example workflow)
Pick your n for the session (H1: start at 9–12).
Mark the recent red & green lines. That’s your immediate structure.
Look for interaction:
Rejections from a line = fade potential back into the range.
Break + close across a line = watch the retest for continuation.
Confirm with context: session bias, HTF structure, and your own tools (VWAP, RSI, volume, FVG/OB, etc.).
Plan the trade: enter on retest or reclaim, stop beyond the line/last swing, target the opposite side or next structure.
Alerts (set and forget)
“New trendline formed” — fires when a new high/low pivot confirms and a fresh line is drawn.
“Upper/lower trendline crossed” — fires when price crosses the most recent red/green line.
Use these to track structure shifts without staring at the screen.
Good to know (honest limitations)
Confirmation lag: pivots need n bars on both sides, so signals arrive after the swing confirms. That’s by design—less noise, fewer fake lines.
Lines update as structure evolves: when a new pivot forms, the previous “recent” line becomes “historical,” and older ones can be removed based on your max setting.
Not an auto trendline crystal ball: it won’t predict which line holds or breaks—it just keeps the most relevant structure clean and up to date.
Final notes
Works on any timeframe; I built it with H1 in mind and scale to H4/D1 by increasing n.
Pairs nicely with session tools and VWAP for intraday, or with supply/demand / FVGs for swing planning.
Risk first: lines are structure, not guarantees. Manage position size and stops as usual.
Not financial advice. Trade your plan. Stay nimble.
RSI with Dual Smoothed MAs + Trend BackgroundRSI with two custom MAs (SMA, EMA, WMA, RMA, VWMA).
Slope-based MA coloring.
Background shading for quick trend confirmation.
BUY & SELL Probability (M5..D1) - MTFMTF Probability Indicator (M5 to D1)
Indicator — Dual Histogram with Buy/Sell Labels
This indicator is designed to provide a probabilistic bias for bullish or bearish conditions by combining three different analytical components across multiple timeframes. The goal is to reduce noise from single-indicator signals and instead highlight confluence where trend, momentum, and strength agree.
Why this combination is useful
- EMA(200) Trend Filter: Identifies whether price is trading above or below a widely used long-term moving average.
- MACD Momentum: Detects short-term directional momentum through line crossovers.
- ADX Strength: Measures how strong the trend is, preventing signals in weak or flat markets.
By combining these, the indicator avoids situations where one tool signals a trade but others do not, helping to filter out low-probability setups.
How it works
- Each timeframe (M5, M15, H1, H4, D1) generates its own trend, momentum, and strength score.
- Scores are weighted according to user-defined importance and then aggregated into a single probability.
- Proximity to recent support and resistance levels can adjust the final score, accounting for nearby barriers.
- The final probability is displayed as:
- Histogram (subwindow): Green bars for bullish probability >50%, red bars for bearish <50%.
- On-chart labels: Showing exact buy/sell percentages on the last bar for quick reference.
Inputs
- EMA length (default 200), MACD settings, ADX period.
- Weights for each timeframe and component (trend, momentum, strength).
- Optional boost for the chart’s current timeframe.
- Smoothing length for probability values.
- Lookback period for support/resistance adjustment.
How to use it
- A green histogram above zero indicates bullish probability >50%.
- A red histogram below zero indicates bearish probability >50%.
- Neutral readings near 50% show low confluence and may be best avoided.
- Users can adjust weights to emphasize higher or lower timeframes, depending on their trading style.
Notes
- This script does not guarantee profitable trades.
- Best used together with price action, volume, or additional confirmation tools.
- Signals are calculated only on closed bars to avoid repainting.
- For testing and learning purposes — not financial advice.
Daniel SnipeDaniel Snipe Indicator Lets you trade while using BOS and smart money concepts, it reads price action both on the 15m, 30m and all time frames available
Fixed Range Volume Profile"Distribution of transaction volume by price group (transaction volume by price block)"
Instructions for use (Professional Manual)
1. a basic concept
By vertical axis (price), shows the cumulative trading volume traded in the segment.
The longer the block, the more transactions took place in that price range.
Colors distinguish between buying/selling strength (green = buying advantage, red = selling advantage).
2. Key components
POC (Point of Control)
→ Longest block (most traded price segment, "key selling point").
VAH / VAL (Value Area High/Low)
→ Top/bottom segments where approximately 70% of the total volume is formed.
→ Role of "Major Support/Resistance".
High Capacity Node (HVN)
→ Significantly higher trading volumes → strong support/resistance.
Low Volume Node (LVN)
→ Low volume section → areas where prices are easily passed.
3. practical application
Find Support/Resistance
The thickest block (POC) is used as a place where prices often rebound/resist.
a trading entry/liquidation strategy
Buy if the price is supported near HVN,
When breaking through the LVN, fast movement (gap movement) can be expected.
break/goal setting
Finger = Under the LVN,
Target = Next HVN.
Judgment of trends
When the block distribution is concentrated above, "Increase to Collection Section"
If you're driven below, you're "in a downtrend to a variance section."
4. Precautions
The volume distribution is "past data based" and is not an indicator of the future.
Rather than using it alone, it is more effective to combine with Fibonacci, trend lines, and candle patterns.
In particular, in the volatile market, the LVN breakthrough → may signal a surge/fall.
In summary, this block indicator is "a map showing the most market participants at any price point".
In other words, it is useful for finding support/resistance as a tool for analyzing sales and establishing the basis for trading strategies.
20 MA ReversionA mean reversion tactic with the 20 SMA:
the indicator is chcking specific parameters, such as the volume related to the last day's volume, distance from 20 SMA, CCI values and changes, trends, and recent gaps that will act as a magnet.
enjoy!
Multi-AVWAP - Anchored - Gold -V1This script uses multi-day anchored VWAP.
What it does
This study plots multiple Anchored VWAP (AVWAP) lines from recent session starts (1, 2, 3, 4, 5, 10, 15, 20, 30, 90).
from the anchor forward. Each line shows a live label with the line’s current value and the current price for quick distance checks.
Best practices
Use on intraday timeframes for session-anchored lines.
Ensure the chart has enough history loaded for the longest lookback (e.g., 90 days).
For crypto or 24×7 markets, set session to a 24h window (e.g., 0000-2359) and turn off the exclude-ETH toggle if you want full-time anchoring.
Limitations
Different exchanges/markets use different RTH windows—pick the one that matches your venue.
Corporate actions/volume adjustments can make small discrepancies across platforms.
If no RTH exists on the exact calendar day (holidays), the 90d line anchors to the most recent available RTH open before that date.
Advanced Crypto Day Trading - Bybit Optimized mapercivEMA RSI ATR MACD trading script strategy with filters for weekdays
RSI Pivots with Divergence Overlay█ OVERVIEW
The RSI Pivots with Divergence Overlay indicator is an advanced tool based on RSI, displaying dynamic bands on the price chart to simplify the identification of overbought and oversold conditions. Pivot points and divergences between them are derived from these bands, providing a comprehensive view of the market and enabling the creation of various trading strategies based on this single indicator.
█ CONCEPTS
Areas where RSI exits the bands are often reversal points in the market. The concept of this indicator is to highlight places where the probability of a trend reversal increases. Therefore, pivots and divergences have been added to better identify these key moments. Additionally, the bands allow viewing the market context in relation to the RSI indicator, facilitating analysis of momentum and volatility.
█ KEY FEATURES
Dynamic Bands and RSI Signals: The bands are calculated based on the closing price and RSI value, with dynamic scaling adjusted to market volatility. The upper band corresponds to overbought levels, the lower to oversold, and the midline is their average. The price level relative to the bands serves as a visual RSI signal, indicating potential overbought or oversold conditions.
Pivot Points: The indicator identifies local price highs and lows in relation to RSI levels. The pivot level is taken from the high/low of the candle. A high pivot is detected when the high of the candle reaches a local maximum after crossing the upper RSI level (overbought), signaling a potential reversal. A low pivot appears after a local price minimum following a drop below the lower RSI level (oversold), indicating a possible uptrend reversal. The pivot length (default 2 bars) defines the search range for these extremes, meaning that with a length of 2, a potential divergence signal will appear with a 2-candle delay, as this is the minimum time required to confirm a local pivot. Pivot lines are drawn on the chart, and labels display the RSI value (from the close of the candle) and price at the detection moment. Pivot lines disappear after the detection of the next low pivot for lower lines and high pivot for upper lines, but unbreached lines or those with high volume may still serve as support or resistance levels.
Divergence Detection: The indicator automatically detects divergences to predict trend changes. Bearish divergence occurs when the price forms a higher high pivot, but the RSI (from the close of the candle) is lower than in the previous pivot, indicating weakening upward momentum and a potential bearish reversal. Bullish divergence appears when the price forms a lower low pivot, but the RSI is higher, suggesting building momentum and a possible bullish reversal. Divergences are marked in pivot labels (e.g., "Bear Div" or "Bull Div") and supported by alerts upon detection.
Return Signals: The indicator generates buy and sell signals based on RSI (price) returning to the bands after extreme conditions, independently of pivots and divergences. A buy signal is triggered when RSI (price) crosses above the lower level (exiting oversold), suggesting a potential price rise toward the midline or upper band. A sell signal occurs when RSI (price) falls below the upper level (exiting overbought), indicating a possible price drop toward the lower band. Signals are visualized as arrows (up/down triangles) on the chart, with customizable colors.
█ CONFIGURATION
The indicator offers extensive customization options:
RSI Length (rsiLength): Sets the number of periods used to calculate RSI (default 14).
RSI Upper Level (rsiUpper): Defines the overbought threshold (default 70).
RSI Lower Level (rsiLower): Defines the oversold threshold (default 30).
Band Scaling (scale): Determines the scaling multiplier for bands based on market volatility (default 15.0).
SMA Length for Candle Midpoint (length): Number of periods for calculating the moving average of candle midpoints (default 200). This parameter is used to smooth price data, enabling more accurate volatility assessment and band width adjustment to market dynamics.
Pivot Length (pivotLength): Sets the range (in bars) for detecting local price extremes (default 2).
Pivot Label Offset (pivotLabelOffset): Multiplier for the candle range to position pivot labels (default 0.3).
Show Bands (showBands): Enables/disables the display of bands on the chart.
Show Fill (showFill): Enables/disables the fill between bands and the midline.
Show Pivot Lines (showPivotLines): Enables/disables pivot lines on the chart.
Show Pivot Labels (showPivotLabels): Enables/disables labels with RSI and price values at pivots.
Show Return Signals (showReturnSignals): Enables/disables the display of buy and sell signals.
Colors and Style: Customizable colors for bands, fills, pivot lines, labels, and line widths (default 1).
█ USAGE
The indicator performs best when combined with other technical analysis tools, such as Fibonacci levels, moving averages, or trendlines, to confirm pivot, divergence, and return signals. It enables traders to identify key reversal points, detect hidden trend weaknesses through divergences, and confirm trade entries with return signals.
Usage Examples:
Price bounces off a previous pivot with high volume – this increases the probability of a trend change or correction.
A similar situation when RSI is outside the bands strengthens the signal.
If divergence occurs in addition, we have further confirmation.
This can be combined with Fibonacci levels to check if Fibo zones overlap with pivot lines – this may increase the chance of a strong price reaction.
█ ALERTS
The indicator supports alerts for:
Buy and sell signals (RSI returning to bands).
Detection of bearish and bullish divergences.