ORB + Prev Close — [GlutenFreeCrypto]Draws a red line at the high of the first 5 min candle, draws a green line at the bottom of the first 5 min candle, draws a grey line at midpoint. Lines extend until market close (4pm) or after-hours 98pm) or extend the next day pre-market (until 9:30am). Closing blue dotted line is drawn at closing price, and extends in after-hours and pre-market.
Candlestick analysis
Trend Speed Analyzer + alerts//@version=6
indicator('Trend Speed Analyzer + alerts', overlay = false)
//~~}
// ~~ Tooltips {
string t1 = 'Maximum Length: This parameter sets the upper limit for the number of bars considered in the dynamic moving average. A higher value smooths out the trend line, making it less reactive to minor fluctuations but slower to adapt to sudden price movements. Use higher values for long-term trend analysis and lower values for faster-moving markets.'
string t2 = 'Accelerator Multiplier: Adjusts the responsiveness of the dynamic moving average to price changes. A larger value makes the trend more reactive but can introduce noise in choppy markets. Lower values create a smoother trend but may lag behind rapid price movements. This is particularly useful in volatile markets where precise sensitivity is needed.'
string t5 = 'Enable Candles: When enabled, the candlesticks on the chart will be color-coded based on the calculated trend speed. This provides a visual representation of momentum, making it easier to spot shifts in market dynamics. Disable this if you prefer the standard candlestick colors.'
string t6 = 'Collection Period: Defines the number of bars used to normalize trend speed values. A higher value includes a broader historical range, smoothing out the speed calculation. Lower values make the speed analysis more sensitive to recent price changes, ideal for short-term trading.'
string t7 = 'Enable Table: Activates a statistical table that provides an overview of key metrics, such as average wave height, maximum wave height, dominance, and wave ratios. Useful for traders who want numerical insights to complement visual trend analysis.'
string t8 = 'Lookback Period: Determines how many historical bars are used for calculating bullish and bearish wave data. A longer lookback period provides a more comprehensive view of market trends but may dilute sensitivity to recent market conditions. Shorter periods focus on recent data.'
string t9 = 'Start Date: Sets the starting point for all calculations. This allows you to analyze data only from a specific date onward, which is useful for isolating trends within a certain period or avoiding historical noise.'
string t10 = 'Timer Option: Select between using a custom start date or starting from the first available bar on the chart. The \'Custom\' option works with the Start Date setting, while \'From start\' includes all available data.'
// Tooltips for Table Cells
string tt1 = 'Average Wave: Shows the average size of bullish or bearish waves during the lookback period. Use this to assess overall market strength. Larger values indicate stronger trends, and comparing bullish vs bearish averages can reveal market bias. For instance, a higher bullish average suggests a stronger uptrend.'
string tt2 = 'Max Wave: Displays the largest bullish or bearish wave during the lookback period. Use this to identify peak market momentum. A significantly higher bullish or bearish max wave indicates where the market may have shown extreme trend strength in that direction.'
string tt3 = 'Current Wave Ratio (Average): Compares the current wave\'s size to the average wave size for both bullish and bearish trends. A value above 1 indicates the current wave is stronger than the historical average, which may signal increased market momentum. Use this to evaluate if the current move is significant compared to past trends.'
string tt4 = 'Current Wave Ratio (Max): Compares the current wave\'s size to the maximum wave size for both bullish and bearish trends. A value above 1 suggests the current wave is setting new highs in strength, which could indicate a breakout or strong momentum in the trend direction.'
string tt5 = 'Dominance (Average): The net difference between the average bullish and bearish wave sizes. Positive values suggest bullish dominance over time, while negative values indicate bearish dominance. Use this to determine which side (bulls or bears) has had consistent control of the market over the lookback period.'
string tt6 = 'Dominance (Max): The net difference between the largest bullish and bearish wave sizes. Positive values suggest bulls have dominated with stronger individual waves, while negative values indicate bears have produced stronger waves. Use this to gauge the most significant power shifts in the market.'
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
max_length = input.int(50, minval = 1, title = 'Maximum Length', group = 'Dynamic Moving Average', tooltip = t1)
accel_multiplier = input.float(5.0, minval = 0.0, step = 1.1, title = 'Accelerator Multiplier', group = 'Dynamic Moving Average', tooltip = t2)
tbl_ = input.bool(true, title = 'Enable Table', group = 'Wave Analysis', tooltip = t7)
lookback_period = input.int(100, minval = 1, step = 1, title = 'Lookback Period', group = 'Wave Analysis', tooltip = t8)
candle = input.bool(true, title = 'Enable Candles', group = 'Trend Visualization', tooltip = t5)
collen = input.int(100, step = 10, minval = 5, title = 'Collection Period', group = 'Trend Visualization', tooltip = t6)
up_col = input.color(color.lime, title = 'Dynamic Trend', group = 'Trend Visualization', inline = 'Trend')
dn_col = input.color(color.red, title = '', group = 'Trend Visualization', inline = 'Trend')
up_hist_col = input.color(#82ffc3, title = 'Trend Speed Up', group = 'Trend Visualization', inline = 'up')
up_hist_col_ = input.color(color.lime, title = '', group = 'Trend Visualization', inline = 'up')
dn_hist_col = input.color(color.red, title = 'Trend Speed Dn', group = 'Trend Visualization', inline = 'dn')
dn_hist_col_ = input.color(#f78c8c, title = '', group = 'Trend Visualization', inline = 'dn')
start = input.time(timestamp('1 Jan 2020 00:00 +0000'), title = 'Start Date', group = 'Time Settings', tooltip = t9, inline = 'startdate')
timer = input.string('From start', title = 'Timer Option', options = , group = 'Time Settings', tooltip = t10, inline = 'startdate')
// ~~ Dynamic Average {
counts_diff = close
max_abs_counts_diff = ta.highest(math.abs(counts_diff), 200)
counts_diff_norm = (counts_diff + max_abs_counts_diff) / (2 * max_abs_counts_diff)
dyn_length = 5 + counts_diff_norm * (max_length - 5)
// ~~ Function to compute the accelerator factor with normalization of delta_counts_diff {
calc_accel_factor(float counts_diff, float prev_counts_diff) =>
delta_counts_diff = math.abs(counts_diff - prev_counts_diff)
float max_delta_counts_diff = ta.highest(delta_counts_diff, 200)
max_delta_counts_diff := max_delta_counts_diff == 0 ? 1 : max_delta_counts_diff
float accel_factor = delta_counts_diff / max_delta_counts_diff
accel_factor
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Function to adjust alpha using the accelerator factor {
adjust_alpha(float dyn_length, float accel_factor, float accel_multiplier) =>
alpha_base = 2 / (dyn_length + 1)
alpha = alpha_base * (1 + accel_factor * accel_multiplier)
alpha := math.min(1, alpha)
alpha
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Accelerator Factor
accel_factor = calc_accel_factor(counts_diff, nz(counts_diff ))
alpha = adjust_alpha(dyn_length, accel_factor, accel_multiplier)
// ~~ Compute dynamic Ema
var float dyn_ema = na
dyn_ema := na(dyn_ema ) ? close : alpha * close + (1 - alpha) * dyn_ema
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Trend Speed {
trend = dyn_ema
bullsrc = close
bearsrc = close
type TrendData
array change
array t
StartTime() =>
time > start
var bullish = TrendData.new(array.new(), array.new())
var bearish = TrendData.new(array.new(), array.new())
var x1 = int(na)
var y1 = float(na)
var pos = 0
var speed = 0.0
c = ta.rma(close, 10)
o = ta.rma(open, 10)
// ~~ First value {
if na(x1) and StartTime() or na(x1) and timer == 'From start'
x1 := bar_index
y1 := o
y1
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Trend direction {
if StartTime() or timer == 'From start'
if bullsrc > trend and bullsrc <= trend
bearish.change.unshift(ta.lowest(speed, bar_index - x1))
bearish.t.unshift(bar_index - x1)
x1 := bar_index
y1 := bullsrc
pos := 1
speed := c - o
speed
if bearsrc < trend and bearsrc >= trend
bullish.change.unshift(ta.highest(speed, bar_index - x1))
bullish.t.unshift(bar_index - x1)
x1 := bar_index
y1 := bearsrc
pos := -1
speed := c - o
speed
speed := speed + c - o
speedGradient = color.from_gradient(speed, ta.min(-speed / 3), ta.max(speed / 3), color.red, color.lime)
trendspeed = ta.hma(speed, 5)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Plots {
rma_dyn_ema(x, p) =>
average = ta.rma(dyn_ema , p)
average
colour = ta.wma(close, 2) > dyn_ema ? up_col : dn_col
fillColor = rma_dyn_ema(0, 5) > rma_dyn_ema(1, 5) ? color.new(up_col, 70) : color.new(dn_col, 70)
p1 = plot(dyn_ema, color = colour, linewidth = 2, title = 'Dynamic Trend', force_overlay = true)
p2 = plot(ta.rma(hl2, 50), display = display.none, editable = false, force_overlay = true)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
min_speed = ta.lowest(speed, collen)
max_speed = ta.highest(speed, collen)
normalized_speed = (speed - min_speed) / (max_speed - min_speed)
speedGradient1 = speed < 0 ? color.from_gradient(normalized_speed, 0.0, 0.5, dn_hist_col, dn_hist_col_) : color.from_gradient(normalized_speed, 0.5, 1.0, up_hist_col, up_hist_col_)
plot(StartTime() or timer == 'From start' ? trendspeed : na, title = 'Trend Speed', color = speedGradient1, style = plot.style_columns)
plotcandle(open, high, low, close, color = candle ? speedGradient1 : na, wickcolor = candle ? speedGradient1 : na, bordercolor = candle ? speedGradient1 : na, force_overlay = true)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Table {
if barstate.islast and tbl_
bullish_recent = bullish.change.slice(0, math.min(lookback_period, bullish.change.size()))
bearish_recent = bearish.change.slice(0, math.min(lookback_period, bearish.change.size()))
bull_max = bullish_recent.max()
bear_max = bearish_recent.min()
bull_avg = bullish_recent.avg()
bear_avg = bearish_recent.avg()
wave_size_ratio_avg = bull_avg / math.abs(bear_avg)
wave_size_text_avg = str.tostring(math.round(wave_size_ratio_avg, 2)) + 'x'
wave_size_color_avg = wave_size_ratio_avg > 0 ? color.lime : color.red
wave_size_ratio_max = bull_max / math.abs(bear_max)
wave_size_text_max = str.tostring(math.round(wave_size_ratio_max, 2)) + 'x'
wave_size_color_max = wave_size_ratio_max > 0 ? color.lime : color.red
dominance_avg_value = bull_avg - math.abs(bear_avg)
dominance_avg_text = dominance_avg_value > 0 ? 'Bullish +' + str.tostring(math.round(wave_size_ratio_avg, 2)) + 'x' : 'Bearish -' + str.tostring(math.round(1 / wave_size_ratio_avg, 2)) + 'x'
dominance_avg_color = dominance_avg_value > 0 ? color.lime : color.red
dominance_max_value = bull_max - math.abs(bear_max)
dominance_max_text = dominance_max_value > 0 ? 'Bullish +' + str.tostring(math.round(wave_size_ratio_max, 2)) + 'x' : 'Bearish -' + str.tostring(math.round(1 / wave_size_ratio_max, 2)) + 'x'
dominance_max_color = dominance_max_value > 0 ? color.lime : color.red
current_wave = speed
current_wave_color = current_wave > 0 ? color.lime : color.red
current_ratio_avg = current_wave > 0 ? current_wave / bull_avg : current_wave / math.abs(bear_avg)
current_ratio_max = current_wave > 0 ? current_wave / bull_max : current_wave / math.abs(bear_max)
current_text_avg = str.tostring(math.round(current_ratio_avg, 2)) + 'x'
current_text_max = str.tostring(math.round(current_ratio_max, 2)) + 'x'
current_color_avg = current_ratio_avg > 0 ? color.lime : color.red
current_color_max = current_ratio_max > 0 ? color.lime : color.red
var tbl = table.new(position.top_right, 3, 3, force_overlay = true)
table.cell(tbl, 0, 0, '', text_color = chart.fg_color, tooltip = '')
table.cell(tbl, 0, 1, 'Average Wave', text_color = chart.fg_color, tooltip = tt1)
table.cell(tbl, 0, 2, 'Max Wave', text_color = chart.fg_color, tooltip = tt2)
table.cell(tbl, 1, 0, 'Current Wave Ratio', text_color = chart.fg_color, tooltip = '')
table.cell(tbl, 1, 1, current_text_avg, text_color = current_color_avg, tooltip = tt3)
table.cell(tbl, 1, 2, current_text_max, text_color = current_color_max, tooltip = tt4)
table.cell(tbl, 2, 0, 'Dominance', text_color = chart.fg_color, tooltip = '')
table.cell(tbl, 2, 1, dominance_avg_text, text_color = dominance_avg_color, tooltip = tt5)
table.cell(tbl, 2, 2, dominance_max_text, text_color = dominance_max_color, tooltip = tt6)
// ─────────────────────────────────────────────────────────────
// MTF BUY/SELL alerts: 10m & 1H agreement (no logic changes)
isGreen = ta.wma(close, 2) > dyn_ema
tf_fast = input.timeframe("10", "Fast TF (Buy/Sell check)", group = "MTF Alerts")
tf_slow = input.timeframe("60", "Slow TF (Buy/Sell check)", group = "MTF Alerts")
confirm_on_close = input.bool(true, "Confirm on bar close", group = "MTF Alerts")
green_fast = request.security(syminfo.tickerid, tf_fast, isGreen, lookahead = barmerge.lookahead_off)
green_slow = request.security(syminfo.tickerid, tf_slow, isGreen, lookahead = barmerge.lookahead_off)
buyCond = green_fast and green_slow
sellCond = not green_fast and not green_slow
triggerOK = confirm_on_close ? barstate.isconfirmed : true
// Single BUY / SELL alerts (messages unchanged)
alertcondition(buyCond and triggerOK, title = "MTF BUY (10m & 1H GREEN)", message = "{{ticker}} | TF={{interval}} | Dynamic line")
alertcondition(sellCond and triggerOK, title = "MTF SELL (10m & 1H RED)", message = "{{ticker}} | TF={{interval}} | Dynamic line")
// ─────────────────────────────────────────────────────────────
// NEW: 10m status repeated EVERY MINUTE (no logic changes)
// ─────────────────────────────────────────────────────────────
// 1-minute pulse: true once per closed 1m bar
m1_pulse = request.security(syminfo.tickerid, "1", barstate.isconfirmed, lookahead = barmerge.lookahead_off)
// Repeat ONLY the 10-minute status every minute
status10_green = green_fast
status10_red = not green_fast
alertcondition(status10_green and m1_pulse, title = "10m Status GREEN — repeat each minute", message = "{{ticker}} | TF=10 | Dynamic line — GREEN")
alertcondition(status10_red and m1_pulse, title = "10m Status RED — repeat each minute", message = "{{ticker}} | TF=10 | Dynamic line — RED")
how do the trend speed anlaysis work
By Gadirov Hyper-Aggressive Multi-Timeframe Binary SignalsBy Gadirov Hyper-Aggressive Multi-Timeframe Binary Signals
Previous Day Close (PDC)pdc price just watch how it reacts it will say if bearish or bullish on day or can get a good entry took a while to make who likes it
卡蛋K线反转Currently, only entry signals and reversal signals are available.
Continuous updates are planned, with subsequent plans to add alarm and reversal alerts.
DeMarkerWhat the DeMarker Indicator Is:
It’s a trend exhaustion and timing tool, not a trend-following one. The indicator looks for points where an uptrend or downtrend is likely to reverse because the market is “overextended.”
TD Setup:
1) A setup is formed when you get 9 consecutive candles where:
2) In an uptrend setup: each close is higher than the close 4 candles earlier.
3) In a downtrend setup: each close is lower than the close 4 candles earlier.
4) When the 9th candle prints, it signals potential trend exhaustion - not an immediate reversal, but a warning.
👉 Example: If BTC closes higher than the close 4 bars ago for 9 bars straight -> that’s a bullish setup.
Flexible Candle Zones (3x) — ZeeSM AND IC MARKING INDICATOR where you can mark the daily indicator for the SM zone and london and new york zones automatically
Optimised Hybrid BO Strategy for binary 5 minuteOptimised Hybrid BO Strategy for binary 3 minute and more
By Gadirov Ultra-Aggressive MTF BO Signals for binaryBy Gadirov Ultra-Aggressive MTF BO Signals for binary
StratNinjaTable - VerticalA Pine Script v6 indicator that displays a vertical table with key The Strat data and supporting metrics.
✦ Table Structure:
Overview:
Ticker – the stock symbol.
TF – the chart’s main timeframe.
MFI – Money Flow Index with selectable timeframe.
ATR – Average True Range with color coding:
Green – below 3%.
Yellow – between 3% and 6%.
Red – above 6%.
Timeframes:
Displayed vertically (5m, 15m, 1H, D, W, M, etc.).
Each shows the current bar type according to The Strat (1, 2U, 2D, 3).
Text color reflects candle direction (green = close above open, red = close below open).
Includes a countdown timer to bar close.
Fundamentals:
Market Cap – in billions.
Sector – stock sector.
SMA20 Δ – distance from the 20-period SMA (in %).
Avg Volume (30d) – average 30-day volume (in millions).
✦ Adjustments Made:
Removed the Strat Pattern section completely.
Removed the DIR column – direction is now represented by Strat cell text color.
Reordered Overview section: Ticker → TF → MFI → ATR.
ATR now has three levels of coloring (Green/Yellow/Red) for >3% and >6%
By Gadirov Aggressive BO Strategy for binaryBy Gadirov Aggressive BO Strategy for binary for 3 and 5 minutes
Pattern Match & Forward Projection – Weekly (EN)
Overview
This indicator searches for recurring price patterns in weekly data and projects their average forward performance.
The logic is based on historical pattern repetition: it scans past price sequences similar to the most recent one, then aggregates their forward returns to estimate potential outcomes.
⚠️ Important: The indicator is designed for weekly timeframe only. Using it on daily or intraday charts will trigger an error message.
Settings (Inputs)
Pattern Settings
Pattern length (weeks): Number of weeks used to define the reference pattern.
Forward length (weeks): Number of weeks into the future to evaluate after each pattern match.
Lookback (weeks): Historical window to scan for past pattern matches.
Normalize by shape (z-score): If enabled, patterns are normalized by z-score, focusing on shape similarity rather than absolute values.
Distance threshold (Euclidean): Maximum allowed Euclidean distance between the reference pattern and historical candidates. Smaller values = stricter matching.
Min. required matches: Minimum number of valid matches needed for analysis.
Quality Filters
Min required Hit%: Minimum percentage of positive outcomes (upside forward returns) required for the pattern to be considered valid.
Return filter mode:
Either: absolute average return ≥ threshold
Long only: average return ≥ threshold
Short only: average return ≤ -threshold
Min avg return (%): Minimum average forward return threshold for validation.
Visual Options
Highlight historical matches (labels): Marks where in history similar patterns occurred.
Max match labels to draw: Caps the number of match markers shown to avoid clutter.
Draw average projection: Displays the average projected forward curve if conditions are met.
Show summary panel: Enables/disables the information panel.
Show weekly avg curve in panel: Adds a breakdown of average returns week by week.
Projection color: Choose the color of the projected forward curve.
What the Screen Shows
Summary Panel (top-left by default)
Total matches found in history
Matches with valid forward data
Average, minimum, and maximum distance (similarity measure)
Average forward return and Hit%
Distance threshold and normalization setting
Weekly average forward curve (if enabled)
Quality filter results (pass/fail)
Projection Curve (dotted line on price chart)
Drawn only if enough valid matches are found and filters are satisfied
Represents the average forward performance of historical matches, anchored at the current bar
Historical Match Labels (▲ markers)
Small arrows below past bars where similar patterns occurred
Tooltip: “Historical match”
Forecast Logic
The indicator does not predict the future in a deterministic way.
Instead, it relies on a pattern-matching algorithm:
The most recent N weeks (defined by Pattern length) are taken as the reference.
The algorithm scans the last Lookback (weeks) for segments with similar shape and magnitude.
Similarity is measured using Euclidean distance (optionally z-score normalized).
For each valid match, the subsequent Forward length weeks are collected.
These forward paths are averaged to generate a composite forward projection.
The summary panel reports whether the current setup passes the quality filters (Hit% and minimum average return).
Usage Notes
Best used as a contextual tool, not a standalone trading system.
Works only on weekly timeframe.
Quality filters help distinguish between noisy and statistically meaningful patterns.
A higher number of matches usually improves reliability, but very strict thresholds may reduce sample size.
📊 This tool is useful for traders who want to evaluate how similar historical setups have behaved and to visualize potential forward paths in a statistically aggregated way.
Stock display + weekly lineStock display + weekly line. The weekly line can display next week's line in advance.
Three 20MA (automatically set for each time frame)Three 20MAs (automatically set for each time frame. By using only the 20SMA for each time frame, you can unify how you view the chart and check the consistency of direction between each time frame.
20MA+
default_ma2 = tf == "1" ? 100 :
tf == "5" ? 120 :
tf == "15" ? 80 :
tf == "30" ? 160 :
tf == "60" ? 80 :
tf == "240" ? 120 :
tf == "D" ? 100 :
tf == "W" ? 90 :
tf == "M" ? 60 :
80
default_ma3 = tf == "1" ? 300 :
tf == "5" ? 240 :
tf == "15" ? 320 :
tf == "30" ? 960 :
tf == "60" ? 480 :
tf == "240" ? 600 :
tf == "D" ? 400 :
tf == "W" ? 400 :
tf == "M" ? 240 :
320
FVG + FIBONACCIThe FVG + FIBONACCI indicator is a sophisticated trading tool that combines Fair Value Gap (FVG) detection with Fibonacci analysis across multiple timeframes. It automatically identifies bullish and bearish Fair Value Gaps - price areas where there is no overlap between consecutive candles, creating "gaps" that often act as significant support and resistance zones. The indicator works on any selected higher timeframe while displaying results on the current chart, making it versatile for various trading strategies and timeframe analyses.
What sets this indicator apart is its integration of Fibonacci retracement levels within each detected FVG zone. Once a Fair Value Gap is identified, the indicator automatically draws key Fibonacci levels (23.6%, 38.2%, 50%, 61.8%, and optionally 78.6%) within the gap, providing precise entry and exit points for traders. Additionally, it offers Fibonacci extensions (127.2%, 161.8%, and 261.8%) that project potential price targets beyond the FVG boundaries, helping traders plan their profit-taking strategies more effectively.
The indicator includes comprehensive customization options, allowing users to control the appearance of FVG zones, Fibonacci levels, and extension lines with different colors and styles. It features intelligent zone management with configurable maximum counts and extension lengths, automatic validity checking that grays out filled gaps, and multiple alert conditions for when price enters FVG zones or touches Fibonacci levels. The tool is designed for both swing and intraday traders who want to combine the powerful concepts of Fair Value Gaps with precise Fibonacci-based entry and exit strategies.
FVG (Fair Value Gaps)The FVG (Fair Value Gaps) indicator is a sophisticated technical analysis tool designed to identify and display fair value gaps on trading charts across multiple timeframes. Fair value gaps represent price inefficiencies that occur when there's a complete separation between consecutive candles, creating an unfilled price zone. The indicator detects these gaps by analyzing three consecutive candles: it identifies bullish FVGs when a green middle candle creates a gap where the high of the left candle is below the low of the right candle, and bearish FVGs when a red middle candle creates a gap where the low of the left candle is above the high of the right candle.
The indicator offers comprehensive customization options and intelligent filtering capabilities. Users can select any higher timeframe for FVG detection while viewing on lower timeframes, choose to display only bullish or bearish gaps, and optionally filter for large candles only to focus on more significant market inefficiencies. The system includes automatic management features such as limiting the maximum number of displayed FVGs to prevent chart clutter, customizable extension lengths for forward projection, and a validation system that continuously monitors whether gaps remain unfilled or have been invalidated by subsequent price action.
Visually, the indicator represents FVGs as colored rectangular boxes with dashed border lines, using green for bullish gaps and red for bearish gaps with full transparency control. When FVGs become invalid (filled by price), they automatically change to gray coloring to indicate their status. The indicator includes real-time alert functionality that triggers when price enters or touches FVG zones, making it valuable for both manual trading decisions and automated trading strategies. Additionally, it features a built-in Telegram channel reference for community support and educational resources.
FlowMaster# 🔥 FlowMaster - The Ultimate Market Dominance Indicator
## **Master the Flow. Dominate the Market.**
**FlowMaster** is a revolutionary trading indicator that reveals who's really controlling the market - buyers or sellers. Using advanced Market Profile analysis and multi-timeframe volume dynamics, FlowMaster gives you the edge to trade with the dominant market force.
---
## 🎯 **Key Features**
### **📊 Advanced Market Profile Analysis**
- **Point of Control (POC)** identification for precise entry/exit levels
- **Value Area** calculation with customizable percentage (default 70%)
- **Multi-timeframe analysis** with intelligent auto-selection
- **Volume distribution mapping** across 20 price channels
### **⚡ Real-Time Dominance Detection**
- **Instant buyer/seller identification** with color-coded background
- **Dominance histogram** showing market strength in real-time
- **Volume imbalance analysis** revealing institutional activity
- **Price momentum integration** for trend confirmation
### **🎯 Smart Trading Signals**
- **Precision buy/sell alerts** with customizable sensitivity
- **Cross-over/cross-under detection** for optimal timing
- **False signal filtering** to reduce noise
- **Multi-factor confirmation** for higher accuracy
### **📋 Professional Dashboard**
- **Live market state display** (BUYERS/SELLERS/NEUTRAL)
- **Dominance score** with numerical precision
- **Price vs POC position** for context awareness
- **Volume imbalance percentage** for institutional insight
- **Active timeframe display** for multi-TF analysis
---
## 🚀 **Why FlowMaster?**
### **✅ Trade with Institutional Flow**
Stop guessing market direction. FlowMaster reveals when institutions are accumulating or distributing, giving you the same advantage as professional traders.
### **✅ Multi-Timeframe Precision**
Whether you're scalping 1-minute charts or swing trading daily timeframes, FlowMaster automatically adapts to provide the most relevant higher timeframe context.
### **✅ Visual Clarity**
No complex setups or confusing signals. FlowMaster uses intuitive color coding and clear visual cues that let you make instant trading decisions.
### **✅ Customizable for Your Style**
- **Adjustable sensitivity** (1-20 levels)
- **Custom color schemes** for personal preference
- **Toggle features** to focus on what matters to you
- **Flexible timeframe selection** or intelligent auto-mode
---
## 📈 **Perfect For:**
- **Day Traders** seeking precise entry/exit points
- **Swing Traders** identifying trend changes and continuations
- **Scalpers** needing instant market sentiment feedback
- **Volume Analysts** wanting professional-grade Market Profile tools
- **All Experience Levels** - from beginners to institutional traders
---
## 🎨 **Visual Elements**
- **🟢 Green Background**: Buyers in control
- **🔴 Red Background**: Sellers dominating
- **⚫ Gray Background**: Neutral/consolidation phase
- **📊 Dynamic Histogram**: Real-time dominance strength
- **🎯 Triangle Signals**: Precise buy/sell entry points
- **📊 Information Table**: Complete market overview at a glance
---
## ⚙️ **Technical Specifications**
- **Platform**: TradingView (Pine Script v5)
- **Markets**: Works on ALL instruments (Forex, Stocks, Crypto, Futures)
- **Timeframes**: From 1-minute to Monthly charts
- **Performance**: Optimized for fast execution
- **Alerts**: Built-in notification system for all signals
---
## 🎯 **Get Started in 3 Steps:**
1. **Add FlowMaster** to your TradingView chart
2. **Customize settings** to match your trading style
3. **Watch the magic happen** - start trading with institutional flow!
---
## 💡 **Pro Tip:**
*Use FlowMaster in combination with your favorite support/resistance levels for maximum effectiveness. When price approaches key levels AND FlowMaster shows dominance shift - that's your high-probability trade setup!*
---
**🔥 Transform your trading today. Master the flow with FlowMaster! 🔥**
*"Finally, an indicator that shows me exactly who's in control of the market. My win rate increased dramatically since using FlowMaster!"* - Professional Day Trader
Скрипт с защищённым кодом
Этот скрипт опубликован с закрытым исходным кодом. Однако вы можете использовать его свободно и без каких-либо ограничений — читайте подробнее здесь.
Smart-Day-Trader
t.me/smart_day_trader
Мои профили:
Отказ от ответственности
Все виды контента, которые вы можете увидеть на TradingView, не являются финансовыми, инвестиционными, торговыми или любыми другими рекомендациями. Мы не предоставляем советы по покупке и продаже активов. Подробнее — в Условиях ис
ATR SPREADThis is a comprehensive ATR SPREAD indicator for TradingView that combines volatility monitoring with spread analysis. Here's what it does and why it's useful:
Core Functionality
ATR Progress Tracking:
Monitors how much of the daily ATR (Average True Range) has been "consumed" during the current trading day
Calculates progress from two reference points: day's open and previous day's close
Displays progress as percentages or absolute values
Provides color-coded visual feedback (green → yellow → orange → red) based on ATR consumption levels
Spread Monitoring with Advanced Filtering:
Tracks current market spreads using multiple methods (minute high-low ranges, tick-to-tick differences)
Calculates rolling average spread to establish baseline conditions
Implements sophisticated filtering to exclude anomalous spread readings that could skew analysis
Key Features
Smart Filtering System:
Automatically filters out abnormal spreads during session opens
Excludes spreads that are too large relative to price or ATR
Removes outliers that exceed normal spread multiples
Maintains data quality for accurate analysis
Multi-Level Alert System:
ATR threshold alerts (50%, 80%, 100% consumption)
Customizable warning threshold (default 70%)
Spread expansion warnings and alerts
Session start notifications
Professional Dashboard:
Customizable information panel showing real-time metrics
Multiple positioning options and visual themes
Displays ATR status, progress percentages, current/average spreads
Color-coded status indicators for quick assessment
Trading Applications
Risk Management:
Helps traders understand how much daily volatility has been used up
Assists in position sizing based on remaining expected movement
Identifies periods of unusual market conditions
Market Condition Assessment:
Monitors liquidity conditions through spread analysis
Detects when spreads widen beyond normal levels
Filters out unreliable data during volatile periods
Entry/Exit Timing:
High ATR consumption may suggest limited further movement
Low ATR consumption early in the day might indicate potential for larger moves
Spread conditions help assess execution quality expectations
This indicator is particularly valuable for intraday traders, scalpers, and anyone who needs to monitor market microstructure conditions alongside volatility metrics. It provides a comprehensive view of both price movement potential (ATR) and execution environment quality (spreads) in a single, professional-grade tool.
FVGFVG (Fair Value Gap) Indicator
The Fair Value Gap (FVG) indicator is a powerful tool designed to identify price imbalance zones that often act as critical support and resistance levels in the market. An FVG occurs when there is a gap between the high of one candle and the low of another candle two periods away, creating an unfilled price area that the market tends to revisit. These zones represent areas where institutional orders may be waiting and can provide high-probability trading opportunities.
This indicator automatically detects both bullish and bearish FVGs across any selected timeframe while ensuring complete reliability with no repainting. It uses only confirmed bar data with lookahead protection, making it suitable for live trading and backtesting. The tool features customizable visual elements including zone colors, transparency levels, and timeframe labels, along with automatic mitigation tracking that monitors when FVGs get filled by price action.
Key features include multi-timeframe analysis, extending zones to the right for ongoing relevance, flexible display options for both active and mitigated FVGs, and built-in alert system for new FVG formations. The indicator also provides comprehensive labeling options and maintains a clean chart by automatically managing the maximum number of displayed zones, making it an essential tool for traders following smart money concepts and institutional trading strategies.
Multi-TF CandlesMulti-Timeframe Support
Displays up to 6 different timeframes simultaneously
Configurable HTFs (default: 5m, 15m, 60m, 240m, 1D, 1W)
Customizable display limits (1-6 sets)
Visual Elements
Candlesticks: Full OHLC representation with customizable colors
Body & Wicks: Separate coloring for bullish/bearish candles
Fair Value Gaps (FVG): Automatically detects and highlights imbalance areas
Volume Imbalances: Identifies and marks volume-based imbalances
Day of Week Labels: Shows trading days for daily candles
Customization Options
Styling
Bullish/Bearish body colors with transparency
Border and wick colors
Candle width and spacing
Padding from current price
Labels & Information
HTF timeframe labels
Remaining time until candle close
Price tracing lines (Open, High, Low, Close)
Custom alignment options (Align/Follow Candles)
Advanced Features
Custom Daily Open Times: Midnight, 8:30, or 9:30 AM NY time
Trace Lines: Visual lines connecting HTF levels to current price
Imbalance Detection: Automatic FVG and volume imbalance detection
Real-time Updates: Live countdown to candle completion
Technical Details
Version: Pine Script v6
Overlay: Yes (displays directly on price chart)
Max Elements: 500 boxes, lines, labels each
Max Bars Back: 5000
Usage Benefits
Market Context: See multiple timeframes at once for better decision-making
Key Level Identification: Spot important support/resistance from HTFs
Pattern Recognition: Identify trends and reversals across timeframes
Efficiency: No need to switch between different chart timeframes
Customizable: Extensive settings to match your trading style
Ideal For
Swing traders analyzing multiple timeframes
Day traders wanting broader market context
Technical analysts identifying key levels
Anyone practicing multi-timeframe analysis
AlgoPilotX - Market Stages (VWMA + Reversals) v1Version Note:
This is a revised and improved version of the AlgoPilotX - Market Stages (VWMA + Reversals). It includes expanded explanations of the underlying logic, variable usage, and originality to comply with TradingView guidelines.
AlgoPilotX - Market Stages (VWMA + Reversals) helps traders quickly identify the current market stage and possible r eversal points using Volume-Weighted Moving Averages (VWMA) combined with staged market logic. It is original code that goes beyond standard moving averages by categorizing market conditions into actionable phases, supported by visual panels, banners, and alerts.
How It Works
The indicator calculates three VWMAs (defaults: 8, 21, 34). VWMA is a moving average weighted by volume, which gives more importance to high-volume bars. This makes it more responsive than a simple or exponential moving average in markets where volume is an important driver.
The script then compares the stacking order and the price position relative to VWMA1 to determine the stage:
Acceleration (Light Green):
VWMA1 > VWMA2 > VWMA3 and price > VWMA1 → strong bullish momentum.
Accumulation (Silver):
Price > VWMA1 but without bullish stacking → base-building phase.
Distribution (Orange):
Price < VWMA1 but without bearish stacking → topping or weakening trend.
Deceleration (Light Red):
VWMA1 < VWMA2 < VWMA3 and price < VWMA1 → strong bearish momentum.
In addition, reversals are flagged:
Bullish Reversal (↑ Green): price crosses above VWMA1.
Bearish Reversal (↓ Red): price crosses below VWMA1.
This dual-stage logic (trend stage + reversal detection) provides both macro context (trend direction) and micro triggers (reversal arrows).
Visual Features
Stage Info Box: Panel listing all stages with fixed colors.
VWMA Info Box: Panel showing live VWMA values.
Banner: Bold, highlighted “★ CURRENT STAGE” label (Top Right default) with thick border.
Reversal Arrows: Big, configurable arrows plotted near candles for reversals.
User Inputs & Customization
The script provides flexible inputs so traders can tailor it to their chart style:
VWMA 1/2/3 Lengths → control sensitivity of the three VWMAs.
Display Mode → Chart (full overlay) or Panel (histogram).
Stage Info Box / VWMA Info Box / Banner toggles → enable or hide visuals.
Positions → move Info Boxes or Banner to any chart corner/center.
Transparency Controls → adjust background opacity for Banner and Info Boxes.
Info Box Text Size → choose Tiny, Small, Normal, or Large fonts.
Reversal Arrows → customize size (Tiny–Huge) and vertical offset (% of candle height).
How to Use
Follow the banner and VWMA line color to read the active market stage.
Watch for arrows as potential reversal signals.
Combine with other tools for confluence.
This indicator also pairs well with the AlgoPilotX – Breakout & Breakdown Meter, since Market Stages provides trend context while the Breakout Meter measures momentum strength, together improving timing and conviction.
Best Practices Workflow
Here are some practical ways to use this indicator effectively:
Multi-Timeframe Context:
Use Market Stages on the Daily chart to determine broader trend bias.
Drop down to a 15m or 1h chart to time entries with reversals or breakouts.
Stage + Momentum Confirmation:
Enter trades when Market Stages shows Acceleration and Breakout Meter confirms breakout strength.
This helps avoid false breakouts during weak market conditions.
Risk Management:
Trade only when stage + reversal arrow align.
Avoid initiating trades during Distribution/Deceleration unless shorting.
Use VWMA values from the Info Box for dynamic stop-loss levels.
Neutral Periods:
If the banner shows Accumulation or Distribution , reduce size or wait for clearer alignment. These often precede large moves.
Technical Notes for Pine Coders
This script is structured in layers so developers can easily extend or modify it:
VWMA Calculation →
vwma1, vwma2, vwma3 are the fast, medium, and slow averages.
Stacking Conditions →
bullishStack, bearishStack check VWMA alignment.
Stage Booleans →
acceleration, accumulation, distribution, deceleration determine market state.
Reversal Conditions →
bullishReversal, bearishReversal check crossovers of price vs VWMA1.
Stage Color Assignment →
stageColor unifies the visual theme (VWMA line, banner background).
Helper Function →
drawRow() simplifies table formatting for Info Boxes.
Info Boxes →
infoTbl → Stage Info Box
vwmaTbl → VWMA Info Box
Banner →
bannerTbl holds the bold ★ CURRENT STAGE display, background-colored by stage.
Reversal Arrows →
label.new() places large configurable arrows near candles.
Alerts →
alertcondition() for every stage + reversal, enabling automation.
Example Extension for Pine Coders
Want to make Acceleration stricter by requiring RSI > 50? Here’s how:
rsi = ta.rsi(close, 14)
acceleration = bullishStack and close > vwma1 and rsi > 50
This modification combines trend alignment (VWMA stacking) with momentum confirmation (RSI).
Coders can follow the same pattern to integrate other filters like ATR, volume thresholds, or higher-timeframe conditions.
Why This Script Is Original
This indicator is not a simple rehash of built-ins. It contributes original value to the TradingView community because:
Unique Market Stage Logic → Combines VWMA stacking with price-relative conditions to define four distinct market phases (Acceleration, Accumulation, Distribution, Deceleration). This staged framework is not part of Pine’s built-in indicators.
Integrated Reversal Detection → Adds crossover-based reversal signals directly into the stage framework, making it a dual-layer system (trend + micro shifts).
Unified Color & Visual Design → VWMA lines, Info Box, and Banner are all dynamically color-linked to the stage, providing consistent visual feedback that standard indicators lack.
Customizable UI Panels → Movable, resizable Stage Info Box and VWMA Info Box, plus a bold Banner with thick borders — all implemented via table.new() with a helper function (drawRow()) for clarity. This goes beyond the simple plotting of moving averages.
Trader-Centric Features → Large configurable arrows, transparency controls, and font-size options allow users to adapt the script to different workflows and charting styles.
Educational Value → Includes modular, well-commented code and helper functions that Pine coders can extend. The script doubles as a learning tool for newer coders.
Practical Integration → Designed to pair naturally with other AlgoPilotX tools (e.g., Breakout & Breakdown Meter), giving traders a complementary system for stage + momentum confirmation.
Together, these make the script original, useful, and educational — fully aligned with TradingView’s publication guidelines.
⚠️ Disclaimer
This script is provided for educational purposes only. It is not financial advice and should not be considered a recommendation to buy or sell any financial instrument. Trading involves risk, and you are responsible for your own decisions.
Rolling Highest + Qualified Ghost (price-synced)[돌파]English Guide
What this indicator does
Plots a rolling highest line hh = ta.highest(src, len) that step-changes whenever the highest value inside the last len bars changes.
When a step ends after being flat for at least minHold bars (a “plateau”), it draws a short horizontal ghost line for ghostLen bars to the right at the previous step level.
By default, the ghost appears only on step-down events (behaves like a short-lived resistance trace). You can allow both directions with the onlyOnDrop setting.
Everything is rendered with plot() series (not drawing objects), bound to the right price scale → it moves perfectly with the chart.
Inputs
len — Lookback window (bars) for the rolling highest.
basis — Price basis used to compute the highest: High / Close / HLC3 / OHLC4.
minHold — Minimum plateau length (bars). Only steps that stayed flat at least this long qualify for a ghost.
ghostLen — Number of bars to keep the horizontal ghost to the right.
onlyOnDrop — If true, make ghosts only when the step moves down (default). If false, also create ghosts on step-ups.
Visuals: mainColor/mainWidth for the main rolling highest line; ghostColor/ghostTrans/ghostWidth for the ghost.
How it works (logic)
Rolling highest:
hh = ta.highest(src, len) produces a stair-like line.
Step detection:
stepUp = hh > hh
stepDown = hh < hh
startUp / startDown mark the first bar of a new step (prevents retriggering while the step continues).
Plateau length (runLen):
Counts consecutive bars where hh remained equal:
runLen := (hh == hh ) ? runLen + 1 : 1
Qualification:
On the first bar of a step change, check previous plateau length prevHold = runLen .
If prevHold ≥ minHold and direction matches onlyOnDrop, start a ghost:
ghostVal := hh (the previous level)
ghostLeft := ghostLen
Ghost series:
While ghostLeft > 0, output ghostVal; otherwise output na.
It’s plotted with plot.style_linebr so the line appears as short, clean horizontal segments instead of connecting across gaps.
Why it stays synced to price
The indicator uses overlay=true, scale=scale.right, format=format.price, and pure series plot().
No line.new() objects → no “stuck on screen” behavior when panning/zooming.
Tips & customization
If your chart is a line chart (close), set basis = Close so visuals align perfectly.
Want ghosts on both directions? Turn off onlyOnDrop.
Make ghosts subtler by increasing ghostTrans (e.g., 60–80).
If ghosts appear too often or too rarely, tune minHold and len.
Larger minHold = only long, meaningful plateaus will create ghosts.
Edge cases
If len is very small or the market is very volatile, plateaus may be rare → fewer ghosts.
If the stair level changes almost every few bars, raise len or minHold.
한글 설명서
기능 요약
최근 len개 바 기준의 롤링 최고가 hh를 그립니다. 값이 바뀔 때마다 계단식(step)으로 변합니다.
어떤 계단이 최소 minHold봉 이상 유지된 뒤 스텝이 끝나면, 직전 레벨을 기준으로 우측 ghostLen봉짜리 수평선(고스트) 을 그립니다.
기본값은 하락 스텝에서만 고스트를 생성(onlyOnDrop=true). 꺼두면 상승 스텝에서도 만듭니다.
전부 plot() 시리즈 기반 + 우측 가격 스케일 고정 → 차트와 완전히 동기화됩니다.
입력값
len — 롤링 최고가 계산 윈도우(바 수).
basis — 최고가 계산에 사용할 기준: High / Close / HLC3 / OHLC4.
minHold — 플래토(같은 값 유지) 최소 길이. 이 이상 유지된 스텝만 고스트 대상.
ghostLen — 우측으로 고스트를 유지할 바 수.
onlyOnDrop — 체크 시 하락 스텝에서만 고스트 생성(기본). 해제하면 상승 스텝도 생성.
표시 옵션: 본선(mainColor/mainWidth), 고스트(ghostColor/ghostTrans/ghostWidth).
동작 원리
롤링 최고가:
hh = ta.highest(src, len) → 계단형 라인.
스텝 변화 감지:
stepUp = hh > hh , stepDown = hh < hh
startUp / startDown 으로 첫 바만 잡아 중복 트리거 방지.
플래토 길이(runLen):
hh가 같은 값으로 연속된 길이를 누적:
runLen := (hh == hh ) ? runLen + 1 : 1
자격 판정:
스텝이 바뀌는 첫 바에서 직전 플래토 길이 prevHold = runLen 가 minHold 이상이고, 방향이 설정(onlyOnDrop)과 맞으면 고스트 시작:
ghostVal := hh (직전 레벨)
ghostLeft := ghostLen
고스트 출력:
ghostLeft > 0 동안 ghostVal을 출력, 아니면 na.
plot.style_linebr로 짧은 수평 구간만 보이게 합니다(NA 구간에서 선을 끊음).
가격과 동기화되는 이유
overlay=true, scale=scale.right, format=format.price로 가격 스케일에 고정, 그리고 모두 plot() 시리즈로 그립니다.
line.new() 같은 도형 객체를 쓰지 않아 스크롤/줌 시 화면에 박히는 현상이 없습니다.
활용 팁
차트를 라인(종가) 로 보신다면 basis = Close로 맞추면 시각적으로 더욱 정확히 겹칩니다.
고스트가 너무 자주 나오면 minHold를 올리거나 len을 키워서 스텝 빈도를 낮추세요.
고스트를 더 은은하게: ghostTrans 값을 크게(예: 60–80).
저항/지지 라인처럼 보이게 하려면 기본 설정(onlyOnDrop=true)이 잘 맞습니다.
주의할 점
변동성이 큰 종목/타임프레임에선 플래토가 짧아 고스트가 드물 수 있습니다.
len이 너무 작으면 스텝이 잦아져 노이즈가 늘 수 있습니다.