Heikin Ashi Swing Setup DailyTFHeikin Ashi Swing Setup is a trend-following swing trading indicator designed for Daily timeframe traders.
This indicator combines:
Heikin Ashi candle strength
EMA-based trend confirmation
RSI momentum filter
ATR-based price expansion logic
The goal is to capture strong directional swing moves while avoiding sideways and noisy markets.
BUY Signal Logic
Strong bullish Heikin Ashi candle (no lower wick)
Price above EMA 50
EMA slope upward (trend confirmation)
RSI between 50–70
Price sufficiently away from EMA (ATR filter)
SELL Signal Logic
Strong bearish Heikin Ashi candle (no upper wick)
Price below EMA 50
EMA slope downward
RSI between 30–50
ATR-based price expansion confirmed
Recommended Usage
Timeframe: Daily
Markets: Stocks & Indices
Holding Period: 5–20 trading days
Best used with:
Weekly trend analysis
Supply & Demand zones
Previous swing highs/lows
Chart-Muster
MES ORB Fakeout Alert - No RSIVWAP Integration: In 2025/2026 trading, price action often "reverses" to the VWAP. If the MES breaks the ORB High but stays below the VWAP, it’s a high-probability fakeout. This script catches that.
Relative Volume (Effort vs. Result): Instead of RSI, it looks at the Volume SMA. If the market tries to break a level with less volume than the 20-candle average, the "effort" isn't there, and the "result" (the breakout) is likely a lie.
Automatic Session Handling: It specifically looks at America/New_York time to ensure the 9:30 AM open is captured correctly regardless of where you are located.
QUARTERS THEORY XAUUSDThe “Quarter Theory XAUUSD” indicator on TradingView is designed to automatically plot horizontal price levels in $25 increments on your chart, providing traders with a clear visual representation of key psychological and technical price points. These levels are particularly useful for instruments like XAU/USD, where price often reacts to round numbers, forming support and resistance zones that can be leveraged for both scalping and swing trading strategies. By showing all $25 increments as horizontal white lines, the indicator ensures that traders can quickly identify potential entry and exit points, without the need for manual drawing or repeated calculations.
The indicator works by calculating the nearest $25 multiple relative to the current market price and then drawing horizontal lines across the chart for all increments within a defined range. This range can be customized to suit the instrument being traded; for example, for gold (XAU/USD), a typical range might extend from 0 to 5000, covering all practical price levels that could be relevant in both high and low market conditions. By using Pine Script’s persistent variables, the indicator efficiently creates these lines only once at the start of the chart, avoiding unnecessary resource usage and preventing TradingView from slowing down, which can happen if lines are redrawn every bar.
From a trading perspective, these levels serve multiple purposes. For scalpers, the $25 increments act as micro support and resistance points, helping to determine short-term price reactions and potential breakout zones. Scalpers can use these levels to enter positions with tight stop-loss orders just beyond a level and take profits near the next $25 increment, which aligns with common price behavior patterns in highly liquid instruments. For swing traders, the same levels provide broader context, allowing them to identify areas where price might pause or reverse over several days. Swing traders can use these levels to align trades with the prevailing trend, particularly when combined with other indicators such as moving averages or trendlines.
Another key advantage of the Quarterly Levels indicator is its simplicity and visual clarity. By plotting lines in a uniform white color and extending them to the right, the chart remains clean and easy to read, allowing traders to focus on price action and market dynamics rather than cluttered technical drawings. This visual consistency also helps in backtesting and strategy development, as traders can quickly see how price interacts with each level over time. Additionally, the use of round-number increments leverages the psychological tendencies of market participants, as many traders place stop orders or entry points near these levels, making them natural zones of interest.
Overall, the Quarterly Levels indicator combines efficiency, clarity, and practical trading utility into a single tool. It streamlines chart analysis, highlights meaningful price zones, and supports both scalping and swing trading approaches, making it an essential addition to a trader’s toolkit. By understanding how to integrate these levels into trading strategies, traders can make more informed decisions, manage risk effectively, and identify high-probability trade setups across various market conditions.
EMA and DEMA CrossesCombined crosses for EMA and Double EMA
Gives Buy and Sell signals basis all 3 conditions
Supply & Demand Sniper369Indicator Philosophy: The Convergence of Structure and Liquidity
The Supply & Demand Sniper369 is not just another signal generator; it is a professional-grade execution framework built on the principles of Institutional Order Flow and Liquidity Engineering. While standard indicators often lag or provide signals in "no-man's land," this script is designed to identify high-probability reversal points by combining macro-structural zones with micro-execution triggers.
What Makes This Script Original?
Most scripts treat Supply/Demand and Entry Triggers as separate entities. The originality of the Sniper369 lies in its Strict Hierarchical Logic. It employs a "Two-Factor Authentication" system for trades:
1. Structural Validation: Identifying where "Smart Money" has historically left unfilled orders.
2. Liquidity Sweep Confirmation: Using the Enigma 369 logic to detect a specific manipulation pattern (a stop-run or "sweep") that occurs exclusively within those structural zones.
By using Pine Script v6 Object-Oriented Programming, the script manages dynamic arrays of boxes and lines that auto-delete upon mitigation, ensuring your chart remains a clean, actionable workspace.
Underlying Concepts & Calculations
1. Macro: Structural Supply & Demand
The indicator calculates zones based on Pivot Strength and Volatility Scaling.
Calculations: It scans for major structural pivots ( and ). Once a pivot is confirmed, it doesn't just draw a line; it calculates a zone width based on the Average True Range (ATR).
Why it works: Institutions do not enter at a single price; they enter in "pockets" of liquidity. Using ATR-based zones ensures that on high-volatility pairs (like Gold or GBP/JPY), your zones are appropriately wide, while on lower-volatility pairs, they remain tight and precise.
2. Micro: The Enigma 369 Sniper Logic
Once price enters a zone, the "Sniper" logic activates. This is based on the Institutional Wick-Liquidity concept.
The Sweep: The script looks for a candle that breaks the high/low of the previous candle (trapping "breakout" traders) but fails to hold that level.
The Mean Threshold (50% Wick): A core calculation of the Enigma logic is the midpoint of the rejection wick.
Calculation: for Sells.
Logic: Institutions often re-test the 50% level of a long wick to fill the remaining orders before the real move starts.
How to Use the Indicator
Step 1: Wait for Structural Alignment
Observe the Teal (Demand) and Red (Supply) boxes. These are your "Points of Interest" (POI). Do not take any trades until the price is physically touching or inside these boxes.
Step 2: Monitor for the Sniper Trigger
When the price is inside a zone, look for the appearance of the Solid and Dotted lines.
The Solid Line: This is the extreme of the manipulation candle. It serves as your structural invalidation level (Stop Loss).
The Dotted Line: This is the 50% Wick level. It is your "Sniper Entry" target.
Step 3: Execution & Alerts
The script features a built-in alert system that notifies you the moment a Sniper activation occurs inside a zone.
Conservative Entry: Place a Limit Order at the Dotted Line.
Aggressive Entry: Market enter on the close of the Sniper candle if the price has already reacted strongly.
Exit: Target the opposing Supply or Demand zone for a high Risk-to-Reward ratio.
Technical Summary for Traders
Trend Detection: Uses an EMA-50 Filter to ensure Snipers only fire in the direction of the dominant trend (optional).
Scalping/Day Trading: Optimized for the 1m, 5m, and 15m timeframes, but functions perfectly on 4H/Daily for swing traders.
Dynamic Cleanup: The script automatically deletes lines if the price closes past them, signaling that the "Liquidity Grab" was actually a breakout, thus preventing you from entering a losing trade.
Breaker Blocks Finder | Gold | ProjectSyndicateProjectSyndicate Breaker Blocks Finder
📊 Overview
The ProjectSyndicate Breaker Blocks Finder (PS BB Finder) is a professional-grade Pine Script indicator designed to detect and display Bullish and Bearish Breaker Blocks based on Smart Money Concepts (SMC) methodology. This indicator is specifically optimized for XAUUSD (Gold) trading but works reliably across all symbols and timeframes.
Key Features
✅ Non-Repainting: Breaker blocks never change position after formation
✅ Multi-Timeframe Support: Optimized for M5, M10, M15, M20, M30, and H1
✅ Highly Customizable: 10+ user-configurable settings
✅ Visual Clarity: Color-coded boxes and labels for easy identification
✅ Performance Optimized: Handles 1000+ candles without lag
✅ Cross-Symbol Compatible: Works on Forex, Crypto, Stocks, Indices, and Commodities
✅ Displacement Detection: Uses ATR-based displacement to filter false signals
🎯 What are Breaker Blocks?
A Breaker Block is a failed order block that becomes a new support or resistance zone after being invalidated by price. It represents a market structure shift where institutional traders (smart money) have flipped their position.
Bullish Breaker Block
A Bullish Breaker Block forms when:
1 A bearish order block (resistance zone) exists
2 Price breaks ABOVE this zone with strong displacement
3 The former resistance zone now becomes SUPPORT
4 Price may retest this zone before continuing higher
Visual: Green box with "BB ▲" label
Bearish Breaker Block
A Bearish Breaker Block forms when:
5 A bullish order block (support zone) exists
6 Price breaks BELOW this zone with strong displacement
7 The former support zone now becomes RESISTANCE
8 Price may retest this zone before continuing lower
Visual: Red box with "BB ▼" label
⚙️ Default Settings
Setting Default Range Description
Lookback Period 1000 100-5000 Number of historical candles to analyze
Max Breaker Blocks 5 1-50 Maximum number of breaker blocks to display
Swing Detection Length 10 2-20 Bars on each side to confirm swing high/low. Higher = more significant swings
Use Displacement Filter true true/false Enable to filter breaker blocks by displacement size
Displacement Multiplier 2.0 0.5-5.0 Minimum move size as multiple of ATR. Higher = stricter detection
Invalidation Method Close Close/Wick Close = Conservative (candle must close beyond zone)Wick = Aggressive (wick touch is enough)
📈 Recommended Timeframes & Settings
This indicator is optimized for the following timeframes. Use these settings as a starting point.
Lower Timeframes (M5, M10, M15, M20)
These settings are designed to capture faster price movements and are the default settings for the indicator.
Setting Recommended Value
Lookback Period 1000
Max Breaker Blocks 5
Swing Detection Length 10
Use Displacement Filter true
Displacement Multiplier 2.0
Invalidation Method Close
Higher Timeframes (M30, H1)
For these timeframes, a less strict displacement filter is recommended to capture more significant, but less frequent, breaker blocks.
Setting Recommended Value
Lookback Period 1000
Max Breaker Blocks 5
Swing Detection Length 10
Use Displacement Filter true
Displacement Multiplier 1.0
Invalidation Method Close
🎓 How to Use
Step 1: Identify Breaker Blocks
Once the indicator is loaded, breaker blocks will automatically appear on your chart:
• Green boxes = Bullish breaker blocks (former resistance, now support)
• Red boxes = Bearish breaker blocks (former support, now resistance)
Step 2: Wait for Retest
The most reliable trading opportunities occur when price retests the breaker block zone:
• For bullish breaker blocks, wait for price to come back down to the green zone
• For bearish breaker blocks, wait for price to come back up to the red zone
Step 3: Look for Confluence
Combine breaker blocks with other SMC concepts for higher probability setups:
• Fair Value Gaps (FVG) within the breaker block zone
• Liquidity grabs before the retest
• Break of Structure (BoS) or Change of Character (ChoCH) confirmation
Step 4: Enter the Trade
Bullish Setup:
• Entry: At or near the bullish breaker block zone
• Stop Loss: Below the breaker block
• Take Profit: Previous swing high or higher
Bearish Setup:
• Entry: At or near the bearish breaker block zone
• Stop Loss: Above the breaker block
• Take Profit: Previous swing low or lower
🛡️ Non-Repainting Guarantee
This indicator is 100% non-repainting, meaning:
✅ Breaker blocks never change position after formation
✅ Historical breaker blocks remain in the exact same location indefinitely
✅ Backtesting results are reliable and consistent
🐛 Troubleshooting
Issue: No Breaker Blocks Appearing
Solutions:
• Ensure "Use Displacement Filter" is enabled.
• On M30/H1, try lowering the "Displacement Multiplier" to 1.0.
• Scroll back in history; blocks may not be present on the most recent bars.
Issue: Too Many Breaker Blocks
Solutions:
• Increase "Displacement Multiplier" to 2.5 or 3.0.
• Increase "Swing Detection Length" to 12-15.
• Decrease "Max Breaker Blocks" to 3-4.
Long + Short + Signal//@version=6
indicator("Long + Short + Signal", overlay=true)
Buy = input.bool(false, "Buy ")
Sell = input.bool(false, "Sell ")
// ================= INPUTS =================
// ---- LONG ----
periodK_Long = 50
smoothK_Long = 3
periodD_Long = 3
// ---- SHORT ----
periodK_Short = 14
smoothK_Short = 3
periodD_Short = 3
// ================= FUNCTIONS =================
f_stoch_long(tf) =>
k = request.security(syminfo.tickerid, tf,
ta.sma(ta.stoch(close, high, low, periodK_Long), smoothK_Long))
d = request.security(syminfo.tickerid, tf,
ta.sma(k, periodD_Long))
k > 50 and d > 50 ? color.green : k < 40 and d < 40 ? color.red : color.gray
f_stoch_short(tf) =>
k = request.security(syminfo.tickerid, tf,
ta.sma(ta.stoch(close, high, low, periodK_Short), smoothK_Short))
d = request.security(syminfo.tickerid, tf,
ta.sma(k, periodD_Short))
k > 60 and d > 60 ? color.green : k < 40 and d < 40 ? color.red : color.gray
// ================= TABLE =================
// 2 rows × 8 columns
var table t = table.new(position.top_right, 8, 2, border_width=3)
if barstate.islast
// ===== HEADINGS (BIGGER) =====
table.cell(
t, 0, 0, "Short",
bgcolor=color.black,
text_color=color.white,
text_size=size.large,
text_halign=text.align_center
)
table.cell(
t, 0, 1, "Long",
bgcolor=color.black,
text_color=color.white,
text_size=size.large,
text_halign=text.align_center
)
// ===== LONG ROW =====
table.cell(t, 1, 0, "1m", bgcolor=f_stoch_short("1"), text_color=color.white, text_size=size.normal)
table.cell(t, 2, 0, "5m", bgcolor=f_stoch_short("5"), text_color=color.white, text_size=size.normal)
table.cell(t, 3, 0, "15m", bgcolor=f_stoch_short("15"), text_color=color.white, text_size=size.normal)
table.cell(t, 4, 0, "60m", bgcolor=f_stoch_short("60"), text_color=color.white, text_size=size.normal)
table.cell(t, 5, 0, "D", bgcolor=f_stoch_short("D"), text_color=color.white, text_size=size.normal)
table.cell(t, 6, 0, "W", bgcolor=f_stoch_short("W"), text_color=color.white, text_size=size.normal)
table.cell(t, 7, 0, "M", bgcolor=f_stoch_short("M"), text_color=color.white, text_size=size.normal)
// ===== SHORT ROW =====
table.cell(t, 1, 1, "1m", bgcolor=f_stoch_long("1"), text_color=color.white, text_size=size.normal)
table.cell(t, 2, 1, "5m", bgcolor=f_stoch_long("5"), text_color=color.white, text_size=size.normal)
table.cell(t, 3, 1, "15m", bgcolor=f_stoch_long("15"), text_color=color.white, text_size=size.normal)
table.cell(t, 4, 1, "60m", bgcolor=f_stoch_long("60"), text_color=color.white, text_size=size.normal)
table.cell(t, 5, 1, "D", bgcolor=f_stoch_long("D"), text_color=color.white, text_size=size.normal)
table.cell(t, 6, 1, "W", bgcolor=f_stoch_long("W"), text_color=color.white, text_size=size.normal)
table.cell(t, 7, 1, "M", bgcolor=f_stoch_long("M"), text_color=color.white, text_size=size.normal)
lengthK = 14
lengthD = 3
lengthEMA = 3
emaEma(source, length) => ta.ema(ta.ema(source, length), length)
highestHigh = ta.highest(lengthK)
lowestLow = ta.lowest(lengthK)
highestLowestRange = highestHigh - lowestLow
relativeRange = close - (highestHigh + lowestLow) / 2
smi = 200 * (emaEma(relativeRange, lengthD) / emaEma(highestLowestRange, lengthD))
// ===== BUY / SELL CONDITIONS =====
buyEntry = ta.crossover(smi, 50)
buyExit = ta.crossunder(smi, 50)
sellEntry = ta.crossunder(smi, -40)
sellExit = ta.crossover(smi, -40)
// ===== PLOTS =====
plotshape( Buy and buyEntry, title="BUY", style=shape.triangleup,location=location.belowbar, color=color.green,size=size.small, text="BUY")
plotshape( Buy and buyExit, title="EXIT BUY", style=shape.triangledown, location=location.abovebar, color=color.lime,size=size.tiny, text="EXIT")
plotshape( Sell and sellEntry,title="SELL", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, text="SELL")
plotshape( Sell and sellExit, title="EXIT SELL", style=shape.triangleup, location=location.belowbar, color=color.orange, size=size.tiny, text="EXIT")
shortest = ta.ema(close, 9)
shortEMA = ta.ema(close, 21)
longer = ta.ema(close, 50)
longest = ta.ema(close, 200)
plot(shortest, color=color.red, title="EMA 9")
plot(shortEMA, color=color.orange, title="EMA 21")
plot(longer, color=color.aqua, title="EMA 50")
plot(longest, color=color.blue, title="EMA 200")
First Candle Session Levels. Sessions custom timeframes settingsFirst Candle Rule – Scalping Itinerary
Chart Setup
Use two charts at the same time: the five-minute chart and the one-minute chart. This double-chart approach allows you to define structure on the higher timeframe and execute with precision on the lower timeframe.
The First Candle
Focus on the first five-minute candle of the session. Once this candle has fully closed, mark its high and its low. These two price levels form the operating range for the setup.
Execution Phase
After the range is marked, wait for price to return into or react around the first candle range. Execution is carried out on the one-minute chart, using price reaction at the high or low of the first five-minute candle.
Conceptual Framework
This method is built around Smart Money Concepts and Inner Circle Trader principles. It aligns closely with first candle theory and candle range theory. If you understand ICT concepts, the logic behind this setup will be immediately familiar.
Strategy Type
This is a scalping system designed to be simple, repeatable, and effective on a daily basis. It is not about prediction, but about reacting to price within a clearly defined range.
Learning Path
To fully understand the background of this approach, study first candle theory and related ICT material on YouTube. This will help you see how and why the setup works across different market conditions.
Final Purpose
This algorithm was built to be accessible to everyone. The objective is consistency, discipline, and structure, with the long-term goal of helping traders work toward financial freedom through a clear and repeatable process.
Crypto Camp Day Key LevelsDaily key levels Daily key levels Daily key levels Daily key levels Daily key levels Daily key levels
Range Marker by Vinay SinghThis indicator marks back and forth range on given timeframes. good indicator to test range breakout.
Multi-Filter Profit MaximizerDescription : This script is a trend-following system designed to maximize profits by capturing extended trends while filtering out market noise. It integrates four core components:
SuperTrend (Customized): Acts as a dynamic trailing stop and trend baseline.
ADX Filter: Ensures signals only occur during active volatility to avoid choppy markets.
CVD (Cumulative Volume Delta): Validates the price movement with actual volume flow.
Stochastic Momentum: Pinpoints high-probability entry entries within the trend.
--------------------------------------------------------------------------------------------------------------
How to Use This Indicator (Profit Maximization Manual)
This indicator is designed to prioritize **“win rate” and “price range”** over the number of entries.
Market Environment Recognition (Background & Lines):
Green background & green line: An uptrend. Focus solely on long positions.
Red background & red line: A downtrend. Focus solely on short positions.
EMA 200 (Orange Line): The iron rule is to go long if the candlestick is above this line, and short if it's below.
Entry (BUY / SELL Signals):
Enter when the BUY or SELL label appears.
This is the moment when the “trend direction,” “momentum via ADX,” “fund flow via CVD,” and “timing via Stochastic” all align perfectly.
Profit Maximization Exit (Most Critical):
Stop Loss (SL): Exit immediately if the candle body breaks below the green (or red) SuperTrend line right after entry. No hesitation.
Take Profit (TP):
Method A (Trend Riding): Hold until the SuperTrend line changes color. If a major trend emerges, this can yield tremendous profits.
Method B (Conservative Approach): Take half the profit at roughly a 1:2 risk-reward ratio, then hold the remainder aligned with the SuperTrend.
Why This is “The Best”
Many indicators get whipped back and forth in range-bound markets, spitting out profits. It's coded to generate absolutely no signals when ADX < 20 (weak market). Furthermore, using SuperTrend as the stop-loss line forces a structure that comes closest to the Holy Grail of trading: **“Small losses, unlimited profits as long as the trend continues.”**
eBacktesting - Learning: InducementeBacktesting - Learning: Inducement
Inducement is the “trap” move that often shows up right before a real push. Price briefly takes an internal swing level (a small high/low), pulls traders in the wrong direction, and then snaps back — usually right before continuing toward the larger objective.
How to study it:
- First, get a simple trend bias (are we making higher highs/higher lows, or lower highs/lower lows?).
- Watch the most recent internal swing level inside that trend.
- An inducement often looks like a quick sweep through that internal level, followed by a close back on the “correct” side.
These indicators are built to pair perfectly with the eBacktesting extension, where traders can practice these concepts step-by-step. Backtesting concepts visually like this is one of the fastest ways to learn, build confidence, and improve trading performance.
Educational use only. Not financial advice.
Gold Scalp//@version=5
indicator("scalp strategy (Boxed)", overlay=true)
// Ensure 5-minute chart
isFiveMin = timeframe.isminutes and timeframe.multiplier == 5
// New York time (EST/EDT auto)
nyHour = hour(time, "America/New_York")
nyMinute = minute(time, "America/New_York")
// Target times (exact candle close)
triggerTime =
(nyHour == 11 and nyMinute == 0) or
(nyHour == 19 and nyMinute == 0) or
(nyHour == 14 and nyMinute == 0) or
(nyHour == 6 and nyMinute == 0) or
(nyHour == 8 and nyMinute == 0) or
(nyHour == 21 and nyMinute == 0) or
(nyHour == 00 and nyMinute == 0)
// Final trigger
trigger = isFiveMin and triggerTime and barstate.isconfirmed
// Draw box + label
if trigger
box.new(bar_index - -5, high, bar_index, low, bgcolor=color.new(#0e06eb, 76), border_color=color.rgb(4, 252, 136))
label.new(bar_index, high, "", style=label.style_label_down, color=color.rgb(11, 48, 3), textcolor=color.white, size=size.small)
// Alert
alertcondition(trigger, title="LETS GO", message="5-minute candle CLOSED at key EST time")
EST Time Table//@version=6
indicator("EST Time Table", overlay = true)
// ─── Table Settings ─────────────────────────────────────────────
var table timeTable = table.new(
position.top_right,
1, 12,
border_width = 1
)
// ─── Header ────────────────────────────────────────────────────
if barstate.isfirst
table.cell(timeTable, 0, 0, "Time (EST)",
bgcolor = color.black,
text_color = color.white,
text_size = size.normal)
// ─── Time Rows ─────────────────────────────────────────────────
times = array.from(
"2:00 AM",
"6:00 AM",
"8:00 AM",
"8:30 AM",
"9:00 AM",
"9:30 AM",
"10:00 AM",
"11:00 AM",
"14:00 PM",
"19:00 PM",
"21:00 PM"
)
// ─── Fill Table ────────────────────────────────────────────────
for i = 0 to array.size(times) - 1
bg = i % 2 == 0 ? color.rgb(220, 220, 220) : color.white
table.cell(
timeTable,
0,
i + 1,
array.get(times, i),
bgcolor = bg,
text_color = color.black,
text_size = size.normal
)
MNQ BandsMNQ Bands – Execution Clean MNQ Bands – Execution Clean MNQ Bands – Execution Clean MNQ Bands – Execution Clean MNQ Bands – Execution Clean MNQ Bands – Execution Clean
Crypto Swing 5% Volatility Scanner (v6)The script is a work in progress and will look for crypto that has a min +-5% Volatility for day trading.
EMA 9/24/50/100/200 with Labels on chart lines This Pine Script® v6 indicator plots five distinct Exponential Moving Averages (EMAs) onto a single trading chart to help identify trend direction and momentum. By calculating the 9, 24, 50, 100, and 200-period averages, the script allows you to visualize short-term price action alongside long-term support and resistance levels. It uses a color-coded hierarchy and varying line thicknesses to make the different timeframes easy to distinguish at a glance.
with labels on the lines
EMA 9/24/50/100/200 v6This Pine Script® v6 indicator plots five distinct Exponential Moving Averages (EMAs) onto a single trading chart to help identify trend direction and momentum. By calculating the 9, 24, 50, 100, and 200-period averages, the script allows you to visualize short-term price action alongside long-term support and resistance levels. It uses a color-coded hierarchy and varying line thicknesses to make the different timeframes easy to distinguish at a glance.
MACD Trend Count ScoreThis indicator is designed to confirm potential future trends in an asset’s price by analyzing the MACD histogram in the past. It works by counting positive and negative MACD bars within the selected chart timeframe to calculate a Strength Index, which reflects the past trend direction and intensity.
Summarizing the predominance of positive or negative bars across higher timeframes in the past such as daily, weekly, bi-weekly, and quarterly, it provides insight to anticipate how the trend may evolve in upcoming periods, according to the predetermined range scales Strong Bullish, Moderate Bullish, Neutral, Moderate Bearish and Strong Bearish.
Additionally, a dedicated module linked to the strength index is optimized for short-term charts (2-minute, 5-minute and 15-minute timeframes), making it a valuable tool for day trading strategies.
VWAP Pullback + EMA Stack + SAR (TIGHT) PROFIT LOCKVWAP Script with all kinds of toggles and settings please use it and play around with it.
Enhanced MTF Bias Table by Odegos# Enhanced MTF Bias Table - Publication Description
## Short Description (for TradingView listing)
Multi-timeframe bias indicator combining Market Structure Shifts (MSS) with EMA analysis. Displays real-time bias across 7 timeframes (5m-Weekly) with distance metrics and volatility measurements. Perfect for identifying trend alignment and potential reversal points.
---
## Full Description
### Overview
The **Enhanced MTF Bias Table** is a comprehensive multi-timeframe analysis tool designed to help traders quickly identify market bias across different time horizons. By combining Market Structure Shift (MSS) detection with Exponential Moving Average (EMA) analysis, this indicator provides a clear, color-coded view of market sentiment from short-term (5-minute) to long-term (weekly) timeframes.
### What This Indicator Does
**Core Functionality:**
- **Multi-Timeframe Analysis**: Simultaneously monitors 7 different timeframes (5m, 15m, 30m, 1h, 4h, Daily, Weekly)
- **Market Structure Detection**: Identifies when price breaks previous swing highs/lows, indicating potential trend changes
- **EMA-Based Bias**: Combines market structure with price distance from a customizable EMA to determine bias strength
- **Visual Market Structure Shifts**: Draws horizontal lines on the chart when significant market structure shifts occur
- **Real-Time Metrics**: Displays distance from EMA and ATR (volatility) for each timeframe
### How It Works
**Bias Calculation Logic:**
The indicator uses a sophisticated two-factor approach to determine market bias:
1. **Market Structure Analysis**:
- Tracks swing highs and lows using pivot points
- Identifies when price breaks above previous highs (bullish structure) or below previous lows (bearish structure)
- Uses a customizable lookback period to filter noise
2. **EMA Distance Analysis**:
- Measures how far price is from the selected EMA
- Strong bias requires BOTH structure break AND significant distance from EMA
- Neutral zone prevents false signals when price consolidates near the EMA
**Bias Categories:**
- **Strong ↑** (Dark Green): Bullish market structure + price above EMA threshold
- **Weak ↑** (Light Green): Bullish structure OR price moderately above EMA
- **Neutral** (Orange): Price within neutral zone around EMA
- **Weak ↓** (Light Red): Bearish structure OR price moderately below EMA
- **Strong ↓** (Dark Red): Bearish market structure + price below EMA threshold
### Key Features
**📊 Customizable Table Display:**
- Two table styles: Compact (minimal) or Full (detailed with labels)
- 9 position options to fit any chart layout
- Toggle distance from EMA and ATR displays
- Shows current symbol, timeframe, and date
**📈 Flexible Indicator Settings:**
- Adjustable EMA length (default: 50)
- Customizable MSS lookback period (5-50 bars)
- Breakout threshold adjustment for different instruments
- Neutral zone configuration to reduce noise
**📍 Visual Market Structure Shifts:**
- Draws horizontal lines at significant structure breaks
- Customizable colors for bullish/bearish MSS
- Optional text labels ("MSS") for easy identification
- Adjustable line width and style (solid, dashed, dotted)
**📉 EMA Overlay:**
- Optional EMA display on chart
- Full customization: color, width, line style
- Helps visualize the reference point for bias calculations
**🎨 Full Color Customization:**
- Independent color controls for all bias levels
- Customize header and table appearance
- Matches any chart theme or preference
### Best Use Cases
**1. Trend Alignment:**
Use the MTF table to identify when multiple timeframes align in the same direction. When 5-6 or more timeframes show the same bias, it indicates strong directional momentum.
**2. Divergence Detection:**
Look for disagreements between timeframes. For example, if higher timeframes (Daily/Weekly) show bearish bias while lower timeframes (5m/15m) show bullish bias, it may indicate a counter-trend bounce or potential reversal setup.
**3. Entry Timing:**
Use higher timeframe bias for direction and lower timeframe bias for entry timing. Enter trades when your trading timeframe aligns with higher timeframe bias.
**4. Risk Management:**
When lower timeframes show opposite bias to higher timeframes, it suggests trading against the major trend—requiring tighter stops and smaller positions.
**5. Market Structure Confirmation:**
The MSS lines help identify key levels where market structure changed, useful for:
- Stop loss placement (below/above MSS levels)
- Target setting (previous structure points)
- Breakout confirmation
### Recommended Settings by Instrument
**Index Futures:**
- **ES (S&P 500)**: Breakout Threshold: 0.15%, Neutral Zone: 0.15%
- **NQ (Nasdaq)**: Breakout Threshold: 0.25%, Neutral Zone: 0.20%
- **YM (Dow Jones)**: Breakout Threshold: 0.20%, Neutral Zone: 0.20%
**Forex Pairs:**
- **Major Pairs**: Breakout Threshold: 0.10%, Neutral Zone: 0.10%
- **Volatile Pairs**: Breakout Threshold: 0.20%, Neutral Zone: 0.15%
**Cryptocurrencies:**
- Breakout Threshold: 0.30-0.50%, Neutral Zone: 0.25-0.40%
- Higher volatility requires larger thresholds
### Understanding the Metrics
**Distance from EMA (%):**
- Positive values = Price above EMA (bullish territory)
- Negative values = Price below EMA (bearish territory)
- Larger absolute values = Stronger deviation from mean
- Useful for identifying overextended moves
**ATR (%):**
- Measures current volatility as percentage of price
- Higher values = More volatile conditions
- Helps adjust position sizing and stop distances
- Compare across timeframes to see where volatility concentrates
### Tips for Optimal Use
1. **Start with higher timeframes**: Check Daily and Weekly bias first to understand the bigger picture
2. **Use the 50 EMA default**: It's widely used and provides reliable support/resistance
3. **Adjust MSS lookback for your style**: Lower values (5-7) for day trading, higher values (15-25) for swing trading
4. **Watch for neutral zones**: Orange/neutral readings often precede significant moves
5. **Combine with price action**: Use MSS lines as reference points for entries and exits
6. **Don't ignore weak signals**: "Weak" bias often precedes strong moves as structure builds
### What Makes This Different
Unlike simple moving average indicators, this script:
- Combines TWO confirmation factors (structure + distance) for more reliable signals
- Provides context across multiple timeframes simultaneously
- Visually marks important market structure changes on your chart
- Offers both compact and detailed display modes
- Includes volatility measurement to gauge market conditions
### Technical Notes
- Uses `request.security()` to fetch data from multiple timeframes
- Implements `pivothigh()` and `pivotlow()` for swing detection
- All calculations use `lookahead=barmerge.lookahead_off` to prevent repainting
- MSS lines drawn in real-time as structure breaks occur
- Optimized for performance with minimal script resources
### Disclaimer
This indicator is a tool for analysis and does not provide trading signals or financial advice. Always:
- Use proper risk management
- Combine with other forms of analysis
- Test thoroughly in a demo environment
- Understand that past performance doesn't guarantee future results
- Consider market conditions and fundamental factors
---
## Tags (for TradingView)
multi-timeframe, market-structure, bias, trend, EMA, momentum, support-resistance, price-action, volatility, ATR, swing-trading, day-trading
## Category
Trend Analysis / Multi-Timeframe Analysis
---
## Quick Start Guide
**For Day Traders:**
1. Add indicator to your chart
2. Focus on 5m, 15m, 30m, and 1h timeframes
3. Look for alignment across these timeframes
4. Use MSS lines as entry/exit reference points
**For Swing Traders:**
1. Add indicator to your chart
2. Focus on 4h, Daily, and Weekly timeframes
3. Wait for 2-3 timeframe alignment
4. Use lower timeframes only for entry timing
**For Position Traders:**
1. Add indicator to your chart
2. Focus on Daily and Weekly timeframes
3. Ignore short-term noise
4. Enter when both show same strong bias
Yield Curve Widget (Nasdaq) 📊 Yield Curve Risk Widget — Nasdaq (MNQ)
🔍 What this indicator does
This indicator is a macro risk widget designed for Nasdaq (MNQ) traders.
It combines the US Treasury yield curve (10Y vs 2Y) with price confirmation from Nasdaq itself to provide a directional bias.
⚠️ This is NOT an entry signal.
It is a context and risk filter to help you decide which side of the market to prioritize.
🧠 What each element means
🔹 10Y (e.g. 4.17)
The 10-year US Treasury yield, expressed as annual percentage (%).
Tech stocks and Nasdaq are highly sensitive to the 10Y
Falling 10Y → supportive for Nasdaq
Rising 10Y → pressure on Nasdaq
🔹 2Y (e.g. 3.54)
The 2-year US Treasury yield, closely tied to Federal Reserve expectations.
🔹 Spread (10Y − 2Y)
Represents the slope of the yield curve.
Spread expanding → curve normalizing → healthier macro environment
Spread contracting → curve flattening or inverting → higher risk
🔹 10Y slope / Spread slope (▲ ▼ •)
Shows the recent direction of movement:
▲ Rising
▼ Falling
• Flat / neutral
👉 Direction matters more than absolute level.
🔹 Regime (BULL / BEAR / NEUT)
Structural interpretation of the yield curve:
BULL → rates favor risk assets
BEAR → rates pressure risk assets
NEUT → mixed macro signals
🔹 RISK ON / RISK OFF / NEUTRAL
Combination of macro (yield curve) and price confirmation (Nasdaq trend):
RISK ON
→ Favorable curve and Nasdaq above its trend EMA
RISK OFF
→ Unfavorable curve and Nasdaq below its trend EMA
NEUTRAL
→ No confirmation
🔹 Intensity (0–100)
Measures the strength of the current regime.
0–40 → weak / noisy environment
40–60 → transition phase
60–100 → strong macro regime
🔹 Trade Bias (BUY / SELL / WAIT)
This is the practical conclusion of the indicator:
BUY NASDAQ
→ Risk ON confirmed + intensity above threshold
SELL NASDAQ
→ Risk OFF confirmed + intensity above threshold
WAIT
→ Mixed conditions, no clear edge
⚠️ This is NOT a trade trigger, only a directional filter.
🎯 How to use it (the right way)
✅ Use it as a FILTER
BUY NASDAQ → prioritize long setups only
SELL NASDAQ → prioritize short setups only
WAIT → trade only A+ setups or stay flat
❌ What NOT to do
Do not enter trades solely because BUY/SELL appears
Do not ignore your own risk management rules
Do not rely on it during major news events (CPI, FOMC, NFP)
⚙️ Suggested settings (MNQ)
Day Trading (1m / 5m)
MNQ Trend EMA: 200
Slope lookback: 5–10
Min Risk Intensity: 55–65
Intraday / Swing
Yields TF: 15m or 60m
Min Risk Intensity: 60–75
🧩 Quick summary
📉 Falling rates → Nasdaq tends to rise
📈 Rising rates → Nasdaq tends to fall
🧠 Yield curve + price confirmation = directional edge
🎯 Use as a filter, not as an entry signal
Disclaimer:
This indicator provides macro context only. Always combine it with your own technical setups, execution rules, and risk management.






















