Swing Z – Crypto Trading Algorithm | Zillennial Technologies IncSwing Z by Zillennial Technologies Inc. is an advanced algorithmic framework built specifically for cryptocurrency markets. It integrates multiple layers of technical analysis into a single decision-support tool, generating buy and sell signals only when several independent confirmations align.
Core Concept
Swing Z fuses trend structure, momentum oscillators, volatility signals, and price action tools to capture high-probability trading opportunities in volatile crypto environments.
Trend Structure (EMA 9, 21, 50, 200)
Short-term EMAs (9 & 21) detect immediate momentum shifts.
Longer-term EMAs (50 & 200) define the broader trend and dynamic support/resistance.
Momentum & Confirmation Layer
RSI measures relative strength and market conditions.
MACD crossovers confirm momentum shifts and trend continuations.
Volatility & Market Pressure
TTM Squeeze highlights compression zones likely to precede breakouts.
Volume analysis confirms conviction behind directional moves.
VWAP (Volume Weighted Average Price) establishes intraday value zones and institutional benchmarks.
Price Action Filters
Fibonacci retracements are integrated to identify key reversal and continuation levels.
Signals are produced only when multiple conditions agree, reducing noise and improving reliability in fast-moving crypto markets.
Features
Tailored for cryptocurrency trading across major pairs (BTC, ETH, and altcoins).
Works effectively on swing and trend-based timeframes (1H–1D).
Combines trend, momentum, volatility, and price action into a single framework.
Generates clear Buy/Sell markers and integrates with TradingView alerts.
How to Use
Apply to a clean chart for the clearest visualization.
Use Swing Z as a swing trading tool, aligning entries with both trend structure and momentum confirmation.
Combine with your own stop-loss, take-profit, and position sizing rules.
Avoid application on non-standard chart types such as Renko, Heikin Ashi, or Point & Figure, which may distort results.
Disclaimer
Swing Z is designed as a decision-support tool, not financial advice.
All backtesting should use realistic risk, commission, and slippage assumptions.
Past results do not guarantee future performance.
Signals do not repaint but may adjust as new data develops in real-time.
Why Swing Z is original & useful:
Swing Z unifies EMA trend structure, RSI, MACD, TTM Squeeze, VWAP, Fibonacci retracements, and volume analysis into a single algorithmic framework. This multi-confirmation approach improves accuracy by requiring consensus across trend, momentum, volatility, and price action — a design made specifically for the challenges and volatility of cryptocurrency markets.
Pivot noktaları ve seviyeleri
Hourly High/Low Sweep Lines – Fixed HorizontalMarks out the hourly high and lows for levels of liquidity for take profits
Dual Channel System [Alpha Extract]A sophisticated trend-following and reversal detection system that constructs dynamic support and resistance channels using volatility-adjusted ATR calculations and EMA smoothing for optimal market structure analysis. Utilizing advanced dual-zone methodology with step-like boundary evolution, this indicator delivers institutional-grade channel analysis that adapts to varying volatility conditions while providing high-probability entry and exit signals through breakthrough and rejection detection with comprehensive visual mapping and alert integration.
🔶 Advanced Channel Construction
Implements dual-zone architecture using recent price extremes as foundation points, applying EMA smoothing to reduce noise and ATR multipliers for volatility-responsive channel widths. The system creates resistance channels from highest highs and support channels from lowest lows with asymmetric multiplier ratios for optimal market reaction zones.
// Core Channel Calculation Framework
ATR = ta.atr(14)
// Resistance Channel Construction
Resistance_Basis = ta.ema(ta.highest(high, lookback), lookback)
Resistance_Upper = Resistance_Basis + (ATR * resistance_mult)
Resistance_Lower = Resistance_Basis - (ATR * resistance_mult * 0.3)
// Support Channel Construction
Support_Basis = ta.ema(ta.lowest(low, lookback), lookback)
Support_Upper = Support_Basis + (ATR * support_mult * 0.4)
Support_Lower = Support_Basis - (ATR * support_mult)
// Smoothing Application
Smoothed_Resistance_Upper = ta.ema(Resistance_Upper, smooth_periods)
Smoothed_Support_Lower = ta.ema(Support_Lower, smooth_periods)
🔶 Volatility-Adaptive Zone Framework
Features dynamic ATR-based width adjustment that expands channels during high-volatility periods and contracts during consolidation phases, preventing false signals while maintaining sensitivity to genuine breakouts. The asymmetric multiplier system optimizes zone boundaries for realistic market behavior patterns.
// Dynamic Volatility Adjustment
Channel_Width_Resistance = ATR * resistance_mult
Channel_Width_Support = ATR * support_mult
// Asymmetric Zone Optimization
Resistance_Zone = Resistance_Basis ± (ATR_Multiplied * )
Support_Zone = Support_Basis ± (ATR_Multiplied * )
🔶 Step-Like Boundary Evolution
Creates horizontal step boundaries that update on smoothed bound changes, providing visual history of evolving support and resistance levels with performance-optimized array management limited to 50 historical levels for clean chart presentation and efficient processing.
🔶 Comprehensive Signal Detection
Generates break and bounce signals through sophisticated crossover analysis, monitoring price interaction with smoothed channel boundaries for high-probability entry and exit identification. The system distinguishes between breakthrough continuation and rejection reversal patterns with precision timing.
🔶 Enhanced Visual Architecture
Provides translucent zone fills with gradient intensity scaling, step-like historical boundaries, and dynamic background highlighting that activates upon zone entry. The visual system uses institutional color coding with red resistance zones and green support zones for intuitive
market structure interpretation.
🔶 Intelligent Zone Management
Implements automatic zone relevance filtering, displaying channels only when price proximity warrants analysis attention. The system maintains optimal performance through smart array management and historical level tracking with configurable lookback periods for various market conditions.
🔶 Multi-Dimensional Analysis Framework
Combines trend continuation analysis through breakthrough patterns with reversal detection via rejection signals, providing comprehensive market structure assessment suitable for both trending and ranging market conditions with volatility-normalized accuracy.
🔶 Advanced Alert Integration
Features comprehensive notification system covering breakouts, breakdowns, rejections, and bounces with customizable alert conditions. The system enables precise position management through real-time notifications of critical channel interaction events and zone boundary violations.
🔶 Performance Optimization
Utilizes efficient EMA smoothing algorithms with configurable periods for noise reduction while maintaining responsiveness to genuine market structure changes. The system includes automatic historical level cleanup and performance-optimized visual rendering for smooth operation across all timeframes.
Why Choose Dual Channel System ?
This indicator delivers sophisticated channel-based market analysis through volatility-adaptive ATR calculations and intelligent zone construction methodology. By combining dynamic support and resistance detection with advanced signal generation and comprehensive visual mapping, it provides institutional-grade channel analysis suitable for cryptocurrency, forex, and equity markets. The system's ability to adapt to varying volatility conditions while maintaining signal accuracy makes it essential for traders seeking systematic approaches to breakout trading, zone reversals, and trend continuation analysis with clearly defined risk parameters and comprehensive alert integration. Also to note, this indicator is best suited for the 1D timeframe.
SJ Fx Session ORMarks opening range (1st 15 Mins) for Europe, London and New York.
Tip - Use white background for your charts
Liquidity Swing Points [BackQuant]Liquidity Swing Points
This tool marks recent swing highs and swing lows and turns them into persistent horizontal “liquidity” levels. These are places where resting orders often accumulate, such as stop losses above prior highs and below prior lows. The script detects confirmed pivots, records their prices, draws lines and labels, and manages their lifecycle on the chart so you can monitor potential sweep or breakout zones without manual redrawing.
What it plots
LQ-H at confirmed swing highs
LQ-L at confirmed swing lows
Horizontal levels that can optionally extend into the future
Timed removal of old levels to keep the chart clean
Each level stores its price, the bar where it was created, its type (high or low), plus a label and a line reference for efficient updates.
How it works
Pivot detection
A swing high is confirmed when the highest high has swing_length bars on both sides that are lower.
A swing low is confirmed when the lowest low has swing_length bars on both sides that are higher.
Pivots are only marked after they are confirmed, so they do not repaint.
Level creation
When a pivot confirms, the script records the price and the creation bar (offset by the right lookback).
A new line is plotted at that price, labeled LQ-H or LQ-L.
Rendering and extension
Levels can be drawn to the most recent bar only or extended to the right for forward reference.
Label size and line color/transparency are configurable.
Lifecycle management
On each confirmed bar, the script checks level age.
Levels older than a chosen bar count are removed automatically to reduce clutter.
How it can be used
Liquidity sweeps: Watch for price to probe beyond a level then close back inside. That behavior often signals a potential fade back into the prior range.
Breakout validation: If price pushes through a level and holds on closes, traders may treat that as continuation. Retests of the level from the other side can serve as structure checks.
Context for entries and exits: Use nearby LQ-H or LQ-L as reference for stop placement or partial-take zones, especially when other tools agree.
Multi-timeframe mapping: Plot swing points on higher timeframes, then drill down to time entries on lower timeframes as price interacts with those levels.
Why liquidity levels matter
Prior swing points are focal areas where many strategies set stops or pending orders. Price often revisits these zones, either to “sweep” resting liquidity before reversing, or to absorb it and trend. Marking these areas objectively helps frame scenarios like failed breaks, successful breakouts, and retests, and it reduces the subjectivity of eyeballing structure.
Settings to know
Swing Detection Length (swing_length), Controls sensitivity. Lower values find more local swings. Higher values find more significant ones.
Bars until removal (removeafter), Deletes levels after a fixed number of bars to prevent buildup.
Extend Levels Right (extend_levels), Keeps levels projected into the future for easier planning.
Label Size (label_size), Choose tiny to large for chart readability.
One color input controls both high and low levels with transparency for context.
Strengths
Objective marking of recent structure without hand drawing
No repaint after confirmation since pivots are locked once the right lookback completes
Lightweight and fast with simple lifecycle management
Clear visuals that integrate well with any price-action workflow
Practical tips
For scalping: use smaller swing_length to capture more granular liquidity. Keep removeafter short to avoid clutter.
For swing trading: increase swing_length so only more meaningful levels remain. Consider extending levels to the right for planning.
Combine with time-of-day filters, ATR for stop sizing, or a separate trend filter to bias trades taken at the levels.
Keep screenshots focused: one image showing a sweep and reversal, another showing a clean breakout and retest.
Limitations and notes
Levels appear after confirmation, so they are delayed by swing_length bars. This is by design to avoid repainting.
On very noisy or illiquid symbols, you may see many nearby levels. Increasing swing_length and shortening removeafter helps.
The script does not assess volume or session context. Consider pairing with volume or session tools if that is part of your process.
Vietnamese: Swing Low Detection with SMA Bands & BackgroundThis script detects **swing lows** using a dynamic SMA-based logic and visually highlights them on the chart.
Features
Customizable Moving Averages: Supports multiple MA types (SMA, EMA, WMA, RMA, HMA, DEMA, TEMA, VWMA).
Swing Low Visualization: Identifies swing lows when price closes below the SMA of lows and exits once price trades above the SMA of highs.
Smart Rectangles: Marks detected swing lows with labeled boxes for clear visual reference.
Background Highlights**: Dynamically shades the chart background when price breaks below recent swing lows, helping traders spot potential breakdown zones.
Configurable Parameters: Period length, rectangle length, and MA source can all be tuned.
Use Cases
Spot breakdown/bearish continuation signals when price closes under recent lows.
Combine with higher timeframe trend analysis for confluence.
Notes
* This tool is designed for **visual analysis** and is not a standalone buy/sell signal.
* Works best when combined with broader trend analysis, support/resistance levels, and volume.
VHB by bigmmVolume-Based Support/Resistance Levels Indicator identifies significant price levels based on high-volume trading activity across three timeframes (4H, D, W). The script draws horizontal lines at key support/resistance levels where trading volume exceeded 60% of the maximum volume observed over the previous 499 periods.
Analyzes volume spikes on 4-hour, daily, and weekly timeframes
Displays colored lines (green for bullish candles, red for bearish candles)
Maintains only the 5 most recent significant levels to avoid chart clutter
Labels each line with its respective timeframe (4H, 1D, 1W)
Lines extend in real-time to show current relevance of each level
Traders can use these volume-based levels to identify potential support/resistance zones and make informed decisions about entry/exit points, recognizing areas where significant trading activity previously occurred.
Dips & Rips — OVERLAY (Triangles on Price Only, size fixed)This script calculates extreme dips (blue triangle) or rips (yellow triangle) as likely reversal points, with confirmation long (green triangles) and short (red triangles) triggers occurring on subsequent RSI divergences.
Multi HTF High/Low LevelsThis indicator plots the previous high and low from up to four user-defined higher timeframes (HTF), providing crucial levels of support and resistance. It's designed to be both powerful and clean, giving you a clear view of the market structure from multiple perspectives without cluttering your chart.
Key Features:
Four Customizable Timeframes: Configure up to four distinct higher timeframes (e.g., 1-hour, 4-hour, Daily, Weekly) to see the levels that matter most to your trading style.
Automatic Visibility: The indicator is smart. It automatically hides levels from any timeframe that is lower than your current chart's timeframe. For example, if you're viewing a Daily chart, the 4-hour levels won't be shown.
Clean On-Chart Lines: The high and low for each timeframe are displayed as clean, extended horizontal lines, but only for the duration of the current higher-timeframe period. This keeps your historical chart clean while still showing the most relevant current levels.
Persistent Price Scale Labels: For easy reference, the price of each high and low is always visible on the price scale and in the data window. This is achieved with an invisible plot, giving you the accessibility of a plot without the visual noise.
How to Use:
Go into the indicator settings.
Under each "Timeframe" group, check the "Show" box to enable that specific timeframe.
Select your desired timeframe from the dropdown menu.
The indicator will automatically calculate and display the previous high and low for each enabled timeframe.
Fibonacci Sequence Circles [BigBeluga]🔵 Overview
The Fibonacci Sequence Circles is a unique and visually intuitive indicator designed for the TradingView platform. It combines the principles of the Fibonacci sequence with geometric circles to help traders identify potential support and resistance levels, as well as price expansion zones. The indicator dynamically anchors to key price points, such as pivot highs, pivot lows, or timeframe changes (daily, weekly, monthly), and generates Fibonacci-based circles around these anchor points.
⚠️For proper indicators visualization use simple not logarithmic chart
🔵 Key Features
Customizable Anchor Points : The indicator can be anchored to Pivot Highs , Pivot Lows , or timeframe changes ( Daily, Weekly, Monthly ), making it adaptable to various trading strategies.
Fibonacci Sequence Logic : The circles are generated using the Fibonacci sequence, where the diameter of each circle is the sum of the diameters of the two preceding circles.
first = start_val
secon = start_val + int(start_val/2)
three = first + secon
four = secon + three
five = three + four
six = four + five
seven = five + six
eight = six + seven
nine = seven + eight
ten = eight + nine
Adjustable Start Value : Traders can modify the starting value of the sequence to scale the circles larger or smaller, ensuring they fit the current price action.
Color Customization : Each circle can be individually enabled or disabled, and its color can be customized for better visual clarity.
Visual Labels : The diameter of each circle (in bars) is displayed next to the circle, providing additional context for analysis.
🔵 Usage
Step 1: Set the Anchor Point - Choose the anchor type ( Pivot High, Pivot Low, Daily, Weekly, Monthly ) to define the center of the Fibonacci circles.
Step 2: Adjust the Start Value - Modify the starting value of the Fibonacci sequence to scale the circles according to the price action.
Step 3: Customize Circle Colors - Enable or disable specific circles and adjust their colors for better visualization.
Step 4: Analyze Price Action - Use the circles to identify potential support/resistance levels, price expansion zones, or trend continuation areas.
Step 5: Combine with Other Tools - Enhance your analysis by combining the indicator with other technical tools like trendlines, moving averages, or volume indicators.
The Fibonacci Sequence Circles is a powerful and flexible tool for traders who rely on Fibonacci principles and geometric patterns. Its ability to anchor to key price points and dynamically scale based on market conditions makes it suitable for various trading styles and timeframes. Whether you're a day trader or a long-term investor, this indicator can help you visualize and anticipate price movements with greater precision.
Frozen 4H VWAP – Precision AnchoredFrozen 4H VWAP – Precision Anchored Like Ice
The Frozen 4H VWAP – Precision Anchored delivers a clean, stable, and reliable view of the 4-hour Volume Weighted Average Price, designed for traders who want higher timeframe insights without intrabar noise or repainting.
🔹 Key Features:
Non-Repainting: VWAP value is “frozen” at the close of each 4H candle — no mid-bar updates or flickering.
4H Timeframe Anchoring: Seamlessly pulls 4-hour VWAP values into any timeframe you’re trading on.
Clear Trend Reference: Updates only when a new 4H candle begins, acting as a trustworthy anchor for support/resistance.
Custom Source Option: Choose from different price sources (default: HLC3) to fit your strategy.
Whether you're scalping, day trading, or swing trading, this indicator gives you a powerful edge by grounding your decisions in higher timeframe VWAP data — clear, calm, and frozen in time.
Previous High/Low Range (D,W,M,Q)Previous High/Low Range (D, W, M, Q)
This indicator displays the previous period’s high, low, and midpoint levels across multiple timeframes: Daily, Weekly, Monthly, and Quarterly. It extends these key price levels into the future, allowing traders to quickly identify important support and resistance zones based on historical price action.
Features:
Shows previous Daily, Weekly, Monthly, and Quarterly highs, lows, and midpoints.
Optionally extends these levels forward for easy visualization.
Configurable colors and visibility for each timeframe.
Includes optional midpoint lines at 50% between high and low to identify equilibrium points.
Supports logarithmic scale calculations for midpoints to maintain accuracy on log charts.
Optional labels that display exact price values for each level.
Designed to help traders recognize key levels for entries, exits, and risk management.
Use this indicator to gain a multi-timeframe perspective on significant price ranges and anticipate potential reversal or breakout zones.
Trend dealing rangeHi all!
This indicator will help you find the current dealing range according to the trend. If the trend is bullish the indicator will look for a range between the latest low pivot to the latest high pivot. Vice versa in a bearish trend. The code uses my new library 'FibonacciRetracement' () that has the same code as my other indicator 'Fibonacci retracement' ().
It plots 5 lines from the low to the high and labels them 0 %, 25 %, 50 %, 75 % and 100 %. A trendline can be drawn between the two pivots (dashed and gray by default). Firstly you can define the pivot lengths used, this setting is in the 'Market structure' section but it also applies to the dealing range (it defaults to 5 (left) and 2 (right)). You can show prices if you want to (shown in parantheses, off by default). You can change the default labels position (from left) and the font size (12 by default and higher up it's 7 for market structure text). Lastly you can change the alert frequency (defaults to once per bar close) and the price that has to enter a zone for alert to be sent. 'Close' means that the closing price (or current price if you change the alert frequency to all or once per bar) has to be inside the zone and 'Wick' means that the entire candle needs to be inside the zone.
It's very useful for traders to find the current dealing range and this indicator will help you to do so.
So, this indicator will give you the dealing range and basic market structure through break of structures and change of characters.
If you have any input or suggestions on future features or bugs, don't hesitate to let me know!
Best of trading luck!
Auto Trend Lines v1.0 This advanced Pine Script indicator automatically detects and draws support and resistance trendlines for any instrument based on two independent lookback periods—short-term and long-term—making it suitable for all types of traders. The indicator identifies pivot highs and lows for both user-configurable lookback lengths, draws trendlines from each anchor point to the current bar, and supports a visually intuitive chart by coloring and labeling each line type separately.
Key features:
Dual lookback: Choose separate short-term and long-term sensitivity for pivots and trendlines.
Customizable: Select the number of displayed lines, colors, and line widths to suit your preferences.
Auto-updating: Trendlines update dynamically with new pivots and extend to the latest bar.
This indicator is ideal for those who want to automate trendline analysis, spot key breakout and reversal areas, and streamline technical trading.
Bardhi's ICT Killzone & PivotsThis indicator is a complete ICT-style session and liquidity toolkit designed for precision trading. It automatically marks the most important trading windows (“Killzones”) and provides powerful tools for tracking price action around them.
Key Features:
Killzones: Automatically plots Asia, London, and New York (AM, Lunch, PM) sessions with customizable colors, transparency, and labels.
Session Highs, Lows & Midpoints: Dynamic lines for killzone highs/lows, optional midpoints, and alerts when levels are broken.
Range Statistics: Displays the real-time range of each session plus rolling averages in a customizable table.
Day / Week / Month Levels: Plots opens, highs, lows, and separators for higher-timeframe reference points with optional alerts.
Custom Opening Prices: Define up to 8 custom open lines (e.g., True Day Open, 06:00, 10:00) with cutoff times.
Vertical Timestamp Lines: Highlight important intraday times such as news events or personal strategy triggers.
Day-of-Week Labels: Clean labels for each day, with the option to hide weekends.
Full Customization: Adjustable label sizes, colors, line styles, transparency, and drawing limits.
Why Use It?
This tool combines killzone sessions, pivots, higher-timeframe opens/highs/lows, and range statistics into one clean, automated package. It saves time drawing manually, keeps charts organized, and helps traders apply ICT concepts consistently.
Magic triangles ^v^v^vAddes filter to the indicator for better results.
Less triangles, filtered out unnecessary ones :)
Previous Days High & Low RTH Session by TenAM TraderPurpose:
This indicator plots the high and low levels of previous trading days’ Regular Trading Hours (RTH), helping traders identify key support and resistance zones based on historical price action.
How to Use / Strategy:
Designed as a super simple trading strategy:
Buy when price breaks above and confirms the previous day’s high.
Sell when price breaks below and confirms the previous day’s low.
Alerts notify you when price interacts with these levels, helping traders act on confirmed breakout opportunities rather than premature moves.
*Traders can also look for reversal opportunities if price breaks back through one of the levels.
Note: Make sure RTH (Regular Trading Hours) is turned on for the chart, as the indicator is based on RTH highs and lows.
Features:
Tracks previous days’ highs and lows.
Provides clear visual reference for support and resistance.
Simple, actionable strategy based on breakout confirmations and reversal plays.
Alerts for confirmed price breaks.
Disclaimer:
This indicator is for educational and informational purposes only. It does not provide financial advice. Trading involves risk, and past performance does not guarantee future results. Users trade at their own risk.
ICT Silver Bullet Zones (All Sessions)This Pine Script v6 indicator highlights the ICT Silver Bullet windows (10:00–11:00 local time) for all major forex/trading sessions: London, New York AM, New York PM, and Asia.
✅ Features:
Clearly visualizes Silver Bullet zones for each session.
Labels are centered inside each zone for easy identification.
Fully compatible with Pine Script v6 and TradingView.
Adjustable opacity and label size for better chart visibility.
Works on any timeframe and keeps historical zones visible.
Use Case:
Perfect for ICT strategy traders who want to identify high-probability trading windows during major market sessions. Helps in planning entries and understanding liquidity timing without cluttering the chart.
Instructions:
Add the script to your TradingView chart.
Adjust opacity and label size to suit your chart style.
Observe the SB zones for all sessions and plan trades according to ICT methodology.
OHLC Lines – Yesterday & Today (Minimalist Option)This indicator draws horizontal lines representing the Open, High, Low, and Close (OHLC) levels of yesterday and today directly on your chart. It automatically updates each day, showing only the lines for the previous day and the current day, keeping your chart clean and focused.
Features:
Display Yesterday’s OHLC levels.
Display Today’s OHLC levels.
Optional Minimalist Mode with customizable color, width, and line style.
Lines automatically update each day and remove old lines.
Fully customizable colors, visibility, and line width for each OHLC level.
Use Case:
Perfect for traders who want to monitor key daily price levels, identify support/resistance zones, or incorporate OHLC levels into intraday strategies.
HH&LL / MSS Detector [Tek Tek Teknik Analiz]This indicator provides a safe trading opportunity by drawing Market Structure Shift levels to determine the direction of the market after capturing the peaks and valleys in the price flow.
LevelsThis Indicator is meant to plot some of the most common levels that traders use.
The display of these levels is highly customizable, as you can choose the line type , color , thickness and whether it shows you no label, price only, reduced label or full label next to the line. All labels (except for "no Label") will show the price at this level.
Also You have the option to mark the start on each timeframe with either a individually colored background or a vertical line where you can choose the line style and color.
Full List of available Levels and Optional inputs to these levels:
Previous HTF Candle Levels:
• Previous HTF Candle Open
• Previous HTF Candle High
• Previous HTF Candle Low
• Previous HTF Candle Close
Optional:
• Choose any higher timeframe
• Mark start of new HTF candle
Session Levels:
• Session Open
• Session High
• Session Low
• Session Close
Optional:
• Choose any time as start and end of your session
• Mark start of session
• Mark full session
Daily Levels:
• Current Day Open
• Current Day High
• Current Day Low
• Previous Day Open
• Previous Day High
• Previous Day Low
• Previous Day Close
Optional:
• Choose start of day (standard, NY Midnight, custom start time)
• Mark start of day
Weekly Levels:
• Current Week Open
• Current Week High
• Current Week Low
• Previous Week Open
• Previous Week High
• Previous Week Low
• Previous Week Close
Optional:
• Mark start of Week
Monthly Levels:
• Current Month Open
• Current Month High
• Current MonthLow
• Previous Month Open
• Previous Month High
• Previous Month Low
• Previous Month Close
Optional:
• Mark start of Month
Market Outlook Score (MOS)Overview
The "Market Outlook Score (MOS)" is a custom technical indicator designed for TradingView, written in Pine Script version 6. It provides a quantitative assessment of market conditions by aggregating multiple factors, including trend strength across different timeframes, directional movement (via ADX), momentum (via RSI changes), volume dynamics, and volatility stability (via ATR). The MOS is calculated as a weighted score that ranges typically between -1 and +1 (though it can exceed these bounds in extreme conditions), where positive values suggest bullish (long) opportunities, negative values indicate bearish (short) setups, and values near zero imply neutral or indecisive markets.
This indicator is particularly useful for traders seeking a holistic "outlook" score to gauge potential entry points or market bias. It overlays on a separate pane (non-overlay mode) and visualizes the score through horizontal threshold lines and dynamic labels showing the numeric MOS value along with a simple trading decision ("Long", "Short", or "Neutral"). The script avoids using the plot function for compatibility reasons (e.g., potential TradingView bugs) and instead relies on hline for static lines and label.new for per-bar annotations.
Key features:
Multi-Timeframe Analysis: Incorporates slope data from 5-minute, 15-minute, and 30-minute charts to capture short-term trends.
Trend and Strength Integration: Uses ADX to weight trend bias, ensuring stronger signals in trending markets.
Momentum and Volume: Includes RSI momentum impulses and volume deviations for added confirmation.
Volatility Adjustment: Factors in ATR changes to assess market stability.
Customizable Inputs: Allows users to tweak periods for lookback, ADX, and ATR.
Decision Labels: Automatically classifies the MOS into actionable categories with visual labels.
This indicator is best suited for intraday or swing trading on volatile assets like stocks, forex, or cryptocurrencies. It does not generate buy/sell signals directly but can be combined with other tools (e.g., moving averages or oscillators) for comprehensive strategies.
Inputs
The script provides three user-configurable inputs via TradingView's input panel:
Lookback Period (lookback):
Type: Integer
Default: 20
Range: Minimum 10, Maximum 50
Purpose: Defines the number of bars used in slope calculations for trend analysis. A shorter lookback makes the indicator more sensitive to recent price action, while a longer one smooths out noise for longer-term trends.
ADX Period (adxPeriod):
Type: Integer
Default: 14
Range: Minimum 5, Maximum 30
Purpose: Sets the smoothing period for the Average Directional Index (ADX) and its components (DI+ and DI-). Standard value is 14, but shorter periods increase responsiveness, and longer ones reduce false signals.
ATR Period (atrPeriod):
Type: Integer
Default: 14
Range: Minimum 5, Maximum 30
Purpose: Determines the period for the Average True Range (ATR) calculation, which measures volatility. Adjust this to match your trading timeframe—shorter for scalping, longer for positional trading.
These inputs allow customization without editing the code, making the indicator adaptable to different market conditions or user preferences.
Core Calculations
The MOS is computed through a series of steps, blending trend, momentum, volume, and volatility metrics. Here's a breakdown:
Multi-Timeframe Slopes:
The script fetches data from higher timeframes (5m, 15m, 30m) using request.security.
Slope calculation: For each timeframe, it computes the linear regression slope of price over the lookback period using the formula:
textslope = correlation(close, bar_index, lookback) * stdev(close, lookback) / stdev(bar_index, lookback)
This measures the rate of price change, where positive slopes indicate uptrends and negative slopes indicate downtrends.
Variables: slope5m, slope15m, slope30m.
ATR (Average True Range):
Calculated using ta.atr(atrPeriod).
Represents average volatility over the specified period. Used later to derive volatility stability.
ADX (Average Directional Index):
A detailed, manual implementation (not using built-in ta.adx for customization):
Computes upward movement (upMove = high - high ) and downward movement (downMove = low - low).
Derives +DM (Plus Directional Movement) and -DM (Minus Directional Movement) by filtering non-relevant moves.
Smooths true range (trur = ta.rma(ta.tr(true), adxPeriod)).
Calculates +DI and -DI: plusDI = 100 * ta.rma(plusDM, adxPeriod) / trur, similarly for minusDI.
DX: dx = 100 * abs(plusDI - minusDI) / max(plusDI + minusDI, 0.0001).
ADX: adx = ta.rma(dx, adxPeriod).
ADX values above 25 typically indicate strong trends; here, it's normalized (divided by 50) to influence the trend bias.
Volume Delta (5m Timeframe):
Fetches 5m volume: volume_5m = request.security(syminfo.tickerid, "5", volume, lookahead=barmerge.lookahead_on).
Computes a 12-period SMA of volume: avgVolume = ta.sma(volume_5m, 12).
Delta: (volume_5m - avgVolume) / avgVolume (or 0 if avgVolume is zero).
This measures relative volume spikes, where positive deltas suggest increased interest (bullish) and negative suggest waning activity (bearish).
MOS Components and Final Calculation:
Trend Bias: Average of the three slopes, normalized by close price and scaled by 100, then weighted by ADX influence: (slope5m + slope15m + slope30m) / 3 / close * 100 * (adx / 50).
Emphasizes trends in strong ADX conditions.
Momentum Impulse: Change in 5m RSI(14) over 1 bar, divided by 50: ta.change(request.security(syminfo.tickerid, "5", ta.rsi(close, 14), lookahead=barmerge.lookahead_on), 1) / 50.
Captures short-term momentum shifts.
Volatility Clarity: 1 - ta.change(atr, 1) / max(atr, 0.0001).
Measures ATR stability; values near 1 indicate low volatility changes (clearer trends), while lower values suggest erratic markets.
MOS Formula: Weighted average:
textmos = (0.35 * trendBias + 0.25 * momentumImpulse + 0.2 * volumeDelta + 0.2 * volatilityClarity)
Weights prioritize trend (35%) and momentum (25%), with volume and volatility at 20% each. These can be adjusted in code for experimentation.
Trading Decision:
A variable mosDecision starts as "Neutral".
If mos > 0.15, set to "Long".
If mos < -0.15, set to "Short".
Thresholds (0.15 and -0.15) are hardcoded but can be modified.
Visualization and Outputs
Threshold Lines (using hline):
Long Threshold: Horizontal dashed green line at +0.15.
Short Threshold: Horizontal dashed red line at -0.15.
Neutral Line: Horizontal dashed gray line at 0.
These provide visual reference points for MOS interpretation.
Dynamic Labels (using label.new):
Placed at each bar's index and MOS value.
Text: Formatted MOS value (e.g., "0.2345") followed by a newline and the decision (e.g., "Long").
Style: Downward-pointing label with gray background and white text for readability.
This replaces a traditional plot line, showing exact values and decisions per bar without cluttering the chart.
The indicator appears in a separate pane below the main price chart, making it easy to monitor alongside price action.
Usage Instructions
Adding to TradingView:
Copy the script into TradingView's Pine Script editor.
Save and add to your chart via the "Indicators" menu.
Select a symbol and timeframe (e.g., 1-minute for intraday).
Interpretation:
Long Signal: MOS > 0.15 – Consider bullish positions if supported by other indicators.
Short Signal: MOS < -0.15 – Potential bearish setups.
Neutral: Between -0.15 and 0.15 – Avoid trades or wait for confirmation.
Watch for MOS crossings of thresholds for momentum shifts.
Combine with price patterns, support/resistance, or volume for better accuracy.
Limitations and Considerations:
Lookahead Bias: Uses barmerge.lookahead_on for multi-timeframe data, which may introduce minor forward-looking bias in backtesting (use with caution).
No Alerts Built-In: Add custom alerts via TradingView's alert system based on MOS conditions.
Performance: Tested for compatibility; may require adjustments for illiquid assets or extreme volatility.
Backtesting: Use TradingView's strategy tester to evaluate historical performance, but remember past results don't guarantee future outcomes.
Customization: Edit weights in the MOS formula or thresholds to fit your strategy.
This indicator distills complex market data into a single score, aiding decision-making while encouraging users to verify signals with additional analysis. If you need modifications, such as restoring plot functionality or adding features, provide details for further refinement.