HAHAHAThe "ICT Killzones + Macros" indicator is a comprehensive market structure and session visualizer built for day traders and ICT (Inner Circle Trader) method followers. It plots key session zones, previous highs/lows, and macro time blocks to help identify liquidity zones, entry windows, and price reactions.
指标和策略
ICT Killzones + Macros [TakingProphets]The "ICT Killzones + Macros" indicator is a comprehensive market structure and session visualizer built for day traders and ICT (Inner Circle Trader) method followers. It plots key session zones, previous highs/lows, and macro time blocks to help identify liquidity zones, entry windows, and price reactions.
Model+ - Trendlines & S/R//@version=5
indicator("Model+ - Trendlines & S/R", overlay=true)
// === Parameters ===
length = input.int(20, title="Pivot Length")
lookback = input.int(252, title="Lookback Period (trading days ~ 1 year)", minval=1, maxval=5000)
minTouches = input.int(2, title="Minimum Touches for Valid S/R")
maxLines = input.int(15, title="Max Lines")
tolerance = input.float(1.5, title="Price Tolerance for S/R Match")
// === Arrays to Store Pivot Points ===
var line supportLines = array.new_line()
var line resistanceLines = array.new_line()
var float supportLevels = array.new_float()
var float resistanceLevels = array.new_float()
// === Function to Check Pivot High ===
isPivotHigh(src, len, idx) =>
idxValid = idx - len >= 0 and idx + len < bar_index and idx < 5000
result = true
if idxValid
for j = 1 to len
result := result and src > src and src > src
else
result := false
result
// === Function to Check Pivot Low ===
isPivotLow(src, len, idx) =>
idxValid = idx - len >= 0 and idx + len < bar_index and idx < 5000
result = true
if idxValid
for j = 1 to len
result := result and src < src and src < src
else
result := false
result
// === Helper Function: Count Nearby Pivots ===
countTouches(src, level, lookbackBars) =>
count = 0
maxBack = math.min(lookbackBars, bar_index)
for j = 0 to maxBack - 1
if math.abs(src - level) <= tolerance
count := count + 1
count
// === Loop Over Past Bars to Find S/R Levels ===
startIdx = math.max(length, bar_index - math.min(lookback, 4500))
endIdx = bar_index - length
if bar_index > startIdx + length
for i = startIdx to endIdx by 1
if isPivotHigh(high, length, i)
lvl = high
touches = countTouches(high, lvl, lookback)
if touches >= minTouches
l = line.new(x1=i, y1=lvl, x2=bar_index, y2=lvl, color=color.red, width=1)
array.push(resistanceLines, l)
array.push(resistanceLevels, lvl)
if isPivotLow(low, length, i)
lvl = low
touches = countTouches(low, lvl, lookback)
if touches >= minTouches
l = line.new(x1=i, y1=lvl, x2=bar_index, y2=lvl, color=color.green, width=1)
array.push(supportLines, l)
array.push(supportLevels, lvl)
// === Clean Up Old Lines ===
while array.size(resistanceLines) > maxLines
line.delete(array.shift(resistanceLines))
array.shift(resistanceLevels)
while array.size(supportLines) > maxLines
line.delete(array.shift(supportLines))
array.shift(supportLevels)
SMA + Heiken Ashi Signals with BB Width Filter (Toggle + Label)🎯 Purpose
This script gives Buy, Sell, Exit Buy, and Exit Sell signals based on:
SMA crossovers
Heiken Ashi candle trend reversal
Bollinger Band Width filter to avoid trades in sideways markets
It’s designed for clean signal-only trading, with no actual order execution — ideal for discretionary or alert-based traders.
🧠 Logic Explained
✅ 1. Entry Signals (Buy/Sell)
Based on a fast SMA crossing a slow SMA
→ Uses 1-minute data (via request.security) for faster signal generation even on higher timeframes.
Only triggers if:
✅ Price is trending in the direction of the trade (above or below a 50-period SMA)
✅ Bollinger Band width is wide enough, indicating a strong trend
✅ You're not already in that direction (prevents duplicate signals)
❌ 2. Exit Signals (Exit Buy / Exit Sell)
Based on 3-minute Heiken Ashi candles
Exit Buy when: Heiken Ashi candle turns red (bearish)
Exit Sell when: Heiken Ashi candle turns green (bullish)
This smooths out the exit and prevents premature exits from short-term noise.
📊 3. Bollinger Band Width Filter
Measures distance between BB upper & lower bands
Normalized by dividing by the midline (basis) → bbWidth
If bbWidth < minWidth, signals are blocked to avoid consolidating markets
You can toggle this filter on/off and adjust the minWidth input.
🔁 4. Trade State Tracking
Uses two var bool flags:
inLong: True if in a long position
inShort: True if in a short position
Prevents the script from repeating signals until an exit occurs
The Echo System🔊 The Echo System – Trend + Momentum Trading Strategy
Overview:
The Echo System is a trend-following and momentum-based trading tool designed to identify high-probability buy and sell signals through a combination of market trend analysis, price movement strength, and candlestick validation.
Key Features:
📈 Trend Detection:
Uses a 30 EMA vs. 200 EMA crossover to confirm bullish or bearish trends.
Visual trend strength meter powered by percentile ranking of EMA distance.
🔄 Momentum Check:
Detects significant price moves over the past 6 bars, enhanced by ATR-based scaling to filter weak signals.
🕯️ Candle Confirmation:
Validates recent price action using the previous and current candle body direction.
✅ Smart Conditions Table:
A live dashboard showing all trade condition checks (Trend, Recent Price Move, Candlestick confirmations) in real-time with visual feedback.
📊 Backtesting & Stats:
Auto-calculates average win, average loss, risk-reward ratio (RRR), and win rate across historical signals.
Clean performance dashboard with color-coded metrics for easy reading.
🔔 Alerts:
Set alerts for trade signals or significant price movements to stay updated without monitoring the chart 24/7.
Visuals:
Trend markers and price movement flags plotted directly on the chart.
Dual tables:
📈 Conditions table (top-right): breaks down trade criteria status.
📊 Performance table (bottom-right): shows real-time stats on win/loss and RRR.🔊 The Echo System – Trend + Momentum Trading Strategy
Overview:
The Echo System is a trend-following and momentum-based trading tool designed to identify high-probability buy and sell signals through a combination of market trend analysis, price movement strength, and candlestick validation.
Key Features:
📈 Trend Detection:
Uses a 30 EMA vs. 200 EMA crossover to confirm bullish or bearish trends.
Visual trend strength meter powered by percentile ranking of EMA distance.
🔄 Momentum Check:
Detects significant price moves over the past 6 bars, enhanced by ATR-based scaling to filter weak signals.
🕯️ Candle Confirmation:
Validates recent price action using the previous and current candle body direction.
✅ Smart Conditions Table:
A live dashboard showing all trade condition checks (Trend, Recent Price Move, Candlestick confirmations) in real-time with visual feedback.
📊 Backtesting & Stats:
Auto-calculates average win, average loss, risk-reward ratio (RRR), and win rate across historical signals.
Clean performance dashboard with color-coded metrics for easy reading.
🔔 Alerts:
Set alerts for trade signals or significant price movements to stay updated without monitoring the chart 24/7.
Visuals:
Trend markers and price movement flags plotted directly on the chart.
Dual tables:
📈 Conditions table (top-right): breaks down trade criteria status.
📊 Performance table (bottom-right): shows real-time stats on win/loss and RRR.
Model+ - Trendlines Only// === Model+ Trendlines (Support/Resistance) ===
//@version=5
indicator("Model+ - Trendlines Only", overlay=true)
// Input parameters
pivotLookback = input.int(10, title="Pivot Lookback", minval=1)
minTouches = input.int(2, title="Minimum Touches for Trendline", minval=2)
// === Identify Highs and Lows ===
ph = ta.pivothigh(high, pivotLookback, pivotLookback)
pl = ta.pivotlow(low, pivotLookback, pivotLookback)
// === Store trendline candidate points ===
var line supportLines = array.new_line()
var line resistanceLines = array.new_line()
// === Function: draw horizontal level if repeated ===
plotSupportLevel(_price, _color) =>
line.new(x1=bar_index - pivotLookback, y1=_price, x2=bar_index, y2=_price, extend=extend.right, color=_color, width=1)
// === Find repeating lows (support) ===
var float supportLevels = array.new_float()
if pl
level = low
count = 0
for i = 0 to array.size(supportLevels) - 1
if math.abs(level - array.get(supportLevels, i)) <= syminfo.mintick * 20
count := count + 1
if count == 0
array.push(supportLevels, level)
plotSupportLevel(level, color.green)
// === Find repeating highs (resistance) ===
var float resistanceLevels = array.new_float()
if ph
level = high
count = 0
for i = 0 to array.size(resistanceLevels) - 1
if math.abs(level - array.get(resistanceLevels, i)) <= syminfo.mintick * 20
count := count + 1
if count == 0
array.push(resistanceLevels, level)
plotSupportLevel(level, color.red)
// === Notes ===
// This code marks horizontal support and resistance levels based on pivot points.
// It adapts automatically to different timeframes, showing relevant levels for each.
// Next step: add diagonal trendlines (ascending/descending) and pattern recognition.
Model+ - Dynamic Trendlines//@version=5
indicator("Model+ - Dynamic Trendlines", overlay=true)
// === Helper: Detect Swing Highs and Lows ===
isSwingLow(idx) => low < low and low < low
isSwingHigh(idx) => high > high and high > high
// === Function to find trendlines ===
findTrendline(_isLow, length) =>
var float point1 = na
var float point2 = na
var int idx1 = na
var int idx2 = na
for i = length to 1 by -1
if _isLow ? isSwingLow(i) : isSwingHigh(i)
if na(point1)
point1 := _isLow ? low : high
idx1 := bar_index - i
else if na(point2)
point2 := _isLow ? low : high
idx2 := bar_index - i
break
slope = (point2 - point1) / (idx2 - idx1)
offset = bar_index - idx2
start = point2 + slope * (-offset)
end = point2 + slope * (1 - offset)
// === Dynamic detection per timeframe ===
timeframeName = timeframe.period
len = switch timeframeName
"D" => 50
"W" => 30
"M" => 20
=> 50
// === Detect trendlines ===
= findTrendline(true, len)
= findTrendline(false, len)
// === Draw lines ===
var line trendSupport = na
var line trendResistance = na
if not na(startLow) and not na(endLow)
line.delete(trendSupport)
trendSupport := line.new(x1=bar_index - 1, y1=startLow, x2=bar_index, y2=endLow, color=color.green, width=2, style=line.style_solid)
if not na(startHigh) and not na(endHigh)
line.delete(trendResistance)
trendResistance := line.new(x1=bar_index - 1, y1=startHigh, x2=bar_index, y2=endHigh, color=color.red, width=2, style=line.style_solid)
// === Support/Resistance Horizontal (based on swing points) ===
getHorizontalLevels(n) =>
var float support = na
var float resistance = na
for i = n to 1 by -1
if isSwingLow(i) and na(support)
support := low
if isSwingHigh(i) and na(resistance)
resistance := high
if not na(support) and not na(resistance)
break
= getHorizontalLevels(len)
var line srSupportLine = na
var line srResistanceLine = na
if not na(supportLine)
line.delete(srSupportLine)
srSupportLine := line.new(x1=bar_index - len, y1=supportLine, x2=bar_index, y2=supportLine, color=color.green, style=line.style_dashed)
if not na(resistanceLine)
line.delete(srResistanceLine)
srResistanceLine := line.new(x1=bar_index - len, y1=resistanceLine, x2=bar_index, y2=resistanceLine, color=color.red, style=line.style_dashed)
Session Highs and Lows IndicatorHighs and Lows Black Lettering. This shows you the highs and lows of the sessions of the current day.
6 Moving Averages Difference TableIndicator Summary: 6 Moving Averages Difference Table (6MADIFF)
This TradingView indicator calculates and plots up to six distinct moving averages (MAs) directly on the price chart. Users have extensive control over each MA, allowing selection of:
Type: SMA, EMA, WMA, VWMA, HMA, RMA
Length: Any positive integer
Color: User-defined
Visibility: Can be toggled on/off
A core feature is the on-chart data table, designed to provide a quick overview of the relationships between the MAs and the price. This table displays:
$-MA Column: The absolute difference between the user-selected Input Source (e.g., Close, Open, HLC3) and the current value of each MA.
MA$ Column: The actual calculated price value of each MA for the current bar.
MA vs. MA Matrix: A grid showing the absolute difference between every possible pair of the calculated MAs (e.g., MA1 vs. MA2, MA1 vs. MA3, MA2 vs. MA5, etc.).
Customization Options:
Input Source: Select the price source (Open, High, Low, Close, HL2, HLC3, OHLC4) used for all MA calculations and the price difference column.
Table Settings: Control the table's visibility, position on the chart, text size, decimal precision for displayed values, and the text used for the column headers ("$-MA" and "MA$").
Purpose:
This indicator is useful for traders who utilize multiple moving averages in their analysis. The table provides an immediate, quantitative snapshot of:
How far the current price is from each MA.
The exact value of each MA.
The spread or convergence between different MAs.
This helps in quickly assessing trend strength, potential support/resistance levels based on MA clusters, and the relative positioning of short-term versus long-term averages.
Darvas Box Breakout Signals v6 (Manus)Purpose:
This script is designed for TradingView to automatically identify potential "Darvas Boxes" on your price chart and signal when the price breaks out of these boxes.
How it Works:
Finds Highs: It looks back over a set number of bars (default is 20, but you can change this) to find the highest price point.
Confirms Box Top: It waits until the price stays below that high point for a specific number of bars (default is 3) to confirm the top of the box.
Confirms Box Bottom: After the top is confirmed, it looks for the lowest price reached and waits until the price stays above that low point for the same number of bars (3) to confirm the bottom of the box.
Draws Box (Optional): If enabled in the settings, it draws lines on the chart representing the top and bottom of the confirmed box.
What Signals It Shows:
Breakout Signal: When the price closes above the top line of a confirmed box, it plots a green upward-pointing triangle above that price bar. This suggests the stock might be starting a move higher.
Breakdown Signal: When the price closes below the bottom line of a confirmed box, it plots a red downward-pointing triangle below that price bar. This suggests the stock might be starting a move lower.
Key Features:
Uses the Darvas Box theory logic.
Provides clear visual signals for potential entries based on breakouts or breakdowns.
Allows customization of the lookback period and confirmation bars via the indicator settings.
Written in Pine Script version 6.
Remember, this script just provides signals based on price patterns; it doesn't predict the future or guarantee profits. It should be used as one tool within the larger trading plan we discussed, especially considering risk management.
MLExtensions_CoreLibrary "MLExtensions_Core"
A set of extension methods for a novel implementation of a Approximate Nearest Neighbors (ANN) algorithm in Lorentzian space, focused on computation.
normalizeDeriv(src, quadraticMeanLength)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src (float) : The input series (i.e., the first-order derivative for price).
quadraticMeanLength (int) : The length of the quadratic mean (RMS).
Returns: nDeriv The normalized derivative of the input series.
normalize(src, min, max)
Rescales a source value with an unbounded range to a target range.
Parameters:
src (float) : The input series
min (float) : The minimum value of the unbounded range
max (float) : The maximum value of the unbounded range
Returns: The normalized series
rescale(src, oldMin, oldMax, newMin, newMax)
Rescales a source value with a bounded range to anther bounded range
Parameters:
src (float) : The input series
oldMin (float) : The minimum value of the range to rescale from
oldMax (float) : The maximum value of the range to rescale from
newMin (float) : The minimum value of the range to rescale to
newMax (float) : The maximum value of the range to rescale to
Returns: The rescaled series
getColorShades(color)
Creates an array of colors with varying shades of the input color
Parameters:
color (color) : The color to create shades of
Returns: An array of colors with varying shades of the input color
getPredictionColor(prediction, neighborsCount, shadesArr)
Determines the color shade based on prediction percentile
Parameters:
prediction (float) : Value of the prediction
neighborsCount (int) : The number of neighbors used in a nearest neighbors classification
shadesArr (array) : An array of colors with varying shades of the input color
Returns: shade Color shade based on prediction percentile
color_green(prediction)
Assigns varying shades of the color green based on the KNN classification
Parameters:
prediction (float) : Value (int|float) of the prediction
Returns: color
color_red(prediction)
Assigns varying shades of the color red based on the KNN classification
Parameters:
prediction (float) : Value of the prediction
Returns: color
tanh(src)
Returns the the hyperbolic tangent of the input series. The sigmoid-like hyperbolic tangent function is used to compress the input to a value between -1 and 1.
Parameters:
src (float) : The input series (i.e., the normalized derivative).
Returns: tanh The hyperbolic tangent of the input series.
dualPoleFilter(src, lookback)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src (float) : The input series (i.e., the hyperbolic tangent).
lookback (int) : The lookback window for the smoothing.
Returns: filter The smoothed hyperbolic tangent of the input series.
tanhTransform(src, smoothingFrequency, quadraticMeanLength)
Returns the tanh transform of the input series.
Parameters:
src (float) : The input series (i.e., the result of the tanh calculation).
smoothingFrequency (int)
quadraticMeanLength (int)
Returns: signal The smoothed hyperbolic tangent transform of the input series.
n_rsi(src, n1, n2)
Returns the normalized RSI ideal for use in ML algorithms.
Parameters:
src (float) : The input series (i.e., the result of the RSI calculation).
n1 (simple int) : The length of the RSI.
n2 (simple int) : The smoothing length of the RSI.
Returns: signal The normalized RSI.
n_cci(src, n1, n2)
Returns the normalized CCI ideal for use in ML algorithms.
Parameters:
src (float) : The input series (i.e., the result of the CCI calculation).
n1 (simple int) : The length of the CCI.
n2 (simple int) : The smoothing length of the CCI.
Returns: signal The normalized CCI.
n_wt(src, n1, n2)
Returns the normalized WaveTrend Classic series ideal for use in ML algorithms.
Parameters:
src (float) : The input series (i.e., the result of the WaveTrend Classic calculation).
n1 (simple int)
n2 (simple int)
Returns: signal The normalized WaveTrend Classic series.
n_adx(highSrc, lowSrc, closeSrc, n1)
Returns the normalized ADX ideal for use in ML algorithms.
Parameters:
highSrc (float) : The input series for the high price.
lowSrc (float) : The input series for the low price.
closeSrc (float) : The input series for the close price.
n1 (simple int) : The length of the ADX.
regime_filter(src, threshold, useRegimeFilter)
Parameters:
src (float)
threshold (float)
useRegimeFilter (bool)
filter_adx(src, length, adxThreshold, useAdxFilter)
filter_adx
Parameters:
src (float) : The source series.
length (simple int) : The length of the ADX.
adxThreshold (int) : The ADX threshold.
useAdxFilter (bool) : Whether to use the ADX filter.
Returns: The ADX.
filter_volatility(minLength, maxLength, sensitivityMultiplier, useVolatilityFilter)
filter_volatility
Parameters:
minLength (simple int) : The minimum length of the ATR.
maxLength (simple int) : The maximum length of the ATR.
sensitivityMultiplier (float) : Multiplier for the historical ATR to control sensitivity.
useVolatilityFilter (bool) : Whether to use the volatility filter.
Returns: Boolean indicating whether or not to let the signal pass through the filter.
ETH to RTH Gap DetectorETH to RTH Gap Detector
What It Does
This indicator identifies and tracks custom-defined gaps that form between Extended Trading Hours (ETH) and Regular Trading Hours (RTH). Unlike traditional gap definitions, this indicator uses a specialized approach - defining up gaps as the space between previous session close high to current session initial balance low, and down gaps as the space from previous session close low to current session initial balance high. Each detected gap is monitored until it's touched by price.
Key Features
Detects custom-defined ETH-RTH gaps based on previous session close and current session initial balance
Automatically identifies both up gaps and down gaps
Visualizes gaps with color-coded boxes that extend until touched
Tracks when gaps are filled (when price touches the gap area)
Offers multiple display options for filled gaps (color change, border only, pattern, or delete)
Provides comprehensive statistics including total gaps, up/down ratio, and touched gap percentage
Includes customizable alert system for real-time gap filling notifications
Features toggle options for dashboard visibility and weekend sessions
Uses time-based box coordinates to avoid common TradingView drawing limitations
How To Use It
Configure Session Times : Set your preferred RTH hours and timezone (default 9:30-16:00 America/New York)
Set Initial Balance Period : Adjust the initial balance period (default 30 minutes) for gap detection sensitivity
Monitor Gap Formation : The indicator automatically detects gaps between the previous session close and current session IB
Watch For Gap Fills : Gaps change appearance or disappear when price touches them, based on your selected style
Check Statistics : View the dashboard to see total gaps, directional distribution, and touched percentage
Set Alerts : Enable alerts to receive notifications when gaps are filled
Settings Guide
RTH Settings : Configure the start/end times and timezone for Regular Trading Hours
Initial Balance Period : Controls how many minutes after market open to calculate the initial balance (1-240 minutes)
Display Settings : Toggle gap boxes, extension behavior, and dashboard visibility
Filled Box Style : Choose how filled gaps appear - Filled (color change), Border Only, Pattern, or Delete
Color Settings : Customize colors for up gaps, down gaps, and filled gaps
Alert Settings : Control when and how alerts are triggered for gap fills
Weekend Session Toggle : Option to include or exclude weekend trading sessions
Technical Details
The indicator uses time-based coordinates (xloc.bar_time) to prevent "bar index too far" errors
Gap boxes are intelligently limited to avoid TradingView's 500-bar drawing limitation
Box creation and fill detection use proper range intersection logic for accuracy
Session detection is handled using TradingView's session string format for reliability
Initial balance detection is precisely calculated based on time difference
Statistics calculations exclude zero-division scenarios for stability
This indicator works best on futures markets with extended and regular trading hours, especially indices (ES, NQ, RTY) and commodities. Performs well on timeframes from 1-minute to 1-hour.
What Makes It Different
Most gap indicators focus on traditional open-to-previous-close gaps, but this tool offers a specialized definition more relevant to ETH/RTH transitions. By using the initial balance period to define gap edges, it captures meaningful price discrepancies that often provide trading opportunities. The indicator combines sophisticated gap detection logic with clean visualization and comprehensive tracking statistics. The customizable fill styles and integrated alert system make it practical for both chart analysis and active trading scenarios.
SPY, NQ, SPX, ES Live Prices (Customizable)This indicator lets you see the most popular S&P tickers on any chart.
Currently shows SPY, NQ, SPX, and ES
WaveNode [ParadoxAlgo]WaveNode is an open-source, multi-framework breakout tool that blends Donchian highs/lows, Bollinger-band volatility, volume spikes and an ATR buffer into one clean visual package. It ships with five one-click “Trading Style” presets (Scalping → Long-Term Investing) so users can drop it on any chart, pick a style, and immediately see context-aware breakout triangles and adaptive channels—no manual tuning required.
What the Indicator does
WaveNode tracks the previous bar’s highest high and lowest low to build a Donchian envelope, wraps price in a two-sigma Bollinger shell to gauge contraction/expansion, then confirms breakouts only when:
• Price closes beyond the prior Donchian extreme plus an ATR % buffer.
• Volume exceeds its moving-average × style-specific multiplier.
• Volatility is expanding (current BB width > its own average).
When all filters line up, a blue (bull) or red (bear) triangle prints on the bar. The channel body is softly filled with a neutral gradient so signals stay visible against any theme.
Inputs & presets
Trading Style
Scalping · Day Trading · Swing Trading · Short-Term Investing · Long-Term Investing
Dropdown auto-loads lengths, multipliers and buffers for the chosen horizon.
All other parameters are hard-coded inside each preset to keep the UI minimal; feel free to fork the code and expose more sliders if you prefer.
How to read it
1. Wait for expansion – when the shaded channel widens after a squeeze, conditions ripen for a move.
2. Watch the triangles – a triangle marks the bar where price, volume and volatility align.
3. Use your own risk plan – WaveNode is a signal generator, not a complete trading system.
Risk & compliance
WaveNode is released for educational purposes only. It does not provide financial advice or guarantees of future results. Always back-test and forward-test on demo before risking real capital. By using WaveNode you accept full responsibility for all trading decisions—past performance is not indicative of future returns.
Adaptive RSI | Lyro RSThe Adaptive RSI | 𝓛𝔂𝓻𝓸 𝓡𝓢 indicator enhances the traditional Relative Strength Index (RSI) by integrating adaptive smoothing techniques and dynamic bands. This design aims to provide traders with a nuanced view of market momentum, highlighting potential trend shifts and overbought or oversold conditions.
Key Features
Adaptive RSI Calculation: Combines fast and slow Exponential Moving Averages (EMAs) of the RSI to capture momentum shifts effectively.
Dynamic Bands: Utilizes a smoothed standard deviation approach to create upper and lower bands around the adaptive RSI, aiding in identifying extreme market conditions.
Signal Line: An additional EMA of the adaptive RSI serves as a signal line, assisting in confirming trend directions.
Customizable Color Schemes: Offers multiple predefined color palettes, including "Classic," "Mystic," "Accented," and "Royal," with an option for users to define custom colors for bullish and bearish signals.
How It Works
Adaptive RSI Computation: Calculates the difference between fast and slow EMAs of the RSI, producing a responsive oscillator that adapts to market momentum.
Band Formation: Applies a smoothing factor to the standard deviation of the adaptive RSI, generating dynamic upper and lower bands that adjust to market volatility.
Signal Line Generation: Computes an EMA of the adaptive RSI to act as a signal line, providing additional confirmation for potential entries or exits.
Visualization: Plots the adaptive RSI as color-coded columns, with colors indicating bullish or bearish momentum. The dynamic bands are filled to visually represent overbought and oversold zones.
How to Use
Identify Momentum Shifts: Observe crossovers between the adaptive RSI and the signal line to detect potential changes in trend direction.
Spot Overbought/Oversold Conditions: Monitor when the adaptive RSI approaches or breaches the dynamic bands, signaling possible market extremes.
Customize Visuals: Select from predefined color palettes or define custom colors to align the indicator's appearance with personal preferences or chart themes.
Customization Options
RSI and EMA Lengths: Adjust the lengths of the RSI, fast EMA, slow EMA, and signal EMA to fine-tune the indicator's sensitivity.
Band Settings: Modify the band length, multiplier, and smoothing factor to control the responsiveness and width of the dynamic bands.
Color Schemes: Choose from predefined color modes or enable custom color settings to personalize the indicator's appearance.
⚠️ DISCLAIMER ⚠️: This indicator alone is not reliable and should be combined with other indicator(s) for a stronger signal.
NY Open Market Condition Analyzer – TTR & RINY Open Market Condition Analyzer – TTR & RI
Built for MNQ/NQ futures scalpers, this indicator filters out weak sessions and highlights when conditions at the **New York Open (6:30–8:30AM PST)** align with high-probability setups.
📊 Core Strategy Filters
TTR = Total Trading Range (2:00–6:30AM PST premarket movement)
RI = Reactive Impulse (first 5-minute candle size)
VWAP Clearance = directional clarity
🎯 Primary Objective
This tool helps you:
Skip indecisive sessions (often Mondays/Fridays)
Trade only when structural volatility and momentum support your scalping edge
Save mental capital by confirming setup quality *before* taking trades
✅ Features
🧠 Smart Session Filter
Automatically scans for 3 key signals:
- Premarket Range ≥ customizable threshold (default: 15 points)
- Opening Candle Impulse ≥ customizable threshold (default: 10 points)
- Price Distance from VWAP ≥ customizable threshold (default: 5 points)
🎨 Visual Feedback
Background Color
- 🟩 Green = Strong Session (GOOD SETUP)
- 🟥 Red = Weak Structure (SKIP)
Labels & Shapes** at 6:30AM PST
📋 Dashboard Panel (6:30AM PST)
Displays key live metrics:
Premarket Range
First 5-minute Candle Body Size
VWAP Distance
Overall Setup Signal (✅ or ⚠️)
🔔 Real-Time Alert System
Get notified right at the NY open if a “GOOD SETUP” is detected.
🛠️ Configurable Settings
🔧 Minimum Premarket Range
🔧 Minimum Candle Body Size
🔧 Minimum VWAP Distance
🎨 Custom Colors for:
- Session Quality
- Dashboard
- VWAP / Range Lines
🔔 How to Add the Alert
Load this script on your MNQ chart.
Click the **"Alerts" tab** (🔔 icon on the right sidebar).
Click **"+ Create Alert"**.
For **Condition**, select:
- `NY Open Market Condition Analyzer – TTR & RI` → `Good Setup Alert`
Set **Alert Action** (app push, email, webhook, etc.)
Set **"Only Once Per Bar"** to ensure you’re only notified once at 6:30AM PST.
🧪 Best For
NQ/MNQ scalpers using 1R setups (10–30pt targets)
Traders who want to avoid Mondays/Fridays unless structure proves otherwise
Structure-first discretionary or semi-systematic traders
🧠 Pro Tip
Pair this with:
Session VWAP
Pre-market S/R zones
Opening Range Breakout strategies
This tool ensures you’re only hunting on the right terrain.
Yosef26 - Hierarchical Decision Model//@version=5
indicator("Yosef26 - Hierarchical Decision Model", overlay=true)
// === Moving Averages ===
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
// === Candle Components ===
priceRange = high - low
body = math.abs(close - open)
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
volSMA = ta.sma(volume, 20)
// === Volume Momentum ===
volUp3 = (volume > volume ) and (volume > volume )
// === Candlestick Pattern Detection ===
bullishEngulfing = (close < open ) and (close > open) and (close > open ) and (open < close )
bearishEngulfing = (close > open ) and (close < open) and (close < open ) and (open > close )
doji = body < (priceRange * 0.1)
hammer = (lowerWick > body * 2) and (upperWick < body) and (close > open)
shootingStar = (upperWick > body * 2) and (lowerWick < body) and (close < open)
// === Multi-Timeframe Trend Detection ===
monthlyTrendUp = request.security(syminfo.tickerid, "M", close > ta.sma(close, 50))
weeklyTrendUp = request.security(syminfo.tickerid, "W", close > ta.sma(close, 50))
dailyTrendUp = close > ta.sma(close, 50)
// === Support/Resistance Zones ===
atSupport = low <= ta.lowest(low, 5)
atResistance = high >= ta.highest(high, 5)
// === Breakout Detection ===
breakoutAboveResistance = close > ta.highest(high , 5) and volume > volSMA and close > ema50
// === Confirming Candles ===
twoGreenCandles = (close > open) and (close > open )
twoRedCandles = (close < open) and (close < open )
// === Overextension Filter ===
overbought = close > ema20 * 1.05
// === Entry/Exit Conditions Tracking ===
var int lastEntryBar = na
var int lastExitBar = na
minBarsBetweenEntries = 10
canEnter = na(lastEntryBar) or (bar_index - lastEntryBar >= minBarsBetweenEntries and bar_index - lastExitBar >= minBarsBetweenEntries)
// === Continuation Filter (3 green candles with volume rise) ===
bullContinuation = (close > open) and (close > open ) and (close > open ) and (volume > volume ) and (volume > volume )
// === Entry Price Tracking ===
var float entryPrice = na
// === Weakness After Uptrend for Exit ===
recentGreenTrend = (close > open ) and (close > open ) and (close > open )
reversalCandle = shootingStar or bearishEngulfing or doji
reversalVolumeDrop = (volume < volume ) and (volume < volume )
signalWeakness = recentGreenTrend and reversalCandle and reversalVolumeDrop
// === Scoring System ===
entryScore = 0
entryScore := entryScore + (atSupport ? 3 : 0)
entryScore := entryScore + (bullishEngulfing ? 3 : 0)
entryScore := entryScore + (hammer ? 2 : 0)
entryScore := entryScore + (volUp3 ? 2 : 0)
entryScore := entryScore + ((volume > volSMA) ? 2 : 0)
entryScore := entryScore + ((close > ema20 or close > ema50) ? 1 : 0)
entryScore := entryScore + ((close > close ) ? 1 : 0)
entryScore := entryScore + (breakoutAboveResistance ? 2 : 0)
entryScore := entryScore + (twoGreenCandles ? 1 : 0)
entryScore := entryScore - (overbought ? 2 : 0)
entryScore := entryScore + ((monthlyTrendUp and weeklyTrendUp and dailyTrendUp) ? 2 : 0)
exitScore = 0
exitScore := exitScore + (atResistance ? 3 : 0)
exitScore := exitScore + (bearishEngulfing ? 3 : 0)
exitScore := exitScore + (shootingStar ? 2 : 0)
exitScore := exitScore + (doji ? 1 : 0)
exitScore := exitScore + ((volume < volSMA * 1.1) ? 1 : 0)
exitScore := exitScore + ((close < ema50) ? 1 : 0)
exitScore := exitScore + ((close < close ) ? 1 : 0)
exitScore := exitScore + (twoRedCandles ? 1 : 0)
exitScore := exitScore + ((not dailyTrendUp and not weeklyTrendUp) ? 2 : 0)
exitScore := exitScore + (signalWeakness ? 2 : 0)
// === Profit Target Exit Condition ===
profitTargetHit = not na(entryPrice) and close >= entryPrice * 1.09
profitZoneSignal = (atResistance or shootingStar or bearishEngulfing) and volume > volSMA
isNewHigh = high >= ta.highest(high, 50)
exitAtProfitTarget = profitTargetHit and profitZoneSignal and not isNewHigh
// === Final Decision Thresholds ===
entryCond1 = entryScore >= 8
entryCond2 = entryScore >= 6 and breakoutAboveResistance and volume > volSMA and close > ema50
entryCond3 = monthlyTrendUp and weeklyTrendUp and (close > ema50 or volume > volSMA or twoGreenCandles)
entryCond = (entryCond1 or entryCond2 or entryCond3) and canEnter
exitCondRaw = (exitScore >= 7)
exitCond = (exitCondRaw and not bullContinuation) or exitAtProfitTarget
// === Position Tracking ===
var bool inPosition = false
var int barsInPosition = 0
var label entryLabel = na
var label exitLabel = na
if entryCond and not inPosition
inPosition := true
barsInPosition := 0
lastEntryBar := bar_index
entryPrice := close
entryLabel := label.new(bar_index, close, "Entry @" + str.tostring(close), style=label.style_label_up, color=color.green, textcolor=color.white)
if inPosition
barsInPosition += 1
if exitCond and inPosition
inPosition := false
barsInPosition := 0
lastExitBar := bar_index
exitLabel := label.new(bar_index, close, "Exit @" + str.tostring(close), style=label.style_label_down, color=color.red, textcolor=color.white)
// === Alerts ===
alertcondition(entryCond, title="Entry Alert", message="Yosef26: Entry Signal (Hierarchical Model)")
alertcondition(exitCond, title="Exit Alert", message="Yosef26: Exit Signal (Hierarchical Model)")
Key Levels SpacemanBTC IDWMThe Key Level Indicator for TradingView is a powerful tool designed to automatically identify and display critical price levels where significant market reactions have historically occurred. These levels include previous highs and lows, session opens, closes, midpoints, and custom support/resistance zones based on user-defined criteria. The indicator helps traders pinpoint areas of potential liquidity, breakout zones, and high-probability reversal or continuation setups. With customizable styling, real-time updates, and multi-timeframe support, this indicator is ideal for scalpers, day traders, and swing traders looking to enhance their technical analysis with clearly marked, actionable price levels.
ADX Forecast [Titans_Invest]ADX Forecast
This isn’t just another ADX indicator — it’s the most powerful and complete ADX tool ever created, and without question the best ADX indicator on TradingView, possibly even the best in the world.
ADX Forecast represents a revolutionary leap in trend strength analysis, blending the timeless principles of the classic ADX with cutting-edge predictive modeling. For the first time on TradingView, you can anticipate future ADX movements using scientifically validated linear regression — a true game-changer for traders looking to stay ahead of trend shifts.
1. Real-Time ADX Forecasting
By applying least squares linear regression, ADX Forecast projects the future trajectory of the ADX with exceptional accuracy. This forecasting power enables traders to anticipate changes in trend strength before they fully unfold — a vital edge in fast-moving markets.
2. Unmatched Customization & Precision
With 26 long entry conditions and 26 short entry conditions, this indicator accounts for every possible ADX scenario. Every parameter is fully customizable, making it adaptable to any trading strategy — from scalping to swing trading to long-term investing.
3. Transparency & Advanced Visualization
Visualize internal ADX dynamics in real time with interactive tags, smart flags, and fully adjustable threshold levels. Every signal is transparent, logic-based, and engineered to fit seamlessly into professional-grade trading systems.
4. Scientific Foundation, Elite Execution
Grounded in statistical precision and machine learning principles, ADX Forecast upgrades the classic ADX from a reactive lagging tool into a forward-looking trend prediction engine. This isn’t just an indicator — it’s a scientific evolution in trend analysis.
⯁ SCIENTIFIC BASIS LINEAR REGRESSION
Linear Regression is a fundamental method of statistics and machine learning, used to model the relationship between a dependent variable y and one or more independent variables 𝑥.
The general formula for a simple linear regression is given by:
y = β₀ + β₁x + ε
β₁ = Σ((xᵢ - x̄)(yᵢ - ȳ)) / Σ((xᵢ - x̄)²)
β₀ = ȳ - β₁x̄
Where:
y = is the predicted variable (e.g. future value of RSI)
x = is the explanatory variable (e.g. time or bar index)
β0 = is the intercept (value of 𝑦 when 𝑥 = 0)
𝛽1 = is the slope of the line (rate of change)
ε = is the random error term
The goal is to estimate the coefficients 𝛽0 and 𝛽1 so as to minimize the sum of the squared errors — the so-called Random Error Method Least Squares.
⯁ LEAST SQUARES ESTIMATION
To minimize the error between predicted and observed values, we use the following formulas:
β₁ = /
β₀ = ȳ - β₁x̄
Where:
∑ = sum
x̄ = mean of x
ȳ = mean of y
x_i, y_i = individual values of the variables.
Where:
x_i and y_i are the means of the independent and dependent variables, respectively.
i ranges from 1 to n, the number of observations.
These equations guarantee the best linear unbiased estimator, according to the Gauss-Markov theorem, assuming homoscedasticity and linearity.
⯁ LINEAR REGRESSION IN MACHINE LEARNING
Linear regression is one of the cornerstones of supervised learning. Its simplicity and ability to generate accurate quantitative predictions make it essential in AI systems, predictive algorithms, time series analysis, and automated trading strategies.
By applying this model to the ADX, you are literally putting artificial intelligence at the heart of a classic indicator, bringing a new dimension to technical analysis.
⯁ VISUAL INTERPRETATION
Imagine an ADX time series like this:
Time →
ADX →
The regression line will smooth these values and extend them n periods into the future, creating a predicted trajectory based on the historical moment. This line becomes the predicted ADX, which can be crossed with the actual ADX to generate more intelligent signals.
⯁ SUMMARY OF SCIENTIFIC CONCEPTS USED
Linear Regression Models the relationship between variables using a straight line.
Least Squares Minimizes the sum of squared errors between prediction and reality.
Time Series Forecasting Estimates future values based on historical data.
Supervised Learning Trains models to predict outputs from known inputs.
Statistical Smoothing Reduces noise and reveals underlying trends.
⯁ WHY THIS INDICATOR IS REVOLUTIONARY
Scientifically-based: Based on statistical theory and mathematical inference.
Unprecedented: First public ADX with least squares predictive modeling.
Intelligent: Built with machine learning logic.
Practical: Generates forward-thinking signals.
Customizable: Flexible for any trading strategy.
⯁ CONCLUSION
By combining ADX with linear regression, this indicator allows a trader to predict market momentum, not just follow it.
ADX Forecast is not just an indicator — it is a scientific breakthrough in technical analysis technology.
⯁ Example of simple linear regression, which has one independent variable:
⯁ In linear regression, observations ( red ) are considered to be the result of random deviations ( green ) from an underlying relationship ( blue ) between a dependent variable ( y ) and an independent variable ( x ).
⯁ Visualizing heteroscedasticity in a scatterplot against 100 random fitted values using Matlab:
⯁ The data sets in the Anscombe's quartet are designed to have approximately the same linear regression line (as well as nearly identical means, standard deviations, and correlations) but are graphically very different. This illustrates the pitfalls of relying solely on a fitted model to understand the relationship between variables.
⯁ The result of fitting a set of data points with a quadratic function:
_______________________________________________________________________
🥇 This is the world’s first ADX indicator with: Linear Regression for Forecasting 🥇_______________________________________________________________________
_________________________________________________
🔮 Linear Regression: PineScript Technical Parameters 🔮
_________________________________________________
Forecast Types:
• Flat: Assumes prices will remain the same.
• Linreg: Makes a 'Linear Regression' forecast for n periods.
Technical Information:
ta.linreg (built-in function)
Linear regression curve. A line that best fits the specified prices over a user-defined time period. It is calculated using the least squares method. The result of this function is calculated using the formula: linreg = intercept + slope * (length - 1 - offset), where intercept and slope are the values calculated using the least squares method on the source series.
Syntax:
• Function: ta.linreg()
Parameters:
• source: Source price series.
• length: Number of bars (period).
• offset: Offset.
• return: Linear regression curve.
This function has been cleverly applied to the RSI, making it capable of projecting future values based on past statistical trends.
______________________________________________________
______________________________________________________
⯁ WHAT IS THE ADX❓
The Average Directional Index (ADX) is a technical analysis indicator developed by J. Welles Wilder. It measures the strength of a trend in a market, regardless of whether the trend is up or down.
The ADX is an integral part of the Directional Movement System, which also includes the Plus Directional Indicator (+DI) and the Minus Directional Indicator (-DI). By combining these components, the ADX provides a comprehensive view of market trend strength.
⯁ HOW TO USE THE ADX❓
The ADX is calculated based on the moving average of the price range expansion over a specified period (usually 14 periods). It is plotted on a scale from 0 to 100 and has three main zones:
• Strong Trend: When the ADX is above 25, indicating a strong trend.
• Weak Trend: When the ADX is below 20, indicating a weak or non-existent trend.
• Neutral Zone: Between 20 and 25, where the trend strength is unclear.
______________________________________________________
______________________________________________________
⯁ ENTRY CONDITIONS
The conditions below are fully flexible and allow for complete customization of the signal.
______________________________________________________
______________________________________________________
🔹 CONDITIONS TO BUY 📈
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔹 +DI > -DI
🔹 +DI < -DI
🔹 +DI > ADX
🔹 +DI < ADX
🔹 -DI > ADX
🔹 -DI < ADX
🔹 ADX > Threshold
🔹 ADX < Threshold
🔹 +DI > Threshold
🔹 +DI < Threshold
🔹 -DI > Threshold
🔹 -DI < Threshold
🔹 +DI (Crossover) -DI
🔹 +DI (Crossunder) -DI
🔹 +DI (Crossover) ADX
🔹 +DI (Crossunder) ADX
🔹 +DI (Crossover) Threshold
🔹 +DI (Crossunder) Threshold
🔹 -DI (Crossover) ADX
🔹 -DI (Crossunder) ADX
🔹 -DI (Crossover) Threshold
🔹 -DI (Crossunder) Threshold
🔮 +DI (Crossover) -DI Forecast
🔮 +DI (Crossunder) -DI Forecast
🔮 ADX (Crossover) +DI Forecast
🔮 ADX (Crossunder) +DI Forecast
______________________________________________________
______________________________________________________
🔸 CONDITIONS TO SELL 📉
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔸 +DI > -DI
🔸 +DI < -DI
🔸 +DI > ADX
🔸 +DI < ADX
🔸 -DI > ADX
🔸 -DI < ADX
🔸 ADX > Threshold
🔸 ADX < Threshold
🔸 +DI > Threshold
🔸 +DI < Threshold
🔸 -DI > Threshold
🔸 -DI < Threshold
🔸 +DI (Crossover) -DI
🔸 +DI (Crossunder) -DI
🔸 +DI (Crossover) ADX
🔸 +DI (Crossunder) ADX
🔸 +DI (Crossover) Threshold
🔸 +DI (Crossunder) Threshold
🔸 -DI (Crossover) ADX
🔸 -DI (Crossunder) ADX
🔸 -DI (Crossover) Threshold
🔸 -DI (Crossunder) Threshold
🔮 +DI (Crossover) -DI Forecast
🔮 +DI (Crossunder) -DI Forecast
🔮 ADX (Crossover) +DI Forecast
🔮 ADX (Crossunder) +DI Forecast
______________________________________________________
______________________________________________________
🤖 AUTOMATION 🤖
• You can automate the BUY and SELL signals of this indicator.
______________________________________________________
______________________________________________________
⯁ UNIQUE FEATURES
______________________________________________________
Linear Regression: (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
Linear Regression (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Table of Conditions: BUY/SELL
Conditions Label: BUY/SELL
Plot Labels in the graph above: BUY/SELL
Automate & Monitor Signals/Alerts: BUY/SELL
______________________________________________________
📜 SCRIPT : ADX Forecast
🎴 Art by : @Titans_Invest & @DiFlip
👨💻 Dev by : @Titans_Invest & @DiFlip
🎑 Titans Invest — The Wizards Without Gloves 🧤
✨ Enjoy!
______________________________________________________
o Mission 🗺
• Inspire Traders to manifest Magic in the Market.
o Vision 𐓏
• To elevate collective Energy 𐓷𐓏
MomentumBreak AI SwiftEdgeMomentumbreak AI SwiftEdge
Overview
This indicator combines two powerful concepts: Pivot Trendlines by HoanGhetti and the Squeeze Momentum Oscillator by AlgoAlpha. The goal of this mashup is to provide traders with a tool that identifies key trendline breakouts while simultaneously gauging market momentum through a dynamic gradient overlay. By integrating these two elements, the indicator offers a unique perspective on price action, helping traders spot high-probability breakout opportunities that align with momentum shifts.
How It Works
Pivot Trendlines:
The indicator uses HoanGhetti's Pivot Trendlines to identify pivot highs and lows based on user-defined settings (Pivot Length and Pivot Type).
Trendlines are drawn between these pivots, and breakouts are detected when the price crosses above (bullish) or below (bearish) the trendline.
Breakouts are visually highlighted with gradient boxes and an "AI: BREAK ⚡" label for clarity.
Squeeze Momentum Oscillator:
The Squeeze Momentum Oscillator calculates market momentum using a combination of volatility and price movement.
A dynamic midline (price_mid) is plotted, with its color indicating squeeze conditions (yellow for hypersqueeze, orange for normal squeeze, gray otherwise).
A gradient overlay is added above or below the midline to reflect momentum:
Green gradient for bullish momentum (vf > 0), placed below candles in an uptrend (close > price_mid) or above in a downtrend (close < price_mid).
Red gradient for bearish momentum (vf < 0), placed above candles in an uptrend or below in a downtrend.
The gradient's intensity increases as the price moves further from the midline, visually emphasizing momentum strength.
Breakout Confirmation:
Breakout signals are only generated when the momentum aligns with the breakout direction:
Bullish breakouts require bullish momentum (vf > 0).
Bearish breakouts require bearish momentum (vf < 0).
This alignment ensures that breakouts are more reliable and reduces false signals.
Default Settings
Pivot Length: 20 (determines the lookback period for identifying pivot points)
Pivot Type: Normal (can be set to "Fast" for more frequent pivots)
Repainting: True (trendlines may repaint as new pivots form; can be disabled)
Target Levels: False (optional horizontal levels at pivot points; can be enabled)
Extend: None (trendline extension; options: none, right, left, both)
Trendline Style: Dotted (options: dotted, dashed, solid)
Underlying Momentum Oscillator Length: 10
Swing Momentum Oscillator Length: 20
Squeeze Calculation Period: 14
Squeeze Smoothing Length: 7
Squeeze Detection Length: 14
Hyper Squeeze Detection Length: 5
Usage
This indicator is ideal for traders who want to combine trendline breakouts with momentum analysis:
Trendline Breakouts: Look for gradient boxes and "AI: BREAK ⚡" labels to identify confirmed breakouts. Bullish breakouts are marked with green boxes, and bearish breakouts with red boxes.
Momentum Confirmation: The gradient overlay (green for bullish, red for bearish) helps confirm the strength of the trend. Stronger gradients (less transparent) indicate stronger momentum.
Midline Crosses: Small triangles below (bullish) or above (bearish) candles indicate when the price crosses the dynamic midline, providing additional entry/exit signals.
Why This Combination?
The integration of Pivot Trendlines and Squeeze Momentum Oscillator creates a synergy that enhances trade decision-making:
Pivot Trendlines identify key structural levels in the market, making breakouts significant events.
The Squeeze Momentum Oscillator adds a momentum filter, ensuring that breakouts are supported by underlying market strength.
Together, they provide a more holistic view of price action, filtering out low-probability breakouts and highlighting opportunities where trendline breaks align with strong momentum.
Notes
This indicator does not use request.security() or barmerge.lookahead_on, so there is no risk of lookahead bias.
The script is designed to provide clear visual cues without making unrealistic claims about performance. It is intended as a tool for analysis, not a guaranteed trading system.
High_Low levelsThis indicator plots the Previous Day and Premarket High and Low Levels. Can be configured to change colors and line style.
NuEdge EMA Retest StrategyThis strategy is designed for the 2-minute chart and performs best on highly liquid ETFs like SPY, QQQ, and IWM.
It combines:
PDH/PDL breaks (Previous Day High/Low)
13/48/200 EMA trend filtering
Pullback-to-EMA entries
R:R projections and dynamic visual coaching
Time-based filters (default: 9:30 AM to 4:00 PM EST)
Optional day filters (e.g., exclude Mondays or Fridays)
⚠️ Built for momentum conditions — not ideal during chop, premarket, or low-volume sessions.
📈 Optimized for SPY, QQQ, IWM, and also performs well on:
TSLA
AAPL
AMD
META
(All using 2-minute timeframe)
Toggles available for:
Entry/TP markers
R:R visualization
Session restrictions