EMA 200 Color ChangeEMA 200 Color Change show the trend for price, if green with green shade then trend positive and if red with red shade then we assume trend is negative.
Penunjuk Breadth
Phantom Support & Resistance Auto [PT-IND-SR.001]Overview
Phantom Support & Resistance Auto is a context-focused support and resistance indicator designed to visualize price interaction zones derived from multiple market behaviors.
The script does not generate buy or sell signals.
Instead, it provides a structured map of potential reaction areas, allowing traders to better understand where price has historically reacted, consolidated, or extended liquidity.
This indicator is intended to be used as a decision-support and contextual analysis tool, not as a standalone trading system.
How the Script Works
The indicator combines several independent but complementary methods of identifying support and resistance.
Each method captures a different type of market behavior, and all components can be enabled or disabled independently.
1) High / Low Zones (Range Extremes)
This module tracks the highest high and lowest low over a configurable lookback period.
These levels represent recent range boundaries, which often act as reaction zones during consolidation or pullbacks.
They are visualized as extended horizontal levels to preserve historical context.
2) Pivot Zones (Filtered & Merged Levels)
Pivot zones are derived from confirmed pivot highs and lows.
To avoid excessive and overlapping levels, the script applies a merge tolerance based on either:
ATR distance, or Percentage distance from price
Nearby pivot levels are merged into a single zone, and each zone tracks how many times price has interacted with it.
This interaction count adjusts visual strength, creating a relative importance hierarchy rather than treating all levels equally.
An optional higher-timeframe source can be used to project structurally significant levels onto lower timeframes.
3) Wick Liquidity Zones
This module detects candles with disproportionately large wicks relative to their bodies.
Such candles often indicate liquidity grabs, stop runs, or rejection areas.
Detected wick levels are extended forward to highlight areas where liquidity was previously absorbed.
This component focuses on price rejection behavior, not trend direction.
4) PR Levels (Volatility-Adjusted Predicted Ranges)
PR levels are derived from a volatility-adjusted average price model.
Using ATR as a normalization factor, the script calculates a central average along with upper and lower projected zones.
These levels are adaptive, expanding and contracting with volatility, and are intended to represent probabilistic price ranges, not fixed targets.
5) MACD-Based Support & Resistance (Heikin Ashi Source)
This module derives dynamic support and resistance levels based on MACD momentum shifts, calculated from Heikin Ashi price data to reduce noise.
When MACD momentum transitions occur, recent highs and lows are captured and projected as potential reaction zones.
This component focuses on momentum-driven structural changes, rather than static price levels.
Why These Components Are Combined
Each component captures a different dimension of market behavior:
High / Low zones → Range extremes
Pivot zones → Structural reaction points
Wick zones → Liquidity and rejection behavior
PR levels → Volatility-normalized price ranges
MACD S&R → Momentum-based structural shifts
By combining these sources, the indicator provides a layered view of support and resistance, allowing traders to evaluate confluence, alignment, or divergence between different types of levels instead of relying on a single method.
The script does not assume all levels are equal; visual weighting helps distinguish structural levels from situational ones.
Visualization & Outputs
Color-coded horizontal zones with strength-based opacity
Optional glow effects for visual clarity
Independent toggles for each S&R source
A table showing percentage distances between projected PR levels, helping users contextualize price location within its current range
All visual components are configurable and can be selectively disabled to reduce chart clutter.
How to Use
Use this indicator as a context and mapping tool
Observe areas where multiple zone types align for higher contextual significance
Combine with your own entry logic, confirmations, and trade management rules
Suitable for multi-timeframe analysis and market structure studies
Risk Management Notice
This indicator should always be used as part of a well-defined risk management plan.
Support and resistance zones represent areas of potential interaction, not guaranteed reactions.
Users are responsible for applying appropriate:
Position sizing
Stop placement
Risk-to-reward rules
The indicator does not manage risk automatically and should not replace proper risk management practices.
What This Script Is NOT
It is not a buy/sell signal generator
It does not predict future price direction
It does not guarantee reactions at every level
It should not be used as a standalone trading strategy
Originality & Purpose
The originality of this script lies in its structured integration of multiple support and resistance methodologies, each preserved as a distinct analytical layer rather than blended into a single opaque output.
The purpose is to help traders understand where price has interacted with liquidity, structure, and volatility, not to automate trade decisions.
Dav1zoN ScalpThis script is a 5-minute scalping setup built around SuperTrend.
Entries are taken on SuperTrend flips on the 5-minute chart
Direction is confirmed with the 15-minute SMA200
Above SMA200 → only BUY trades
Below SMA200 → only SELL trades
This helps avoid sideways markets and low-quality signals
SuperTrend adapts to market volatility, while the higher-timeframe SMA200 keeps trades aligned with the main trend.
Dav1zoN PRO: MACD + RSI + ADXThis indicator is a momentum and trend-strength tool designed to stay clear and readable on all timeframes, especially lower TFs where most indicators become noisy or flat.
It combines MACD Histogram, RSI, and ADX into a single adaptive system, with automatic scaling and smoothing, so values stay proportional without using static horizontal levels.
Sequential 9(Setup Count)- KoRCThis indicator is a simplified Sequential 9-count (Setup 9) tool inspired by widely known “sequential counting” concepts. It detects potential exhaustion points by counting consecutive closes relative to the close 4 bars earlier:
Buy Setup (DIP): close < close for 9 consecutive bars (optional strict mode: <=)
Sell Setup (TOP): close > close for 9 consecutive bars (optional strict mode: >=)
Enhancements / Filters (optional):
Trend filter (default ON): uses EMA(200) as a macro trend filter and EMA(20) as a fast context filter.
Volatility filter (optional): ignores signals in low-volatility regimes using ATR% threshold.
Dedupe (default ON): prevents repeated signals within a short window (one-shot per swing concept).
Perfected highlight:
Signals are visually emphasized when a simple “perfected” condition is met (bar 8 or 9 extends beyond recent reference highs/lows), displayed with brighter colors.
How to use:
Use DIP/TOP labels as potential exhaustion alerts, not standalone trade signals. Combine with your own risk management and confirmation tools.
Disclaimer:
Not affiliated with or endorsed by any third-party. This script is provided for educational/visualization purposes only and does not constitute financial advice.
EL OJO DE DIOS - FINAL (ORDEN CORREGIDO)//@version=6
indicator("EL OJO DE DIOS - FINAL (ORDEN CORREGIDO)", overlay=true, max_boxes_count=500, max_lines_count=500, max_labels_count=500)
// --- 1. CONFIGURACIÓN ---
grpEMA = "Medias Móviles"
inpShowEMA = input.bool(true, "Mostrar EMAs", group=grpEMA)
inpEMA21 = input.int(21, "EMA 21", minval=1, group=grpEMA)
inpEMA50 = input.int(50, "EMA 50", minval=1, group=grpEMA)
inpEMA200 = input.int(200, "EMA 200", minval=1, group=grpEMA)
grpStrategy = "Estrategia"
inpTrendTF = input.string("Current", "Timeframe Señal", options= , group=grpStrategy)
inpADXFilter = input.bool(true, "Filtro ADX", group=grpStrategy)
inpADXPeriod = input.int(14, "Período ADX", group=grpStrategy)
inpADXLimit = input.int(20, "Límite ADX", group=grpStrategy)
inpRR = input.float(2.0, "Riesgo:Beneficio", group=grpStrategy)
grpVisuals = "Visuales"
inpShowPrevDay = input.bool(true, "Máx/Mín Ayer", group=grpVisuals)
inpShowNY = input.bool(true, "Sesión NY", group=grpVisuals)
// --- 2. VARIABLES ---
var float t1Price = na
var bool t1Bull = false
var bool t1Conf = false
var line slLine = na
var line tpLine = na
// Variables Prev Day
var float pdH = na
var float pdL = na
var line linePDH = na
var line linePDL = na
// Variables Session
var box nySessionBox = na
// --- 3. CÁLCULO ADX MANUAL ---
f_calcADX(_high, _low, _close, _len) =>
// True Range Manual
tr = math.max(_high - _low, math.abs(_high - _close ), math.abs(_low - _close ))
// Directional Movement
up = _high - _high
down = _low - _low
plusDM = (up > down and up > 0) ? up : 0.0
minusDM = (down > up and down > 0) ? down : 0.0
// Smoothed averages
atr = ta.rma(tr, _len)
plus = 100.0 * ta.rma(plusDM, _len) / atr
minus = 100.0 * ta.rma(minusDM, _len) / atr
// DX y ADX
sum = plus + minus
dx = sum == 0 ? 0.0 : 100.0 * math.abs(plus - minus) / sum
adx = ta.rma(dx, _len)
adx
// --- 4. CÁLCULO DE DATOS ---
ema21 = ta.ema(close, inpEMA21)
ema50 = ta.ema(close, inpEMA50)
ema200 = ta.ema(close, inpEMA200)
// MTF Logic
targetTF = inpTrendTF == "Current" ? timeframe.period : inpTrendTF == "15m" ? "15" : "60"
// CORRECCIÓN AQUÍ: Uso de argumentos nominales (gaps=, lookahead=) para evitar errores de orden
f_getSeries(src, tf) =>
tf == timeframe.period ? src : request.security(syminfo.tickerid, tf, src, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)
tf_close = f_getSeries(close, targetTF)
tf_high = f_getSeries(high, targetTF)
tf_low = f_getSeries(low, targetTF)
tf_ema21 = ta.ema(tf_close, inpEMA21)
tf_ema50 = ta.ema(tf_close, inpEMA50)
// Calcular ADX
float tf_adx = f_calcADX(tf_high, tf_low, tf_close, inpADXPeriod)
// Cruces
bool crossUp = ta.crossover(tf_ema21, tf_ema50)
bool crossDown = ta.crossunder(tf_ema21, tf_ema50)
bool crossSignal = crossUp or crossDown
bool adxOk = inpADXFilter ? tf_adx > inpADXLimit : true
// --- 5. LÓGICA DE SEÑALES ---
if crossSignal and adxOk and barstate.isconfirmed
t1Price := tf_ema21
t1Bull := tf_ema21 > tf_ema50
t1Conf := false
if not na(slLine)
line.delete(slLine)
slLine := na
if not na(tpLine)
line.delete(tpLine)
tpLine := na
label.new(bar_index, high + (ta.atr(14)*0.5), text="CRUCE T1", color=t1Bull ? color.green : color.red, textcolor=color.white, size=size.small)
bool touch = false
if not na(t1Price) and not t1Conf
if t1Bull
touch := low <= t1Price and close >= t1Price
else
touch := high >= t1Price and close <= t1Price
if touch and barstate.isconfirmed
t1Conf := true
float atr = ta.atr(14)
float sl = t1Bull ? low - (atr*0.1) : high + (atr*0.1)
float dist = math.abs(t1Price - sl)
float tp = t1Bull ? t1Price + (dist * inpRR) : t1Price - (dist * inpRR)
label.new(bar_index, t1Price, text="ENTRADA", color=color.yellow, textcolor=color.black, size=size.small)
slLine := line.new(bar_index, sl, bar_index + 15, sl, color=color.red, style=line.style_dashed, width=2)
tpLine := line.new(bar_index, tp, bar_index + 15, tp, color=color.green, style=line.style_dashed, width=2)
// --- 6. GRÁFICO ---
col21 = ema21 > ema21 ? color.teal : color.maroon
col50 = ema50 > ema50 ? color.aqua : color.fuchsia
col200 = ema200 > ema200 ? color.blue : color.red
plot(inpShowEMA ? ema21 : na, "EMA21", color=col21, linewidth=2)
plot(inpShowEMA ? ema50 : na, "EMA50", color=col50, linewidth=2)
plot(inpShowEMA ? ema200 : na, "EMA200", color=col200, linewidth=2)
bgcolor(ema50 > ema200 ? color.new(color.green, 95) : color.new(color.red, 95))
// --- 7. SESIÓN NY ---
isNYSummer = (month(time) == 3 and dayofmonth(time) >= 14) or (month(time) > 3 and month(time) < 11)
hourOffset = isNYSummer ? 4 : 5
nyHour = (hour - hourOffset) % 24
bool isSession = nyHour >= 6 and nyHour < 11
if isSession and inpShowNY
if na(nySessionBox)
nySessionBox := box.new(bar_index, high, bar_index, low, bgcolor=color.new(color.blue, 92), border_color=color.new(color.white, 0))
else
box.set_right(nySessionBox, bar_index)
box.set_top(nySessionBox, math.max(high, box.get_top(nySessionBox)))
box.set_bottom(nySessionBox, math.min(low, box.get_bottom(nySessionBox)))
if not isSession and not na(nySessionBox)
box.delete(nySessionBox)
nySessionBox := na
// --- 8. MÁX/MÍN AYER ---
hCheck = request.security(syminfo.tickerid, "D", high , lookahead=barmerge.lookahead_on)
lCheck = request.security(syminfo.tickerid, "D", low , lookahead=barmerge.lookahead_on)
if not na(hCheck)
pdH := hCheck
if not na(lCheck)
pdL := lCheck
if barstate.islast and inpShowPrevDay
line.delete(linePDH)
line.delete(linePDL)
if not na(pdH)
linePDH := line.new(bar_index - 50, pdH, bar_index, pdH, color=color.green)
if not na(pdL)
linePDL := line.new(bar_index - 50, pdL, bar_index, pdL, color=color.red)
alertcondition(crossSignal, "Cruce T1", "Cruce Tendencia 1")
alertcondition(touch, "Entrada Confirmada", "Entrada Confirmada")
MA Band Area (Objective Zone)This indicator can be useful for you to create areas of dynamic purchase, you just need to contextualise when to stop in range, on smaller time frames it is very powerful but also for long term with stock it is very precise
Custom Stochastic Momentum Index (SMI)📊 Custom Stochastic Momentum Index (SMI)
Custom Stochastic Momentum Index (SMI) is a refined momentum oscillator designed to identify trend strength, reversals, and overbought/oversold conditions with higher accuracy than traditional stochastic indicators.
This version gives traders full control over smoothing and signal calculation, making it suitable for intraday, swing, and positional trading across all markets.
🔹 Key Features
Fully customizable %K Length
Adjustable %K Smoothing and Double Smoothing
Configurable %D Period
User-selectable %D Moving Average Type
SMA
EMA
WMA
RMA
Fixed and proven levels:
Overbought: +40
Oversold: −40
Automatic shaded zones above overbought and below oversold levels
Clear K–D crossover labels for precise entry and exit timing
Clean, non-repainting logic
📈 How to Use
Bullish Setup
Look for %K crossing above %D near or below −40
Bearish Setup
Look for %K crossing below %D near or above +40
Trend Confirmation
Trade crossovers in the direction of the higher-timeframe trend
Works best when combined with:
Price Action
Support & Resistance
Market Structure / SMC concepts
🎯 Best For
Intraday traders
Swing traders
Momentum-based strategies
Confirmation with structure or breakout systems
⚠️ Disclaimer
This indicator is for educational and analytical purposes only.
It does not provide financial advice. Always use proper risk management.
Prev-Week-Month with V-StopPrevious Week map: It automatically plots last week’s high/low and key Fibonacci levels (50%, 61.8%, 78.6), plus optional extensions, and can extend those lines into the current week with labels.
Previous Month “Golden Zones”: It shades the prior month’s two main retracement zones (61.8%–78.6% from the month’s range) as bullish/bearish areas, optionally adds boundary lines, and labels them.
Volatility Stop (V-Stop): It draws an ATR-based trailing stop that flips between uptrend/downtrend. You can run it on the chart timeframe or a higher timeframe, and it marks reversals and HTF breach/“limbo” events. **bits of code taken from TradingView script**
CustomQuantLabs- High-Velocity Momentum EngineClarity is your only edge.
Most indicators create noise. They are cluttered, lagging, and difficult to interpret in real-time.
Rocket Fuel was designed to solve one problem: Instant Trend Identification. It converts complex momentum math into a single, high-contrast ribbon that allows you to assess market state in milliseconds.
THE MECHANICS:
Dynamic Ribbon: The line thickens and glows based on trend strength, filtering out weak signals.
Visual Velocity:
🌑 Grey: Chop / Neutral (No Edge).
🟧 Orange: Momentum Building (Watchlist).
🟩 Green: Trend Established (Execution Zone).
🟪 Purple: Parabolic Velocity (Extreme Momentum).
Live Dashboard: A minimalist HUD provides real-time velocity metrics without obscuring price action.
HOW TO USE: If the ribbon is Grey, you sit on your hands. If the ribbon turns Orange/Green, the volatility filter has disengaged, and probability favors the trend.
FUTURE UPDATES: This is the core engine. I am currently finalizing the "Launchpad" (Automated Support & Resistance Zones) to pair with this tool.
Please Boost 🚀 and Follow if you want to be notified when the Launchpad update goes live.
NQ Overnight Expansion + London Sweep Asia (v6)requirement reminders to trade
dont trade if ovn expanded over 200 points
or
if london swept asia levels
Swing Trading Screener v2Updated Version of the Swing Trading Screener v1 due to the new Pinescript memory restrictions
[SUMIT] Trade line strategy 05:00pm to 11:00pm Trade line strategy 05:00pm to 11:00pm
This trading indicator is created by Sumit Ingole, an active trader from Maharashtra, India, with real-time market experience.
Based on practical trading and proven market understanding, it focuses on clarity and discipline.
Designed to support traders with clean structure and decision-making.
Best used with proper risk management and consistency.
This is a custom-built trading indicator designed to help traders identify clear market direction and high-probability entry zones.
The indicator focuses on: • Trend direction
• Strong price levels
• Clear buy and sell signals
• Easy-to-read structure
It is beginner-friendly and does not require complex market knowledge. The signals are based on pure price behavior and smart market movement, helping traders avoid confusion and overtrading.
This indicator works best when used with proper risk management and discipline. It can be applied on multiple timeframes and is suitable for intraday as well as swing trading.
Note:
This indicator is a support tool, not a guarantee of profits. Always follow your trading plan and manage risk properly.
S&P Trend [GIF]This trend indicator is based on the S&P Info Tech Stocks that are above the 50-Day (SKFI) and the 200-Day Average(SKTH). I personally like to use SKTH the most.
Why Info Tech Stocks?
The S&P 500 is weighted by the total market value of its constituent companies, so larger companies (like those in Tech) have a greater impact. Information Technology is by far the largest sector, influencing overall index performance significantly. As of early 2026, Information Technology as a whole is approximately 35% of the weighted S&P 500.
How It Works
Select whether you'd like the trend indicator to use SKTH or SKFI and the timeframe you'd like to use. Please keep in mind that SKTH and SKFI update daily and you cannot use a timeframe less than that.
Candle Colors
The candles will paint based on the following criteria:
Yellow = Extreme (both SKTH and SKFI are below 15)
Green = SKTH or SKFI are above 50 (based on selection)
Red = SKTH or SKFI are below 50 (based on selection)
When candles are green the upward trend is in tact. When candles turn red the trend has been lost and caution should be taken. When candles turn yellow we are at extremes and often times a reversal or dead-cat bounce can follow.
IMPORTANT NOTE:
Data for SKTH and SKFI only go back to 2015 in Tradingview. Candles before 2015 will paint red as there is no data.
Volume Delta Highlighted (Pane)A simple volume delta indicator that highlights blue when the bar has no wicks and white with it has only opposite end wicks ,a good confluence and visual
note :
not as accurate as the paid tradingview indicator since it uses chart data
Punchak Levels1. Enter the start date/time and end date/time of Punchak.
2. Enter the multipler of punchak range (default is 0.25).
3. Enter how many levels you want to plot.
Hisham&Wissamsuper heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it super heroes only can use it, super heroes only can use it
PD Location Screener (NY Session)Scan only for DISCOUNT or PREMIUM
Ignore everything at equilibrium
Then apply:
Liquidity sweep
Displacement
FVG / OB
One trade. Done.
ADR from 50 SMA - Histogram & LabelMore inside the script
INDICATOR PURPOSE:
This indicator measures how far price has moved from the 50-period SMA
in terms of Average Daily Range (ADR). It helps identify:
- When stocks are overextended and may be due for pullback/consolidation
- Potential entry/exit points based on momentum extremes
- Position trimming opportunities when price is stretched
INTERPRETATION:
- Positive values = Price is ABOVE the 50 SMA
- Negative values = Price is BELOW the 50 SMA
- Higher absolute values = More extreme/stretched moves
- Values >2 or <-2 typically indicate overextended conditions
Support and Resistance Levels with Breaks (MTF + Alerts FIXED) Support and Resistance Levels with Breaks
Added MTF and FIXED Alarm for Support and Resistance line
laurent//@version=5
indicator("Big Candle + Squeeze Dots (ATR + RSI + MACD + BB)", overlay=true, timeframe="", timeframe_gaps=true)
//---------------------------
// Inputs
//---------------------------
lenATR = input.int(14, "Période ATR")
multATR = input.float(2.5, "Grosse bougie : range > ATR * X", step=0.1)
lenBodyMA = input.int(20, "Période moyenne de corps")
useBodyMA = input.bool(true, "Filtrer par corps > moyenne")
// RSI / MACD
lenRSI = input.int(14, "Période RSI")
rsiOB = input.float(60, "RSI haussier min")
rsiOS = input.float(40, "RSI baissier max")
fastMACD = input.int(12, "MACD fast")
slowMACD = input.int(26, "MACD slow")
sigMACD = input.int(9, "MACD signal")
// Squeeze Bollinger
bbLen = input.int(20, "Période Bollinger")
bbMult = input.float(2.0, "Ecart-type Bollinger", step=0.1)
squeezeLen = input.int(20, "Période moyenne largeur BB")
squeezeMult = input.float(0.7, "Seuil squeeze (largeur BB < moyenne * X)", step=0.05)
// Filtres
requireMomentum = input.bool(true, "Exiger RSI + MACD")
requireSqueeze = input.bool(true, "Exiger un squeeze juste avant")
squeezeLookback = input.int(5, "Nb de bougies max depuis squeeze", minval=1, maxval=50)
//---------------------------
// Calculs de base
//---------------------------
atr = ta.atr(lenATR)
rangeC = high - low
body = math.abs(close - open)
// moyenne de corps
bodyMA = ta.sma(body, lenBodyMA)
// RSI
rsi = ta.rsi(close, lenRSI)
// MACD
macdVal = ta.ema(close, fastMACD) - ta.ema(close, slowMACD)
macdSig = ta.ema(macdVal, sigMACD)
macdHist = macdVal - macdSig
//---------------------------
// Bollinger Bands + Squeeze
//---------------------------
basis = ta.sma(close, bbLen)
dev = bbMult * ta.stdev(close, bbLen)
upper = basis + dev
lower = basis - dev
bbWidth = (upper - lower) / basis
bbWidthMA = ta.sma(bbWidth, squeezeLen)
// squeeze = largeur BB inférieure à une fraction de sa moyenne
isSqueeze = bbWidth < bbWidthMA * squeezeMult
// Nombre de barres depuis le dernier squeeze
barsSinceSqueeze = ta.barssince(isSqueeze)
// Condition : on considère qu'on sort d'une zone de squeeze récente
hadRecentSqueeze = barsSinceSqueeze >= 0 and barsSinceSqueeze <= squeezeLookback
//---------------------------
// Conditions Wide Range Candle
//---------------------------
// 1) Bougie large vs ATR
wideByATR = rangeC > atr * multATR
// 2) Bougie large vs moyenne de corps (optionnel)
wideByBody = useBodyMA ? body > bodyMA : true
wideCandle = wideByATR and wideByBody
//---------------------------
// Direction + momentum
//---------------------------
bullBody = close > open
bearBody = close < open
bullMomentum = (rsi > rsiOB) and (macdHist > 0)
bearMomentum = (rsi < rsiOS) and (macdHist < 0)
condMomentumBull = requireMomentum ? bullMomentum : true
condMomentumBear = requireMomentum ? bearMomentum : true
condSqueeze = requireSqueeze ? hadRecentSqueeze : true
bullCond = wideCandle and bullBody and condMomentumBull and condSqueeze
bearCond = wideCandle and bearBody and condMomentumBear and condSqueeze
//---------------------------
// Affichage des points discrets
//---------------------------
// Petit point vert sous la bougie = grosse bougie haussière
plotshape(bullCond, title="Big Bull Candle (Squeeze + Mom.)", style=shape.circle,
location=location.belowbar, color=color.new(color.lime, 0), size=size.tiny)
// Petit point rouge au-dessus de la bougie = grosse bougie baissière
plotshape(bearCond, title="Big Bear Candle (Squeeze + Mom.)", style=shape.circle,
location=location.abovebar, color=color.red, size=size.tiny)
[PAPI] TF-OBV-ATR-Weighted MACDThis is a MACD indicator with a few differences:
Multi-Timeframe: The indicator calculates the "MACD", the "Signal" and the "Histogram" for four user-defined timeframes.
Volume weighted: The three MACD variables calculated for each timeframe above are weight-averaged according to On Balance Volume (OBV).
Volatility weighted: The three MACD variables calculated for each time frame above are also weight-averaged according to Average True Range (ATR)
The MACD, Signal and Histogram are plotted.
I use the indicator twice. Once with the user defined Timeframes set to high TFs (Month/Week/Day/4h) - this is for directional bias. And once with lower TFs (1m/3m/15m/1h).






















