High_Low levelsThis indicator plots the Previous Day and Premarket High and Low Levels. Can be configured to change colors and line style.
Penunjuk dan strategi
High Probability FVG Detector (MTF)Utilizes the logic behind why Fair Value Gaps exist in the first place; momentum leaving orders partially filled, therefore leaving resting liquidity that still needs to be filled. The more orders remaining, the higher the likelihood of price revisiting. However, there are high quality fair value gaps and low quality fair value gaps. High quality FVG's (the one's most likely to act as support/resistance) would likely be formed during high liquidity. This creates a more volume saturated zone. Saturation meaning remaining orders at each tick level, or as close as possible. Low quality FVG's would be one's formed during low liquidity, which price movement range is more related to gaps in the order book (thin ladder) rather than volume based momentum. Due to the limitations of Pine Script I don't have access to DOM/Order Book functionality but this indicator will make use of volume. Here is the executive summary:
FVG Detection: It scans the price action for the specific three-candle pattern that defines a bullish or bearish FVG.
Multi-Timeframe (MTF) Capability: It allows you to detect FVGs on a timeframe different from the one currently displayed on your chart (e.g., find 1-hour FVGs while looking at a 5-minute chart).
Probability Filtering: It attempts to classify FVGs based on the conditions during their formation.
Volume Filter: Checks if the FVG was formed with volume significantly higher than average (indicating strong participation).
Candle Range Filter: Checks if the FVG was formed by a candle with a significantly larger range than average (using ATR, indicating strong momentum/volatility).
Differentiated Coloring: It visually distinguishes between different types of FVGs using different colors.
High Probability: FVGs that meet the enabled Volume and/or Range filter criteria.
Low Volume: FVGs that specifically fail the Volume filter (when enabled), potentially indicating weaker conviction.
Regular: FVGs that don't meet any specific filter criteria (if the option to show them is enabled).
Mitigation Tracking: It monitors if the price later trades back into the identified FVG zone (based on either the wick touching or the body closing within the zone, selectable by the user) and changes the color of the FVG box once this happens.
Visual Display: It draws colored boxes representing the price range of the FVGs, optionally extending unmitigated boxes into the future for easy visibility.
In essence, the indicator aims to automate the detection of these price inefficiencies, filter them based on volume and momentum characteristics, and track when they are revisited by price, providing traders with visual cues about potentially significant support/resistance zones and/or target zones for trading into.
Buy/Sell Signal - RSI + EMA + MACDSignal 'Buy' if all of the following three conditions are true
Rsi crosses above 55
Ema 9 crosses over ema 21
Macd histogram shows second green on
Signal 'Sell' if all of the following three conditions are true
Rsi crosses below 45
Ema 9 crosses below Ema 21
Macd histogram shows second red on
Parameter Free RSI [InvestorUnknown]The Parameter Free RSI (PF-RSI) is an innovative adaptation of the traditional Relative Strength Index (RSI), a widely used momentum oscillator that measures the speed and change of price movements. Unlike the standard RSI, which relies on a fixed lookback period (typically 14), the PF-RSI dynamically adjusts its calculation length based on real-time market conditions. By incorporating volatility and the RSI's deviation from its midpoint (50), this indicator aims to provide a more responsive and adaptable tool for identifying overbought/oversold conditions, trend shifts, and momentum changes. This adaptability makes it particularly valuable for traders navigating diverse market environments, from trending to ranging conditions.
PF-RSI offers a suite of customizable features, including dynamic length variants, smoothing options, visualization tools, and alert conditions.
Key Features
1. Dynamic RSI Length Calculation
The cornerstone of the PF-RSI is its ability to adjust the RSI calculation period dynamically, eliminating the need for a static parameter. The length is computed using two primary factors:
Volatility: Measured via the standard deviation of past RSI values.
Distance from Midpoint: The absolute deviation of the RSI from 50, reflecting the strength of bullish or bearish momentum.
The indicator offers three variants for calculating this dynamic length, allowing users to tailor its responsiveness:
Variant I (Aggressive): Increases the length dramatically based on volatility and a nonlinear scaling of the distance from 50. Ideal for traders seeking highly sensitive signals in fast-moving markets.
Variant II (Moderate): Combines volatility with a scaled distance from 50, using a less aggressive adjustment. Strikes a balance between responsiveness and stability, suitable for most trading scenarios.
Variant III (Conservative): Applies a linear combination of volatility and raw distance from 50. Offers a stable, less reactive length adjustment for traders prioritizing consistency.
// Function that returns a dynamic RSI length based on past RSI values
// The idea is to make the RSI length adaptive using volatility (stdev) and distance from the RSI midpoint (50)
// Different "variant" options control how aggressively the length changes
parameter_free_length(free_rsi, variant) =>
len = switch variant
// Variant I: Most aggressive adaptation
// Uses standard deviation scaled by a nonlinear factor of distance from 50
// Also adds another distance-based term to increase length more dramatically
"I" => math.ceil(
ta.stdev(free_rsi, math.ceil(free_rsi)) *
math.pow(1 + (math.ceil(math.abs(50 - (free_rsi - 50))) / 100), 2)
) +
(
math.ceil(math.abs(free_rsi - 50)) *
(1 + (math.ceil(math.abs(50 - (free_rsi - 50))) / 100))
)
// Variant II: Moderate adaptation
// Adds the standard deviation and a distance-based scaling term (less nonlinear)
"II" => math.ceil(
ta.stdev(free_rsi, math.ceil(free_rsi)) +
(
math.ceil(math.abs(free_rsi - 50)) *
(1 + (math.ceil(math.abs(50 - (free_rsi - 50))) / 100))
)
)
// Variant III: Least aggressive adaptation
// Simply adds standard deviation and raw distance from 50 (linear scaling)
"III" => math.ceil(
ta.stdev(free_rsi, math.ceil(free_rsi)) +
math.ceil(math.abs(free_rsi - 50))
)
2. Smoothing Options
To refine the dynamic RSI and reduce noise, the PF-RSI provides smoothing capabilities:
Smoothing Toggle: Enable or disable smoothing of the dynamic length used for RSI.
Smoothing MA Type for RSI MA: Choose between SMA and EMA
Smoothing Length Options for RSI MA:
Full: Uses the entire calculated dynamic length.
Half: Applies half of the dynamic length for smoother output.
SQRT: Uses the square root of the dynamic length, offering a compromise between responsiveness and smoothness.
The smoothed RSI is complemented by a separate moving average (MA) of the RSI itself, further enhancing signal clarity.
3. Visualization Tools
The PF-RSI includes visualization options to help traders interpret market conditions at a glance.
Plots:
Dynamic RSI: Displayed as a white line, showing the adaptive RSI value.
RSI Moving Average: Plotted in yellow, providing a smoothed reference for trend and momentum analysis.
Dynamic Length: A secondary plot (in faint white) showing how the calculation period evolves over time.
Histogram: Represents the RSI’s position relative to 50, with color gradients.
Fill Area: The space between the RSI and its MA is filled with a gradient (green for RSI > MA, red for RSI < MA), highlighting momentum shifts.
Customizable bar colors on the price chart reflect trend and momentum:
Trend (Raw RSI): Green (RSI > 50), Red (RSI < 50).
Trend (RSI MA): Green (MA > 50), Red (MA < 50).
Trend (Raw RSI) + Momentum: Adds momentum shading (lighter green/red when RSI and MA diverge).
Trend (RSI MA) + Momentum: Similar, but based on the MA’s trend.
Momentum: Green (RSI > MA), Red (RSI < MA).
Off: Disables bar coloring.
Intrabar Updating: Optional real-time updates within each bar for enhanced responsiveness.
4. Alerts
The PF-RSI supports customizable alerts to keep traders informed of key events.
Trend Alerts:
Raw RSI: Triggers when the RSI crosses above (uptrend) or below (downtrend) 50.
RSI MA: Triggers when the moving average crosses 50.
Off: Disables trend alerts.
Momentum Alerts:
Triggers when the RSI crosses its moving average, indicating rising (RSI > MA) or declining (RSI < MA) momentum.
Alerts are fired once per bar close, with descriptive messages including the ticker symbol (e.g., " Uptrend on: AAPL").
How It Works
The PF-RSI operates in a multi-step process:
Initialization
On the first run, it calculates a standard RSI with a 14-period length to seed the dynamic calculation.
Dynamic Length Computation
Once seeded, the indicator switches to a dynamic length based on the selected variant, factoring in volatility and distance from 50.
If smoothing is enabled, the length is further refined using an SMA.
RSI Calculation
The adaptive RSI is computed using the dynamic length, ensuring it reflects current market conditions.
Moving Average
A separate MA (SMA or EMA) is applied to the RSI, with a length derived from the dynamic length (Full, Half, or SQRT).
Visualization and Alerts
The results are plotted, and alerts are triggered based on user settings.
This adaptive approach minimizes lag in fast markets and reduces false signals in choppy conditions, offering a significant edge over fixed-period RSI implementations.
Why Use PF-RSI?
The Parameter Free RSI stands out by eliminating the guesswork of selecting an RSI period. Its dynamic length adjusts to market volatility and momentum, providing timely signals without manual tweaking.
Hourly FVG with Swing Signals + Alertshighlights fair value gaps at the top of each hour during New york session. buy and sell signals with swing highs/ lows in the FVG.
ICT Killzones + Macros [TakingProphets]The "ICT Killzones + Macros" indicator is a comprehensive market structure and session visualizer built for day traders and ICT (Inner Circle Trader) method followers. It plots key session zones, previous highs/lows, and macro time blocks to help identify liquidity zones, entry windows, and price reactions.
SMA + Heiken Ashi Signals with BB Width Filter (Toggle + Label)🎯 Purpose
This script gives Buy, Sell, Exit Buy, and Exit Sell signals based on:
SMA crossovers
Heiken Ashi candle trend reversal
Bollinger Band Width filter to avoid trades in sideways markets
It’s designed for clean signal-only trading, with no actual order execution — ideal for discretionary or alert-based traders.
🧠 Logic Explained
✅ 1. Entry Signals (Buy/Sell)
Based on a fast SMA crossing a slow SMA
→ Uses 1-minute data (via request.security) for faster signal generation even on higher timeframes.
Only triggers if:
✅ Price is trending in the direction of the trade (above or below a 50-period SMA)
✅ Bollinger Band width is wide enough, indicating a strong trend
✅ You're not already in that direction (prevents duplicate signals)
❌ 2. Exit Signals (Exit Buy / Exit Sell)
Based on 3-minute Heiken Ashi candles
Exit Buy when: Heiken Ashi candle turns red (bearish)
Exit Sell when: Heiken Ashi candle turns green (bullish)
This smooths out the exit and prevents premature exits from short-term noise.
📊 3. Bollinger Band Width Filter
Measures distance between BB upper & lower bands
Normalized by dividing by the midline (basis) → bbWidth
If bbWidth < minWidth, signals are blocked to avoid consolidating markets
You can toggle this filter on/off and adjust the minWidth input.
🔁 4. Trade State Tracking
Uses two var bool flags:
inLong: True if in a long position
inShort: True if in a short position
Prevents the script from repeating signals until an exit occurs
Parsifal.Swing.CompositeThe Parsifal.Swing.Composite indicator is a module within the Parsifal Swing Suite, which includes a set of swing indicators such as:
• Parsifal Swing TrendScore
• Parsifal Swing Composite
• Parsifal Swing RSI
• Parsifal Swing Flow
Each module serves as an indicator facilitating judgment of the current swing state in the underlying market.
________________________________________
Background
Market movements typically follow a time-varying trend channel within which prices oscillate. These oscillations—or swings—within the trend are inherently tradable.
They can be approached:
• One-sidedly, aligning with the trend (generally safer), or
• Two-sidedly, aiming to profit from mean reversions as well.
Note: Mean reversions in strong trends often manifest as sideways consolidations, making one-sided trades more stable.
________________________________________
The Parsifal Swing Suite
The modules aim to provide additional insights into the swing state within a trend and offer various trigger points to assist with entry decisions.
All modules in the suite act as weak oscillators, meaning they fluctuate within a range but are not bounded like true oscillators (e.g., RSI, which is constrained between 0% and 100%).
________________________________________
The Parsifal.Swing.Composite – Specifics
This module consolidates multiple insights into price swing behavior, synthesizing them into an indicator reflecting the current swing state.
It employs layered bagging and smoothing operations based on standard price inputs (OHLC) and classical technical indicators. The module integrates several slightly different sub-modules.
Process overview:
1. Per candle/bin, sub-modules collect directional signals (up/down), with each signal casting a vote.
2. These votes are aggregated via majority counting (bagging) into a single bin vote.
3. Bin votes are then smoothed, typically with short-term EMAs, to create a sub-module vote.
4. These sub-module votes are aggregated and smoothed again to generate the final module vote.
The final vote is a score indicating the module’s assessment of the current swing state. While it fluctuates in a range, it's not a true oscillator, as most inputs are normalized via Z-scores (value divided by standard deviation over a period).
• Historically high or low values correspond to high or low quantiles, suggesting potential overbought or oversold conditions.
• The chart displays a fast (orange) and slow (white) curve against a solid background state.
• Extreme values followed by curve reversals may signal upcoming mean-reversions.
Background Value:
• Value > 0: shaded green → bullish mode
• Value < 0: shaded red → bearish mode
• The absolute value indicates confidence in the mode.
________________________________________
How to Use the Parsifal.Swing.Composite
Several change points in the indicator serve as potential entry triggers:
• Fast Trigger: change in slope of the fast curve
• Trigger: fast line crossing the slow line or change in the slow curve’s slope
• Slow Trigger: change in sign of the background value
These are illustrated in the introductory chart.
Additionally, market highs and lows aligned with swing values may act as pivot points, support, or resistance levels for evolving price processes.
________________________________________
As always, supplement this indicator with other tools and market information. While it provides valuable insights and potential entry points, it does not predict future prices. It reflects recent tendencies and should be used judiciously.
________________________________________
Extensions
All modules in the Parsifal Swing Suite are simple yet adaptable, whether used individually or in combination.
Customization options:
• Weights in EMAs for smoothing are adjustable
• Bin vote aggregation (currently via sum-of-experts) can be modified
• Alternative weighting schemes can be tested
Advanced options:
• Bagging weights may be historical, informational, or relevance-based
• Selection algorithms (e.g., ID3, C4.5, CAT) could replace the current bagging approach
• EMAs may be generalized into expectations relative to relevance-based probability
• Negative weights (akin to wavelet transforms) can be incorporated
MarketCap_FreeFloatGive you market cap and free float instantly..
Considers TOTAL_SHARES_OUTSTANDING & FLOAT_SHARES_OUTSTANDING
Multiplies by
// Calculate metrics in crores
MarketCap = Outstanding * close
FreeFloat = free_float * close
Values are in INR (Crores)
Yosef26 - Hierarchical Decision Model//@version=5
indicator("Yosef26 - Hierarchical Decision Model", overlay=true)
// === Moving Averages ===
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
// === Candle Components ===
priceRange = high - low
body = math.abs(close - open)
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
volSMA = ta.sma(volume, 20)
// === Volume Momentum ===
volUp3 = (volume > volume ) and (volume > volume )
// === Candlestick Pattern Detection ===
bullishEngulfing = (close < open ) and (close > open) and (close > open ) and (open < close )
bearishEngulfing = (close > open ) and (close < open) and (close < open ) and (open > close )
doji = body < (priceRange * 0.1)
hammer = (lowerWick > body * 2) and (upperWick < body) and (close > open)
shootingStar = (upperWick > body * 2) and (lowerWick < body) and (close < open)
// === Multi-Timeframe Trend Detection ===
monthlyTrendUp = request.security(syminfo.tickerid, "M", close > ta.sma(close, 50))
weeklyTrendUp = request.security(syminfo.tickerid, "W", close > ta.sma(close, 50))
dailyTrendUp = close > ta.sma(close, 50)
// === Support/Resistance Zones ===
atSupport = low <= ta.lowest(low, 5)
atResistance = high >= ta.highest(high, 5)
// === Breakout Detection ===
breakoutAboveResistance = close > ta.highest(high , 5) and volume > volSMA and close > ema50
// === Confirming Candles ===
twoGreenCandles = (close > open) and (close > open )
twoRedCandles = (close < open) and (close < open )
// === Overextension Filter ===
overbought = close > ema20 * 1.05
// === Entry/Exit Conditions Tracking ===
var int lastEntryBar = na
var int lastExitBar = na
minBarsBetweenEntries = 10
canEnter = na(lastEntryBar) or (bar_index - lastEntryBar >= minBarsBetweenEntries and bar_index - lastExitBar >= minBarsBetweenEntries)
// === Continuation Filter (3 green candles with volume rise) ===
bullContinuation = (close > open) and (close > open ) and (close > open ) and (volume > volume ) and (volume > volume )
// === Entry Price Tracking ===
var float entryPrice = na
// === Weakness After Uptrend for Exit ===
recentGreenTrend = (close > open ) and (close > open ) and (close > open )
reversalCandle = shootingStar or bearishEngulfing or doji
reversalVolumeDrop = (volume < volume ) and (volume < volume )
signalWeakness = recentGreenTrend and reversalCandle and reversalVolumeDrop
// === Scoring System ===
entryScore = 0
entryScore := entryScore + (atSupport ? 3 : 0)
entryScore := entryScore + (bullishEngulfing ? 3 : 0)
entryScore := entryScore + (hammer ? 2 : 0)
entryScore := entryScore + (volUp3 ? 2 : 0)
entryScore := entryScore + ((volume > volSMA) ? 2 : 0)
entryScore := entryScore + ((close > ema20 or close > ema50) ? 1 : 0)
entryScore := entryScore + ((close > close ) ? 1 : 0)
entryScore := entryScore + (breakoutAboveResistance ? 2 : 0)
entryScore := entryScore + (twoGreenCandles ? 1 : 0)
entryScore := entryScore - (overbought ? 2 : 0)
entryScore := entryScore + ((monthlyTrendUp and weeklyTrendUp and dailyTrendUp) ? 2 : 0)
exitScore = 0
exitScore := exitScore + (atResistance ? 3 : 0)
exitScore := exitScore + (bearishEngulfing ? 3 : 0)
exitScore := exitScore + (shootingStar ? 2 : 0)
exitScore := exitScore + (doji ? 1 : 0)
exitScore := exitScore + ((volume < volSMA * 1.1) ? 1 : 0)
exitScore := exitScore + ((close < ema50) ? 1 : 0)
exitScore := exitScore + ((close < close ) ? 1 : 0)
exitScore := exitScore + (twoRedCandles ? 1 : 0)
exitScore := exitScore + ((not dailyTrendUp and not weeklyTrendUp) ? 2 : 0)
exitScore := exitScore + (signalWeakness ? 2 : 0)
// === Profit Target Exit Condition ===
profitTargetHit = not na(entryPrice) and close >= entryPrice * 1.09
profitZoneSignal = (atResistance or shootingStar or bearishEngulfing) and volume > volSMA
isNewHigh = high >= ta.highest(high, 50)
exitAtProfitTarget = profitTargetHit and profitZoneSignal and not isNewHigh
// === Final Decision Thresholds ===
entryCond1 = entryScore >= 8
entryCond2 = entryScore >= 6 and breakoutAboveResistance and volume > volSMA and close > ema50
entryCond3 = monthlyTrendUp and weeklyTrendUp and (close > ema50 or volume > volSMA or twoGreenCandles)
entryCond = (entryCond1 or entryCond2 or entryCond3) and canEnter
exitCondRaw = (exitScore >= 7)
exitCond = (exitCondRaw and not bullContinuation) or exitAtProfitTarget
// === Position Tracking ===
var bool inPosition = false
var int barsInPosition = 0
var label entryLabel = na
var label exitLabel = na
if entryCond and not inPosition
inPosition := true
barsInPosition := 0
lastEntryBar := bar_index
entryPrice := close
entryLabel := label.new(bar_index, close, "Entry @" + str.tostring(close), style=label.style_label_up, color=color.green, textcolor=color.white)
if inPosition
barsInPosition += 1
if exitCond and inPosition
inPosition := false
barsInPosition := 0
lastExitBar := bar_index
exitLabel := label.new(bar_index, close, "Exit @" + str.tostring(close), style=label.style_label_down, color=color.red, textcolor=color.white)
// === Alerts ===
alertcondition(entryCond, title="Entry Alert", message="Yosef26: Entry Signal (Hierarchical Model)")
alertcondition(exitCond, title="Exit Alert", message="Yosef26: Exit Signal (Hierarchical Model)")
Institutional Smart Money VolumeInstitutional Smart Money Volume (Inverse VWAP)
This custom Pine Script indicator helps identify institutional trading activity through Volume and the VWAP (Volume Weighted Average Price). It uses Volume Multiplier and Relative Volume (RVOL) to detect high-volume institutional trades and integrates VWAP analysis to generate long and short entry signals.
Key Features:
Volume Multiplier: Signals appear when the volume is significantly higher than the average, indicating institutional participation.
VWAP Analysis:
Long Signals: Triggered when price is above the VWAP, indicating bullish market conditions.
Short Signals: Triggered when price is below the VWAP, signaling potential short opportunities.
Volume Bar Coloring:
Soft Green Bars for bullish conditions (price above open).
Soft Red Bars for bearish conditions (price below open).
Entry Signals:
Yellow Circle for long (buy) signals when price is above VWAP.
Red Circle for short (sell) signals when price is below VWAP.
How to Use:
Look for yellow circles above the bars for potential long entries when the price is above the VWAP and there is strong volume.
Watch for red circles below the bars for potential short entries when the price is below the VWAP and there is strong volume.
Use the color-coded soft green and soft red bars to gauge market sentiment and price direction.
Perfect for:
Day traders who focus on high-volume trades and institutional activity.
Traders who utilize VWAP and volume-based strategies to find optimal entry points.
Traders seeking to track institutional smart money flows in real-time.
Disclaimer: This indicator is designed for educational purposes and should be used in conjunction with other technical analysis tools. Always manage risk when trading.
BTC Fair Value via Global Liquidity📈 BTC Fair Value via Global Liquidity
This indicator estimates Bitcoin's fair value based on a regression model using Global Liquidity (GLI) data from major central banks.
🔍 How it works:
Fair Value Line (orange): Calculated using a power-law model: Fair Value = e^b * (GLI)^a, where a and b are user-defined parameters based on historical regression.
Global Liquidity (GLI): Combines liquidity metrics from central banks (Fed, ECB, PBoC, BoJ, etc.), including adjustments for the RRP and TGA.
Deviation Bands (green/red dashed): Optional upper and lower bands showing % deviation from fair value (default ±25%). These help identify overbought/oversold conditions.
Delta Plot (gray dots): Displays the % deviation of BTC’s price from its modeled fair value.
⚙️ How to use:
Tune a and b for better model fitting (e.g., via log-log regression).
Use the deviation bands to identify potential entry/exit zones or periods of market inefficiency.
Ideal for macro-level BTC valuation and long-term strategic analysis.
50 & 200 SMA Death CrossSimple 50 and 200 Simple Moving Average Script with customizations. You can use these on the Daily Timeframe to confirm the "Death Cross" when trading Bitcoin. Right before the "Death Cross" happens the price usually dumps, and Right as they cross the price usually pumps. (Bitcoin must be in a bull market already)
Created by: Dan Heilman (www.youtube.com)
Automated Trading Session: New York KillzoneAutomated Trading Session: New York Killzone (Timezone & DST Aware)
This indicator tracks the New York Killzone session using intraday data and real-time timezone adjustments. It draws high/low boxes after the session ends and highlights the active session on your chart, making it ideal for traders focused on U.S. market volatility.
Key Features
Timezone & DST Support
Accurately reflects session timing based on your selected timezone and daylight saving settings.
Custom Session Input
Set your preferred New York Killzone hours (default: 08:00–09:30 New York time).
Visual Session Boxes
High/low ranges of the session are boxed on the chart for quick reference.
End-of-Session Alert
Get notified when the session closes, supporting both manual and automated workflows.
On-Chart Info Table
Displays active session time and timezone directly on the chart.
Tolga's EMA Scalper – Buy / SellEMA line – Calculates a 20‑period Exponential Moving Average (EMA) of the chosen price series (close by default) and plots it in blue.
8‑bar range – Finds the highest and lowest closing prices over the last 8 bars and plots them as a red upper band and a green lower band, giving you a mini‑range reference.
Buy / Sell signals –
Sell: When price crosses the EMA and the current close is lower than the previous close, a red “Sell” arrow appears above the bar.
Buy: When price crosses the EMA and the current close is higher than the previous close, a green “Buy” arrow appears below the bar.
Alerts – Two alertcondition rules let TradingView fire alerts whenever a buy or sell signal is generated.
TMC - THE MAGICAL CORD by MrCryptoBTCTMC - THE MAGICAL CORD By MrCryptoBTC (Not For Sale - FREE)
The "TMC - THE MAGICAL CORD" indicator by MrCryptoBTC is a simple trend-following tool designed for TradingView, utilizing Volume-Weighted Average Price (VWAP) crossovers to identify market trends and generate trading signals. It plots two VWAP lines—a fast VWAP and a slow VWAP—and uses their relationship to determine trend direction. The indicator provides "BUY" signals for entering bullish trends and "SELL" signals for entering bearish trends. The VWAP lines are dynamically coloured to reflect the trend, and alerts are included to notify traders of trend changes.
How It Works
1. Trend Identification:
* The indicator calculates two VWAPs: a fast VWAP (fast_length) and a slow VWAP (slow_length), both weighted by volume using the rma (Running Moving Average) function applied to the product of hlc3(average of high, low, and close) and volume, divided by the rma of volume.
* A Buy trend is identified when the fast VWAP crosses above the slow VWAP, triggering a "BUY" signal with a cyan label above the candle.
* A Sell trend is identified when the fast VWAP crosses below the slow VWAP, triggering a "SELL" signal with a red label below the candle.
* The VWAP lines are plotted with dynamic coloring: green during an uptrend (fast VWAP > slow VWAP), red during a downtrend (fast VWAP < slow VWAP), and silver when neutral.
2. Visualization:
* The fast and slow VWAP lines are plotted on the chart, with a filled area between them to visually highlight the trend direction.
* "BUY" and "SELL" labels are placed at the high or low of the candle where the crossover occurs, providing clear entry signals.
3. Alerts:
* Alerts are set up for "BUY" and "SELL" signals, notifying traders of trend changes with messages like "VWAP GREEN - Buy Signal" and "VWAP RED - Sell Signal."
Recommended Setup
* Timeframes:
* Scalping/Day Trading: Use on lower timeframes like 5-minute or 15-minute charts for quicker signals.
* Swing Trading: Use on higher timeframes like 1-hour or 4-hour charts for more reliable trends.
Gaps EnhancedThis advanced gap detection tool identifies and visualizes price gaps on trading charts, helping traders spot potential support/resistance levels and trading opportunities.
🔲 Components and Features
Visual gap boxes with directional coloring
Dynamic labels showing key price levels
Smart sorting of nearest gaps
Customizable appearance
Key Features
Gap Visualization
Colored boxes (orange for support, green for resistance)
Dashed lines marking gap boundaries
Right-aligned price labels
Smart Gap Table
Shows 5 most relevant open gaps
Sorted by proximity to current price
Displays required move percentage to fill each gap
Customization Options
Adjustable gap size threshold
Color customization
Label positioning controls
Table location settings
How To Use
Basic Interpretation
Orange boxes: Price gaped up might come back (support zones)
Green boxes: Price gaped down price might come back to close the gap (resistance zones)
The table shows how much the price needs to move to fill each gap (as percentage)
Trading Applications
Look for price reactions near gap levels
Trade bounces off support/resistance gaps
Watch for gap fills as potential trend continuation signals
Use nearest gaps as profit targets
Settings Guide
Minimal Deviation: Set minimum gap size
Max Number of Gaps: Limits how many gaps are tracked
Visual Settings: Customize colors and label positions
Table Position: Choose where the info table appears
Pro Tips
Combine with other indicators for confirmation
Watch for volume spikes at gap levels
Larger gaps often act as stronger S/R
Buy Signal: Match TV Envelope & 52W LowThis indicator shows buy signals when price touches both the 52-week low and the 25% envelope band (EMA 200). Built for long term value entries.
ETH to RTH Gap DetectorETH to RTH Gap Detector
What It Does
This indicator identifies and tracks custom-defined gaps that form between Extended Trading Hours (ETH) and Regular Trading Hours (RTH). Unlike traditional gap definitions, this indicator uses a specialized approach - defining up gaps as the space between previous session close high to current session initial balance low, and down gaps as the space from previous session close low to current session initial balance high. Each detected gap is monitored until it's touched by price.
Key Features
Detects custom-defined ETH-RTH gaps based on previous session close and current session initial balance
Automatically identifies both up gaps and down gaps
Visualizes gaps with color-coded boxes that extend until touched
Tracks when gaps are filled (when price touches the gap area)
Offers multiple display options for filled gaps (color change, border only, pattern, or delete)
Provides comprehensive statistics including total gaps, up/down ratio, and touched gap percentage
Includes customizable alert system for real-time gap filling notifications
Features toggle options for dashboard visibility and weekend sessions
Uses time-based box coordinates to avoid common TradingView drawing limitations
How To Use It
Configure Session Times : Set your preferred RTH hours and timezone (default 9:30-16:00 America/New York)
Set Initial Balance Period : Adjust the initial balance period (default 30 minutes) for gap detection sensitivity
Monitor Gap Formation : The indicator automatically detects gaps between the previous session close and current session IB
Watch For Gap Fills : Gaps change appearance or disappear when price touches them, based on your selected style
Check Statistics : View the dashboard to see total gaps, directional distribution, and touched percentage
Set Alerts : Enable alerts to receive notifications when gaps are filled
Settings Guide
RTH Settings : Configure the start/end times and timezone for Regular Trading Hours
Initial Balance Period : Controls how many minutes after market open to calculate the initial balance (1-240 minutes)
Display Settings : Toggle gap boxes, extension behavior, and dashboard visibility
Filled Box Style : Choose how filled gaps appear - Filled (color change), Border Only, Pattern, or Delete
Color Settings : Customize colors for up gaps, down gaps, and filled gaps
Alert Settings : Control when and how alerts are triggered for gap fills
Weekend Session Toggle : Option to include or exclude weekend trading sessions
Technical Details
The indicator uses time-based coordinates (xloc.bar_time) to prevent "bar index too far" errors
Gap boxes are intelligently limited to avoid TradingView's 500-bar drawing limitation
Box creation and fill detection use proper range intersection logic for accuracy
Session detection is handled using TradingView's session string format for reliability
Initial balance detection is precisely calculated based on time difference
Statistics calculations exclude zero-division scenarios for stability
This indicator works best on futures markets with extended and regular trading hours, especially indices (ES, NQ, RTY) and commodities. Performs well on timeframes from 1-minute to 1-hour.
What Makes It Different
Most gap indicators focus on traditional open-to-previous-close gaps, but this tool offers a specialized definition more relevant to ETH/RTH transitions. By using the initial balance period to define gap edges, it captures meaningful price discrepancies that often provide trading opportunities. The indicator combines sophisticated gap detection logic with clean visualization and comprehensive tracking statistics. The customizable fill styles and integrated alert system make it practical for both chart analysis and active trading scenarios.
Monday High/LowShows Monday High and Low throughout the week with tags to the trendlines. Updates every Monday and shows the two values constantly.
RSI + RSI MA + Choppiness IndexThe indicator is an extension of the Chopiness & RSI Index but takes it one step further by adding the RSI based MA .
Strong uptrend occurs when the RSI is at least 15% above the RSI based MA and the choppiness index value is below the RSI based MA.
Strong downtrend occurs when the Choppiness index line is at least 15% above the RSI based MA and the RSI is below the RSI based MA.
When both the RSI and Chopiness index are above the RSI based MA, this can mean either an uptrend or approaching downtrend.
When both the RSI and Chopiness index are below the RSI based MA, this can mean either an downtrend or approaching uptrend.
*Use at own risk.
Model+ - Trendlines & S/R//@version=5
indicator("Model+ - Trendlines & S/R", overlay=true)
// === Parameters ===
length = input.int(20, title="Pivot Length")
lookback = input.int(252, title="Lookback Period (trading days ~ 1 year)", minval=1, maxval=5000)
minTouches = input.int(2, title="Minimum Touches for Valid S/R")
maxLines = input.int(15, title="Max Lines")
tolerance = input.float(1.5, title="Price Tolerance for S/R Match")
// === Arrays to Store Pivot Points ===
var line supportLines = array.new_line()
var line resistanceLines = array.new_line()
var float supportLevels = array.new_float()
var float resistanceLevels = array.new_float()
// === Function to Check Pivot High ===
isPivotHigh(src, len, idx) =>
idxValid = idx - len >= 0 and idx + len < bar_index and idx < 5000
result = true
if idxValid
for j = 1 to len
result := result and src > src and src > src
else
result := false
result
// === Function to Check Pivot Low ===
isPivotLow(src, len, idx) =>
idxValid = idx - len >= 0 and idx + len < bar_index and idx < 5000
result = true
if idxValid
for j = 1 to len
result := result and src < src and src < src
else
result := false
result
// === Helper Function: Count Nearby Pivots ===
countTouches(src, level, lookbackBars) =>
count = 0
maxBack = math.min(lookbackBars, bar_index)
for j = 0 to maxBack - 1
if math.abs(src - level) <= tolerance
count := count + 1
count
// === Loop Over Past Bars to Find S/R Levels ===
startIdx = math.max(length, bar_index - math.min(lookback, 4500))
endIdx = bar_index - length
if bar_index > startIdx + length
for i = startIdx to endIdx by 1
if isPivotHigh(high, length, i)
lvl = high
touches = countTouches(high, lvl, lookback)
if touches >= minTouches
l = line.new(x1=i, y1=lvl, x2=bar_index, y2=lvl, color=color.red, width=1)
array.push(resistanceLines, l)
array.push(resistanceLevels, lvl)
if isPivotLow(low, length, i)
lvl = low
touches = countTouches(low, lvl, lookback)
if touches >= minTouches
l = line.new(x1=i, y1=lvl, x2=bar_index, y2=lvl, color=color.green, width=1)
array.push(supportLines, l)
array.push(supportLevels, lvl)
// === Clean Up Old Lines ===
while array.size(resistanceLines) > maxLines
line.delete(array.shift(resistanceLines))
array.shift(resistanceLevels)
while array.size(supportLines) > maxLines
line.delete(array.shift(supportLines))
array.shift(supportLevels)