RSI Heatmap (≤35 Highlight)Highlights when RSI is less than or equal to 35 which can signal a potential reversal soon.
Trend Analysis
VWAP + WaveTrend + CHoCH & BOS//@version=5
indicator("GC — VWAP + WaveTrend + CHoCH & BOS (v3.3, clean + pro visuals)", overlay=true, max_lines_count=500, max_labels_count=500)
// ================== TOGGLES D'AFFICHAGE ==================
showVWAPLine = input.bool(true, "Afficher VWAP")
showVWAPBands = input.bool(true, "Afficher Bandes VWAP (ATR)")
showWave = input.bool(true, "Afficher WaveTrend (vague)")
showCHoCH = input.bool(true, "Afficher CHoCH")
showBOS = input.bool(true, "Afficher BOS")
showOB = input.bool(true, "Afficher Order Blocks")
highlightBreakCandle = input.bool(true, "Surbrillance bougie de cassure (CHoCH)")
// ================== TOGGLES LOGIQUES ==================
useBiasFilter = input.bool(true, "Activer filtre Biais HTF (Ichimoku)")
useSessionsFilter = input.bool(true, "Activer filtre Sessions (Europe/Paris)")
enableAlerts = input.bool(true, "Activer alertes LONG/SHORT")
// ================== PARAMS ==================
tfHTF1 = input.timeframe("60", "HTF #1 (H1) pour biais")
tfHTF2 = input.timeframe("240", "HTF #2 (H4) pour biais")
// Sessions (format HHMM-HHMM)
asiaSess = input.session("0100-0900", "Asie (Heure Paris)")
lonSess = input.session("0900-1730", "Londres (Heure Paris)")
nySess = input.session("1430-2200", "New York (Heure Paris)")
useAsia = input.bool(true, "Filtrer Asie")
useLon = input.bool(false, "Filtrer Londres")
useNY = input.bool(false, "Filtrer New York")
// VWAP bands (ATR)
atrLenBands = input.int(14, "ATR Len (bandes VWAP)")
atrMult = input.float(1.0, "ATR Mult (bandes)", step=0.1)
// Structure
pivotLen = input.int(5, "Pivot len (structure)")
// ================== BIAIS ICHIMOKU (HTF) ==================
tenkanLen = input.int(9, "Tenkan", inline="ichi")
kijunLen = input.int(26, "Kijun", inline="ichi")
spanBLen = input.int(52, "SenkouB",inline="ichi")
f_ichi(srcH, srcL, cLen, bLen) =>
ts = (ta.highest(srcH, cLen) + ta.lowest(srcL, cLen)) / 2.0
ks = (ta.highest(srcH, bLen) + ta.lowest(srcL, bLen)) / 2.0
= request.security(syminfo.tickerid, tfHTF1, f_ichi(high, low, tenkanLen, kijunLen), barmerge.gaps_on, barmerge.lookahead_off)
= request.security(syminfo.tickerid, tfHTF2, f_ichi(high, low, tenkanLen, kijunLen), barmerge.gaps_on, barmerge.lookahead_off)
biaisBullRaw = close > ksH1 and tsH1 > ksH1 and close > ksH4 and tsH4 > ksH4
biaisBearRaw = close < ksH1 and tsH1 < ksH1 and close < ksH4 and tsH4 < ksH4
biaisBull = useBiasFilter ? biaisBullRaw : true
biaisBear = useBiasFilter ? biaisBearRaw : true
// ================== SESSIONS ==================
inAsia = not na(time(timeframe.period, asiaSess, "Europe/Paris"))
inLon = not na(time(timeframe.period, lonSess, "Europe/Paris"))
inNY = not na(time(timeframe.period, nySess, "Europe/Paris"))
sessionPassRaw = (useAsia and inAsia) or (useLon and inLon) or (useNY and inNY) or (not useAsia and not useLon and not useNY)
sessionPass = useSessionsFilter ? sessionPassRaw : true
// ================== VWAP + BANDES (ATR) ==================
vwap = ta.vwap
atrB = ta.atr(atrLenBands)
upper = vwap + atrMult * atrB
lower = vwap - atrMult * atrB
plot(showVWAPLine ? vwap : na, "VWAP", linewidth=2, color=color.new(color.gray, 0))
plot(showVWAPBands ? upper : na, "VWAP + ATR", color=color.new(color.gray, 0))
plot(showVWAPBands ? lower : na, "VWAP - ATR", color=color.new(color.gray, 0))
// ================== WAVE TREND (vague lisible) ==================
waveLen1 = input.int(20, "Wave base EMA")
waveLen2 = input.int(40, "Wave smoothing Hull")
srcWT = (high + low + close)/3.0
emaBase = ta.ema(srcWT, waveLen1)
w2half = math.max(1, math.round(waveLen2 / 2.0))
hull = ta.wma(2*ta.wma(emaBase, w2half) - ta.wma(emaBase, waveLen2), math.max(1, math.round(math.sqrt(waveLen2))))
wave = ta.ema(hull, math.max(2, math.round(waveLen1/2.0)))
slopeUp = wave > wave
slopeDn = wave < wave
waveColor =
(useBiasFilter and biaisBullRaw and slopeUp) ? color.new(color.lime, 0) :
(useBiasFilter and biaisBearRaw and slopeDn) ? color.new(color.red, 0) :
color.new(color.gray, 0)
plot(showWave ? wave : na, "WaveTrend", linewidth=3, color=waveColor)
// ================== STRUCTURE: PIVOTS ==================
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
var float lastSwingHigh = na
var float lastSwingLow = na
var int lastSwingHighBar = na
var int lastSwingLowBar = na
if not na(ph)
lastSwingHigh := ph
lastSwingHighBar := bar_index - pivotLen // index du pivot confirmé
if not na(pl)
lastSwingLow := pl
lastSwingLowBar := bar_index - pivotLen
// Cassures confirmées (bar close)
brokeHigh = not na(lastSwingHigh) and ta.crossover(close, lastSwingHigh)
brokeLow = not na(lastSwingLow) and ta.crossunder(close, lastSwingLow)
// Tendance locale par pente de la Wave
trendUp = slopeUp
trendDown = slopeDn
// Définition des états
bosUp = barstate.isconfirmed and trendUp and brokeHigh
bosDown = barstate.isconfirmed and trendDown and brokeLow
chochUp = barstate.isconfirmed and trendDown and brokeHigh
chochDown = barstate.isconfirmed and trendUp and brokeLow
// ================== VISUELS PRO (lignes BOS/CHoCH + OB + Highlight) ==================
// Conteneurs pour limiter l'encombrement
var line bosLines = array.new_line()
var label bosLabels = array.new_label()
var line chochLines = array.new_line()
var label chochLbls = array.new_label()
var box obBoxes = array.new_box()
var box brkBoxes = array.new_box()
f_trim(arrLine, arrLbl, maxKeep) =>
// supprime les plus anciens si on dépasse maxKeep
if array.size(arrLine) > maxKeep
l = array.shift(arrLine)
line.delete(l)
if array.size(arrLbl) > maxKeep
lb = array.shift(arrLbl)
label.delete(lb)
f_trim_boxes(arr, maxKeep) =>
if array.size(arr) > maxKeep
b = array.shift(arr)
box.delete(b)
// --- Création BOS Up / Down (ligne horizontale + petit label "bos")
if showBOS and bosUp and not na(lastSwingHigh) and not na(lastSwingHighBar)
l = line.new(lastSwingHighBar, lastSwingHigh, bar_index, lastSwingHigh, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.lime, 0), width=2)
lb = label.new(bar_index, lastSwingHigh, "bos", style=label.style_label_left, color=color.new(color.lime, 0), textcolor=color.new(color.black, 0))
array.push(bosLines, l), array.push(bosLabels, lb), f_trim(bosLines, bosLabels, 12)
if showBOS and bosDown and not na(lastSwingLow) and not na(lastSwingLowBar)
l = line.new(lastSwingLowBar, lastSwingLow, bar_index, lastSwingLow, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.red, 0), width=2)
lb = label.new(bar_index, lastSwingLow, "bos", style=label.style_label_left, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
array.push(bosLines, l), array.push(bosLabels, lb), f_trim(bosLines, bosLabels, 12)
// --- CHoCH Up / Down (ligne + label "ChoCh" + highlight bougie de cassure)
if showCHoCH and chochUp and not na(lastSwingHigh) and not na(lastSwingHighBar)
l = line.new(lastSwingHighBar, lastSwingHigh, bar_index, lastSwingHigh, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.teal, 0), width=2)
lb = label.new(bar_index, lastSwingHigh, "ChoCh", style=label.style_label_left, color=color.new(color.teal, 0), textcolor=color.new(color.black, 0))
array.push(chochLines, l), array.push(chochLbls, lb), f_trim(chochLines, chochLbls, 12)
if highlightBreakCandle
b = box.new(bar_index, high, bar_index, low, bgcolor=color.new(color.orange, 70))
array.push(brkBoxes, b), f_trim_boxes(brkBoxes, 8)
if showCHoCH and chochDown and not na(lastSwingLow) and not na(lastSwingLowBar)
l = line.new(lastSwingLowBar, lastSwingLow, bar_index, lastSwingLow, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.maroon, 0), width=2)
lb = label.new(bar_index, lastSwingLow, "ChoCh", style=label.style_label_left, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0))
array.push(chochLines, l), array.push(chochLbls, lb), f_trim(chochLines, chochLbls, 12)
if highlightBreakCandle
b = box.new(bar_index, high, bar_index, low, bgcolor=color.new(color.orange, 70))
array.push(brkBoxes, b), f_trim_boxes(brkBoxes, 8)
// --- Order Blocks : dernière bougie opposée avant cassure (body-only)
f_last_opposite_body_idx(maxLookback, wantBull) =>
// cherche la dernière bougie opposée dans les 'maxLookback' barres précédant la cassure
var int idx = na
for i = 1 to maxLookback
isBear = close < open
isBull = close > open
if (wantBull and isBear) or (not wantBull and isBull)
idx := i
break
idx
maxLook = 10
if showOB and (bosUp or chochUp) and not na(lastSwingHigh)
obIdx = f_last_opposite_body_idx(maxLook, true) // pour un mouvement haussier, bougie "opposée" est rouge
if not na(obIdx)
topB = math.max(open , close )
botB = math.min(open , close )
b = box.new(bar_index - obIdx, topB, bar_index - obIdx, botB, xloc=xloc.bar_index, extend=extend.right, bgcolor=color.new(color.blue, 80), border_color=color.new(color.blue, 40))
array.push(obBoxes, b), f_trim_boxes(obBoxes, 10)
if showOB and (bosDown or chochDown) and not na(lastSwingLow)
obIdx = f_last_opposite_body_idx(maxLook, false) // pour un mouvement baissier, bougie "opposée" est verte
if not na(obIdx)
topB = math.max(open , close )
botB = math.min(open , close )
b = box.new(bar_index - obIdx, topB, bar_index - obIdx, botB, xloc=xloc.bar_index, extend=extend.right, bgcolor=color.new(color.blue, 80), border_color=color.new(color.blue, 40))
array.push(obBoxes, b), f_trim_boxes(obBoxes, 10)
// ================== ALERTES ==================
barOK = barstate.isconfirmed and sessionPass
longSignal = barOK and biaisBull and ( (showBOS and bosUp) or (showCHoCH and chochUp) ) and (showVWAPLine ? close >= vwap : true)
shortSignal = barOK and biaisBear and ( (showBOS and bosDown) or (showCHoCH and chochDown) ) and (showVWAPLine ? close <= vwap : true)
alertcondition(enableAlerts and longSignal, "LONG signal (clean)", "LONG — {{ticker}} {{interval}}")
alertcondition(enableAlerts and shortSignal, "SHORT signal (clean)", "SHORT — {{ticker}} {{interval}}")
Option Selling Indicator @mybullandbearThe Option Selling Indicator is designed to help traders identify high-probability buy and sell zones based on market momentum and trend conditions. It provides a simple yet powerful visual cue system to make trading decisions clear and intuitive.
🎯 How It Works:
When the background turns green and the price moves above the black trend line, it signals bullish strength — a good condition to go for BUY or sell PUT options.
When the background turns red and the price moves below the black trend line, it signals bearish strength — a good condition to go for SELL or sell CALL options.
⚙️ Key Features:
Clear color-coded background for instant trend visualization.
Dynamic black trend line acts as a support/resistance guide.
Simple setup suitable for both beginners and experienced option sellers.
Works effectively across multiple timeframes and instruments.
💡 Usage Tip:
Combine this indicator with volume or volatility filters for more accurate entries, and always confirm signals with your trading strategy and risk management rules.
Power Balance ForecasterHey trader buddy! Remember the old IBM 5150 on Wall Street back in the 80s? :) Well, I wanted to pay tribute to it with this retro-style code when MS DOS and CRT screens were the cutting edge of technology...
Analysis of the balance of power between buyers and sellers with price predictions
What This Indicator Does
The Power Balance Forecaster indicator analyzes the relationship between buyer and seller strength to predict future price movements. Here's what it does in detail:
Main Features:
Power Balance Analysis: Calculates real-time percentage of buyer power vs seller power
Price Predictions: Estimates next closing level based on current momentum
Market State Detection: Identifies 5 different market conditions
Visual Signals: Shows directional arrows and price targets
How the Trading Logic Works
Power Balance Calculation:
Analyzes Consecutive Bars - Counts consecutive bullish and bearish bars
Calculates Momentum - Uses ATR-normalized momentum to measure trend strength
Determines Market State - Assigns one of 5 market states based on conditions
Market States:
Bull Control: Strong uptrend (75% buyer power)
Bear Control: Strong downtrend (75% seller power)
Buying Pressure: Bullish pressure (65% buyer power)
Selling Pressure: Bearish pressure (65% seller power)
Balance Area: Market in equilibrium (50/50)
Prediction System:
Bullish Condition: Buyer power > 55% + Positive momentum = Bullish prediction
Bearish Condition: Seller power > 55% + Negative momentum = Bearish prediction
Price Target: Based on ATR multiplied by timeframe factor
Configurable Parameters:
Analysis Sensitivity (5-50): Controls how responsive the indicator is
Low values (5-15): More sensitive, ideal for scalping
High values (30-50): More stable, ideal for swing trading
Table Position: Choose from 9 positions to display the data table
Trading Signals:
Green Triangle ▲: Bullish signal, price expected to increase
Green Triangle ▼: Bearish signal, price expected to decrease
Dashed Line: Shows the price target projection
Label: Displays the exact target value
Recommended Timeframes:
Lower Timeframes (1-15 minutes):
Sensitivity: 10-20
Automatic Low TF mode
Higher Timeframes (1 hour - 1 day):
Sensitivity: 25-40
Automatic High TF mode
Important Notes:
Always use this indicator in combination with:
Market context analysis
Proper risk management
Confirmation from other indicators
Mandatory stop losses
The indicator works best in trending markets and may be less effective during extreme consolidation periods.
Dynamic S/R Levels - MTF (1-Week, Strong/Spaced)dynamic support and resistance levels based on timeframe
MTF Trend - Gold/XAU with DXY FilterI published this earlier and I had it on a chart with multiple other Indicators and It was very confusing so i am publishing it again on a clean chart
This Indicator is for Gold only buy can be used in other assets If the Filter toggle is turned off in the settings
This Indicator measures the strength of the Dollar Index which will determine the direction of the Gold asset
If the DXY is weak and all timeframes align then you can tide in that direction, the opposite is true foe a strong Dollar all timeframes must be opposite to the Dollar as as DXY and Gold trade together very well it also plots a large Triangle on the chart to warn of the Direction
You can trade however you wish but it is best to sell gold when Dollar is strong and buy gold when Dollar is weak, money is moved from Dollar to Gold and Gold to Dollar when weak and strong
oppliger trendfollow📈 Strategy Overview: SMA25 vs SMA200 – Gap Momentum Trend Strategy
This strategy is a trend-following system designed to capture strong, accelerating uptrends while exiting early when momentum begins to fade.
It uses the relationship between two moving averages — the 25-period SMA and the 200-period SMA — and monitors the gap (distance) between them as a measure of trend strength.
🟢 Entry Conditions (Go Long)
A long position is opened only when all of the following conditions are true:
Uptrend confirmation:
The 25-period SMA is above the 200-period SMA
→ confirms a clear upward trend.
Price momentum:
The closing price is above the SMA25 line,
→ showing that the market currently trades with bullish momentum.
Trend acceleration:
The gap between SMA25 and SMA200 has been increasing for the last 5 consecutive bars.
→ mathematically:
gap_t > gap_(t-1) > gap_(t-2) > gap_(t-3) > gap_(t-4)
→ indicates that the short-term trend is pulling away from the long-term trend and accelerating upward.
✅ When all three conditions are met, the strategy enters a long trade at the close of the current candle.
🔴 Exit Conditions (Close Long)
The position is closed when the uptrend starts to lose strength:
Trend deceleration:
The gap between SMA25 and SMA200 has been shrinking for 3 consecutive bars.
→ mathematically:
gap_t < gap_(t-1) < gap_(t-2)
→ signals that the short-term moving average is converging toward the long-term average, showing weakening momentum.
🚪 When this condition is met, the strategy closes the position at market price.
⚙️ Summary of Logic
Phase Condition Meaning
Entry SMA25 > SMA200 Long-term trend is up
Entry Close > SMA25 Short-term momentum is bullish
Entry Gap rising 5 bars Trend is accelerating
Exit Gap falling 3 bars Trend is weakening
💡 Interpretation
This strategy aims to:
Enter only when a strong, accelerating uptrend is confirmed.
Stay in the trade as long as momentum remains intact.
Exit early when the market starts losing strength, before the trend fully reverses.
It works best in trending markets and helps avoid false entries during sideways or weak phases.
Dual DWMA🔹 Dual DWMA Indicator - حلقه اولیها
This indicator displays two Double-Weighted Moving Averages (DWMA) with customizable settings:
✅ Fast Line (DWMA 1): Default 50 periods
✅ Slow Line (DWMA 2): Default 200 periods
✅ Dynamic color highlighting based on trend direction
✅ Cross signals for bullish/bearish crossovers
✅ Fully customizable colors and line widths
✅ Alert conditions for automated notifications
📊 Usage:
- Use fast line for short-term trends
- Use slow line for long-term trends
- Watch for crossovers as potential entry/exit signals
🎯 Exclusive for Halghe Avaliha Group
📧 Contact: majid.tafahomi@gmail.com
---
🔹 اندیکاتور دوگانه DWMA - حلقه اولیها
این اندیکاتور دو میانگین متحرک وزندار دوگانه (DWMA) را با تنظیمات قابل تغییر نمایش میدهد:
✅ خط سریع: پیشفرض 50 دوره
✅ خط کند: پیشفرض 200 دوره
✅ رنگبندی پویا بر اساس جهت روند
✅ سیگنالهای تقاطع صعودی/نزولی
✅ رنگها و ضخامت خطوط قابل تنظیم
✅ هشدارهای خودکار
📊 نحوه استفاده:
- از خط سریع برای روندهای کوتاهمدت
- از خط کند برای روندهای بلندمدت
- تقاطع خطوط = سیگنال ورود/خروج احتمالی
🎯 اختصاصی برای گروه حلقه اولیها
RSI MTF Table - 12 Pairs (1,5,15)
The relative strength index measures the speed and magnitude of an asset's recent price changes. Therefore, it is considered a momentum indicator in technical analysis. Essentially, the RSI is the ratio of the days an asset's value increases to decreases over a given period.
Generally speaking, if the RSI is around 50, we do not expect strong movements. RSI above 65 or below 35 are areas we expect. In this context, this chart and the general momentum in 1-5-15 minutes allow us to quickly determine the parity we will trade. It is useful for intraday trading and scalping.
ES on MNQES on MNQ — ES percent-move overlay on the MNQ price scale.
Overview
This indicator projects the ES’s intraday percent change since session open onto the MNQ price scale. At the session start (18:00 chart time), it stores the ES open and the MNQ open, tracks ES’s percentage move from that anchor, and applies the same percent move to the MNQ open. The result is a single line that behaves like ES but is plotted in MNQ points—useful for spotting convergence/divergence, failed breaks, and mean-reversion setups between ES and MNQ.
How it works
1. Detects session open (18:00 on your chart).
2. Saves ES_open and MNQ_open.
3. Computes pct = (ES_close - ES_open) / ES_open.
4. Plots MNQ_open * (1 + pct) as the ES-on-MNQ line.
A label on the last bar shows the current ES value for quick reference.
Inputs
• ES Symbol: default ES1! (change if you use a different continuous).
• Line Color: color of the overlaid ES-on-MNQ line.
Works best on intraday timeframes and when your chart’s session aligns with ES.
Why it’s useful
• Highlights divergences (MNQ decoupling from ES baseline).
• Aids confirmation on pullbacks/breakouts when MNQ’s move disagrees with the ES-based projection.
• Helps risk control by flagging stretches likely to revert toward the ES-anchored path.
Notes & limitations
• This is a percent-rebasing overlay, not a hedge ratio, fair value, or spread model.
• Session/timezone settings matter; if your feed doesn’t print exactly at 18:00 on a higher timeframe, use a smaller TF or adjust session settings.
• Minor differences between ES (full) and MNQ (micro) and data latency can create small offsets.
Disclaimer
For educational use only. Not financial advice. Use proper risk management.
VIX on MNQVIX on MNQ — VIX percent-move overlay on the MNQ price scale (daily-open anchor, optional inversion)
Overview
This indicator projects the VIX’s intraday percent change from the daily open onto the MNQ price scale. It takes today’s open for both VIX and MNQ, measures the VIX’s percentage move since that open, optionally inverts it (given the typical inverse relationship), and applies a scale factor to fit that move onto MNQ’s price axis. The result is a single line that reflects VIX dynamics but is plotted in MNQ points—great for reading risk-on/risk-off tone, spotting divergences, and timing mean-reversion around volatility spikes.
How it works
• Fetches VIX close on your chart timeframe and today’s open for VIX and MNQ.
• Computes pct = (VIX_close − VIX_open) / VIX_open.
• Optionally multiplies by −1 (invert) and then by a Scale Factor to compress amplitude.
• Plots MNQ_open * (1 + pct * (invert? −1 : 1) * scaleFactor) as the VIX-on-MNQ line.
• Adds a last-bar label with the current VIX value and a small info panel (VIX, % change, scaled level).
Inputs
• VIX Symbol: VIX, CBOE:VIX, or TVC:VIX (pick the one that matches your data feed).
• VIX Line Color: color of the overlay line.
• Invert VIX: flip the sign to reflect inverse correlation with MNQ.
• Scale Factor (default 0.05): tune how much of the VIX move is mapped onto MNQ points.
Why it’s useful
• Surfaces volatility-led divergences: when MNQ’s path disagrees with VIX’s risk signal.
• Helps confirm/fade breakouts and pullbacks during volatility expansions/compressions.
• Provides a quick, visual “volatility baseline” directly on the MNQ chart without juggling two panes.
Notes & limitations
• This is a percent-rebased overlay, not a hedge ratio, fair value, or spread model.
• It anchors to the current day’s open; session/timezone settings and your VIX symbol choice (CBOE:VIX vs TVC:VIX) can affect exact prints.
• The scale factor is intentionally manual—adjust until the overlay’s swings are visually informative for your setup.
Disclaimer
For educational use only. Not financial advice. Always manage risk.
Nifty 50 - Close 90+ Points Above Open1 hr candle move more than 90 points.
I have created this to short or long nifty future keeping the low of the bullish candle and high of the bearish candle as SL
SMA25 vs SMA150 – Reentry nur bei Gap-Expansion version 1📈 Strategy: SMA25 vs. SMA150 – Reentry with Gap Expansion
This trend-following strategy trades long positions only during strong uptrends.
It combines mid-term trend confirmation (SMA150) with short-term momentum (SMA25), and includes strict entry, reentry, and exit conditions to capture sustained bullish phases while cutting weak setups early.
🟢 Entry Rules
A long position is opened only if all of the following conditions are met:
Trend filter: The closing price is above SMA150 → confirms an uptrend.
Bullish candle: Current candle closes higher than it opens.
SMA range: SMA25 is 8% to 60% above SMA150.
Momentum slope: SMA25 has increased more strongly than SMA150 over the last 5 candles and is rising.
Trend confirmation: SMA25 has remained above SMA150 for at least 5 candles.
Price distance: The close is at least 0.5% above SMA25.
Stability: The previous two candles also closed above SMA25.
Short-term breakout: Current close is higher than the last 3 closes.
Reentry condition: Allowed only after 20 candles since the last exit and only if a gap expansion occurs above the previous high.
🔴 Exit Rules
A trade is closed as soon as any of the following conditions is triggered:
Dynamic trailing exit:
Close falls 3% below the highest SMA25 value since entry.
Hard stop-loss:
The low of the candle falls 5% or more below the entry price (intrabar trigger).
Early weakness filter:
If any of the first 3 candles after entry closes below the entry price, the trade is exited immediately.
⚙️ Additional Details
Long trades only (no shorts)
No pyramiding – only one position open at a time
Chart background color:
Green = position open
Red = no position
This system targets clean, established uptrends, avoids premature entries, and exits quickly when momentum fades.
It’s designed for swing and position traders who prefer systematic, trend-based setups with tight risk control and clear structure.
Supertrend + EMA50 — Signal (no labels) chpolSupertrend + EMA50, best for 15 minutes, Forex, Crypto, XAUUSD.
kapanış yüzdeleri Closing percentage indicator was created to trade with closing percentage, you can increase the historical data by changing the input
TOBYGBADE1: Dynamic Big Candle Pip RangeDisplays candle ranges in pips as a histogram in a separate pane, highlights big candles exceeding a dynamic threshold, and colors bars and labels green/red based on bullish or bearish direction.”
Seasonality Range Marker For better Seasonality Analysation. To see Seasionality patterns in the chart.
ATR Trend Table with DI both waysThis indicator is used confirm entry point whether it has met ATR and DI direction criterias
Big 4 EMA Trend DashboardQuickly see the trend direction of your top four stocks using a customizable EMA. Each stock shows as a colored tile: green if price is above the EMA, red if below. A summary label shows whether all four stocks are trending up, down, or mixed.
Key Features:
Track 4 user-defined symbols at a glance
Custom EMA length and optional timeframe override
Compact dashboard ideal for scalping and day trading
RBD Market ProfileA Market Profile visually shows how much time (or how many bars) price spent at each price level within a session — helping identify areas of “fair value” (where price spent most time) and extremes (where price barely traded).
It divides each trading session (for example, a day, week, or month depending on input) into price segments, counts how many bars closed within each segment, and then identifies:
POC (Point of Control): price level with the highest frequency (most traded or visited).
VAH (Value Area High): upper boundary of the zone that contains 70% (or user-defined percentage) of all activity around the POC.
VAL (Value Area Low): lower boundary of that same 70% activity zone.
Finally, it plots lines for:
VAH (green line)
VAL (red line)
POC Upper & Lower (white lines)
Session Open (blue dashed line)
How to use this Market Profile:
Determine Key Areas of Support/Resistance by the VAH and VAL
VAH: Responsive Sellers and Initiative Buyers
VAL: Responsive Buyers and Initiative Sellers
POC: Can be used as Fair Value
MPO4 Lines – Modal Engine█ OVERVIEW
MPO4 Lines – Modal Engine is an advanced multi-line modal oscillator for TradingView, designed to detect momentum shifts, trend strength, and reversal points through candle-based pressure analysis with multiple fast lines and a reference slow line. It features divergence detection on Fast Line A, overbought/oversold return signals, dynamic coloring modes, and layered gradient visualizations for enhanced clarity and decision-making.
█ CONCEPT
The indicator is built upon the Market Pressure Oscillator (MPO) and serves as its expanded evolution, aimed at enabling broader market analysis through multiple lines with varying parameters. It calculates modal pressure using candle body size and direction, weighted against average body size over a lookback period, then normalized and smoothed via EMA. It generates four distinct oscillator lines: a heavily smoothed Slow Line (trend reference), two Fast Lines (A & B) for momentum and support/resistance, and an optional Line 4 for additional confirmation. Divergence is calculated solely on Fast Line A, with visual gradients between lines and bands for intuitive interpretation.
█ WHY USE IT?
- Multi-Layer Momentum: Combines slow trend reference with dual fast lines for precise entry/exit timing.
- Divergence Precision: Bullish/bearish divergences on Fast Line A with labeled confirmation.
- OB/OS Return Signals: Clear buy/sell markers when Fast Line A exits oversold/overbought zones.
- Dynamic Visuals: Gradient fills, line-to-line shading, and band gradients for instant market state recognition.
- Flexible Coloring: Slow Line color by direction or zero-position; fast lines by sign.
- Full Customization: Independent lengths, smoothing, visibility, and transparency — by adjusting the lengths of different lines, you can tailor results for various strategies; for example, enabling Line 4 and tuning its length allows trading based on crossovers between different lines.
█ HOW IT WORKS?
- Candle Pressure Calculation: Body = math.abs(close - open); avgBody = ta.sma(body, len). Direction = +1 (bull), –1 (bear), 0 (neutral). Weight = body / avgBody. Contribution = direction × weight.
- Rolling Sum & Normalization: Sums contributions over lookback, normalizes to ±100 scale (÷ (len × 2) × 100).
Smoothing: Applies primary EMA (smoothLen), with extra EMA on Slow Line for stability.
Line Structure:
- Slow Line = calcCPO(len1=20, smoothLen1=5) → extra EMA (5)
- Fast Line A = calcCPO(len2=6, smoothLen2=7)
- Fast Line B = calcCPO(len3=6, smoothLen3=10)
- Line 4 = calcCPO(len4=14, smoothLen4=1)
Divergence Detection: Uses ta.pivothigh/low on price and Fast Line A (pivotLength left/right). Bullish: lower price low + higher osc low. Bearish: higher price high + lower osc high. Valid within 5–60 bar window.
Signals:
- Buy: Fast Line A crosses above oversold (–30)
- Sell: Fast Line A crosses below overbought (+30)
- Slow Line color flip (direction or zero-cross)
- Divergence labels ("Bull" / "Bear")
- Band Coloring as Momentum Signal:
When Fast Line A ≤ Fast Line B → Overbought band turns red (bearish pressure building)
When Fast Line A > Fast Line B → Oversold band turns green (bullish pressure building) This dynamic coloring serves as visual confirmation of momentum shift following fast line crossovers
Visualization:
- Gradients: Fast B → Zero (multi-layer fade), Fast A ↔ B fill, OB/OS bands
- Dynamic colors: Green/red based on sign or trend
- Zero line + dashed OB/OS thresholds
Alerts: Trigger on OB/OS returns, Slow Line changes, and divergences.
█ SETTINGS AND CUSTOMIZATION
- Line Visibility: Toggle Slow, Fast A, Fast B, Line 4 independently.
Line Lengths:
- Slow Line: Base (20), Primary EMA (5), Extra EMA (5)
- Fast A: Lookback (6), EMA (7)
- Fast B: Lookback (6), EMA (10)
- Line 4: Lookback (14), EMA (1)
- Slow Line Coloring Mode: “Direction” (trend-based) or “Position vs Zero”.
- Bands & Thresholds: Overbought (+30), Oversold (–30), step 0.1.
- Signals: Enable Fast A OB/OS return markers (default: on).
- Divergence: Enable/disable, Pivot Length (default: 2, min 1).
- Colors & Appearance: Full control over bullish/bearish hues for all lines, zero, bands, divergence, and text.
Gradients & Transparency:
- Fast B → Zero: 75 (default)
- Fast A ↔ B fill: 50
- Band gradients: 40
- Toggle each gradient independently
█ USAGE EXAMPLES
The indicator allows users to configure various strategies manually, though no built-in alerts exist for them. Entry signals can include color of fast lines, crossovers between different lines, alignment of colors across lines, or consistency in direction.
- Trend Confirmation: Slow Line above zero + green = bullish bias; below + red = bearish.
- Entry Timing: Buy on Fast A crossing above –30 (circle marker), especially if Slow Line is rising or near zero.
- Reversal Setup: Bullish divergence (“Bull” label) + Fast A in oversold + green gradient band = high-probability long.
- Scalping: Fast A vs Fast B crossover in direction of Slow Line trend.
- Noise Reduction: Increase extraSmoothLen on Slow Line
█ USER NOTES
- Best combined with volume, support/resistance, or trend channels.
- Adjust lookback and smoothing to asset volatility.
- Divergence delay = pivotLength; plan entries accordingly.
[FS] Pivot Measurements# Pivot Measurements
An advanced TradingView indicator that combines LuxAlgo's pivot point detection algorithm with automatic measurement calculations between consecutive pivots.
## Features
### Pivot Detection
- **Regular Pivots**: Detects standard pivot highs and lows using configurable pivot length
- **Missed Pivots**: Identifies missed reversal levels that occurred between regular pivots
- **Visual Indicators**:
- Regular pivot highs: Red downward triangle (▼)
- Regular pivot lows: Teal upward triangle (▲)
- Missed pivots: Ghost emoji (👻)
- **Zigzag Lines**: Connects pivots with colored lines (solid for regular, dashed for missed)
- **Ghost Levels**: Horizontal lines indicating missed pivot levels
### Measurement System
- **Automatic Measurements**: Calculates price movements between consecutive pivots
- **Visual Display**:
- Transparent colored boxes (blue for upward, red for downward movements)
- Measurement labels showing:
- Price change (absolute and percentage)
- Duration (bars, days, hours, minutes)
- Volume approximation
- **Smart Positioning**: Labels positioned outside boxes (above for upward, below for downward)
- **Color Coding**: Blue for positive movements, red for negative movements
## Parameters
### Pivot Detection
- **Pivot Length** (default: 50): Number of bars on each side to identify a pivot point
- **Regular Pivots**: Toggle and colors for regular pivot highs and lows
- **Missed Pivots**: Toggle and colors for missed pivot detection
### Measurements
- **Number of Measurements** (1-10, default: 10): Maximum number of measurements to display
- **Show Measurement Boxes**: Toggle to show/hide measurement boxes and labels
- **Box Transparency** (0-100, default: 90): Transparency level for measurement boxes
- **Border Transparency** (0-100, default: 50): Transparency level for box borders
- **Label Background Transparency** (0-100, default: 30): Transparency level for label backgrounds
- **Label Size**: Size of measurement labels (tiny, small, normal, large)
## Usage
1. Add the indicator to your chart
2. Configure the **Pivot Length** based on your timeframe:
- Lower values for shorter timeframes (e.g., 10-20 for 1-5 min)
- Higher values for longer timeframes (e.g., 50-100 for daily)
3. Adjust pivot colors and visibility as needed
4. Customize measurement display settings:
- Set the number of measurements to display
- Adjust transparency levels for boxes, borders, and labels
- Choose label size
## Technical Details
- **Pine Script Version**: v6
- **Pivot Detection**: Based on () algorithm for detecting regular and missed pivots
- **Measurement Calculation**:
- Measures between consecutive pivots (from most recent to older)
- Calculates price change, percentage change, duration, and approximate volume
- Automatically sorts pivots chronologically
- **Performance**: Optimized with helper functions to reduce code duplication
## Notes
- The indicator automatically limits the number of stored pivots to optimize performance
- Measurements are only created when there are at least 2 pivots detected
- All measurements are recalculated on each bar update
- The indicator uses `max_bars_back=5000` to ensure sufficient historical data
## License
This indicator uses LuxAlgo's pivot detection algorithm from (). Please refer to the original LuxAlgo license for pivot detection components.






















