Advanced EMA's with True Range SignalsThis indicator combines multiple layers of exponential moving averages (EMAs) with a dynamic True Range Filter (TRF) to help traders identify trends and potential entry signals. Designed with clarity and flexibility in mind, the tool features both fixed and adjustable EMAs alongside a custom-built volatility filter.
**Key Features:**
• **Multi-Timeframe Trend Analysis:**
- **Fixed EMAs:**
- **EMA 200 (White):** Serves as the long-term trend indicator, providing overall market context and acting as a dynamic support/resistance level.
- **EMA 9 (Red):** Captures short-term momentum for rapid entry/exit decisions.
These EMAs are hard-coded (with visibility toggles enabled by default) to ensure consistency in trend analysis.
• **Customizable EMAs:**
- Two adjustable EMAs are included for further personalization—one defaulting to a 21-period and the other to a 50-period. Their visibility toggles are off by default, allowing the user to activate them as needed for fine-tuned signal confirmation.
• **Dynamic True Range Filter (TRF):**
- The TRF adapts to market volatility by smoothing price fluctuations using a dual (fast and slow) period approach. This filter generates a dynamic threshold that helps differentiate genuine trend changes from price noise.
- In this version, the TRF is plotted in blue by default, providing a clear visual reference for the trend filter.
• **Signal Generation:**
- **Long Entry:** Occurs when the price is above the TRF combined with upward momentum, with a long signal label (displaying white text) marking potential buying opportunities.
- **Short Entry:** Occurs when the price drops below the TRF with accompanying downward momentum, with a short signal label displayed above the bar.
Alerts for both long and short entries are built in, allowing for timely notifications.
**User Experience:**
The indicator’s Inputs tab is streamlined by grouping all Exponential Moving Averages settings at the top, where fixed EMAs are always active and adjustable EMAs can be toggled on per user preference. The True Range Filter settings follow in their own group, enabling easy customization of its source and smoothing parameters. In the Styles tab, only the fixed EMAs (200 and 9) and the signal labels are enabled by default, while the adjustable EMAs and the TRF line are initially hidden—allowing the user to opt-in to additional overlays as desired.
This sophisticated blend of trend analysis and dynamic volatility filtering offers traders a robust tool for capturing market direction and timing entries. Whether you’re using it as a primary signal generator or a supplemental filter, it provides clarity in fast-moving markets.
Candlestick analysis
Time-Based Fair Value Gaps (FVG) with Inversions (iFVG)Overview
The Time-Based Fair Value Gaps (FVG) with Inversions (iFVG) (ICT/SMT) indicator is a specialized tool designed for traders using Inner Circle Trader (ICT) methodologies. Inspired by LuxAlgo's Fair Value Gap indicator, this script introduces significant enhancements by integrating ICT principles, focusing on precise time-based FVG detection, inversion tracking, and retest signals tailored for institutional trading strategies. Unlike LuxAlgo’s general FVG approach, this indicator filters FVGs within customizable 10-minute windows aligned with ICT’s macro timeframes and incorporates ICT-specific concepts like mitigation, liquidity grabs, and session-based gap prioritization.
This tool is optimized for 1–5 minute charts, though probably best for 1 minute charts, identifying bullish and bearish FVGs, tracking their mitigation into inverted FVGs (iFVGs) as key support/resistance zones, and generating retest signals with customizable “Close” or “Wick” confirmation. Features like ATR-based filtering, optional FVG labels, mitigation removal, and session-specific FVG detection (e.g., first FVG in AM/PM sessions) make it a powerful tool for ICT traders.
Originality and Improvements
While inspired by LuxAlgo’s FVG indicator (credit to LuxAlgo for their foundational work), this script significantly extends the original concept by:
1. Time-Based FVG Detection: Unlike LuxAlgo’s continuous FVG identification, this script filters FVGs within user-defined 10-minute windows each hour (:00–:10, :10–:20, etc.), aligning with ICT’s emphasis on specific periods of institutional activity, such as hourly opens/closes or kill zones (e.g., New York 7:00–11:00 AM EST). This ensures FVGs are relevant to high-probability ICT setups.
2. Session-Specific First FVG Option: A unique feature allows traders to display only the first FVG in ICT-defined AM (9:30–10:00 AM EST) or PM (1:30–2:00 PM EST) sessions, reflecting ICT’s focus on initial market imbalances during key liquidity events.
3. ICT-Driven Mitigation and Inversion Logic: The script tracks FVG mitigation (when price closes through a gap) and converts mitigated FVGs into iFVGs, which serve as ICT-style support/resistance zones. This aligns with ICT’s view that mitigated gaps become critical reversal points, unlike LuxAlgo’s simpler gap display.
4. Customizable Retest Signals: Retest signals for iFVGs are configurable for “Close” (conservative, requiring candle body confirmation) or “Wick” (faster, using highs/lows), catering to ICT traders’ need for precise entry timing during liquidity grabs or Judas swings.
5. ATR Filtering and Mitigation Removal: An optional ATR filter ensures only significant FVGs are displayed, reducing noise, while mitigation removal declutters the chart by removing filled gaps, aligning with ICT’s principle that mitigated gaps lose relevance unless inverted.
6. Timezone and Timeframe Safeguards: A timezone offset setting aligns FVG detection with EST for ICT’s New York-centric strategies, and a timeframe warning alerts users to avoid ≥1-hour charts, ensuring accuracy in time-based filtering.
These enhancements make the script a distinct tool that builds on LuxAlgo’s foundation while offering ICT traders a tailored, high-precision solution.
How It Works
FVG Detection
FVGs are identified when a candle’s low is higher than the high of two candles prior (bullish FVG) or a candle’s high is lower than the low of two candles prior (bearish FVG). Detection is restricted to:
• User-selected 10-minute windows (e.g., :00–:10, :50–:60) to capture ICT-relevant periods like hourly transitions.
• AM/PM session first FVGs (if enabled), focusing on 9:30–10:00 AM or 1:30–2:00 PM EST for key market opens.
An optional ATR filter (default: 0.25× ATR) ensures only gaps larger than the threshold are displayed, prioritizing significant imbalances.
Mitigation and Inversion
When price closes through an FVG (e.g., below a bullish FVG’s bottom), the FVG is mitigated and becomes an iFVG, plotted as a support/resistance zone. iFVGs are critical in ICT for identifying reversal points where institutional orders accumulate.
Retest Signals
The script generates signals when price retests an iFVG:
• Close: Triggers when the candle body confirms the retest (conservative, lower noise).
• Wick: Triggers when the candle’s high/low touches the iFVG (faster, higher sensitivity). Signals are visualized with triangular markers (▲ for bullish, ▼ for bearish) and can trigger alerts.
Visualization
• FVGs: Displayed as colored boxes (green for bullish, red for bearish) with optional “Bull FVG”/“Bear FVG” labels.
• iFVGs: Shown as extended boxes with dashed midlines, limited to the user-defined number of recent zones (default: 5).
• Mitigation Removal: Mitigated FVGs/iFVGs are removed (if enabled) to keep the chart clean.
How to Use
Recommended Settings
• Timeframe: Use 1–5 minute charts for precision, avoiding ≥1-hour timeframes (a warning label appears if misconfigured).
• Time Windows: Enable :00–:10 and :50–:60 for hourly open/close FVGs, or use the “Show only 1st presented FVG” option for AM/PM session focus.
• ATR Filter: Keep enabled (multiplier 0.25–0.5) for significant gaps; disable on 1-minute charts for more FVGs during volatility.
• Signal Preference: Use “Close” for conservative entries, “Wick” for aggressive setups.
• Timezone Offset: Set to -5 for EST (or -4 for EDT) to align with ICT’s New York session.
Trading Strategy
1. Macro Timeframes: Focus on New York (7:00–11:00 AM EST) or London (2:00–5:00 AM EST) kill zones for high institutional activity.
2. FVG Entries: Trade bullish FVGs as support in uptrends or bearish FVGs as resistance in downtrends, especially in :00–:10 or :50–:60 windows.
3. iFVG Retests: Enter on retest signals (▲/▼) during liquidity grabs or Judas swings, using “Close” for confirmation or “Wick” for speed.
4. Session FVGs: Use the “Show only 1st presented FVG” option to target the first gap in AM/PM sessions, often tied to ICT’s market maker algorithms.
5. Risk Management: Combine with ICT concepts like order blocks or breaker blocks for confluence, and set stops beyond FVG/iFVG boundaries.
Alerts
Set alerts for:
• “Bullish FVG Detected”/“Bearish FVG Detected”: New FVGs in selected windows.
• “Bullish Signal”/“Bearish Signal”: iFVG retest confirmations.
Settings Description
• Show Last (1–100, default: 5): Number of recent iFVGs to display. Lower values reduce clutter.
• Show only 1st presented FVG : Limits FVGs to the first in 9:30–10:00 AM or 1:30–2:00 PM EST sessions (overrides time window checkboxes).
• Time Window Checkboxes: Enable/disable FVG detection in 10-minute windows (:00–:10, :10–:20, etc.). All enabled by default.
• Signal Preference: “Close” (default) or “Wick” for iFVG retest signals.
• Use ATR Filter: Enables ATR-based size filtering (default: true).
• ATR Multiplier (0–∞, default: 0.25): Sets FVG size threshold (higher values = larger gaps).
• Remove Mitigated FVGs: Removes filled FVGs/iFVGs (default: true).
• Show FVG Labels: Displays “Bull FVG”/“Bear FVG” labels (default: true).
• Timezone Offset (-12 to 12, default: -5): Aligns time windows with EST.
• Colors: Customize bullish (green), bearish (red), and midline (gray) colors.
Why Use This Indicator?
This indicator empowers ICT traders with a tool that goes beyond generic FVG detection, offering precise, time-filtered gaps and inversion tracking aligned with institutional trading principles. By focusing on ICT’s macro timeframes, session-specific imbalances, and customizable signal logic, it provides a clear edge for scalping, swing trading, or reversal setups in high-liquidity markets.
MC High/LowMC High/Low is a minimalist precision tool designed to show traders the most critical price levels — the High and Low of the current Day and Week — in real-time, without any visual clutter or historical trails.
It automatically tracks:
🔼 HOD – High of Day
🔽 LOD – Low of Day
📈 HOW – High of Week
📉 LOW – Low of Week
Each level is plotted using simple black horizontal lines, updated dynamically as the session evolves. Labels are clearly marked and positioned to the right of the screen for easy reference.
There’s no trailing history, no background colors, and no distractions — just pure price structure for clean confluence.
Perfect for:
Intraday scalpers
Swing traders
Liquidity & range traders
This is a tool built for sniper-level execution — straight from the MadCharts mindset.
🛠 Created by:
🔒 Version: Public Release
🎯 Use this with your favorite price action, liquidity, or market structure strategies.
Liquidity Sweep Detector – PDH/PDL LevelsPrevious Day High/Low Liquidity Sweep Detector (Intraday Accurate)
This indicator tracks the previous day's high and low using intraday data, rather than the daily candle, ensuring precise sweep detection across lower timeframes (15m to 4H).
It monitors for liquidity sweeps—moments when price briefly moves above the previous high or below the previous low—and visually marks these events on the chart.
Key Features
Intraday-accurate PDH/PDL tracking
Real-time sweep detection
On-chart labels marking sweep events
Toggleable table showing sweep status
Alert conditions for PDH/PDL sweep triggers
Best For
Traders who use Smart Money Concepts (SMC), liquidity-based strategies, or look for stop hunts and reversal zones tied to key prior-day levels.
Works well across FX, crypto, and indices on 15m, 1H, and 4H charts.
Liquidity Sweep AlertThis alert script detects liquidity sweeps, which occur when price briefly breaks above a recent high or below a recent low, then quickly reverses. These events often indicate institutional stop hunts and potential market reversals. The alert is triggered when a candle exceeds a defined high/low range but fails to close beyond it—signaling a failed breakout. It's ideal for identifying high-probability reversal zones in both trending and ranging markets.
ICT Killzones & Pivots [TFO]adjusted the script to fit my needs. I mainly use it to identify the FVG and OB, as well as D/W/M HH/LL
Gaps EnhancedThis advanced gap detection tool identifies and visualizes price gaps on trading charts, helping traders spot potential support/resistance levels and trading opportunities.
🔲 Components and Features
Visual gap boxes with directional coloring
Dynamic labels showing key price levels
Smart sorting of nearest gaps
Customizable appearance
Key Features
Gap Visualization
Colored boxes (orange for support, green for resistance)
Dashed lines marking gap boundaries
Right-aligned price labels
Smart Gap Table
Shows 5 most relevant open gaps
Sorted by proximity to current price
Displays required move percentage to fill each gap
Customization Options
Adjustable gap size threshold
Color customization
Label positioning controls
Table location settings
How To Use
Basic Interpretation
Orange boxes: Price gaped up might come back (support zones)
Green boxes: Price gaped down price might come back to close the gap (resistance zones)
The table shows how much the price needs to move to fill each gap (as percentage)
Trading Applications
Look for price reactions near gap levels
Trade bounces off support/resistance gaps
Watch for gap fills as potential trend continuation signals
Use nearest gaps as profit targets
Settings Guide
Minimal Deviation: Set minimum gap size
Max Number of Gaps: Limits how many gaps are tracked
Visual Settings: Customize colors and label positions
Table Position: Choose where the info table appears
Pro Tips
Combine with other indicators for confirmation
Watch for volume spikes at gap levels
Larger gaps often act as stronger S/R
✅ 10 Monday's 1H Avg Range + 30-Day Daily RangeThis script is particularly useful for traders who need to measure the range of the first four 15-minute candles of the week . It provides three key values:
🕒 Highlights the First 4 Candles
It marks the first four 15-minute candles of the week and displays the total range between their high and low.
📊 10-Week Average (Yellow Line)
Shows the average range of those candles over the last 10 weeks , allowing you to compare the current week with historical patterns.
📈 30-Day Daily Candle Average (Green Line)
Displays the a verage range of the last 30 daily candles. This is especially useful for defining Stop Loss levels , since a range greater than one-third of the daily average may reduce the likelihood of the trade closing the same day.
Feel free to contact me for upgrades or corrections.
– Bernardo Ramirez
🇵🇹 Versão em Português
Este script é especialmente útil para traders que precisam medir o intervalo das quatro primeiras velas de 15 minutos da semana.
Ele oferece três informações principais :
🕒 Destaque das 4 Primeiras Velas
Marca as primeiras quatro velas de 15 minutos da semana e exibe o intervalo total entre a máxima e a mínima.
📊 Média de 10 Semanas (Linha Amarela)
Mostra a média do intervalo dessas velas nas últimas 10 semanas, permitindo comparar a semana atual com padrões anteriores.
📈 Média dos Últimos 30 Candles Diários (Linha Verde)
Exibe a média do intervalo das últimas 30 velas diárias.
Isso é especialmente útil para definir o Stop Loss, já que um valor maior que 1/3 da média diária pode dificultar que a operação feche no mesmo dia.
Sinta-se à vontade para me contactar para atualizações ou correções.
– Bernardo Ramirez
🇪🇸 Versión en Español
Este script es especialmente útil para traders que necesitan medir el rango de las primeras cuatro velas de 15 minutos de la semana.
Proporciona tres datos clave :
🕒 Resalta las Primeras 4 Velas
Señala las primeras cuatro velas de 15 minutos de la semana y muestra el rango total entre su máximo y mínimo.
📊 Promedio de 10 Semanas (Línea Amarilla)
Muestra el promedio del rango de esas velas durante las últimas 10 semanas, lo que permite comparar la semana actual con patrones anteriores.
📈 Promedio Diario de 30 Días (Línea Verde)
Muestra el rango promedio de las últimas 30 velas diarias.
Esto es especialmente útil al definir un Stop Loss, ya que un rango mayor a un tercio del promedio diario puede dificultar que la operación se cierre el mismo día.
No dudes en contactarme para mejoras o correcciones.
– Bernardo Ramirez
Momentum Candle Early AlertMomentum Candles Indicator and Alert,
You can change the factor from 1x to 1,5x
MTF Reversal & Momentum Signal [w/ Alerts + TP/SL]I created a momentum and take-profit indicator to keep me from crashing out. This is not financial advice; use your own best judgment.
Session Highs and Lows IndicatorHighs and Lows Black Lettering. This shows you the highs and lows of the sessions of the current day.
Whale Zones (Accumulation & Distribution)Zone d'accumulation - Défendue / Zone de Distribution - Zone d'achat impulsive
Buy/Sell Signal - RSI + EMA + MACDSignal 'Buy' if all of the following three conditions are true
Rsi crosses above 55
Ema 9 crosses over ema 21
Macd histogram shows second green on
Signal 'Sell' if all of the following three conditions are true
Rsi crosses below 45
Ema 9 crosses below Ema 21
Macd histogram shows second red on
Tolga's EMA Scalper – Buy / SellEMA line – Calculates a 20‑period Exponential Moving Average (EMA) of the chosen price series (close by default) and plots it in blue.
8‑bar range – Finds the highest and lowest closing prices over the last 8 bars and plots them as a red upper band and a green lower band, giving you a mini‑range reference.
Buy / Sell signals –
Sell: When price crosses the EMA and the current close is lower than the previous close, a red “Sell” arrow appears above the bar.
Buy: When price crosses the EMA and the current close is higher than the previous close, a green “Buy” arrow appears below the bar.
Alerts – Two alertcondition rules let TradingView fire alerts whenever a buy or sell signal is generated.
Daily Range % with Conditional SPX DirectionThis indicator visualizes the short-term market sentiment by combining the trend of the S&P 500 index (SPX) with daily price volatility (DP%).
Key Features:
Calculates a 5-period Exponential Moving Average (EMA) of SPX to detect trend direction:
Rising EMA → Uptrend
Falling EMA → Downtrend
Calculates a 5-period Simple Moving Average (SMA) of Daily Price Range % (DP%) to assess volatility trend:
Rising DP% → Increasing volatility
Falling DP% → Decreasing volatility
Background Colors:
Green: SPX trend up & volatility down → Bullish
Yellow:
SPX trend up & volatility up, or
SPX trend down & volatility down → Neutral
Red: SPX trend down & volatility up → Bearish
On-screen Labels:
Displays SPX trend direction (⬆️ / ⬇️)
Displays volatility direction (⬆️ / ⬇️)
Displays overall market sentiment: Bullish / Neutral / Bearish
This tool is designed to help traders quickly assess the relationship between trend and volatility, aiding in market environment analysis and discretionary trading decisions.
ZHUZHUBLCKBKX MACDThis indicator is based on the standard Trading View MACD Indicator with added visual prompts to take the guess work out of buying and selling. Only use this indicator when you decide to get in or get out. Used in conjunction with "BLCKBOX Buying / Selling Sentiment" indicator.
SessionBarThis PineScript is designed to display various visual elements on a chart to help traders track session activity within the lower time frames, specifically for the USA main session. Here's a breakdown of the script's functionality:
Session Tracking
The script tracks the USA main session, defined as 9:30 AM to 4:00 PM ET, Monday through Friday.
Visual Elements
The script displays various visual elements, including:
1. Session Open and Close Lines: Lines marking the open and close of the USA main session.
2. Session High and Low Lines: Lines marking the high and low of the USA sessions.
3. Active Session Bar: A Realtime Candle as the current session bar.
4. Overnight Session Bar: A Realtime Candle as the overnight session bar.
5. Session Timer: A label displaying the time left until the next session.
6. Background Colors: Colors indicating different session periods, such as pre-market, post-market, and active session.
Customization
The script allows users to customize various aspects, including:
1. Session Time: Users can adjust the session time.
2. Colors: Users can choose colors for different visual elements.
3. Display Options: Users can toggle the display of various visual elements.
Overall, this script provides a educational tool for traders to track session activity and visualize key market data.
Tango Rocket velas 1.5Tango Rocket Indicator:
Daily Volatility Range Projection
This indicator identifies the 3 largest-bodied candles from the last N daily bars and calculates a projected price range centered on the current day’s opening price. The projected channel is displayed for the current day and past days, helping visualize potential daily movement and historical volatility patterns.
Forex Sessions - Simple//@version=5
indicator("Forex Sessions - Simple", overlay=true)
// === INPUTS === //
showSydney = input.bool(true, "Show Sydney")
showTokyo = input.bool(true, "Show Tokyo")
showLondon = input.bool(true, "Show London")
showNY = input.bool(true, "Show New York")
// Color customization
colorSydney = input.color(color.new(color.blue, 70), "Sydney Color")
colorTokyo = input.color(color.new(color.orange, 70), "Tokyo Color")
colorLondon = input.color(color.new(color.green, 70), "London Color")
colorNY = input.color(color.new(color.red, 70), "New York Color")
// === SESSION LOGIC (UTC TIME) === //
sydneySession = showSydney and ((hour >= 22) or (hour < 7))
tokyoSession = showTokyo and (hour >= 0 and hour < 9)
londonSession = showLondon and (hour >= 8 and hour < 17)
nySession = showNY and (hour >= 13 and hour < 22)
// Determine active session (priority order: NY > London > Tokyo > Sydney)
sessionColor = color(na)
if nySession
sessionColor := colorNY
else if londonSession
sessionColor := colorLondon
else if tokyoSession
sessionColor := colorTokyo
else if sydneySession
sessionColor := colorSydney
// === BACKGROUND COLOR === //
bgcolor(sessionColor, title="Session Highlight")
// === SESSION LEGEND === //
var table legend = table.new(position.top_right, 1, 5, border_width=1)
if bar_index == 0
table.cell(legend, 0, 0, "Sessions", bgcolor=color.gray, text_color=color.white)
table.cell(legend, 0, 1, "Sydney", bgcolor=colorSydney)
table.cell(legend, 0, 2, "Tokyo", bgcolor=colorTokyo)
table.cell(legend, 0, 3, "London", bgcolor=colorLondon)
table.cell(legend, 0, 4, "New York", bgcolor=colorNY)