Trend Line Methods (TLM)Trend Line Methods (TLM)
Overview
Trend Line Methods (TLM) is a visual study designed to help traders explore trend structure using two complementary, auto-drawn trend channels. The script focuses on how price interacts with rising or falling boundaries over time. It does not generate trade signals or manage risk; its purpose is to support discretionary chart analysis.
Method 1 – Pivot Span Trendline
The Pivot Span Trendline method builds a dynamic channel from major swing points detected by pivot highs and pivot lows.
• The script tracks a configurable number of recent pivot highs and lows.
• From the oldest and most recent stored pivot highs, it draws an upper trend line.
• From the oldest and most recent stored pivot lows, it draws a lower trend line.
• An optional filled area can be drawn between the two lines to highlight the active trend span.
As new pivots form, the lines are recalculated so that the channel evolves with market structure. This method is useful for visualising how price respects a trend corridor defined directly by swing points.
Method 2 – 5-Point Straight Channel
The 5-Point Straight Channel method approximates a straight trend channel using five key points extracted from a fixed lookback window.
Within the selected window:
• The window is divided into five segments of similar length.
• In each segment, the highest high is used as a representative high point.
• In each segment, the lowest low is used as a representative low point.
• A straight regression-style line is fitted through the five high points to form the upper boundary.
• A second straight line is fitted through the five low points to form the lower boundary.
The result is a pair of straight lines that describe the overall directional channel of price over the chosen window. Compared to Method 1, this approach is less focused on the very latest swings and more on the broader slope of the market.
Inputs & Menus
Pivot Span Trendline group (Method 1)
• Enable Pivot Span Trendline – Turns Method 1 on or off.
• High trend line color / Low trend line color – Colors of the upper and lower trend lines.
• Fill color between trend lines – Base color used to shade the area between the two lines. Transparency is controlled internally.
• Trend line thickness – Line width for both high and low trend lines.
• Trend line style – Line style (solid, dashed, or dotted).
• Pivot Left / Pivot Right – Number of bars to the left and right used to confirm pivot highs and lows. Larger values produce fewer but more significant swing points.
• Pivot Count – How many historical pivot points are kept for constructing the trend lines.
• Lookback Length – Number of bars used to keep pivots in range and to extend the trend lines across the chart.
5-Point Straight Channel group (Method 2)
• Enable 5-Point Straight Channel – Turns Method 2 on or off.
• High channel line color / Low channel line color – Colors of the upper and lower channel lines.
• Channel line thickness – Line width for both channel lines.
• Channel line style – Line style (solid, dashed, or dotted).
• Channel Length (bars) – Lookback window used to divide price into five segments and build the straight high/low channel.
Using Both Methods Together
Both methods are designed to visualise the same underlying idea: price tends to move inside rising or falling channels. Method 1 emphasises the most recent swing structure via pivot points, while Method 2 summarises the broader channel over a fixed window.
When the Pivot Span Trendline corridor and the 5-Point Straight Channel boundaries align or intersect, they can highlight zones where multiple ways of drawing trend lines point to similar support or resistance areas. Traders can use these confluence zones as a visual reference when planning their own entries, exits, or risk levels, according to their personal trading plan.
Notes
• This script is meant as an educational and analytical tool for studying trend lines and channels.
• It does not generate trading signals and does not replace independent analysis or risk management.
• The behaviour of both methods is timeframe- and symbol-agnostic; they will adapt to whichever chart you apply them to.
Educational
GME Cash FloorsPlots three fundamental “floor value” lines for GameStop based on its balance sheet:
Cash/Share (Gross + BTC) – total cash & equivalents per share, optionally including the BTC treasury at current BTCUSD price.
Net Cash/Share – cash (plus optional BTC) minus total debt, per share.
2030 Carry Floor – projected net cash per share in 2030 assuming the cash portion compounds at a user-set rate while the 0% notes are repaid at maturity.
Inputs let you update cash, debt, share count, interest rate, years to 2030, and toggle BTC on/off so the lines stay in sync with the latest 10-Q.
Global M2 Money Supply Growth (GDP-Weighted)📊 Global M2 Money Supply Growth (GDP-Weighted)
This indicator tracks the weighted aggregate M2 money supply growth across the world's four largest economies: United States, China, Eurozone, and Japan. These economies represent approximately 69.3 trillion USD in combined GDP and account for the majority of global liquidity, making this a comprehensive macro indicator for analyzing worldwide monetary conditions.
════════════════════════════════════════════
🔧 KEY FEATURES:
📈 GDP-Weighted Aggregation
Each economy is weighted proportionally by its nominal GDP using 2025 IMF World Economic Outlook data:
• United States: 44.2% (30.62 trillion USD)
• China: 28.0% (19.40 trillion USD)
• Eurozone: 21.6% (15.0 trillion USD)
• Japan: 6.2% (4.28 trillion USD)
The weights are fully adjustable through the indicator settings, allowing you to update them annually as new IMF forecasts are released (typically April and October).
⏱️ Multiple Time Period Options
Choose between three calculation methods to analyze different timeframes:
• YoY (Year-over-Year): 12-month growth rate for identifying long-term liquidity trends and cycles
• MoM (Month-over-Month): 1-month growth rate for detecting short-term monetary policy shifts
• QoQ (Quarter-over-Quarter): 3-month growth rate for medium-term trend analysis
🔄 Advanced Offset Function
Shift the entire indicator forward by 0-365 days to test lead/lag relationships between global liquidity and asset prices. Research suggests a 56-70 day lag between M2 changes and Bitcoin price movements, but you can experiment with different offsets for various assets (equities, gold, commodities, etc.).
🌍 Individual Country Breakdown
Real-time display of each economy's M2 growth rate with:
• Current percentage change (YoY/MoM/QoQ)
• GDP weight contribution
• Color-coded values (green = monetary expansion, red = contraction)
📊 Smart Overlay Capability
Displays directly on your main price chart with an independent left-side scale, allowing you to visually correlate global liquidity trends with any asset's price action without cluttering the chart.
🔧 Customizable GDP Weights
All GDP values can be adjusted through the indicator settings without editing code, making annual updates simple and accessible for all users.
════════════════════════════════════════════
📡 DATA SOURCES:
All M2 money supply data is sourced from ECONOMICS (Trading Economics) for consistency and reliability:
• ECONOMICS:USM2 (United States)
• ECONOMICS:CNM2 (China)
• ECONOMICS:EUM2 (Eurozone)
• ECONOMICS:JPM2 (Japan)
All values are normalized to USD using current daily exchange rates (USDCNY, EURUSD, USDJPY) before GDP-weighted aggregation, ensuring accurate cross-country comparisons.
══════════════════════════════════════════════
💡 USE CASES & APPLICATIONS:
🔹 Liquidity Cycle Analysis
Track global monetary expansion/contraction cycles to identify when central banks are coordinating loose or tight monetary policies.
🔹 Market Timing & Risk Assessment
High M2 growth (>10%) historically correlates with risk-on environments and rising asset prices across crypto, equities, and commodities. Negative M2 growth signals monetary tightening and potential market corrections.
🔹 Bitcoin & Crypto Correlation
Compare with Bitcoin price using the offset feature to identify the optimal lag period. Many traders use 60-70 day offsets to predict crypto market movements based on liquidity changes.
🔹 Macro Portfolio Allocation
Use as a regime filter to adjust portfolio exposure: increase risk assets during liquidity expansion, reduce during contraction.
🔹 Central Bank Policy Divergence
Monitor individual country metrics to identify when major central banks are pursuing divergent policies (e.g., Fed tightening while China eases).
🔹 Inflation & Economic Forecasting
Rapid M2 growth often leads inflation by 12-18 months, making this a leading indicator for future inflation trends.
🔹 Recession Early Warning
Negative M2 growth is extremely rare and has preceded major recessions, making this a valuable risk management tool.
════════════════════════════════════════════
📊 INTERPRETATION GUIDE:
🟢 +10% or Higher
Aggressive monetary expansion, typically during crises (2001, 2008, 2020). The COVID-19 period saw M2 growth reach 20-27%, which preceded significant inflation and asset price surges. Strong bullish signal for risk assets.
🟢 +6% to +10%
Above-average liquidity growth. Central banks are providing stimulus beyond normal levels. Generally favorable for equities, crypto, and commodities.
🟡 +3% to +6%
Normal/healthy growth rate, roughly in line with GDP growth plus 2% inflation targets. Neutral environment with moderate support for risk assets.
🟠 0% to +3%
Slowing liquidity, potential tightening phase beginning. Central banks may be raising rates or reducing balance sheets. Caution warranted for high-beta assets.
🔴 Negative Growth
Monetary contraction - extremely rare. Only occurred during aggressive Fed tightening in 2022-2023. Strong warning signal for risk assets, often precedes recessions or major market corrections.
════════════════════════════════════════════
🎯 OPTIMAL USAGE:
📅 Recommended Timeframes:
• Daily or Weekly charts for macro analysis
• Monthly charts for very long-term trends
💹 Compatible Asset Classes:
• Cryptocurrencies (especially Bitcoin, Ethereum)
• Equity indices (S&P 500, NASDAQ, global markets)
• Commodities (Gold, Silver, Oil)
• Forex majors (DXY correlation analysis)
⚙️ Suggested Settings:
• Default: YoY calculation with 0 offset for current liquidity conditions
• Bitcoin traders: YoY with 60-70 day offset for predictive analysis
• Short-term traders: MoM with 0 offset for recent policy changes
• Quarterly rebalancers: QoQ with 0 offset for medium-term trends
════════════════════════════════════════════
📋 VISUAL DISPLAY:
The indicator plots a blue line showing the selected growth metric (YoY/MoM/QoQ), with a dashed reference line at 0% to clearly identify expansion vs. contraction regimes.
A comprehensive table in the top-right corner displays:
• Current global M2 growth rate (large, prominent display)
• Individual country breakdowns with their GDP weights
• Color-coded growth rates (green for positive, red for negative)
════════════════════════════════════════════
🔄 MAINTENANCE & UPDATES:
GDP weights should be updated annually (ideally in April or October) when the IMF releases new World Economic Outlook forecasts. Simply adjust the four GDP input parameters in the indicator settings - no code editing required.
The relative GDP proportions between the Big 4 economies change very gradually (typically <1-2% per year), so even if you update weights once every 1-2 years, the impact on the indicator's accuracy is minimal.
════════════════════════════════════════════
💭 TRADING PHILOSOPHY:
This indicator embodies the principle that "liquidity drives markets." By tracking the combined M2 money supply of the world's largest economies, weighted by their economic size, you gain insight into the fundamental liquidity conditions that underpin all asset prices.
Unlike single-country M2 indicators, this GDP-weighted approach captures the true global picture, accounting for the fact that US monetary policy has 2x the impact of Japanese policy due to economic size differences.
Perfect for macro-focused traders, long-term investors, and anyone seeking to understand the "tide that lifts all boats" in financial markets.
════════════════════════════════════════════
Created for traders and investors who incorporate global liquidity trends into their decision-making process. Best used alongside other technical and fundamental analysis tools for comprehensive market assessment.
⚠️ Disclaimer: M2 money supply is a lagging macroeconomic indicator. Past correlations do not guarantee future results. Always use proper risk management and combine with other analysis methods.
Fear & Greed Oscillator - Risk SentimentThe Fear & Greed Oscillator – Risk Sentiment is a macro-driven sentiment indicator inspired by the popular Fear & Greed Index , but rebuilt from the ground up using real, market-based economic data and statistical normalization.
While the traditional Fear & Greed Index uses components like volatility, volume, and social media trends to estimate sentiment, this version is powered by the Copper/Gold ratio — a historically respected gauge of macroeconomic confidence and risk appetite.
📈 Expansion vs. Contraction Theory
At the heart of this oscillator is a simple macroeconomic insight:
🟢 Copper performs well during periods of economic expansion and risk-on behavior (industrials, construction, manufacturing growth).
🔴 Gold performs well during periods of economic contraction , as a classic risk-off, capital-preserving asset.
By tracking the ratio of Copper to Gold prices over time and converting it into a Z-score , this tool shows when macro sentiment is statistically stretched toward greed or fear — based on how unusually strong one side of the ratio is relative to its historical average.
⚙️ How It Works
The script takes two user-defined tickers (default: Copper and Gold) and calculates their ratio.
It then applies Z-score normalization over a user-defined period (default: 200 bars).
A color gradient line is plotted:
🔴 Z < -2 = Extreme Fear
🟣 -2 to 0 = Mild Fear to Neutral
🔵 0 to 2 = Neutral to Greed
🟢 Z > 2 = Extreme Greed
Visual guides at ±1, ±2, ±3 standard deviations give immediate context.
Includes alert conditions when the Z-score crosses above +2 (Greed) or below -2 (Fear).
🔔 Alerts
“Z-Score has entered the Greed Zone ” when Z > 2
“Z-Score has entered the Fear Zone ” when Z < -2
These are designed to help catch macro sentiment extremes before or during large shifts in market behavior.
⚠️ Disclaimer
This indicator is a macro sentiment tool, not a direct trading signal. While the Copper/Gold ratio often reflects economic risk trends, correlation with risk assets (like Bitcoin or equities) is not guaranteed and may vary by cycle. Always use this indicator in conjunction with other tools and contextual analysis.
Argentina Price per m² (USD) — (1999–2025)Overview
This indicator plots the historical USD price per square meter of apartments in CABA (Buenos Aires City), Argentina, combining annual data (1999–2011) from Maure Real Estate Market Reports with monthly data (2012–2025) from UCEMA and private market sources.
All values were manually digitized, cleaned, and consolidated to reconstruct the most complete long-term pricing series publicly available.
The script also includes SMA20, SMA50, and SMA100 over the custom dataset to support long-term trend analysis, cycle detection, and macro technical structure.
Data Sources
1999–2011 (Annual): Maure Real Estate Market Reports
2012–2020 (Monthly): UCEMA Real Estate Index
2020–2025 (Monthly): RE/MAX – UCEMA Market Monitor
How to Use This Indicator
This tool allows investors, developers, and analysts to:
Identify multiyear trend shifts
Compare cycles vs. Argentine macro environments
Map long-term support/resistance zones in real estate
Detect early signs of market recovery or contraction
Combine real estate fundamentals with technical analysis
The SMAs help visualize structural trends normally hidden in real estate data.
About This Work
This series was fully reconstructed and coded by engineer Francisco Michelich (@esFranMiche on X), combining market research, statistical consolidation, and technical analysis.
It is intended as an analytical tool, not an official financial index.
If you find this useful, feel free to follow and connect — feedback and collaboration are welcome.
Linkedin
X
Wolfe Wave PatternHello All!
For a while now, some of my followers have been asking me to develop Wolfe Wave Pattern . Here it's at your service as open-source and public indicator.
How it works?
- On each bar/tick it checks zigzag waves by using base period and updates the array that is used to keep zigzag levels and locations. Base period in the settings is the minimum zigzag period
- Then it searches if there is new bullish/bearish Wolfe Wave pattern according to last wave direction
- Before searching the pattern it calculates all possible 1234 waves. So any wave in 12345 uses base period or higher. it means that it search all possible candidates. This algorithm is much better than using a few zigzag periods.
- After getting all possible candidates, it checks if any of the found candidates is suitable for Wolfe Wave pattern and keeps them in a matrix
- if there are suitable candidate(s) it shows the latest one and triggers the alert
- it also follows the targets and if the price hits any of the target it extends the line and trigger the alert
- it doesn't check if any of the patterns hits stop-loss.
Options:
Base Period: minimum period to create the zigzag
Error Rate: there are usually so few perfect patterns, so we better consider deviation. if error rate is low than it finds less pattern with more accuracy, if error rate is high than it finds more pattern with less accuracy
- The other options are used for coloring the patterns and lines
Some examples:
P.S. I didn't have enough time to test the indicator, so please drop a comment if you see any issue while using it
Enjoy!
14:30 New York OpenRed dotted line at NY open. Shows new traders where NY opens. Helpful for backtesting and when trading that session where it starts very quickly
ICS🏛️ Institutional Confluence Suite (ICS) Indicator
The Institutional Confluence Suite is a powerful and highly customizable TradingView indicator built to help traders identify key institutional trading concepts across multiple timeframes. It visualizes essential market components like Market Structures (MS), Order Blocks (OB)/Breaker Blocks (BB), Liquidity Zones, and Volume Profile, providing a confluence of institutional price action data.
📈 Key Features & Components
1. Market Structures (MS)
Purpose: Automatically identifies and labels shifts in market trends (Market Structure Shift, MSS) and continuations (Break of Structure, BOS).
Timeframe Detection: You can select detection across Short Term, Intermediate Term, or Long Term swings to match your trading horizon.
Visualization: Plots colored lines (Bullish: Teal, Bearish: Red) to mark the structures and optional text labels (BOS/MSS) for clear identification.
2. Order & Breaker Blocks (OB/BB)
Purpose: Detects and projects potential Supply and Demand zones based on recent price action that led to a swing high or low.
Block Types: Distinguishes between standard Order Blocks and Breaker Blocks (OBs that fail to hold and are traded through, often serving as support/resistance in the opposite direction).
Customization:
Detection Term: Adjusts sensitivity (Short, Intermediate, Long Term).
Display Limit: Sets the maximum number of recent Bullish and Bearish blocks to display.
Price Reference: Option to use the Candle Body (Open/Close) or Candle Wicks (High/Low) to define the block boundaries.
Visualization: Displays blocks as colored boxes (Bullish: Green, Bearish: Red) extending into the future, with a dotted line marking the 50% equilibrium level. Breaker Blocks are indicated by a change in color/line style upon being broken.
3. Buyside & Sellside Liquidity (BSL/SSL)
Purpose: Highlights areas where retail stops/limit orders are likely clustered, often represented by a series of relatively equal highs (Buyside Liquidity) or lows (Sellside Liquidity).
Detection Term: Adjustable sensitivity (Short, Intermediate, Long Term).
Margin: Uses a margin (derived from ATR) to group similar swing points into a single liquidity zone.
Visualization: Plots a line and text label marking the swing point, and a box indicating the clustered liquidity zone.
4. Liquidity Voids (LV) / Fair Value Gaps (FVG)
Purpose: Identifies areas where price moved sharply and inefficiency was created, often referred to as Fair Value Gaps or Imbalances. These are price ranges where minimal trading volume occurred.
Threshold: Uses a multiplier applied to the 200-period ATR to filter for significant gaps.
Mode: Can be set to Present (only show voids near the current price) or Historical (show all detected voids).
Visualization: Fills the price gap with colored boxes (Bullish/Bearish zones), often segmented to represent the price delivery across the gap.
5. Enhanced Liquidity Detection
Purpose: A complementary feature that uses volume and price action to highlight areas of high liquidity turnover, potentially indicating stronger Support and Resistance zones.
Calculation: Utilizes a volume-weighted approach to color-grade liquidity zones based on their significance.
Visualization: Plots shaded boxes (gradient-colored) around swing highs/lows, with text displaying the normalized volume strength.
6. Swing Highs/Lows
Purpose: Directly marks the price points identified as Swing Highs and Swing Lows based on the lookback periods.
Timeframe Detection: Can be enabled for Short Term, Intermediate Term, or Long Term swings.
Visualization: Plots a small colored dot/label (e.g., "⦁") at the swing point.
This indicator is an invaluable tool for traders employing ICT (Inner Circle Trader), Smart Money Concepts (SMC), or general price action strategies, as it automatically aggregates and displays these critical structural and liquidity elements.
MTF Supertrend by Rakesh Sharma📊 MULTI-TIMEFRAME SUPERTREND INDICATOR
Get clear buy and sell signals from the powerful Supertrend indicator across three critical timeframes - all on one chart!
🎯 WHAT IT DOES:
This indicator analyzes the Supertrend across Monthly, Weekly, and Daily timeframes simultaneously, giving you a complete picture of market trends from short-term to long-term perspectives.
✨ KEY FEATURES:
- 📍 Visual Signal Labels: Clear buy/sell labels appear directly on your chart when Supertrend changes direction
- Daily signals (D-BUY/D-SELL) - Small green/red labels
- Weekly signals (W-BUY/W-SELL) - Medium blue/orange labels
- Monthly signals (M-BUY/M-SELL) - Large lime/maroon labels
- 📋 Live Summary Table: Real-time dashboard showing:
- Current trend direction for each timeframe (Bullish ▲ or Bearish ▼)
- Supertrend price levels
- Color-coded for quick reading
- 🎨 Visual Trend Confirmation:
- Supertrend line plotted on current timeframe
- Background color indicating current trend
- ⚙️ Fully Customizable:
- Adjustable ATR Period (default: 10)
- Adjustable Factor (default: 3.0)
- Toggle any timeframe on/off
- Show/hide summary table
🚀 HOW TO USE:
1. **Best Trades**: Look for alignment across multiple timeframes
- All 3 timeframes bullish = Strong buy opportunity
- All 3 timeframes bearish = Strong sell opportunity
2. **Signal Strength**:
- Monthly signals = Strongest, least frequent (major trend changes)
- Weekly signals = Medium strength, moderate frequency
- Daily signals = Most frequent, good for entries/exits
3. **Risk Management**:
- Use Supertrend levels as stop-loss points
- Higher timeframe trends act as confirmation for lower timeframe trades
4. **Settings Optimization**:
- Lower ATR period (7-8) = More sensitive, more signals
- Higher ATR period (12-14) = Less sensitive, fewer false signals
- Lower Factor (2.0-2.5) = Tighter stops, more signals
- Higher Factor (3.5-4.0) = Wider stops, fewer signals
💡 TRADING STRATEGY EXAMPLES:
**Conservative Approach:**
- Only take trades when all 3 timeframes align
- Use monthly trend as overall direction filter
- Enter on daily signals in direction of weekly/monthly trend
**Aggressive Approach:**
- Trade daily signals independently
- Use weekly/monthly as confirmation
- Quick entries and exits
**Swing Trading:**
- Focus on weekly signals
- Use monthly for trend direction
- Use daily for precise entry timing
⚠️ IMPORTANT NOTES:
- This is a trend-following indicator - works best in trending markets
- May generate whipsaws in choppy/sideways markets
- Always use proper risk management and position sizing
- Combine with volume analysis and support/resistance for best results
- Past performance does not guarantee future results
📈 BEST MARKETS:
Works on all markets: Stocks, Forex, Crypto, Commodities, Indices
⏰ BEST TIMEFRAMES:
Can be applied to any chart timeframe, but works best on:
- 1H to 4H charts for intraday trading
- Daily charts for swing trading
- Weekly charts for position trading
🔧 DEFAULT SETTINGS:
- ATR Period: 10
- Factor: 3.0
- All timeframes enabled
- Summary table visible
Feel free to adjust settings based on your trading style and the asset's volatility!
📚 ABOUT SUPERTREND:
Supertrend is a trend-following indicator that uses ATR (Average True Range) to plot dynamic support and resistance levels. It helps identify the current trend direction and potential reversal points.
---
💬 Questions or suggestions? Leave a comment below!
⭐ If you find this indicator helpful, please give it a boost!
Happy Trading! 🎯
TASC 2025.12 The One Euro Filter█ OVERVIEW
This script implements the One Euro filter, developed by Georges Casiez, Nicolas Roussel, and Daniel Vogel, and adapted by John F. Ehlers in his article "Low-Latency Smoothing" from the December 2025 edition of the TASC Traders' Tips . The original creators gave the filter its name to suggest that it is cheap and efficient, like something one might purchase for a single Euro.
█ CONCEPTS
The One Euro filter is an EMA-based low-pass filter that adapts its smoothing factor (alpha) based on the absolute values of smoothed rates of change in the source series. It was designed to filter noisy, high-frequency signals in real time with low latency. Ehlers simplifies the filter for market analysis by calculating alpha in terms of bar periods rather than time and frequency, because periods are naturally intuitive for a discrete financial time series.
In his article, Ehlers demonstrates how traders can apply the adaptive One Euro filter to a price series for simple low-latency smoothing. Additionally, he explains that traders can use the filter as a smoothed oscillator by applying it to a high-pass filter. In essence, similar to other low-pass filters, traders can apply the One Euro filter to any custom source to derive a smoother signal with reduced noise and low lag.
This script applies the One Euro filter to a specified source series, and it applies the filter to a two-pole high-pass filter or other oscillator, depending on the selected "Osc type" option. By default, it displays the filtered source series on the main chart pane, and it shows the oscillator and its filtered series in a separate pane.
█ INPUTS
Source: The source series for the first filter and the selected oscillator.
Min period: The minimum cutoff period for the smoothing calculation.
Beta: Controls the responsiveness of the filter. The filter adds the product of this value and the smoothed source change to the minimum period to determine the filter's smoothing factor. Larger values cause more significant changes in the maximum cutoff period, resulting in a smoother response.
Osc type: The type of oscillator to calculate for the pane display. By default, the indicator calculates a high-pass filter. If the selected type is "None", the indicator displays the "Source" series and its filtered result in a separate pane rather than showing the filter on the main chart. With this setting, users can pass plotted values from another indicator and view the filtered result in the pane.
Period: The length for the selected oscillator's calculation.
Previous Day & Week Highs and Lows 1.3Overlay indicator that plots horizontal lines for the previous day’s and previous week’s highs and lows. Lines extend until the next period starts, so you can see these levels throughout the current day or week.
The indicator detects new daily and weekly sessions and draws lines at the previous period’s high and low. Daily levels use green (high) and red (low); weekly levels use blue (high) and magenta (low). You can toggle daily/weekly independently, customize colors, and adjust line width. It works on intraday timeframes and helps identify support/resistance and track breakouts relative to prior periods.
Previous Day & Week Highs and LowsOverlay indicator that plots horizontal lines for the previous day’s and previous week’s highs and lows. Lines extend until the next period starts, so you can see these levels throughout the current day or week.
The indicator detects new daily and weekly sessions and draws lines at the previous period’s high and low. Daily levels use green (high) and red (low); weekly levels use blue (high) and magenta (low). You can toggle daily/weekly independently, customize colors, and adjust line width. It works on intraday timeframes and helps identify support/resistance and track breakouts relative to prior periods.
Sav Fx Dynamic P & D°//@version=5
indicator("Sav Fx Dynamic P & D°", overlay = true, max_boxes_count = 50, max_labels_count = 2, max_lines_count = 10)
// Global Settings (visible)
customLineColor = input.color(#000000, "True Open", group = "Global Settings")
// Input for custom sessionTypeText size and width
sessionTypeTextSize = input.string("small", "Session Type Text Size", options= , group="Text Settings")
// On/Off switches for each open line
show90MinuteCycleOpen = input.bool(true, "90 Minute Cycle Open", group="Open Lines")
showTrueNewYorkOpen = input.bool(true, "True New York Open", group="Open Lines")
showTrueDayOpen = input.bool(true, "True Day Open", group="Open Lines")
showTrueWeekOpen = input.bool(true, "True Week Open", group="Open Lines")
showTrueMonthOpen = input.bool(false, "True Month Open", group="Open Lines")
IsTime(h, m, timezone) =>
not na(time) and hour(time, timezone) == h and minute(time, timezone) == m
IsSession(sess, timezone) =>
not na(time(timeframe.period, sess, timezone))
is6_00Session = IsSession("0600-0730", "America/New_York")
is7_30Session = IsSession("0730-0900", "America/New_York")
is9_00Session = IsSession("0900-1030", "America/New_York")
is10_30Session = IsSession("1030-1200", "America/New_York")
var MOPLine = line.new(na, na, na, na, color = customLineColor, width = 1, style = line.style_dashed)
var MOPLabel = label.new(na, na, text = "True Day Open", color = color.rgb(120, 123, 134, 100), textcolor = customLineColor, size = size.small, style = label.style_label_left)
var float trueDayOpen = na
if showTrueDayOpen
if IsTime(0, 0, "America/New_York")
line.set_xy1(MOPLine, bar_index, open)
line.set_xy2(MOPLine, bar_index, open)
label.set_xy(MOPLabel, bar_index, open)
trueDayOpen := open
if barstate.islast
line.set_x2(MOPLine, bar_index + 20)
label.set_x(MOPLabel, bar_index + 20)
else
line.delete(MOPLine)
label.delete(MOPLabel)
var NYTrueOpenLine = line.new(na, na, na, na, color = customLineColor, width = 1, style = line.style_dashed)
var NYTrueOpenLabel = label.new(na, na, text = "True New York Open", color = color.rgb(105, 130, 218, 100), textcolor = customLineColor, size = size.small, style = label.style_label_left)
var float NYTrueOpen = na
if showTrueNewYorkOpen
if IsTime(1, 30, "America/New_York") or IsTime(7, 30, "America/New_York") or IsTime(13, 30, "America/New_York")
line.set_xy1(NYTrueOpenLine, bar_index, open)
line.set_xy2(NYTrueOpenLine, bar_index, open)
label.set_xy(NYTrueOpenLabel, bar_index, open)
NYTrueOpen := open
if IsTime(1, 30, "America/New_York")
label.set_text(NYTrueOpenLabel, "True London Open")
if IsTime(7, 30, "America/New_York")
label.set_text(NYTrueOpenLabel, "True New York Open")
if IsTime(13, 30, "America/New_York")
label.set_text(NYTrueOpenLabel, "True PM Session Open")
if barstate.islast
line.set_x2(NYTrueOpenLine, bar_index + 20)
label.set_x(NYTrueOpenLabel, bar_index + 20)
else
line.delete(NYTrueOpenLine)
label.delete(NYTrueOpenLabel)
var lookahead_bars = 20
var MondayLine = line.new(na, na, na, na, color = customLineColor, width = 1, style = line.style_dashed)
var MondayLabel = label.new(na, na, text = timeframe.isintraday and timeframe.multiplier >= 5 ? "True week Open" : "", color = #9b27b000, textcolor = customLineColor, size = size.small, style = label.style_label_left)
if showTrueWeekOpen
if dayofweek == dayofweek.monday and IsTime(18, 0, "America/New_York")
line.set_xy1(MondayLine, bar_index, close)
line.set_xy2(MondayLine, bar_index, close)
label.set_xy(MondayLabel, bar_index, close)
if barstate.islast
line.set_x2(MondayLine, bar_index + lookahead_bars)
label.set_x(MondayLabel, bar_index + lookahead_bars)
else
line.delete(MondayLine)
label.delete(MondayLabel)
var ninetyMinuteCycleLine = line.new(na, na, na, na, color = customLineColor, width = 1, style = line.style_dashed)
var ninetyMinuteCycleLabel = label.new(na, na, text = "90 Minute Cycle True Open", color = #4caf4f00, textcolor = customLineColor, size = size.small, style = label.style_label_left)
if show90MinuteCycleOpen
if IsTime(3, 23, "America/New_York") or IsTime(9, 23, "America/New_York") or IsTime(15, 23, "America/New_York")
line.set_xy1(ninetyMinuteCycleLine, bar_index, open)
line.set_xy2(ninetyMinuteCycleLine, bar_index, open)
label.set_xy(ninetyMinuteCycleLabel, bar_index, open)
if IsTime(3, 23, "America/New_York")
label.set_text(ninetyMinuteCycleLabel, "03:23 Cycle True Open")
if IsTime(9, 23, "America/New_York")
label.set_text(ninetyMinuteCycleLabel, "09:23 Cycle True Open")
if IsTime(15, 23, "America/New_York")
label.set_text(ninetyMinuteCycleLabel, "15:23 Cycle True Open")
if barstate.islast
line.set_x2(ninetyMinuteCycleLine, bar_index + lookahead_bars)
label.set_x(ninetyMinuteCycleLabel, bar_index + lookahead_bars)
else
line.delete(ninetyMinuteCycleLine)
label.delete(ninetyMinuteCycleLabel)
var monthOpenLine = line.new(na, na, na, na, color = customLineColor, width = 1, style = line.style_dashed)
var monthOpenLabel = label.new(na, na, text = "True Month Open", color = #ff990000, textcolor = customLineColor, size = size.small, style = label.style_label_left)
isSecondWeekSunday = dayofweek == dayofweek.sunday and (dayofmonth >= 8 and dayofmonth <= 14)
if showTrueMonthOpen
if isSecondWeekSunday and IsTime(18,0, "America/New_York")
line.set_xy1(monthOpenLine, bar_index, close)
line.set_xy2(monthOpenLine, bar_index + lookahead_bars, close)
label.set_xy(monthOpenLabel, bar_index, close)
if barstate.islast
line.set_x2(monthOpenLine, bar_index + lookahead_bars)
label.set_x(monthOpenLabel, bar_index + lookahead_bars)
else
line.delete(monthOpenLine)
label.delete(monthOpenLabel)
directionalBias = "N/A"
if is6_00Session or is7_30Session or is9_00Session or is10_30Session
directionalBias := open > NYTrueOpen ? "Bullish" : "Bearish"
var directionalBiasLabel = label.new(na, na, text = "Directional Bias: " + directionalBias, color = na, textcolor = customLineColor, size = size.normal, style = label.style_label_left)
if barstate.islast
label.set_x(directionalBiasLabel, bar_index + lookahead_bars)
label.set_text(directionalBiasLabel, "Directional Bias: " + directionalBias)
var float WeekOpen = na
if dayofweek == dayofweek.monday and IsTime(18, 0, "America/New_York")
WeekOpen := close
if showTrueWeekOpen
line.set_xy1(MondayLine, bar_index, close)
line.set_xy2(MondayLine, bar_index, close)
label.set_xy(MondayLabel, bar_index, close)
// New table for static session type display
var sessionTable = table.new(position.bottom_right, 1, 1, bgcolor = #b9b9bab8)
// Update the table.cell function call
if barstate.islast and not na(trueDayOpen) and not na(NYTrueOpen) and not na(WeekOpen)
var string sessionTypeText = syminfo.ticker + " Dead Zone"
var color sessionColor = color.rgb(126, 126, 126, 65)
// Check conditions and set session type text and color accordingly
if close < trueDayOpen and close < NYTrueOpen and close < WeekOpen
sessionTypeText := syminfo.ticker + " Week Discount"
sessionColor := #ba4b4b59
else if close > trueDayOpen and close > NYTrueOpen and close > WeekOpen
sessionTypeText := syminfo.ticker + " Week Premium"
sessionColor := #4b56ba5a
else if close < trueDayOpen and close < NYTrueOpen and close > WeekOpen
sessionTypeText := syminfo.ticker + " Day Discount & Week Dead Zone"
sessionColor := #ba4b4b59
else if close > trueDayOpen and close > NYTrueOpen and close < WeekOpen
sessionTypeText := syminfo.ticker + " Day premium & Week Dead Zone"
sessionColor := #4b56ba5a
// Using only size input for session type text
table.cell(sessionTable, 0, 0, sessionTypeText, bgcolor = sessionColor, text_color = color.black, text_size = sessionTypeTextSize)
INFOMATION BOARD5-Line Indicator Description (English)This indicator displays a dynamic information board directly on the chart.It features a bright red background with bold white text for maximum visibility.The message can blink at adjustable speeds to attract user attention.Users may customize text size and vertical screen placement.Designed for alerts, warnings, or educational disclaimers without cluttering the chart
TNT TRADER Sessions and Zones Premarket sessions and zone indicator full customization for premarket, yesterdays high and low , london, asia after hours etc.
TNT TRADER MARKET ClOSEVertical Line of red showing the New York market close. Color and time can be changed
O'Neil Market TimingBill O'Neil Market Timing Indicator - User Guide
Overview
This Pine Script indicator implements William O'Neil's market timing methodology, which assigns one of four distinct states to a market index (such as SPY or QQQ) to help traders identify optimal market conditions for investing. The indicator is designed to work exclusively on Daily timeframe charts.
The Four Market States
The indicator tracks the market through four distinct states, with specific transition rules between them:
1. Confirmed Uptrend (Green)
- Meaning: The market is in a healthy uptrend with institutional support
- Action: Favorable conditions for building positions in leading stocks
- Can transition to: State 2 (Uptrend Under Pressure)
2. Uptrend Under Pressure (Yellow)
- Meaning: The uptrend is showing signs of weakness with increasing distribution
- Action: Be cautious, tighten stops, reduce position sizes
- Can transition to: State 1 (Confirmed Uptrend) or State 3 (Downtrend)
3. Downtrend (Red)
- Meaning: The market is in a confirmed downtrend
- Action: Stay mostly in cash, avoid new purchases
- Can transition to: State 4 (Rally Attempt)
4. Rally Attempt (Pink/Fuchsia)
- Meaning: The market is attempting to bottom and reverse
- Action: Watch for Follow-Through Day to confirm new uptrend
- Can transition to: State 1 (Confirmed Uptrend) or State 3 (Downtrend)
Key Concepts
Distribution Day
A distribution day occurs when:
1. The index closes down by more than the critical percentage (default 0.2%)
2. Volume is higher than the previous day's volume
Distribution days indicate institutional selling and are marked with red triangles on the indicator.
Follow-Through Day
A follow-through day occurs during a Rally Attempt when:
1. The index closes up by more than the critical percentage (default 1.6%)
2. Volume is higher than the previous day's volume
A Follow-Through Day confirms a new uptrend and triggers the transition from Rally Attempt to Confirmed Uptrend.
State Transition Logic
Valid Transitions
The system only allows specific transitions:
- 1 → 2: When distribution days reach the "pressure number" (default 5) within the lookback period (default 25 bars)
- 2 → 1: When distribution days drop below the pressure number
- 2 → 3: When distribution days reach "downtrend number" (default 7) AND price drops by "downtrend criterion" (default 6%) from the lookback high
- 3 → 4: When the market doesn't make a new low for 3 consecutive days
- 4 → 3: When a new low is made, undercutting the downtrend low
- 4 → 1: When a Follow-Through Day occurs during the Rally Attempt
Input Parameters
Distribution Day Parameters
- Distribution Day % Threshold (default 0.2%, range 0.1-2.0%)
- Minimum percentage decline required to qualify as a distribution day. While 0.2% seems to be the canonical number I see in literature about this, I use a much higher threshold (at least 0.5%)
Follow-Through Day Parameters
- Follow-Through Day % Threshold (default 1.6%, range 1.0-2.0%)
- Minimum percentage gain required to qualify as a follow-through day
### State Transition Parameters
- Pressure Number (default 5, range 3-6)
- Number of distribution days needed to transition from Confirmed Uptrend to Uptrend Under Pressure
- Lookback Period (default 25 bars, range 20-30)
- Number of days to count distribution days
- Downtrend Number (default 7, range 4-10)
- Number of distribution days needed (with price drop) to transition to Downtrend
- Downtrend % Drop from High (default 6%, range 5-10%)
- Percentage drop from lookback high required for downtrend confirmation
Visual Settings
- Color customization for each state
- Table position selection (Top Left, Top Right, Bottom Left, Bottom Right)
## How to Use This Indicator
### Installation
1. Open TradingView and navigate to SPY or QQQ (or another major index)
2. **Important**: Switch to the Daily (1D) timeframe
3. Click on "Indicators" at the top of the chart
4. Click "Pine Editor" at the bottom of the screen
5. Copy and paste the Pine Script code
6. Click "Add to Chart"
### Interpretation
**When the indicator shows:**
- **Green (State 1)**: Market is healthy - consider adding quality positions
- **Yellow (State 2)**: Exercise caution - tighten stops, be selective
- **Red (State 3)**: Defensive mode - preserve capital, avoid new buys
- **Pink (State 4)**: Watch closely - prepare for potential Follow-Through Day
### The Information Table
The table displays:
- **Current State**: The current market condition
- **Distribution Days**: Number of distribution days in the lookback period
- **Lookback Period**: Number of bars being analyzed
- **Rally Attempt Day**: (Only in State 4) Days into the current rally attempt
### Visual Elements
1. **State Line**: A stepped line showing the current state (1-4)
2. **Red Triangles**: Mark each distribution day
3. **Horizontal Reference Lines**: Dotted lines marking each state level
4. **Color-Coded Display**: The state line changes color based on the current market condition
## Trading Strategy Guidelines
### In Confirmed Uptrend (State 1)
- Build positions in stocks breaking out of proper bases
- Use normal position sizing
- Focus on stocks showing institutional accumulation
- Hold winners as long as they act properly
### In Uptrend Under Pressure (State 2)
- Take partial profits in extended positions
- Tighten stop losses
- Be more selective with new entries
- Reduce overall exposure
### In Downtrend (State 3)
- Move to cash or maintain very light exposure
- Avoid new purchases
- Focus on preservation of capital
- Use the time for research and watchlist building
### In Rally Attempt (State 4)
- Stay mostly in cash but prepare
- Build a watchlist of strong stocks
- On Day 4+ of the rally attempt, watch for Follow-Through Day
- If FTD occurs, begin cautiously adding positions
## Best Practices
1. **Use with Major Indices**: This indicator works best with SPY, QQQ, or other broad market indices
2. **Daily Timeframe Only**: The indicator is designed for daily bars - do not use on intraday timeframes
3. **Combine with Stock Analysis**: Use the market state as a filter for individual stock decisions
4. **Respect the Signals**: When the market enters Downtrend, reduce exposure regardless of individual stock setups
5. **Monitor Distribution Days**: Pay attention when distribution days accumulate - it's a warning sign
6. **Wait for Follow-Through**: Don't jump back in too early during Rally Attempt - wait for confirmation
## Alert Conditions
The indicator includes built-in alert conditions for:
- State changes (entering any of the four states)
- Distribution Day detection
- Follow-Through Day detection during Rally Attempt
To set up alerts:
1. Click the "Alert" button while the indicator is on your chart
2. Select "O'Neil Market Timing"
3. Choose your desired alert condition
4. Configure notification preferences
## Customization Tips
### For More Sensitive Detection
- Lower the "Pressure Number" to 3-4
- Lower the "Distribution Day % Threshold" to 0.15%
- Reduce the "Downtrend Number" to 5-6
### For More Conservative Detection
- Raise the "Pressure Number" to 6
- Raise the "Distribution Day % Threshold" to 0.3-0.5%
- Increase the "Downtrend Number" to 8-9
### For Different Market Conditions
- **Bull Market**: Consider slightly higher thresholds
- **Bear Market**: Consider slightly lower thresholds
- **Volatile Market**: May need to increase percentage thresholds
## Limitations and Considerations
1. **Not a Crystal Ball**: The indicator identifies conditions but doesn't predict the future
2. **False Signals**: Follow-Through Days can fail - use proper risk management
3. **Whipsaws Possible**: In choppy markets, the indicator may switch states frequently
4. **Confirmation Lag**: By design, there's a lag as the system waits for confirmation
5. **Works Best with Price Action**: Combine with your analysis of individual stocks
## Historical Context
This methodology is based on William J. O'Neil's decades of market research, documented in books like "How to Make Money in Stocks" and through Investor's Business Daily. O'Neil's research showed that:
- Most major market tops are preceded by accumulation of distribution days
- Most successful rallies begin with a Follow-Through Day on Day 4-7 of a rally attempt
- Identifying market state helps prevent buying during unfavorable conditions
## Troubleshooting
**Problem**: Indicator shows "Initializing"
- **Solution**: Let the chart load at least 5 bars to establish the initial state
**Problem**: No distribution day markers appear
- **Solution**: Verify you're on daily timeframe and check if volume data is available
**Problem**: Table not visible
- **Solution**: Check the table position setting and ensure it's not off-screen
**Problem**: State seems to change too frequently
- **Solution**: Increase the lookback period or adjust threshold parameters
## Support and Further Learning
For deeper understanding of this methodology:
- Read "How to Make Money in Stocks" by William J. O'Neil
- Study Investor's Business Daily's "Market Pulse"
- Review historical market tops and bottoms to see the pattern
- Practice identifying distribution days and follow-through days manually
## Version History
**Version 1.0** (November 2025)
- Initial implementation
- Four-state system with proper transitions
- Distribution day detection and marking
- Follow-through day detection
- Customizable parameters
- Information table display
- Alert conditions
---
## Quick Reference Card
| State | Number | Color | Action |
|-------|--------|-------|--------|
| Confirmed Uptrend | 1 | Green | Buy quality setups |
| Uptrend Under Pressure | 2 | Yellow | Tighten stops, be selective |
| Downtrend | 3 | Red | Cash position, no new buys |
| Rally Attempt | 4 | Pink | Watch for Follow-Through Day |
**Distribution Day**: Down > 0.2% on higher volume (red triangle)
**Follow-Through Day**: Up > 1.6% on higher volume during Rally Attempt (triggers State 4→1)
---
*Remember: This indicator is a tool to help identify market conditions. It should be used as part of a comprehensive trading strategy that includes proper risk management, position sizing, and individual stock analysis.*
Also, I created this with the help of an AI coding framework, and I didn't exhaustively test it. I don't actually use this for my own trading, so it's quite possible that it's materially wrong, and that following this will lead to poor investment decisions.. This is "copy left" software, so feel free to alter this to your own tastes, and claim authorship.
Vertical Lines: 5, 20, 50, 200 Days Back - 30 minutesVerticals lines to indicate 5, 20, 50, and 200 day marks on a 30 minute chart. Used in Swing trading with multi-timeframe approach to mark the levels.
Generated using Claude.
Moving Aaverage (EMA) & VWAP by Vish
Multi-Timeframe Moving Averages with VWAP
This indicator combines essential moving averages with VWAP to provide comprehensive trend analysis on a single chart. Designed for traders who need quick visual reference of multiple timeframes and volume-weighted price levels.
Features:
• Six customizable moving averages: 8, 13, 21, 50, 100, and 200 periods
• Toggle between Simple Moving Average (SMA) and Exponential Moving Average (EMA) for all lines
• Individual on/off controls for each moving average
• Volume Weighted Average Price (VWAP) with customizable settings
• VWAP anchor options: Session, Week, Month, Quarter, and Year
• Clean, color-coded visualization for easy identification
• Fully customizable through settings panel
Use Cases:
• Identify trend direction across multiple timeframes
• Find dynamic support and resistance levels
• Spot potential entry and exit points
• Analyze price action relative to volume-weighted average
• Confirm trend strength with multiple MA convergence/divergence
Settings:
All parameters are adjustable including MA type (SMA/EMA), individual MA visibility, VWAP source, and VWAP anchor period.
Suitable for all markets and timeframes. Works on stocks, forex, crypto, commodities, and indices.
#moving average #MA #EMA #SMA #VWAP #trend #support #resistance #multi-timeframe
orb cody hoskinscody orb designed a 15 min range orb indicator for people to use dur8ng market open in asian and new york
CC AJ Time Signal Marker [Zurich UTC+1]CC AJ Time Signal Marker
Overview
This non-repainting, overlay-free indicator displays time-based numerical signals derived from Zurich time (UTC+1) using three user-selectable calculation methods. It is designed for intraday traders who analyze time patterns and numerical confluence on lower timeframes (especially 1-minute charts).
Core Functionality
The script evaluates three mathematical conditions on every bar:
Method Calculation Row (Top → Bottom) Default Color
Subtraction Minute − Hour Top Row Red
Minute Minute Middle Row Gray
Addition Hour + Minute Bottom Row Green
When the result matches a user-defined AJ Time (0–77), the value is displayed in its dedicated row.
Key Features
Three dedicated label rows — no overlap, no clutter
User-defined AJ Times (0–77) with individual ON/OFF checkboxes
Fully customizable colors for current bar and future/past labels
Optimized for 1-minute charts during European session






















