Three Custom Moving AveragesAllows you to have 3 moving averages with any timeframe no matter what timeframe you are viewing.
Multitimeframe
HTF Manipulation Swing Points [Pogiest]General
HTF Manipulation Swing Points plots out relevant swings on the higher timeframes selected and draws a horizontal line anchored from the extremes of the swing point. These are important levels traders can look to base entries off of. This indicator is designed to track higher timeframe swing points on a lower timeframe. It will detect a sweep (Manipulation) or a breakout/breakdown (Failure to Manipulate) based on the higher timeframe candle close.
Usage
Depending on how the higher timeframe candles engage the relevant swing points, it can assist traders on bias and direction given the higher timeframe order-flow, lower timeframe order-flow, zones, levels, etc. Manipulation of swing points can potentially signal the start of a reversal or retracement. Failure to Manipulate swing points can potentially signal continuation of the higher timeframe current trend. It is up to the trader to gauge the price action at these levels.
How the Indicator works
1. Lines (Not engaged) - Plots out line from higher timeframe swing points and extends to the right.
2. Manipulation (M) - M label will be plotted on the swing point line that has been engaged. For example, if 1 hour timeframe was selected in settings and the 1 hour swing point line is plotted on the chart, the indicator will track the first one hour candle to engage the line and wait for the 1 hour engaging candle to close before marking it out as a Manipulation label. It is deemed to be manipulation if the 1 hour candle sweeps the level and closes back into the range.
3. Failure to Manipulate (FTM) - FTM label functions the same as Manipulation in which it waits for the swing point line to be engaged in order for a label to be printed. However, if the price does not sweep the swing point, breaks through, and closes beyond the level then it would be deemed a "Failure to Manipulate".
Note: The timeframe selected in settings will match the engaging candle. For instance, if a 4 hour timeframe is selected, the next 4 hour candle that engages the swing point level will need to close before it displays a label. In addition, this indicator is designed to view on lower timeframes with higher timeframe swing points selected in Settings.
Settings
Timeframes:
1. Choose up to two timeframes for swing point levels.
2. Adjust Pivot lookback.
3. Option to change high and low line color, line style, and line width.
Timeframe Manipulation Labels:
4. Show/hide labels.
5. Option to adjust offset of labels horizontally/vertically for each high or low line.
6. Option to change label colors, label size, and text color.
Line Tags:
7. Show/hide line end tags.
8. Option to change tag size and tag color.
9. Adjust offset of tags.
Overlap Detection:
10. Adjust overlap threshold percentage.
11. Adjust label shift amount (for when labels are overlapping each other).
Alerts:
12. Option to enable/disable all alerts. Select different alerts for each timeframe (i.e. manipulate alert or failure to manipulate alert).
Risk Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial advice. All trading and investment decisions remain solely the responsibility of the user.
Trading involves a high degree of risk, and past performance is not indicative of future results.
Always conduct your own research and consult with a qualified financial professional before making any trading decisions.
By using this indicator, users acknowledge they understand these risks and accept full responsibility for their trading decisions and outcomes.
JFX Smart ORBJFX Smart ORB is a complete visual trading framework built around the classic
Opening Range Breakout (ORB) concept, enhanced with:
Fixed position sizing (lots)
Automatic Martingale-style size increase after full SL only
A full, event-based alert system for entries, targets, stops, and break-even exits
All of that, plus a clean dual-language HUD (AR/EN) directly on your chart.
What JFX Smart ORB Does
🔹 Smart Opening Range (ORB)
Automatically defines the opening range via:
Fixed timeframe (e.g., 30 minutes), or
Custom session window (e.g., 09:30–09:45) with configurable time zone (UTC-5, etc.).
Plots ORH / ORL and the midline, and shades the OR building zone for visual clarity.
🔹 Regime Detection (Context)
Background shading tells you where price is trading:
📈 Green: Above ORH (bullish regime)
📉 Red: Below ORL (bearish regime)
🔵 Neutral: Inside the OR range
This gives you an instant read on context before you even think about entries.
🔹 Trade Logic & Multi-Target Management
Automatic entry when:
Price breaks ORH for long trades
Price breaks ORL for short trades
Stop loss on the opposite side of the range.
Targets calculated in R-multiples:
TP1 = 0.5R
TP2 = 1R
TP3 = 2R
Position is split across TP1 / TP2 / TP3 according to user-defined percentages, normalized automatically.
💰 Fixed Size + Martingale After Loss Only
Inputs:
Capital ($) – for display/analysis
Base Position Size (lots) – your standard trade size
Contract per 1.00 lot – to convert price movement to P/L in dollars
If a trade hits a full stop loss before TP1, the indicator:
Doubles the position size for the next trade (Martingale factor).
If the trade hits any profit (TP1, TP2, TP3) or closes at Break-Even, the:
Martingale factor resets back to 1× (base size).
Everything is tracked and shown on the chart: current trade size, P/L per trade, and net P/L.
🧠 Session Protection & Inner-Range Logic
Optional session block:
After a strong winning trade (e.g., TP2 or TP3), you can block any further trades for the rest of the ORB session to avoid overtrading.
Inner-range logic after TP1:
Prevents immediate re-entry in the same direction after a BE exit from TP1.
Waits for price to return into a defined inner range around the OR midline, filtering out random noise.
📊 On-Chart HUD / Stats (AR & EN)
The built-in info panel shows in real time:
Session status:
✅ Trading enabled
🚫 Trading disabled until a new ORB
⏳ Waiting for two bars back inside the range
Current price regime (Above ORH / Below ORL / Inside OR).
Entry price, stop loss, TP1, TP2.
Total trades, losing trades, and win rate.
Counts of TP1 / TP2 / TP3 hits.
Reported capital, current position size (lots).
Current trade P/L and total net P/L in dollars.
🔔 Full Alert System (Ready for Webhooks/Bots)
The indicator generates per-bar event flags that feed into alertcondition() so you can build any alert setup you want (pop-up, email, SMS, webhook, bot, EA, etc.).
Available alerts:
Buy Entry: JFX_ORB_BUY_ENTRY
Sell Entry: JFX_ORB_SELL_ENTRY
Stop Loss Hit: JFX_ORB_SL_HIT
TP1 Hit: JFX_ORB_TP1
TP2 Hit: JFX_ORB_TP2
TP3 Hit: JFX_ORB_TP3
Break-Even Exit: JFX_ORB_BE_EXIT
Simply create alerts in TradingView based on these conditions and messages, or plug them into your automation via webhooks.
Who Is JFX Smart ORB For?
Day traders and scalpers who like structured ORB strategies instead of random entries.
Traders who want clear, rule-based entries, well-defined stops and multi-target exits.
Anyone looking to combine ORB + position management + Martingale logic + Alerts in a single, professional tool.
Disclaimer:
This indicator is a professional analysis and trade-management tool, not a guarantee of profit.
Always test on demo first and adapt the position sizing and Martingale behavior to your own risk management and trading plan.
Triple Screen System [FlexibleMAs MACD-RSI-ADX]#### Triple Screen System (TSS-FMR)
The TSS-FMR script is a specialized, multi-timeframe confirmation tool built for Swing, Positional Traders, and Longer Term Investors. It is engineered to filter out low-conviction noise by implementing an advanced interpretation of the Elder's Triple Screen strategy, relying on proprietary momentum, volatility, and volume analysis to isolate high-probability setups.
---
#### 🧠 Core Methodology & Logic
The TSS-FMR synthesizes three distinct layers of confirmation to generate signals:
1. Macro Trend & Volatility: Determines the primary trend and overall market condition using configurable EMA+RSI metrics , the script uses Average Directional Index (ADX) as an internal component to filter out non-trending, consolidating market conditions.
2. Momentum Synchronization: A proprietary filter requiring MACD,MAs and RSI to be synchronized * within a specified bar window (`MACD/RSI Sync Window`) ensures that entries align with current short-term momentum shifts.
3. Volume & Price Action: Final entry is triggered only when the higher timeframes align and the entry timeframe (Daily or 4H) confirms the move, optionally requiring * Candle Confirmation * and filtering out low-quality trades using the * Volume Filter *
The key is the separation of input thresholds and lengths for Weekly and Daily lookbacks, allowing for precise tuning unavailable in standard public libraries.
---
#### 🎯 Understanding Signal Strength & Conviction
Signals are categorized using a proprietary Strength scale (from Overbought/Oversold to 6) to help traders gauge the potential size and probability of the momentum move, This scale is dynamically influenced by the ADX volatility readings.
#### 🔍 Integrating External Visual Tools (Addressing Rule: Vendor/Chart)
The TSS-FMR generates signals based solely on its internal logic and inputs .*
We recommend overlaying the TSS-FMR signals with external tools (such as the Lux Algo SmartMoneyConcepts indicator or similar public S/R tools) for visual confirmation only :
* Signals (2, 3, 4) + CHOCH/BOS: * A signal with lower internal strength (2-4) gains stronger conviction if it aligns precisely with a CHOCH or BOS event visually identified by the external tool. This confirms that the market structure is validating the script's momentum reading.
Zone Confirmation: When signals land precisely within visually defined Liquidity or Accumulation/Distribution Zones (provided by external visual tools), it adds significant conviction to the TSS-FMR's output.
The *Overbought/Oversold regions* are decided based on the script's internal strength calculation and prevailing price action.
#### Summary:
--- This script is for Swing, Positional Traders and Longer Term Investors
--- It will only work with Monthly,Weekly, Daily and 4H chart to help you make confirmation based positions.
--- Sell Signals are Overbought Exits and Short sell signals, Plan according to Weekly Signals and Daily signals
--- Use the Momentum Table/matrix at the right top of the chart when TSS indicator is active.
--- Use Volume Filter enable to remove chaos of signals
--- Keep *Lux Algo -SmartMoneyConcepts* indicator active for visual of zones
--- Adjust Volume Filter in Settings to avoid crowding of signals
--- Adjust Input signal length to select number of history bars
--- Watch-out for Weekly 100ema Line and
--- Watch-out for Sell Signals, in discount region they are marked as Buy oversold or moderate, vise versa Sell Overbought signals are added to the charts.
--- To earn money, we need to look out for early signals, fake breakouts, breakdowns and what we want the table/matrix turning all green or red in Momentum trades.
---
#### House Rule Compliance Statement
This script description is provided strictly for technical clarity. It is free from all promotional content, external links, contact information, social media references, and solicitations, as per TradingView's General House Rule #2. The justification for its closed-source nature is based on its proprietary signal synchronization logic and flexible, multi-timeframe implementation.
HTF Candle overlayOverview
This Pine Script indicator overlays three separate Mini Charts onto the right side of your main chart area. These mini charts display price action from Higher Timeframes (HTF), allowing traders to monitor multi-timeframe market structure and trends without switching screens. Each mini chart is overlaid with up to 5 customizable EMA (Exponential Moving Average) Clouds.
Key Features
1. Three Independent Mini Charts
Users can select three distinct higher timeframes (e.g., 1 Hour, 4 Hours, 1 Day).
The script automatically checks to ensure the selected timeframe is higher than the current chart's timeframe.
Displays up to 10 historical candles per mini chart (limited to optimize Pine Script drawing resources).
2. Smart Data Handling (RTH vs. ETH)
Daily, Weekly, Monthly: For timeframes of 1 Day or higher, the script forces Regular Trading Hours (RTH) data. This ensures daily candles look standard and aren't distorted by pre/post-market low volume ticks.
Intraday (e.g., 1H, 4H): For timeframes below 1 Day, the script uses Extended Trading Hours (ETH) data, ensuring you see the full picture of pre-market and after-hours moves.
Ticker Cleaning: The script automatically sanitizes ticker IDs to prevent "Symbol Resolve Errors" when used on charts with complex session settings.
3. Comprehensive EMA Clouds
5 Customizable Clouds: Each mini chart can display up to 5 different EMA Clouds (pairs of Short and Long Moving Averages).
Full Color Control: Users can individually customize:
Line Colors: Distinct colors for Short and Long EMA lines.
Cloud Fill: Distinct colors and transparency for Bullish and Bearish trends.
Toggle Visibility: Each of the 5 clouds can be turned On or Off via settings.
Source Selection: Users can calculate EMAs based on Close, Open, High, Low, HL2, HLC3, or OHLC4.
4. Custom Visuals & Positioning
Candle Aesthetics: Users can define Bull/Bear candle colors, transparency, and Candle Width (thickness).
Positioning:
Horizontal Offset: Shift the entire dashboard left or right to avoid overlapping with current price action.
Spacing: Adjust the gap between the three mini charts.
Assistance Lines: Optional Support/Resistance lines (Fibonacci or Range High/Low) can be drawn extending from the mini charts.
How it Works (Technical Summary)
The script utilizes request.security to fetch OHLC data and Moving Average data from the specified higher timeframes. It stores this data in Matrices and Arrays to manage history. It then uses Pine Script's line.new and label.new functions to manually draw the candles and EMA lines onto the main chart canvas, relative to the current bar_index. It includes logic to handle dynamic array resizing and garbage collection to stay within Pine Script's execution limits.
FRAN CRASH PLAY RULESA script with purely descriptive nature is one that:
• Only describes actions, settings, characters, and events.
• Contains no dialogue, commands, or instructions for execution.
• Does not specify plot decisions, logic, or interactive elements.
• Reads like a detailed narrative blueprint, focusing on what exists or happens rather than what anyone should do.
Bappa - Dynamic VWAP Simple Vwap, just dynamic colour Coding added to sense whether VWAP is in uptrend or downtrend. Refer to colour code to enter Call side or Put side, it never disappoints you at any timeframe. Enjoy & happy Trading!!
Better results if used in conjuction with Pivots/ fractals indicator, named as Bappa EMA + BBW (V2) indicator.
RSI + BB + RSI Advanced MTF Panel//@version=6
indicator(title="RSI + BB + RSI Advanced MTF Panel", shorttitle="RSI + BB + RSI Advance MTF Panel", format=format.price, precision=2, overlay=false)
bb_group = "BB (Price Overlay)"
bb_length = input.int(50, minval=1, group = bb_group)
bb_maType = input.string("SMA", "Basis MA Type", options = , group = bb_group)
bb_src = input.source(close, title="Source", group = bb_group)
bb_mult = input.float(0.2, minval=0.001, maxval=50, title="StdDev", group = bb_group)
BasisColor = input.color(color.rgb(163, 41, 245), "Basis Color", group = bb_group, display = display.none)
UpperColor = input.color(color.rgb(120, 156, 202,100), "Upper Color", group = bb_group, display = display.none)
LowerColor = input.color(color.rgb(120, 156, 202,100), "Lower Color", group = bb_group, display = display.none)
offset = input.int(0, "Offset", minval = -500, maxval = 500, display = display.data_window, group = bb_group)
ma(source, bb_length, _type) =>
switch _type
"SMA" => ta.sma(source, bb_length)
"EMA" => ta.ema(source, bb_length)
"SMMA (RMA)" => ta.rma(source, bb_length)
"WMA" => ta.wma(source, bb_length)
"VWMA" => ta.vwma(source, bb_length)
basis = ma(bb_src, bb_length, bb_maType)
dev = bb_mult * ta.stdev(bb_src, bb_length)
upper = basis + dev
lower = basis - dev
plot(basis, "Basis", color=BasisColor, offset = offset, force_overlay = true)
p1 = plot(upper, "Upper", color=UpperColor, offset = offset, force_overlay = true)
p2 = plot(lower, "Lower", color=LowerColor, offset = offset, force_overlay = true)
fill(p1, p2, title = "Background", color=color.rgb(163, 41, 245, 90))
rsiLengthInput = input.int(30, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", display = display.data_window, tooltip = "Calculating divergences is needed in order for divergence alerts to fire.")
SignalDot = input.bool(false, title="Signal Dot", group="Smoothing", display = display.data_window, tooltip = "Signal for possible entry")
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiPlot = plot(rsi, "RSI", color= rsi >= 51 ? color.rgb(13, 197, 230) : color.red)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
midLinePlot = plot(50, color = na, editable = false, display = display.none)
fill(rsiPlot, midLinePlot, 100, 70, top_color = color.new(color.green, 0), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 30, 0, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 0), title = "Oversold Gradient Fill")
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("SMA", "Type", options = , group = GRP, display = display.data_window)
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window)
bbMultInput = input.float(2.0, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window)
var enableMA = maTypeInput != "None"
var isBB = maTypeInput == "SMA + Bollinger Bands"
smoothma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
smoothingMA = enableMA ? smoothma(rsi, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na
plot(smoothingMA, "RSI-based MA", color=color.yellow, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_calcBarsSince(cond) =>
ta.barssince(cond)
rsiLBR = rsi
// 1. Calculate Pivots Unconditionally
plFound = not na(ta.pivotlow(rsi, lookbackLeft, lookbackRight))
phFound = not na(ta.pivothigh(rsi, lookbackLeft, lookbackRight))
// 2. Calculate History Unconditionally
barsSincePL = _calcBarsSince(plFound )
barsSincePH = _calcBarsSince(phFound )
// 3. Check Ranges Unconditionally
inRangePL = rangeLower <= barsSincePL and barsSincePL <= rangeUpper
inRangePH = rangeLower <= barsSincePH and barsSincePH <= rangeUpper
// 4. Calculate Conditions
var bool bullCond = false
var bool bearCond = false
if calculateDivergence
rsiHL = rsiLBR > ta.valuewhen(plFound, rsiLBR, 1) and inRangePL
lowLBR = low
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and rsiHL and plFound
rsiLH = rsiLBR < ta.valuewhen(phFound, rsiLBR, 1) and inRangePH
highLBR = high
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and rsiLH and phFound
else
bullCond := false
bearCond := false
plot(plFound ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bullish", linewidth = 2, color = (bullCond ? bullColor : noneColor), display = display.pane, editable = calculateDivergence)
plotshape(bullCond ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bullish Label", text = " Bull ", style = shape.labelup, location = location.absolute, color = bullColor, textcolor = textColor, display = display.pane, editable = calculateDivergence)
plot(phFound ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bearish", linewidth = 2, color = (bearCond ? bearColor : noneColor), display = display.pane, editable = calculateDivergence)
plotshape(bearCond ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bearish Label", text = " Bear ", style = shape.labeldown, location = location.absolute, color = bearColor, textcolor = textColor, display = display.pane, editable = calculateDivergence)
alertcondition(bullCond, title='Regular Bullish Divergence', message="Found a new Regular Bullish Divergence.")
alertcondition(bearCond, title='Regular Bearish Divergence', message='Found a new Regular Bearish Divergence.')
// --- Panel Options (General) ---
g_panel = 'MTF Panel Options'
i_orientation = input.string('Vertical', 'Orientation', options = , group = g_panel)
i_position = input.string('Bottom Right', 'Position', options = , group = g_panel)
i_border_width = input.int(1, 'Border Width', minval = 0, maxval = 10, group = g_panel, inline = 'border')
i_color_border = input.color(#000000, '', group = g_panel, inline = 'border')
i_showHeaders = input.bool(true, 'Show Headers', group = g_panel)
i_color_header_bg = input.color(#5d606b, 'Headers Background', group = g_panel, inline = 'header')
i_color_header_text = input.color(color.white, 'Text', group = g_panel, inline = 'header')
i_color_tf_bg = input.color(#2a2e39, 'Timeframe Background', group = g_panel, inline = 'tf')
i_color_tf_text = input.color(color.white, 'Text', group = g_panel, inline = 'tf')
i_debug = input.bool(false, 'Display colors palette (debug)', group = g_panel)
// --- RSI Colors (Conditional Formatting) ---
g_rsi = 'MTF RSI Colors'
i_threshold_ob = input.int(70, 'Overbought Threshold', minval=51, maxval=100, group = g_rsi)
i_color_ob = input.color(#128416, 'Overbought Background', inline = 'ob', group = g_rsi)
i_tcolor_ob = input.color(color.white, 'Text', inline = 'ob', group = g_rsi)
i_threshold_uptrend = input.int(60, 'Uptrend Threshold', minval=51, maxval=100, group = g_rsi)
i_color_uptrend = input.color(#2d472e, 'Uptrend Background', inline = 'up', group = g_rsi)
i_tcolor_uptrend = input.color(color.white, 'Text', inline = 'up', group = g_rsi)
i_color_mid = input.color(#131722, 'No Trend Background', group = g_rsi, inline = 'mid')
i_tcolor_mid = input.color(#b2b5be, 'Text', group = g_rsi, inline = 'mid')
i_threshold_downtrend = input.int(40, 'Downtrend Threshold', group = g_rsi, minval=0, maxval=49)
i_color_downtrend = input.color(#5b2e2e, 'Downtrend Background', group = g_rsi, inline = 'down')
i_tcolor_downtrend = input.color(color.white, 'Text', group = g_rsi, inline = 'down')
i_threshold_os = input.int(30, 'Oversold Threshold', minval=0, maxval=49, group = g_rsi)
i_color_os = input.color(#db3240, 'Oversold Background', group = g_rsi, inline = 'os')
i_tcolor_os = input.color(color.white, 'Text', group = g_rsi, inline = 'os')
// --- Individual RSI Settings (MTF Sources) ---
g_rsi1 = 'RSI #1'
i_rsi1_enabled = input.bool(true, title = 'Enabled', group = g_rsi1)
i_rsi1_tf = input.timeframe('5', 'Timeframe', group = g_rsi1)
i_rsi1_len = input.int(30, 'Length', minval = 1, group = g_rsi1)
i_rsi1_src = input.source(close, 'Source', group = g_rsi1) * 10000
v_rsi1 = i_rsi1_enabled ? request.security(syminfo.tickerid, i_rsi1_tf, ta.rsi(i_rsi1_src, i_rsi1_len)) : na
g_rsi2 = 'RSI #2'
i_rsi2_enabled = input.bool(true, title = 'Enabled', group = g_rsi2)
i_rsi2_tf = input.timeframe('15', 'Timeframe', group = g_rsi2)
i_rsi2_len = input.int(30, 'Length', minval = 1, group = g_rsi2)
i_rsi2_src = input.source(close, 'Source', group = g_rsi2) * 10000
v_rsi2 = i_rsi2_enabled ? request.security(syminfo.tickerid, i_rsi2_tf, ta.rsi(i_rsi2_src, i_rsi2_len)) : na
g_rsi3 = 'RSI #3'
i_rsi3_enabled = input.bool(true, title = 'Enabled', group = g_rsi3)
i_rsi3_tf = input.timeframe('60', 'Timeframe', group = g_rsi3)
i_rsi3_len = input.int(30, 'Length', minval = 1, group = g_rsi3)
i_rsi3_src = input.source(close, 'Source', group = g_rsi3) * 10000
v_rsi3 = i_rsi3_enabled ? request.security(syminfo.tickerid, i_rsi3_tf, ta.rsi(i_rsi3_src, i_rsi3_len)) : na
g_rsi4 = 'RSI #4'
i_rsi4_enabled = input.bool(true, title = 'Enabled', group = g_rsi4)
i_rsi4_tf = input.timeframe('240', 'Timeframe', group = g_rsi4)
i_rsi4_len = input.int(30, 'Length', minval = 1, group = g_rsi4)
i_rsi4_src = input.source(close, 'Source', group = g_rsi4) * 10000
v_rsi4 = i_rsi4_enabled ? request.security(syminfo.tickerid, i_rsi4_tf, ta.rsi(i_rsi4_src, i_rsi4_len)) : na
g_rsi5 = 'RSI #5'
i_rsi5_enabled = input.bool(true, title = 'Enabled', group = g_rsi5)
i_rsi5_tf = input.timeframe('D', 'Timeframe', group = g_rsi5)
i_rsi5_len = input.int(30, 'Length', minval = 1, group = g_rsi5)
i_rsi5_src = input.source(close, 'Source', group = g_rsi5) * 10000
v_rsi5 = i_rsi5_enabled ? request.security(syminfo.tickerid, i_rsi5_tf, ta.rsi(i_rsi5_src, i_rsi5_len)) : na
g_rsi6 = 'RSI #6'
i_rsi6_enabled = input.bool(true, title = 'Enabled', group = g_rsi6)
i_rsi6_tf = input.timeframe('W', 'Timeframe', group = g_rsi6)
i_rsi6_len = input.int(30, 'Length', minval = 1, group = g_rsi6)
i_rsi6_src = input.source(close, 'Source', group = g_rsi6) * 10000
v_rsi6 = i_rsi6_enabled ? request.security(syminfo.tickerid, i_rsi6_tf, ta.rsi(i_rsi6_src, i_rsi6_len)) : na
g_rsi7 = 'RSI #7'
i_rsi7_enabled = input.bool(false, title = 'Enabled', group = g_rsi7)
i_rsi7_tf = input.timeframe('W', 'Timeframe', group = g_rsi7)
i_rsi7_len = input.int(30, 'Length', minval = 1, group = g_rsi7)
i_rsi7_src = input.source(close, 'Source', group = g_rsi7) * 10000
v_rsi7 = i_rsi7_enabled ? request.security(syminfo.tickerid, i_rsi7_tf, ta.rsi(i_rsi7_src, i_rsi7_len)) : na
g_rsi8 = 'RSI #8'
i_rsi8_enabled = input.bool(false, title = 'Enabled', group = g_rsi8)
i_rsi8_tf = input.timeframe('W', 'Timeframe', group = g_rsi8)
i_rsi8_len = input.int(30, 'Length', minval = 1, group = g_rsi8)
i_rsi8_src = input.source(close, 'Source', group = g_rsi8) * 10000
v_rsi8 = i_rsi8_enabled ? request.security(syminfo.tickerid, i_rsi8_tf, ta.rsi(i_rsi8_src, i_rsi8_len)) : na
g_rsi9 = 'RSI #9'
i_rsi9_enabled = input.bool(false, title = 'Enabled', group = g_rsi9)
i_rsi9_tf = input.timeframe('W', 'Timeframe', group = g_rsi9)
i_rsi9_len = input.int(30, 'Length', minval = 1, group = g_rsi9)
i_rsi9_src = input.source(close, 'Source', group = g_rsi9) * 10000
v_rsi9 = i_rsi9_enabled ? request.security(syminfo.tickerid, i_rsi9_tf, ta.rsi(i_rsi9_src, i_rsi9_len)) : na
g_rsi10 = 'RSI #10'
i_rsi10_enabled = input.bool(false, title = 'Enabled', group = g_rsi10)
i_rsi10_tf = input.timeframe('W', 'Timeframe', group = g_rsi10)
i_rsi10_len = input.int(30, 'Length', minval = 1, group = g_rsi10)
i_rsi10_src = input.source(close, 'Source', group = g_rsi10) * 10000
v_rsi10 = i_rsi10_enabled ? request.security(syminfo.tickerid, i_rsi10_tf, ta.rsi(i_rsi10_src, i_rsi10_len)) : na
// --- Panel Helper Functions ---
// Function 4: String Position to Constant (Indentation cleaned)
f_StrPositionToConst(_p) =>
switch _p
'Top Left' => position.top_left
'Top Right' => position.top_right
'Top Center' => position.top_center
'Middle Left' => position.middle_left
'Middle Right' => position.middle_right
'Middle Center' => position.middle_center
'Bottom Left' => position.bottom_left
'Bottom Right' => position.bottom_right
'Bottom Center' => position.bottom_center
=> position.bottom_right
// Function 5: Timeframe to Human Readable (Indentation cleaned)
f_timeframeToHuman(_tf) =>
seconds = timeframe.in_seconds(_tf)
if seconds < 60
_tf
else if seconds < 3600
str.tostring(seconds / 60) + 'm'
else if seconds < 86400
str.tostring(seconds / 60 / 60) + 'h'
else
switch _tf
"1D" => "D"
"1W" => "W"
"1M" => "M"
=> str.tostring(_tf)
type TPanel
table src = na
bool vertical_orientation = true
int row = 0
int col = 0
// Method 1: Increment Column (Indentation cleaned)
method incCol(TPanel _panel) =>
if _panel.vertical_orientation
_panel.col += 1
else
_panel.row += 1
// Method 2: Increment Row (Indentation cleaned)
method incRow(TPanel _panel) =>
if not _panel.vertical_orientation
_panel.col += 1
_panel.row := 0
else
_panel.row += 1
_panel.col := 0
// Method 3: Add Cell (Indentation cleaned)
method add(TPanel _panel, string _v1, color _bg1, color _ctext1, string _v2, color _bg2, color _ctext2) =>
table.cell(_panel.src, _panel.col, _panel.row, _v1, text_color = _ctext1, bgcolor = _bg1)
_panel.incCol()
table.cell(_panel.src, _panel.col, _panel.row, _v2, text_color = _ctext2, bgcolor = _bg2)
_panel.incRow()
// Function 6: Background Color
f_bg(_rsi) =>
c_line = na(_rsi) ? i_color_mid :
_rsi >= i_threshold_ob ? i_color_ob :
_rsi >= i_threshold_uptrend ? i_color_uptrend :
_rsi <= i_threshold_os ? i_color_os :
_rsi <= i_threshold_downtrend ? i_color_downtrend :
i_color_mid
// Function 7: Text Color
f_rsi_text_color(_rsi) =>
c_line = na(_rsi) ? i_tcolor_mid :
_rsi >= i_threshold_ob ? i_tcolor_ob :
_rsi >= i_threshold_uptrend ? i_tcolor_uptrend :
_rsi <= i_threshold_os ? i_tcolor_os :
_rsi <= i_threshold_downtrend ? i_tcolor_downtrend :
i_tcolor_mid
f_formatRsi(_rsi) => na(_rsi) ? 'N/A' : str.tostring(_rsi, '0.00')
// --- Panel Execution Logic ---
if barstate.islast
v_panel = TPanel.new(vertical_orientation = i_orientation == 'Vertical')
v_max_rows = 20
v_panel.src := table.new(f_StrPositionToConst(i_position), v_max_rows, v_max_rows, border_width = i_border_width, border_color = i_color_border)
if i_showHeaders
v_panel.add('TF', i_color_header_bg, i_color_header_text, 'RSI', i_color_header_bg, i_color_header_text)
if i_rsi1_enabled
v_panel.add(f_timeframeToHuman(i_rsi1_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi1), f_bg(v_rsi1), f_rsi_text_color(v_rsi1))
if i_rsi2_enabled
v_panel.add(f_timeframeToHuman(i_rsi2_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi2), f_bg(v_rsi2), f_rsi_text_color(v_rsi2))
if i_rsi3_enabled
v_panel.add(f_timeframeToHuman(i_rsi3_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi3), f_bg(v_rsi3), f_rsi_text_color(v_rsi3))
if i_rsi4_enabled
v_panel.add(f_timeframeToHuman(i_rsi4_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi4), f_bg(v_rsi4), f_rsi_text_color(v_rsi4))
if i_rsi5_enabled
v_panel.add(f_timeframeToHuman(i_rsi5_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi5), f_bg(v_rsi5), f_rsi_text_color(v_rsi5))
if i_rsi6_enabled
v_panel.add(f_timeframeToHuman(i_rsi6_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi6), f_bg(v_rsi6), f_rsi_text_color(v_rsi6))
if i_rsi7_enabled
v_panel.add(f_timeframeToHuman(i_rsi7_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi7), f_bg(v_rsi7), f_rsi_text_color(v_rsi7))
if i_rsi8_enabled
v_panel.add(f_timeframeToHuman(i_rsi8_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi8), f_bg(v_rsi8), f_rsi_text_color(v_rsi8))
if i_rsi9_enabled
v_panel.add(f_timeframeToHuman(i_rsi9_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi9), f_bg(v_rsi9), f_rsi_text_color(v_rsi9))
if i_rsi10_enabled
v_panel.add(f_timeframeToHuman(i_rsi10_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi10), f_bg(v_rsi10), f_rsi_text_color(v_rsi10))
if i_debug
t = table.new(position.middle_center, 21, 20, border_width = i_border_width, border_color = i_color_border)
v_panel2 = TPanel.new(t, vertical_orientation = i_orientation == 'Vertical')
v_panel2.add('Debug', i_color_header_bg, i_color_header_text, 'Colors', i_color_header_bg, i_color_header_text)
// Using a tuple array for debugging colors demo
// Final Syntax Correction: Use array.new() and array.set() to avoid 'tuple()' function reference error
v_rows = 5 // We know we have 5 elements
demo = array.new(v_rows, '') // Initialize array with 5 string elements, will hold string representation of the tuple
// We will push the elements as a *string* representation of the tuple, as Pine v6 allows
// and then parse them inside the loop if necessary.
// To preserve the structure (string, float) without the tuple() function:
// We must define two separate arrays if the 'tuple' function is truly unavailable.
tf_array = array.new(v_rows)
rsi_array = array.new(v_rows)
// Populate the arrays
array.set(tf_array, 0, 'Overbought')
array.set(rsi_array, 0, float(i_threshold_ob))
array.set(tf_array, 1, 'Uptrend')
array.set(rsi_array, 1, float(i_threshold_uptrend))
array.set(tf_array, 2, 'No Trend')
array.set(rsi_array, 2, 50.0)
array.set(tf_array, 3, 'Downtrend')
array.set(rsi_array, 3, float(i_threshold_downtrend))
array.set(tf_array, 4, 'Oversold')
array.set(rsi_array, 4, float(i_threshold_os))
// Iterate over the arrays using a simple index
for i = 0 to v_rows - 1
tf = array.get(tf_array, i)
rsi = array.get(rsi_array, i)
v_panel2.add(tf, i_color_tf_bg, i_color_tf_text, f_formatRsi(rsi), f_bg(rsi), f_rsi_text_color(rsi))
LJ Parsons Adjustable expanding MRT Fibpapers.ssrn.com
Market Resonance Theory (MRT) reinterprets financial markets as structured multiplicative, recursive systems rather than linear, dollar-based constructs. By mapping price growth as a logarithmic lattice of intervals, MRT identifies the deep structural cycles underlying long-term market behaviour. The model draws inspiration from the proportional relationships found in musical resonance, specifically the equal temperament system, revealing that markets expand through recurring octaves of compounded growth. This framework reframes volatility, not as noise, but as part of a larger self-organising structure.
TrendSight📌 TrendSight — The All-in-One Multi-Timeframe Trend Engine
Key Features & Logic
Multi-Timeframe Trend Confirmation:
Entries are filtered by confirming bullish/bearish alignment across three distinct Supertrend timeframes (e.g., 5-min, 15-min, 45-min, etc.), combined with an EMA and volatility filter, to ensure high-conviction trades that's a powerful combination! Designing the entire strategy around the 15-minute timeframe (M15) and focusing on high-volatility coins maximizes the strategy's effectiveness .
Guaranteed Single-Entry per Signal:
The strategy uses a powerful manual flag and counter system to ensure trades fire only once when a new signal begins. It absolutely prevents immediate re-entry if the signal remains true, waiting instead for the entire trend condition to reset to false.
Dynamic Trailing Stop Loss:
The Stop Loss is set to a moving Supertrend line (current_supertrend), ensuring tight risk management that trails the price as the trade moves into profit.Guaranteed Take Profit (4% Run-up): Uses a precise Limit Order via strategy.exit() to capture profits instantly at a 4% run-up. This ensures accurate profit capture, even on sudden spikes (wicks).
Automated Risk Management:
Position size is dynamically calculated based on a fixed risk percentage (default 2% of equity) relative to the distance to the trailing stop.
🔥 Core Components
1. Adaptive Multi-Timeframe SuperTrend Dashboard
The backbone of mTrendSight is a fully customizable SuperTrend system, enhanced with a multi-timeframe confirmation table displaying ST direction & value.
This compact “Trend Dashboard” provides instant clarity on higher-timeframe direction, trend strength, and market bias.
2. Dynamic Support & Resistance Channels
Automatically detects the strongest support/resistance zones using pivot clustering.
Key Features:
Clustered S/R Channels instead of thin lines
Adaptive width based on recent swings
Breakout markers (optional) for continuation signals
Helps identify structural zones, retest areas, and liquidity pockets
3. Multi-Timeframe Color-Coded EMAs
Plot up to three EMAs, each optionally pulled from a higher timeframe.
Benefits:
Instant visual trend alignment
Bullish/Bearish dynamic color shifts
Precision EMA value table for trade planning
Works perfectly with ST & RSI for multi-layer confirmation
4. Linear Regression Trend Channel
A statistically driven trend channel that measures the most probable path of price action.
Highlights:
Uses Pearson’s R to determine trend reliability
Provides a Confidence Level to judge whether trend slope is credible
Ideal for determining over-extension and mean-reversion zones
5. ATR Volatility Analyzer
A lightweight but powerful volatility classifier using ATR.
Features:
Detects High, Low, or Normal volatility
Clean table display
Helps filter entries during low-energy markets
Strengthens trend-following filters when volatility expands
6. RSI Momentum & Trend Classifier
A significantly improved RSI with multi-layer smoothing and structure-based classification.
Provides:
Bullish / Bearish / Neutral momentum states
Short-term momentum vs long-term RSI trend
Perfect for early trend shifts, pullback entries, and momentum confirmation
⚙️ How the Strategy Works (Execution Logic)
📌 Multi-Timeframe Supertrend + EMA + Volatility Confirmation
Entries are only triggered when:
Multiple Supertrend timeframes align (e.g., 5m + 15m + 45m)
EMA direction aligns with the trend
Volatility conditions (ATR filter) is not Low allow high-probability moves
This ensures strong directional confluence before every trade.
📌 Guaranteed Single-Entry Logic
The strategy uses a flag + counter system to ensure:
Only one entry is allowed per trend signal
Re-entries do not happen until the entire trend condition resets
The Strategy Tester remains clean, without duplicate overlapping trades
This eliminates revenge trades, repeated fills, and choppy overtrading.
📌 Dynamic Supertrend Trailing Stop
Stop Loss is anchored to current Supertrend value, creating:
Automatic trailing
Tight downside control
Protection against deep pullbacks
High responsiveness during volatility expansions
📌 Precision Take-Profit (4% Run-Up Capture)
A dedicated global exit block ensures:
Take Profit triggers exactly at 4% price run-up
Uses strategy.exit() with limit orders to catch spikes (wicks)
Works consistently on all timeframes & assets
📌 Automated Position Sizing (2% Risk Default)
Position size is dynamically calculated based on:
Account Equity
Distance to trailing stop
Configured risk %
This enforces proper risk management without manual adjustments.
📈 How to Interpret Results
Reliable Exits: All exits are globally managed, so stops and take profits trigger accurately on every bar.
Clean Trade History: Because of single-entry logic, backtests show one trade per valid signal.
Consistency: Multi-timeframe logic ensures only high-quality, structured trades.
LJ Parsons Harmonic Time StampsPurpose of the Script
This script is designed to divide a specific time period on a market chart (from startDate to endDate) into fractional segments based on mathematically significant ratios. It then plots vertical lines at the first candle that occurs at or after each of these fractional timestamps. Each line is labeled according to an interval scheme, as outlined by LJ Parsons
"Structured Multiplicative, Recursive Systems in Financial Markets"
papers.ssrn.com
Providing a symbolic mapping of time fractions
zenodo.org
Start (00) and End (00): Marks the beginning and end of the period.
Intermediate labels (m2, M2, m3, M3, …): Represent divisions of the time period that correspond to specific fractions of the whole.
This creates a visual “resonance map” along the price chart, where the timing of price movements can be compared to mathematically significant points.
Parsons Market Resonance Theory proposes that markets move in patterns that are not random but resonate with underlying mathematical structures, analogous to logarithmic relationships. The key ideas reflected in this script are:
Temporal Fractional Resonance
By marking fractional points of a defined time period, the script highlights potential moments when market activity might “resonate” due to cyclical patterns. These points are analogous to overtones in music—certain times may have stronger market reactions.
Mapping Market Movements to "Just Intonation" Intervals
Assigning Interval labels to fractional timestamps provides a symbolic framework for understanding market behaviour. For example, the midpoint (P5) may correspond to strong market turning points, while minor or major intervals (m3, M6) might correspond to subtler movements.
Identifying Potentially Significant Points in Time
The plotted lines do not predict price direction but rather identify temporal markers where price movements may be more likely to display structured behaviour. Traders or researchers can then study price reactions around these lines for correlations with market resonance patterns.
In essence, the script turns a period of time into a harmonic structure, with each line and label acting like a “note” in the market’s temporal symphony. It’s a tool to visualize and test whether price behaviour aligns with the resonant fractions hypothesized in MRT.
Orderflow - Full suiteThis indicator provides a comprehensive institutional view of the market by aggregating real-time volume and delta data from the four largest crypto derivatives exchanges: Binance, Bybit, OKX, and Gate.io.
Unlike standard indicators that rely on a single data feed, this tool normalizes and combines volume from multiple sources to reveal the "True Market Volume." It features a sophisticated 1-Minute Granularity Scanner that analyzes the underlying 1m data within your current timeframe to detect hidden whale activity that is often smoothed out on higher timeframe charts.
Key Features:
🌊 Multi-Exchange Aggregation: Automatically fetches and sums volume from Binance, Bybit, OKX, and Gate.io. It handles currency normalization (converting USDT volume to Base Currency) to ensure accurate apples-to-apples calculations.
🐋 1-Minute Big Trade Scanner: The script scans the 1-minute candles underlying your current bar. It detects "Whale," "Huge," and "Large" trades that occur within a single minute, revealing aggressive market participants hiding inside consolidated candles.
🛡️ Absorption Detection: Identifies specific moments where high aggregated volume meets minimal price movement, highlighting areas where passive limit orders are absorbing aggressive flow.
📉 CVD Divergence: accumulating Aggregated Delta to spot divergences between price action and order flow (e.g., Price making Lower Lows while CVD makes Higher Lows).
📊 Dynamic Volume Profile: A fully functional Volume Profile driven by the global aggregated data, including Value Area (VAH/VAL) and POC logic.
⚖️ Market Balance & Retests: Automatically detects if the market is Balanced or Imbalanced and highlights valid retests of Value Area High/Low levels.
How to Use:
Bubbles: Represent Big Trades detected on the 1m timeframe (Blue = Buy, Red = Sell). Size indicates relative volume.
Diamonds: Indicate Absorption events (High volume, zero price progress).
Triangles: Indicate CVD Divergences (Potential reversals).
Right Panel: Displays the Volume Profile and Key Levels based on the total market liquidity.
Note: This indicator uses request.security_lower_tf to scan granular data. It is optimized for Crypto Perpetual pairs (USDT.P).
Volume Trabar Rank PRO🔑 Key Concept
The indicator uses a rank-based system that counts the number of timeframe periods (lengths) where price has exceeded standard deviation thresholds. The higher the absolute rank value, the more extreme the market condition — indicating stronger potential reversal zones.
⚙️ How The Indicator Works
The indicator operates on a unique multi-length Bollinger Band analysis system:
📏 Multiple Length Analysis
📊 Rank Calculation
Counts how many bands the price has broken through to generate a rank value from -18 to +18
🎨 Visual Coding
Color-coded histogram and threshold lines for quick visual interpretation
Ranking System Explained :
Rank Value Signal Strength Typical Action
+8 to +18 Very Strong Consider Selling / Taking Profit
+7 Strong Watch for reversal signals
+4 to +6 Moderate Caution for new longs
+1 to +3 Weak Monitor market conditions
0 Neutral No extreme condition
-1 to -3 Weak Monitor market conditions
-4 to -6 Moderate Look for entry opportunities
-7 Strong Strong buy signal
-8 to -18 Very Strong High probability buy zone
Advanced Features
✅Filter #1: Volume Weighting
✅Filter #2: Outlier Filtering (IQR)
✅Filter #3: Anti-Repaint Logic
⏰ Multi-Timeframe Analysis
The indicator can simultaneously monitor up to 4 different timeframes (default: 1m, 5m, 15m, 30m), allowing traders to:
Identify confluence zones where multiple timeframes show the same signal
Spot divergences between timeframes for better timing
Generate "READY" signals when all MTF conditions align
🎯 MTF Ready Signal
READY BUY: Triggers when MTF #1, #2, and #3 all show oversold ranks ≤ -5
READY SELL: Triggers when MTF #1, #2, and #3 all show overbought ranks ≥ +5
These signals indicate strong multi-timeframe alignment, providing high-probability trading opportunities.
You can see here :
🛠️ How This Indicator Was Created
Accuracy Improvements (v3.0)
Volume Weighting: Replaced SMA with VWMA for better accuracy
Outlier Filtering: Added IQR-based filtering to remove false signals from price spikes
✨ Key Advantages
🚫 No Repainting
Anti-repaint logic ensures signals don't disappear or change after bar closure, providing reliable backtesting and live trading signals.
📊 Multi-Timeframe
Simultaneously monitor up to 4 timeframes, identifying confluence and divergence for better timing and higher probability trades.
🎯 Volume-Weighted
Uses actual volume data to weight calculations, making signals more representative of true market sentiment and participation.
🔬 Outlier Filtered
IQR-based filtering removes false signals from flash crashes, spikes, and other anomalous price action that doesn't represent real conditions.
⚡ Performance Optimized
Carefully tuned to balance accuracy with speed. Default settings optimize for the top 10% extreme conditions without lag.
🎨 Highly Customizable
Over 30 input parameters allow complete customization of lengths, thresholds, colors, and display options to match your trading style.
I just also add :
5M SCALPING OPTIMAL SETTINGS
Alert 🔥 Extreme Signal (Buy/Sell) - Priority HIGH and ⭐ Mid-Term Signal (Buy/Sell) - Priority NORMAL
MTF Blending Options ( 8 Blending Modes )
Rank Occurrences Table.
Bull and Bear divergence
-------
To get access to this script you have to be a member, or DM on TradingView.
Trend-Momentum Matrix [Pro]The Problem: Analysis Paralysis Traders often struggle to align multiple timeframe signals. You might see momentum on the 5-minute chart but fail to notice a major resistance on the 1-hour, or enter a trend just as it loses strength. Juggling multiple indicators (RSI, Moving Averages, ADX, Clouds) on a single chart creates clutter and confusion.
The Solution: Trend-Momentum Matrix The Trend-Momentum Matrix is a professional-grade dashboard that condenses complex market data into a single, high-contrast heatmap. It allows you to monitor the health of a trend across 7 distinct timeframes simultaneously—from scalping charts to long-term views—without cluttering your screen.
This tool is built on a "Strict Compliance" engine. It does not issue signals based on loose guesses; it waits for a high-probability confluence of three market forces: Price Structure, Momentum Velocity, and Trend Strength.
Core Capabilities
1. Dual-Engine Logic The system runs two independent strategies in parallel to catch both sides of the market:
Compounder Engine (Longs) : Identifies high-growth setups where momentum has entered a "Bullish Power Zone," supported by institutional trend strength.
Breakdown Engine (Shorts): Detects structural failures where momentum is accelerating downward and trend support has been breached.
2. The "Squint Test" Visualization Markets move fast. You shouldn't have to read numbers to know the trend. The Matrix utilizes a Heatmap Architecture:
Solid Green Row: Confirmed Bullish Confluence (Safe to Buy).
Solid Red Row: Confirmed Bearish Breakdown (Safe to Short).
Black/Mixed: Noise or Consolidation (Stay Out).
3. Advanced Noise Filtering: Most indicators fail in choppy markets. This tool uses a multi-layered filter:
Trend Strength (ADX) Filter: Signals are ignored if the prevailing trend is too weak or sideways.
Structure Lock: Signals are strictly gated by key moving averages. If the price structure isn't sound, the signal is suppressed.
4. Donchian Breakout Detection The matrix automatically tracks volatility breakouts. It monitors whether the current price action is expanding beyond historical volatility bands (Upper/Lower Donchian channels) to confirm true breakouts versus fake-outs.
Key Features
Multi-Timeframe Matrix: Monitor 7 timeframes (fully customizable with On/Off toggles) in one corner of your screen.
Auto-Adaptive Interface: The table uses a high-contrast Black background that remains clearly visible on both Light and Dark TradingView themes.
Smart Ribbon: Includes an optional, non-intrusive 8-line Moving Average Ribbon to visualize trend flow directly on the chart.
Strict Exit System: The system is designed to protect capital. The moment the specific conditions for Momentum or Structure are lost, the signal immediately converts to an EXIT or COVER command.
Risk Disclaimer: Trading involves substantial risk and is not suitable for every investor. This tool is an analysis aid and does not constitute financial advice. Past performance is not indicative of future results.
Access: This is an Invite-Only premium indicator. Please contact the author to request access.
Multi‑Timeframe Bias & Adaptive MA SuiteThis indicator combines multi‑type moving averages, Bollinger Bands, and a multi‑timeframe bias dashboard into one powerful tool. It helps traders quickly assess directional alignment across selected timeframes and generates buy/sell signals only when all chosen biases agree.
Key features:
Customizable moving averages (SMA, EMA, WMA, VWMA, Hull, VWAP, VIDYA) with adaptive coloring.
Bollinger Bands overlay for volatility and breakout detection.
Bias table showing directional bias from 1m up to Daily vs 4H, with toggle controls for each timeframe.
Session Bias toggle to include/exclude higher‑timeframe confirmation in your signals.
Strict buy/sell signals plotted only when all selected timeframes align bullish or bearish.
Alert conditions for automated notifications when signals trigger.
This suite is designed for traders who want a clear, multi‑layered view of market direction while keeping control over which timeframes matter most to their strategy.
Multi‑Timeframe Bias & Adaptive MA SuiteThis indicator combines multi‑type moving averages, Bollinger Bands, and a multi‑timeframe bias dashboard into one powerful tool. It helps traders quickly assess directional alignment across selected timeframes and generates buy/sell signals only when all chosen biases agree.
Key features:
Customizable moving averages (SMA, EMA, WMA, VWMA, Hull, VWAP, VIDYA) with adaptive coloring.
Bollinger Bands overlay for volatility and breakout detection.
Bias table showing directional bias from 1m up to Daily vs 4H, with toggle controls for each timeframe.
Session Bias toggle to include/exclude higher‑timeframe confirmation in your signals.
Strict buy/sell signals plotted only when all selected timeframes align bullish or bearish.
Alert conditions for automated notifications when signals trigger.
This suite is designed for traders who want a clear, multi‑layered view of market direction while keeping control over which timeframes matter most to their strategy.
MTF Trend Avcısı ema ve supertrendi birleştirip h2-h3-h4 uyumlu olduğu zaman al sat sinyali üreten indikatördür
ichimoku complex value Signal [Levels 1-3]This is a signal indicator utilizing composite values of the Ichimoku kinko hyo
The signal is generated when it reaches the period of ichimoku kinko hyo I set.
Lv1: Low reliability. Recommended for scalping.
Lv2: Higher reliability than Level 1, but unsuitable for holding positions for a long duration.
Lv3: High reliability. Suitable for holding positions for a long duration.
Important Note: Do not set your stop-loss too tight. You may get stopped out during a retest or a fakeout movement.
EURUSD, USDJPY, and other Forex pairs: 4-Hour (4H)
BTCUSD, ETHUSD, and other Crypto assets: 1-Hour (1H)
XAUUSD (GOLD): 5-Minute (5m)
NQ1!: 4-Hour (4H)
Higher Timeframe MA High Low BandsHigher Timeframe Customer MA High Low Bands. There are 3 different Moving Average Parameters Available. Indicator will plot 3 lines of MA Length With Source of High, Close and Low. User can change relevant MA parameters / Show or Hide MA.
Happy Trading
Average True Range (ATR)Strategy Name: ATR Trend-Following System with Volatility Filter & Dynamic Risk Management
Short Name: ATR Pro Trend System
Current Version: 2025 Edition (fully tested and optimized)Core ConceptA clean, robust, and highly profitable trend-following strategy that only trades when three strict conditions are met simultaneously:Clear trend direction (price above/below EMA 50)
Confirmed trend strength and trailing stop (SuperTrend)
Sufficient market volatility (current ATR(14) > its 50-period average)
This combination ensures the strategy stays out of choppy, low-volatility ranges and only enters during high-probability, trending moves with real momentum.Key Features & ComponentsComponent
Function
Default Settings
EMA 50
Primary trend filter
50-period exponential
SuperTrend
Dynamic trailing stop + secondary trend confirmation
Period 10, Multiplier 3.0
ATR(14) with RMA
True volatility measurement (Wilder’s original method)
Length 14
50-period SMA of ATR
Volatility filter – only trade when current ATR > average ATR
Length 50
Background coloring
Visual position status: light green = long, light red = short, white = flat
–
Entry markers
Green/red triangles at the exact entry bar
–
Dynamic position sizing
Fixed-fractional risk: exactly 1% of equity per trade
1.00% risk
Stop distance
2.5 × ATR(14) – fully adaptive to current volatility
Multiplier 2.5
Entry RulesLong: Close > EMA 50 AND SuperTrend bullish AND ATR(14) > SMA(ATR,50)
Short: Close < EMA 50 AND SuperTrend bearish AND ATR(14) > SMA(ATR,50)
Exit RulesPosition is closed automatically when SuperTrend flips direction (acts as volatility-adjusted trailing stop).
Money ManagementRisk per trade: exactly 1% of current account equity
Position size is recalculated on every new entry based on current ATR
Automatically scales up in strong trends, scales down in low-volatility regimes
Performance Highlights (2015–Nov 2025, real backtests)CAGR: 22–50% depending on market
Max Drawdown: 18–28%
Profit Factor: 1.89–2.44
Win Rate: 57–62%
Average holding time: 10–25 days (daily timeframe)
Best Markets & TimeframesExcellent on: Bitcoin, S&P 500, Nasdaq-100, DAX, Gold, major Forex pairs
Recommended timeframes: 4H, Daily, Weekly (Daily is the sweet spot)
Asia & London Session Boxes (NY Time) + 4H SwingsAsia & London Session Boxes + 4H Swings
Description
A multi-timeframe session analysis tool designed for forex and futures traders operating on NY time. This indicator visualizes major trading sessions with automatic high/low range boxes while simultaneously tracking 4-hour swing levels, giving you a complete picture of institutional trading activity and key price levels.
How It Works
Session Boxes (NY Time Zone)
Asia Session (20:00 – 00:00 NY): Blue-shaded box marking the complete range from open to close
London Session (02:00 – 06:00 NY): Yellow-shaded box capturing the high-volatility London open
Each session box automatically records the highest high and lowest low during that timeframe, providing instant reference for session extremes and potential supply/demand zones.
4-Hour Swing Levels
Detects swing highs and lows on a 30-minute timeframe for ultra-responsive level identification
Red lines: Swing highs (resistance levels)
Green lines: Swing lows (support levels)
Lines extend to the right for continuous monitoring
Auto-removes touched levels: When price breaches a swing, it automatically deletes that level to keep your chart clean and focused on active levels
Key Features
Session-Based Trading Analysis: Identify which session created important price levels and ranges
Multi-Timeframe Architecture: Analyzes 30-minute swings while tracking 4-hour patterns on your current chart
Smart Level Cleanup: Touched swings automatically remove themselves, eliminating clutter
NY Time Conversion: All times automatically adjust to your NY timezone for consistency
Institutional Perspective: View exactly where institutions are trading during major session hours
Zero Lag Detection: Real-time identification of swing extremes
Ideal For
Forex traders (especially EUR/USD, GBP/USD) targeting session breakouts
Scalpers and swing traders needing precise support/resistance levels
Market structure traders analyzing institutional price action
Session traders looking to trade Asia/London opens
1-minute to 4-hour timeframe charts
Trading Applications
Trade Asia session breakouts into London
Identify liquidity zones from previous sessions
Detect swing extremes for entry/exit planning
Confirm trend direction using multi-session structure
Find support/resistance on intraday pullbacks
Default Settings Optimized For
NASDAQ futures and forex pairs
Scalping and short-term swing trading
NY timezone trading (automatically converts UTC-4)
30-minute swing detection for precise level identification






















