MACD Enhanced with FiltersProfessional MACD indicator with buy/sell signals and real-time alerts. Features: ✅ MACD crossover signals with triangles ✅ Green buy triangles (below bars) ✅ Red sell triangles (above bars) ✅ Real-time browser/email/Slack alerts ✅ Signal strength analysis ✅ Customizable parameters Perfect for active traders managing multiple accounts. Supports Webull, Interactive Brokers, and other platforms.
Indicadores e estratégias
EMA 50/200 Signals with Price-Arrows✔ Plots EMA 50 and EMA 200
✔ Displays arrows when a crossover occurs (signals)
✔ Creates alerts for TradingView
✔ Works for crypto, forex, and stocks
SPY Sniper Levels [Day Trader]Here is a professional, concise description you can copy and paste directly into the TradingView publication description box. I’ve written it to appeal to other serious price action traders.
***
**Title:** SPY Sniper Levels
**Description:**
Designed for high-speed day trading on **SPY** and major indices. This lightweight script eliminates the need for manual morning prep by automatically plotting the four critical liquidity zones that institutional algorithms target every session.
**Features:**
* **PDH / PDL (Solid Lines):** Previous Day High & Low. These are the major "walls" for the session.
* **PMH / PML (Dotted Circles):** Pre-Market High & Low. These levels automatically track during the pre-market session (04:00–09:30 EST) and **lock** the moment the market opens. This creates a static reference for Opening Range Breakouts (ORB).
**How to Trade This Setup:**
1. **The Breakout:** Look for high-volume candles closing outside the PMH/PML in the first 30 minutes.
2. **The Fade:** Watch for "traps" (long wicks) at the PDH/PDL to fade the price back toward VWAP.
3. **The Trend:** If price holds above the PDH, look for a trend day. If it fails to break the PML, look for a chop day.
**Best Settings:**
* Optimized for **1m, 2m, and 5m** timeframes.
* Works best on Dark Mode charts.
***
googleusercontent.com
Thirdeyechart Gold – MasterclassThe XAU Masterclass Trend Table is the ultimate TradingView indicator for gold traders who demand precision, speed, and clarity. This special edition builds on all previous versions by enabling fast detection of strong and weak trends across multiple timeframes, making it a true masterclass tool for serious traders.
This indicator tracks gold across Daily (D), 1-Hour (H1), 4-Hour (H4), and Weekly (W) timeframes, providing a comprehensive view of both short-term and long-term market movements. The Total Average Calculation consolidates data from all timeframes, allowing traders to instantly see the overall trend strength of XAU. Positive movements are highlighted in blue, negative movements in red, while the Total Average gives a quick read of market momentum.
Version Masterclass features a solid, boxed layout, keeping all information organized and visually clear on the chart. Traders can monitor XAU/USD, XAU/JPY, XAU/EUR, and other XAU-related pairs efficiently, making it easier to plan entries, exits, and position sizing. The design is optimized for speed, allowing users to detect trend shifts faster than ever before.
This indicator is coded personally using advanced custom formulas for maximum precision and performance. It is ideal for intraday, swing, and long-term gold traders who want a professional-grade tool to analyze XAU movements globally.
This script is purely informational and educational. It does not provide buy or sell signals and does not guarantee profits. Users must perform their own analysis and apply proper risk management before making trading decisions.
Disclaimer / Copyright:
© 2025 Thirdeyechart. All rights reserved. Redistribution, copying, or commercial use of this code without permission is strictly prohibited. The author is not responsible for any trading losses or financial decisions made based on this script.
AJFFRSI+QQEROC Uses Jurik RSI for smooth, responsive momentum measurement
Incorporates QQE features for trend strength and dynamic trailing stop signals
Designed for clearer, more reliable overbought/oversold and reversal signals on TradingView
Suitable for intraday, swing, and longer-term analysis
Not a financial advice. DYOR
RSI Divergence Indicator with closingRSI Divergence Indicator with Closing Line is an advanced momentum-analysis tool that combines Regular Divergence, Hidden Divergence, Multi-RSI comparison, Moving Averages, and a dynamic RSI Closing Line into one powerful oscillator panel.
This script is designed for traders who want deeper insight into momentum strength, trend exhaustion, and reversal zones by analyzing both price action and RSI structure.
sumeth.com EntryExit ProA professional multi-filter trading tool combining price action, pattern detection, dynamic trend filters, RSI/MACD confirmations, and breakout logic. Designed for precise entry & exit in any market.
Price Action - Trend BarFrom Al Brooks' "Trading Price Action Trends," this indicator colors strong trend bars. Bull trend bars (green body ≥50%, close ≥60% up range, larger than 1.5x average) highlight buyer control, while bear trend bars (red body ≥50%, close ≤40% down range) show seller dominance. Use to identify trend resumption or climaxes. Philosophy: Trends persist until tested—focus on high-probability entries after pullbacks, avoiding barbwire noise.
ICT FVG & Swing Detector Basic by Trader Riaz//@version=6
indicator("ICT FVG & Swing Detector Basic by Trader Riaz", overlay=true)
// Display toggles for Bullish FVGs
show_bull_fvg = input.bool(true, "Show Bullish FVGs?")
// Input settings for Bullish FVGs
fvg_bull_count = input.int(1, "Number of Bullish FVGs to show", minval=1)
// Color settings for Bullish FVGs
bullish_fvg_color = input.color(color.green, "Bullish FVG Color")
// Bullish FVG Extend Options
bull_fvg_extendGroup = "Bullish FVG Extend Options"
bull_fvg_extendOption = input.string("Default", "Bullish FVG Extend Option", options= , group=bull_fvg_extendGroup)
bull_fvg_extendCandles = input.int(8, "Bullish FVG Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=bull_fvg_extendGroup)
// Display toggles for Bearish FVGs
show_bear_fvg = input.bool(true, "Show Bearish FVGs?")
// Input settings for Bearish FVGs
fvg_bear_count = input.int(1, "Number of Bearish FVGs to show", minval=1)
// Color settings for Bearish FVGs
bearish_fvg_color = input.color(color.red, "Bearish FVG Color")
// Bearish FVG Extend Options
bear_fvg_extendGroup = "Bearish FVG Extend Options"
bear_fvg_extendOption = input.string("Default", "Bearish FVG Extend Option", options= , group=bear_fvg_extendGroup)
bear_fvg_extendCandles = input.int(8, "Bearish FVG Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=bear_fvg_extendGroup)
// Display toggles for Swing Highs
show_swing_high = input.bool(true, "Show Swing Highs?")
// Input settings for Swing Highs
swing_high_count = input.int(2, "Number of Swing Highs to show", minval=1)
// Color settings for Swing Highs
swing_high_color = input.color(color.green, "Swing High Line & Label Color")
// Swing High Extend Options
swing_high_extendGroup = "Swing High Extend Options"
swing_high_extendOption = input.string("Default", "Swing High Extend Option", options= , group=swing_high_extendGroup)
swing_high_extendCandles = input.int(8, "Swing High Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=swing_high_extendGroup)
// Display toggles for Swing Lows
show_swing_low = input.bool(true, "Show Swing Lows?")
// Input settings for Swing Lows
swing_low_count = input.int(2, "Number of Swing Lows to show", minval=1)
// Color settings for Swing Lows
swing_low_color = input.color(color.red, "Swing Low Line & Label Color")
// Swing Low Extend Options
swing_low_extendGroup = "Swing Low Extend Options"
swing_low_extendOption = input.string("Default", "Swing Low Extend Option", options= , group=swing_low_extendGroup)
swing_low_extendCandles = input.int(8, "Swing Low Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=swing_low_extendGroup)
// Target Settings
showNextTarget = input.bool(true, "Show Next Target")
nextTargetHighColor = input.color(color.red, "Next Target High Color")
nextTargetLowColor = input.color(color.red, "Next Target Low Color")
// === Time Calculation ===
// Calculate one bar duration in milliseconds
barDuration = time - time
// Define reasonable extension period (4 bars into future)
extensionPeriod = barDuration * 4
// Arrays to store values with timestamps
var bull_fvg_data = array.new(0)
var bear_fvg_data = array.new(0)
var swing_high_data = array.new(0)
var swing_low_data = array.new(0)
var bull_fvg_labels = array.new(0)
var bear_fvg_labels = array.new(0)
var swing_high_labels = array.new(0)
var swing_low_labels = array.new(0)
var bull_fvg_midlines = array.new(0)
var bear_fvg_midlines = array.new(0)
var bull_fvg_tops = array.new(0)
var bull_fvg_bottoms = array.new(0)
var bear_fvg_tops = array.new(0)
var bear_fvg_bottoms = array.new(0)
// Get the last bar index
last_bar = last_bar_index + 3
// Function to determine right boundary based on extend option
get_right_boundary(option, extend_candles, default_right) =>
if option == "None"
bar_index - 2
else if option == "Limited"
bar_index - 2 + extend_candles
else
default_right
// Bullish FVG Detection
if high < low and show_bull_fvg
right_bar = get_right_boundary(bull_fvg_extendOption, bull_fvg_extendCandles, last_bar)
new_box = box.new(left=bar_index-2,
top=low,
right=right_bar,
bottom=high ,
bgcolor=color.new(bullish_fvg_color, 90),
border_color=bullish_fvg_color)
bull_mid = (low + high ) / 2
new_midline = line.new(bar_index-2, bull_mid, right_bar, bull_mid,
color=color.new(bullish_fvg_color, 50),
style=line.style_dashed)
new_label = label.new(right_bar-1, bull_mid, "Bullish FVG",
color=color.new(bullish_fvg_color, 100),
textcolor=bullish_fvg_color,
style=label.style_none,
textalign=text.align_right,
size=size.small)
array.unshift(bull_fvg_data, new_box)
array.unshift(bull_fvg_midlines, new_midline)
array.unshift(bull_fvg_labels, new_label)
array.unshift(bull_fvg_tops, low)
array.unshift(bull_fvg_bottoms, high )
if array.size(bull_fvg_data) > fvg_bull_count
box.delete(array.pop(bull_fvg_data))
line.delete(array.pop(bull_fvg_midlines))
label.delete(array.pop(bull_fvg_labels))
array.pop(bull_fvg_tops)
array.pop(bull_fvg_bottoms)
// Bearish FVG Detection
if low > high and show_bear_fvg
right_bar = get_right_boundary(bear_fvg_extendOption, bear_fvg_extendCandles, last_bar)
new_box = box.new(left=bar_index-2,
top=low ,
right=right_bar,
bottom=high,
bgcolor=color.new(bearish_fvg_color, 90),
border_color=bearish_fvg_color)
bear_mid = (low + high) / 2
new_midline = line.new(bar_index-2, bear_mid, right_bar, bear_mid,
color=color.new(bearish_fvg_color, 50),
style=line.style_dashed)
new_label = label.new(right_bar-1, bear_mid, "Bearish FVG",
color=color.new(bearish_fvg_color, 100),
textcolor=bearish_fvg_color,
style=label.style_none,
textalign=text.align_right,
size=size.small)
array.unshift(bear_fvg_data, new_box)
array.unshift(bear_fvg_midlines, new_midline)
array.unshift(bear_fvg_labels, new_label)
array.unshift(bear_fvg_tops, low )
array.unshift(bear_fvg_bottoms, high)
if array.size(bear_fvg_data) > fvg_bear_count
box.delete(array.pop(bear_fvg_data))
line.delete(array.pop(bear_fvg_midlines))
label.delete(array.pop(bear_fvg_labels))
array.pop(bear_fvg_tops)
array.pop(bear_fvg_bottoms)
// Swing High Detection
is_swing_high = high < high and high > high
if is_swing_high and show_swing_high
right_bar = get_right_boundary(swing_high_extendOption, swing_high_extendCandles, last_bar + 3)
new_line = line.new(bar_index - 1, high , right_bar, high ,
color=swing_high_color)
new_label = label.new(right_bar, high , "Swing High",
color=color.new(color.white, 30),
style=label.style_label_left,
textcolor=swing_high_color,
size=size.tiny)
array.unshift(swing_high_data, new_line)
array.unshift(swing_high_labels, new_label)
if array.size(swing_high_data) > swing_high_count
line.delete(array.pop(swing_high_data))
label.delete(array.pop(swing_high_labels))
// Swing Low Detection
is_swing_low = low > low and low < low
if is_swing_low and show_swing_low
right_bar = get_right_boundary(swing_low_extendOption, swing_low_extendCandles, last_bar + 3)
new_line = line.new(bar_index -1, low , right_bar, low ,
color=swing_low_color)
new_label = label.new(right_bar, low , "Swing Low",
color=color.new(color.white, 30),
style=label.style_label_left,
textcolor=swing_low_color,
size=size.tiny)
array.unshift(swing_low_data, new_line)
array.unshift(swing_low_labels, new_label)
if array.size(swing_low_data) > swing_low_count
line.delete(array.pop(swing_low_data))
label.delete(array.pop(swing_low_labels))
// Clean up if toggles are turned off
if not show_bull_fvg and array.size(bull_fvg_data) > 0
for i = 0 to array.size(bull_fvg_data) - 1
box.delete(array.get(bull_fvg_data, i))
line.delete(array.get(bull_fvg_midlines, i))
label.delete(array.get(bull_fvg_labels, i))
array.clear(bull_fvg_data)
array.clear(bull_fvg_midlines)
array.clear(bull_fvg_labels)
array.clear(bull_fvg_tops)
array.clear(bull_fvg_bottoms)
if not show_bear_fvg and array.size(bear_fvg_data) > 0
for i = 0 to array.size(bear_fvg_data) - 1
box.delete(array.get(bear_fvg_data, i))
line.delete(array.get(bear_fvg_midlines, i))
label.delete(array.get(bear_fvg_labels, i))
array.clear(bear_fvg_data)
array.clear(bear_fvg_midlines)
array.clear(bear_fvg_labels)
array.clear(bear_fvg_tops)
array.clear(bear_fvg_bottoms)
// === Swing High/Low Detection ===
var float swingHighs = array.new()
var int swingHighTimes = array.new()
var float swingLows = array.new()
var int swingLowTimes = array.new()
var line swingHighLines = array.new()
var label swingHighLabels = array.new()
var line swingLowLines = array.new()
var label swingLowLabels = array.new()
isSwingHigh = high > high and high > high
isSwingLow = low < low and low < low
if isSwingHigh
array.unshift(swingHighs, high )
array.unshift(swingHighTimes, time )
if isSwingLow
array.unshift(swingLows, low )
array.unshift(swingLowTimes, time )
// === Next Target Detection ===
var line currentTargetLine = na
var label currentTargetLabel = na
if showNextTarget
if not na(currentTargetLine)
line.delete(currentTargetLine)
if not na(currentTargetLabel)
label.delete(currentTargetLabel)
priceRising = close > open
priceFalling = close < open
// Use slightly longer extension for targets
targetExtension = barDuration * 8
if priceRising and array.size(swingHighs) > 0
for i = 0 to array.size(swingHighs) - 1
target = array.get(swingHighs, i)
targetTime = array.get(swingHighTimes, i)
if target > close
currentTargetLine := line.new(
x1=targetTime, y1=target,
x2=time + targetExtension, y2=target,
color=nextTargetHighColor, width=2,
style=line.style_dashed,
xloc=xloc.bar_time)
currentTargetLabel := label.new(
x=time + targetExtension, y=target,
text="Potential Target", size=size.tiny,
style=label.style_label_left,
color=nextTargetHighColor,
textcolor=color.white,
xloc=xloc.bar_time)
break
else if priceFalling and array.size(swingLows) > 0
for i = 0 to array.size(swingLows) - 1
target = array.get(swingLows, i)
targetTime = array.get(swingLowTimes, i)
if target < close
currentTargetLine := line.new(
x1=targetTime, y1=target,
x2=time + targetExtension, y2=target,
color=nextTargetLowColor, width=2,
style=line.style_dashed,
xloc=xloc.bar_time)
currentTargetLabel := label.new(
x=time + targetExtension, y=target,
text="Potential Target", size=size.tiny,
style=label.style_label_left,
color=nextTargetLowColor,
textcolor=color.white,
xloc=xloc.bar_time)
break
Defended Price Levels (DPLs) — Melvin Dickover ConceptThis indicator identifies and draws horizontal “Defended Price Levels” (DPLs) exactly as originally described by Melvin E. Dickover in his trading methodology.
Dickover observed that when extreme relative volume and extreme “freedom of movement” (volume-to-price-movement ratio) occur on the same bar, especially on bars with large gaps or unusually large bodies, the closing price (or previous close) of that bar very often becomes a significant future support/resistance level that the market later “defends.”
This script automates the detection of those exact coincident spikes using two well-known public indicators:
Relative Volume (RVI)
• Original idea: Melvin Dickover
• Pine Script implementation used here: “Relative Volume Indicator (Freedom Of Movement)” by LazyBear
Link:
Freedom of Movement (FoM)
• Original idea and calculation: starbolt64
• Pine Script: “Freedom of Movement” by starbolt64
Link:
How this indicator works
Calculates the raw (possibly negative) LazyBear RVI and starbolt64’s exact FoM values
Normalizes and standardizes both over the user-defined lookback
Triggers only when both RVI and FoM exceed the chosen number of standard deviations on the same bar (true Dickover coincident-spike condition)
Applies Dickover’s original price-selection rules (uses current close on big gaps or 2× body expansion candles, otherwise previous close)
Draws a thin maroon horizontal ray only when the new level is sufficiently far from all previously drawn levels (default ≥0.8 %) and the maximum number of levels has not been reached
Keeps the chart clean by limiting the total number of significant defended levels shown
This is not a republish or minor variation of the two source scripts — it is a faithful automation of Melvin Dickover’s specific “defended price line” concept that he manually marked using the coincidence of these two indicators.
Full credit goes to:
Melvin E. Dickover — creator of the Defended Price Levels concept
LazyBear — author of the Relative Volume (RVI) implementation used here
starbolt64 — author of the Freedom of Movement indicator and calculation
Settings (all adjustable):
Standard Deviation Length (default 60)
Spike Threshold in standard deviations (default 2.0)
Minimum distance between levels in % (default 0.8 %)
Maximum significant levels to display (15–80)
Use these horizontal maroon lines as potential future support/resistance zones that the market has previously shown strong willingness to defend.
Thank you to Melvin, LazyBear, and starbolt64 for the original work that made this automation possible.
Inyerneck Sniper Engine v4.2 — FINAL WORKING 2025Aggressive momentum sniper for pennies. Fires on volume + EMA snaps. Use small size. Alerts ready.
Bitcoin Macro Fair Value [Structural]//@version=6
indicator("Bitcoin Macro Fair Value ", overlay=true)
// --- Model Coefficients (Derived from Python Analysis 2019-2025) ---
intercept = input.float(3.156434, "Intercept")
c_m2 = input.float(0.132827, "Real M2 Coef")
c_corp = input.float(0.742593, "Corp Spread Coef")
c_hy = input.float(-0.617968, "HY Spread Coef")
c_dxy = input.float(0.009772, "DXY Coef")
c_real30 = input.float(0.713311, "Real 30Y Coef")
c_be30 = input.float(-1.059273, "Breakeven 30Y Coef")
c_slope = input.float(0.402220, "Slope 10Y-2Y Coef")
// --- Data Fetching ---
m2 = request.security("FRED:M2SL", "M", close)
cpi = request.security("FRED:CPIAUCSL", "M", close)
real_m2 = m2 / cpi
corp = request.security("FRED:BAMLC0A0CM", "D", close)
hy = request.security("FRED:BAMLH0A0HYM2", "D", close)
dxy = request.security("TVC:DXY", "D", close)
real30 = request.security("FRED:DFII30", "D", close)
nom30 = request.security("FRED:DGS30", "D", close)
be30 = nom30 - real30
nom10 = request.security("FRED:DGS10", "D", close)
nom2 = request.security("FRED:DGS2", "D", close)
slope = nom10 - nom2
// --- Calculation ---
log_fv = intercept + (c_m2 * real_m2) + (c_corp * corp) + (c_hy * hy) + (c_dxy * dxy) + (c_real30 * real30) + (c_be30 * be30) + (c_slope * slope)
fair_value = math.exp(log_fv)
plot(fair_value, "Macro Fair Value", color=color.new(color.blue, 0), linewidth=2)
Sourav ORB-RSI-MA IndicatorEMA 200, Always Buy if graph is on above side.
RSI-EMA should crossover from bottom to top sharpy.
If both go on EMA 200 and ESI EMA LINE, avoid Trading.
RSI should be more than 30 or 35 to take BUY entry.
V.V for SELL side.
S&P 500 Sector Breadth — Fixed v6This indicator measures market breadth by tracking how many of the 11 S&P 500 sector ETFs are trading above their 200-day moving average. Here's how to use it:
What It Shows
The indicator plots a line that ranges from 0 to 11, representing the number of sectors in uptrends:
9-11 sectors above MA = Very strong market (green background)
8+ sectors = Strong bullish breadth - most sectors participating
6 sectors = Neutral - market is mixed
4 sectors = Weak market conditions
0-3 sectors = Very weak market (red background)
How to Interpret
Strong Market (8+ sectors):
Broad participation across sectors
Healthy bull market conditions
Lower risk environment
Good time for long positions
Weak Market (≤3 sectors):
Poor market internals
Most sectors in downtrends
Higher risk environment
Consider defensive positioning or cash
Divergences Matter:
If the S&P 500 makes new highs but breadth is declining (fewer sectors above MA), that's a bearish divergence warning
If the S&P 500 is weak but breadth is improving, that can signal a potential bottom
Settings You Can Adjust
Moving Average Length (default 200): Change to 50 or 100 for different trend definitions
Smooth Breadth Line (default 5): Smooths the indicator to reduce noise; set to 0 for raw data
Show Breadth Label: Toggle the current breadth reading on the chart
Alerts
The indicator includes built-in alerts:
When breadth crosses above 8 (strong participation)
When breadth crosses below 4 (deteriorating conditions)
This is a great confirmation tool to use alongside price action and other indicators!
EMA 5-13-21-34-55-89-144-233Fibo sayıları olan 5-13-21-34-55-89 -144-233 dan oluşan EMA'ları göstermek için hazırlanmıştır.
Flux-Tensor Singularity [FTS]Flux-Tensor Singularity - Multi-Factor Market Pressure Indicator
The Flux-Tensor Singularity (FTS) is an advanced multi-factor oscillator that combines volume analysis, momentum tracking, and volatility-weighted normalization to identify critical market inflection points. Unlike traditional single-factor indicators, FTS synthesizes price velocity, volume mass, and volatility context into a unified framework that adapts to changing market regimes.
This indicator identifies extreme market conditions (termed "singularities") where multiple confirming factors converge, then uses a sophisticated scoring system to determine directional bias. It is designed for traders seeking high-probability setups with built-in confluence requirements.
THEORETICAL FOUNDATION
The indicator is built on the premise that market time is not constant - different market conditions contain varying levels of information density. A 1-minute bar during a major news event contains far more actionable information than a 1-minute bar during overnight low-volume trading. Traditional indicators treat all bars equally; FTS does not.
The theoretical framework draws conceptual parallels to physics (purely as a mental model, not literal physics):
Volume as Mass: Large volume represents significant market participation and "weight" behind price moves. Just as massive objects have stronger gravitational effects, high-volume moves carry more significance.
Price Change as Velocity: The rate of price movement through price space represents momentum and directional force.
Volatility as Time Dilation: When volatility is high relative to its historical norm, the "information density" of each bar increases. The indicator weights these periods more heavily, similar to how time dilates near massive objects in physics.
This is a pedagogical metaphor to create a coherent mental model - the underlying mathematics are standard financial calculations combined in a novel way.
MATHEMATICAL FRAMEWORK
The indicator calculates a composite singularity value through four distinct steps:
Step 1: Raw Singularity Calculation
S_raw = (ΔP × V) × γ²
Where:
ΔP = Price Velocity = close - close
V = Volume Mass = log(volume + 1)
γ² = Time Dilation Factor = (ATR_local / ATR_global)²
Volume Transformation: Volume is log-transformed because raw volume can have extreme outliers (10x-100x normal). The logarithm compresses these spikes while preserving their significance. This is standard practice in volume analysis.
Volatility Weighting: The ratio of short-term ATR (5 periods) to long-term ATR (user-defined lookback) is squared to create a volatility amplification factor. When local volatility exceeds global volatility, this ratio increases, amplifying the raw singularity value. This makes the indicator regime-aware.
Step 2: Normalization
The raw singularity values are normalized to a 0-100 scale using a stochastic-style calculation:
S_normalized = ((S_raw - S_min) / (S_max - S_min)) × 100
Where S_min and S_max are the lowest and highest raw singularity values over the lookback period.
Step 3: Epsilon Compression
S_compressed = 50 + ((S_normalized - 50) / ε)
This is the critical innovation that makes the sensitivity control functional. By applying compression AFTER normalization, the epsilon parameter actually affects the final output:
ε < 1.0: Expands range (more signals)
ε = 1.0: No change (default)
ε > 1.0: Compresses toward 50 (fewer, higher-quality signals)
For example, with ε = 2.0, a normalized value of 90 becomes 70, making threshold breaches rarer and more significant.
Step 4: Smoothing
S_final = EMA(S_compressed, smoothing_period)
An exponential moving average removes high-frequency noise while preserving trend.
SIGNAL GENERATION LOGIC
When the tensor crosses above the upper threshold (default 90) or below the lower threshold (default 10), an extreme event is detected. However, the indicator does NOT immediately generate a buy or sell signal. Instead, it analyzes market context through a multi-factor scoring system:
Scoring Components:
Price Structure (+1 point): Current bar bullish/bearish
Momentum (+1 point): Price higher/lower than N bars ago
Trend Context (+2 points): Fast EMA above/below slow EMA (weighted heavier)
Acceleration (+1 point): Rate of change increasing/decreasing
Volume Multiplier (×1.5): If volume > average, multiply score
The highest score (bullish vs bearish) determines signal direction. This prevents the common indicator failure mode of "overbought can stay overbought" by requiring directional confirmation.
Signal Conditions:
A BUY signal requires:
Extreme event detection (tensor crosses threshold)
Bullish score > Bearish score
Price confirmation: Bullish candle (optional, user-controlled)
Volume confirmation: Volume > average (optional, user-controlled)
Momentum confirmation: Positive momentum (optional, user-controlled)
A SELL signal requires the inverse conditions.
INPUTS EXPLAINED - Core Parameters:
Global Horizon (Context): Default 20. Lookback period for normalization and volatility comparison. Higher values = smoother but less responsive. Lower values = more signals but potentially more noise.
Tensor Smoothing: Default 3. EMA period applied to final output. Removes "quantum foam" (high-frequency noise). Range 1-20.
Singularity Threshold: Default 90. Values above this (or below 100-threshold) trigger extreme event detection. Higher = rarer, stronger signals.
Signal Sensitivity (Epsilon): Default 1.0. Post-normalization compression factor. This is the key innovation - it actually works because it's applied AFTER normalization. Range 0.1-5.0.
Signal Interpreter Toggles:
Require Price Confirmation: Default ON. Only generates buy signals on bullish candles, sell signals on bearish candles. Reduces false signals but may delay entry.
Require Volume Confirmation: Default ON. Only signals when volume > average. Critical for stocks/crypto, less important for forex (unreliable volume data).
Use Momentum Filter: Default ON. Requires momentum agreement with signal direction. Prevents counter-trend signals.
Momentum Lookback: Default 5. Number of bars for momentum calculation. Shorter = more responsive, longer = trend-following bias.
Visual Controls:
Colors: Customizable colors for bullish flux, bearish flux, background, and event horizon.
Visual Transparency: Default 85. Master control for all visual elements (accretion disk, field lines, particles, etc.). Range 50-99. Signals and dashboard have separate controls.
Visibility Toggles: Individual on/off switches for:
Gravitational field lines (trend EMAs)
Field reversals (trend crossovers)
Accretion disk (background gradient)
Singularity diamonds (neutral extreme events)
Energy particles (volume bursts)
Event horizon flash (extreme event background)
Signal background flash
Signal Size: Tiny/Small/Normal triangle size
Signal Offsets: Separate controls for buy and sell signal vertical positioning (percentage of price)
Dashboard Settings:
Show Dashboard: Toggle on/off
Position: 9 placement options (all corners, centers, middles)
Text Size: Tiny/Small/Normal/Large
Background Transparency: 0-50, separate from visual transparency
VISUAL ELEMENTS EXPLAINED
1. Accretion Disk (Background Gradient):
A three-layer gradient background that intensifies as the tensor approaches extremes. The outer disk appears at any non-neutral reading, the inner disk activates above 70 or below 30, and the core layer appears above 85 or below 15. Color indicates direction (cyan = bullish, red = bearish). This provides instant visual feedback on market pressure intensity.
2. Gravitational Field Lines (EMAs):
Two trend-following EMAs (10 and 30 period) visualized as colored lines. These represent the "curvature" of market trend - when they diverge, trend is strong; when they converge, trend is weakening. Crossovers mark potential trend reversals.
3. Field Reversals (Circles):
Small circles appear when the fast EMA crosses the slow EMA, indicating a potential trend change. These are distinct from extreme events and appear at normal market structure shifts.
4. Singularity Diamonds:
Small diamond shapes appear when the tensor reaches extreme levels (>90 or <10) but doesn't meet the full signal criteria. These are "watch" events - extreme pressure exists but directional confirmation is lacking.
5. Energy Particles (Dots):
Tiny dots appear when volume exceeds 2× average, indicating significant participation. Color matches bar direction. These highlight genuine high-conviction moves versus low-volume drifts.
6. Event Horizon Flash:
A golden background flash appears the instant any extreme threshold is breached, before directional analysis. This alerts you to pay attention.
7. Signal Background Flash:
When a full buy/sell signal is confirmed, the background flashes cyan (buy) or red (sell). This is your primary alert that all conditions are met.
8. Signal Triangles:
The actual buy (▲) and sell (▼) markers. These only appear when ALL selected confirmation criteria are satisfied. Position is offset from bars to avoid overlap with other indicators.
DASHBOARD METRICS EXPLAINED
The dashboard displays real-time calculated values:
Event Density: Current tensor value (0-100). Above 90 or below 10 = critical. Icon changes: 🔥 (extreme high), ❄️ (extreme low), ○ (neutral).
Time Dilation (γ): Current volatility ratio squared. Values >2.0 indicate extreme volatility environments. >1.5 = elevated, >1.0 = above average. Icon: ⚡ (extreme), ⚠ (elevated), ○ (normal).
Mass (Vol): Log-transformed volume value. Compared to volume ratio (current/average). Icon: ● (>2× avg), ◐ (>1× avg), ○ (below avg).
Velocity (ΔP): Raw price change. Direction arrow indicates momentum direction. Shows the actual price delta value.
Bullish Flux: Current bullish context score. Displayed as both a bar chart (visual) and numeric value. Brighter when bullish score dominates.
Bearish Flux: Current bearish context score. Same visualization as bullish flux. These scores compete - the winner determines signal direction.
Field: Trend direction based on EMA relationship. "Repulsive" (uptrend), "Attractive" (downtrend), "Neutral" (ranging). Icon: ⬆⬇↔
State: Current market condition:
🚀 EJECTION: Buy signal active
💥 COLLAPSE: Sell signal active
⚠ CRITICAL: Extreme event, no directional confirmation
● STABLE: Normal market conditions
HOW TO USE THE INDICATOR
1. Wait for Extreme Events:
The indicator is designed to be selective. Don't trade every fluctuation - wait for tensor to reach >90 or <10. This alone is not a signal.
2. Check Context Scores:
Look at the Bullish Flux vs Bearish Flux in the dashboard. If scores are close (within 1-2 points), the market is indecisive - skip the trade.
3. Confirm with Signals:
Only act when a full triangle signal appears (▲ or ▼). This means ALL your selected confirmation criteria have been met.
4. Use with Price Structure:
Combine with support/resistance levels. A buy signal AT support is higher probability than a buy signal in the middle of nowhere.
5. Respect the Dashboard State:
When State shows "CRITICAL" (⚠), it means extreme pressure exists but direction is unclear. These are the most dangerous moments - wait for resolution.
6. Volume Matters:
Energy particles (dots) and the Mass metric tell you if institutions are participating. Signals without volume confirmation are lower probability.
MARKET AND TIMEFRAME RECOMMENDATIONS
Scalping (1m-5m):
Lookback: 10-14
Smoothing: 5-7
Threshold: 85
Epsilon: 0.5-0.7
Note: Expect more noise. Confirm with Level 2 data. Best on highly liquid instruments.
Intraday (15m-1h):
Lookback: 20-30 (default settings work well)
Smoothing: 3-5
Threshold: 90
Epsilon: 1.0
Note: Sweet spot for the indicator. High win rate on liquid stocks, forex majors, and crypto.
Swing Trading (4h-1D):
Lookback: 30-50
Smoothing: 3
Threshold: 90-95
Epsilon: 1.5-2.0
Note: Signals are rare but high conviction. Combine with higher timeframe trend analysis.
Position Trading (1D-1W):
Lookback: 50-100
Smoothing: 5-7
Threshold: 95
Epsilon: 2.0-3.0
Note: Extremely rare signals. Only trade the most extreme events. Expect massive moves.
Market-Specific Settings:
Forex (EUR/USD, GBP/USD, etc.):
Volume data is unreliable (spot forex has no centralized volume)
Disable "Require Volume Confirmation"
Focus on momentum and trend filters
News events create extreme singularities
Best on 15m-1h timeframes
Stocks (High-Volume Equities):
Volume confirmation is CRITICAL - keep it ON
Works excellently on AAPL, TSLA, SPY, etc.
Morning session (9:30-11:00 ET) shows highest event density
Earnings announcements create guaranteed extreme events
Best on 5m-1h for day trading, 1D for swing trading
Crypto (BTC, ETH, major alts):
Reduce threshold to 85 (crypto has constant high volatility)
Volume spikes are THE primary signal - keep volume confirmation ON
Works exceptionally well due to 24/7 trading and high volatility
Epsilon can be reduced to 0.7-0.8 for more signals
Best on 15m-4h timeframes
Commodities (Gold, Oil, etc.):
Gold responds to macro events (Fed announcements, geopolitical events)
Oil responds to supply shocks
Use daily timeframe minimum
Increase lookback to 50+
These are slow-moving markets - be patient
Indices (SPX, NDX, etc.):
Institutional volume matters - keep volume confirmation ON
Opening hour (9:30-10:30 ET) = highest singularity probability
Strong correlation with VIX - high VIX = more extreme events
Best on 15m-1h for day trading
WHAT MAKES THIS INDICATOR UNIQUE
1. Post-Normalization Sensitivity Control:
Unlike most oscillators where sensitivity controls don't actually work (they're applied before normalization, which then rescales everything), FTS applies epsilon compression AFTER normalization. This means the sensitivity parameter genuinely affects signal frequency. This is a novel implementation not found in standard oscillators.
2. Multi-Factor Confluence Requirement:
The indicator doesn't just detect "overbought" or "oversold" - it detects extreme conditions AND THEN analyzes context through five separate factors (price structure, momentum, trend, acceleration, volume). Most indicators are single-factor; FTS requires confluence.
3. Volatility-Weighted Normalization:
By squaring the ATR ratio (local/global), the indicator adapts to changing market regimes. A 1% move in a low-volatility environment is treated differently than a 1% move in a high-volatility environment. Traditional indicators treat all moves equally regardless of context.
4. Volume Integration at the Core:
Volume isn't an afterthought or optional filter - it's baked into the fundamental equation as "mass." The log transformation handles outliers elegantly while preserving significance. Most price-based indicators completely ignore volume.
5. Adaptive Scoring System:
Rather than fixed buy/sell rules ("RSI >70 = sell"), FTS uses competitive scoring where bullish and bearish evidence compete. The winner determines direction. This solves the classic problem of "overbought markets can stay overbought during strong uptrends."
6. Comprehensive Visual Feedback:
The multi-layer visualization system (accretion disk, field lines, particles, flashes) provides instant intuitive feedback on market state without requiring dashboard reading. You can see pressure building before extreme thresholds are hit.
7. Separate Extreme Detection and Signal Generation:
"Singularity diamonds" show extreme events that don't meet full criteria, while "signal triangles" only appear when ALL conditions are met. This distinction helps traders understand when pressure exists versus when it's actionable.
COMPARISON TO EXISTING INDICATORS
vs. RSI/Stochastic:
These normalize price relative to recent range. FTS normalizes (price change × log volume × volatility ratio) - a composite metric, not just price position.
vs. Chaikin Money Flow:
CMF combines price and volume but lacks volatility context and doesn't use adaptive normalization or post-normalization compression.
vs. Bollinger Bands + Volume:
Bollinger Bands show volatility but don't integrate volume or create a unified oscillator. They're separate components, not synthesized.
vs. MACD:
MACD is pure momentum. FTS combines momentum with volume weighting and volatility context, plus provides a normalized 0-100 scale.
The specific combination of log-volume weighting, squared volatility amplification, post-normalization epsilon compression, and multi-factor directional scoring is unique to this indicator.
LIMITATIONS AND PROPER DISCLOSURE
Not a Holy Grail:
No indicator is perfect. This tool identifies high-probability setups but cannot predict the future. Losses will occur. Use proper risk management.
Requires Confirmation:
Best used in conjunction with price action analysis, support/resistance levels, and higher timeframe trend. Don't trade signals blindly.
Volume Data Dependency:
On forex (spot) and some low-volume instruments, volume data is unreliable or tick-volume only. Disable volume confirmation in these cases.
Lagging Components:
The EMA smoothing and trend filters are inherently lagging. In extremely fast moves, signals may appear after the initial thrust.
Extreme Event Rarity:
With conservative settings (high threshold, high epsilon), signals can be rare. This is by design - quality over quantity. If you need more frequent signals, reduce threshold to 85 and epsilon to 0.7.
Not Financial Advice:
This indicator is an analytical tool. All trading decisions and their consequences are solely your responsibility. Past performance does not guarantee future results.
BEST PRACTICES
Don't trade every singularity - wait for context confirmation
Higher timeframes = higher reliability
Combine with support/resistance for entry refinement
Volume confirmation is CRITICAL for stocks/crypto (toggle off only for forex)
During major news events, singularities are inevitable but direction may be uncertain - use wider stops
When bullish and bearish flux scores are close, skip the trade
Test settings on your specific instrument/timeframe before live trading
Use the dashboard actively - it contains critical diagnostic information
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
45DS v6.0 FULL FINAL1-5-15-30-60 dakıkalık zaman dlimlerinde sculp indikatörü . Başarısına inanamayacalsınız..
Simple Moving Averages (5, 10, 20, 60, 120, 200SMA for different time frames.
Covers 5, 10, 20, 60, 120, 200 sma units
Multiple Cross Signals (Predictive)The indicator calculates and displays the Golden/Death Cross signals and the buy/sell signals from the following oscillators on the chart:
MACD (Moving Average Convergence Divergence)
RSI (Relative Strength Index)
Stochastic (Stochastic Oscillator)
In addition to the actual cross signals (shown with arrows), it incorporates two key features:
Cross Prediction (Predictive): Identifies when the oscillator lines (MACD, RSI, Stochastic) are very close and converging towards a cross, suggesting that a real signal might occur soon.
False Signal Detection: Attempts to identify when an initial buy/sell signal fails when the low/high of the signal candle is broken within a confirmation period.
P/E, EPS, Price & Price-to-Sales DisplayPrice to earning ratio,
EPS,
Price ANd
Price-to-Sales Display
ATR multiple from High & LowA simple numerical indicator measuring ATR multiple from recent 252 days high and low.
ATR multiples from high (and low) are used as a base in many systematic trading and trend following systems. As an example many systems buy after a 2.5–4 ATR multiple pullback in a strong stock if the regime allows it. This would then be paired with an entry tactic, for example buy as it recaptures the a pivot within the upper range, a MA or breaks out again after this mid term pullback/shakeout.
This indicator uses a function which captures the recent high and low no matter if we have 252 bars or not, which is not how standard high/low works in Tradingview. This means it also works with recent IPO:s.
I prefer to overlay the indicator in one of the lower panes, for example the volume pane and then right click on the indicator and select Pin to scale > No scale (fullscreen).
Prev Day/Week Breakout Signals (15m, 1st 15 min BO)- Dr VinayPrev Day/Week Breakout Signals (15m, First Candle Only)- For taking break out entries






















