Market Strength Dashboard🚀 What It Does:
The indicator gives you a real-time dashboard showing three things:
✅ Trend Direction
Uses EMA 50 vs EMA 200.
Bullish: EMA 50 is above EMA 200 → Price favors upside swing.
Bearish: EMA 50 is below EMA 200 → Price favors downside swing.
Neutral: EMAs are equal → No clear trend.
✅ Momentum Strength
Uses RSI (Relative Strength Index).
Strong Bullish: RSI > 55 → Buyers in control.
Strong Bearish: RSI < 45 → Sellers in control.
Neutral: RSI between 45–55 → No strong momentum, usually sideways or uncertain.
✅ Volatility State (Expansion/Consolidation)
Uses Bollinger Band Width.
Measures if price is:
Expanding: BB Width increasing → Market opening up, volatility rising, often precedes large moves or breakouts.
Contracting: BB Width shrinking → Market compressing, often leads to tight ranges or consolidation.
Stable: No change in BB Width → Range behavior or calm trend.
🔥 How It Works Behind the Scenes:
EMA Cross Check:
→ Looks at whether the faster EMA (50) is above or below the slower EMA (200).
RSI Scan:
→ Reads current RSI level to determine momentum strength.
Bollinger Band Width Scan:
→ Calculates the distance between the upper and lower Bollinger Bands to detect if price is expanding or compressing.
Dashboard Output:
→ Combines all this into a floating label on the chart like:
“Trend: Bullish | Momentum: Strong Bullish | Volatility: Expanding”
🏆 How to Use It — Simple Rules for Swing or Day Trading:
🔥 Ideal Swing Trade Setup:
→ ✅ Trend: Bullish
→ ✅ Momentum: Strong Bullish
→ ✅ Volatility: Expanding
→ → Take long setups → pullbacks to EMA50 or previous highs → ride the trend.
→ ❌ If Trend is Neutral or Volatility is Contracting, skip the trade — market is chopping.
🔥 Ideal Day Trade Setup:
Look for Volatility Expanding → confirms active session/move.
Pair it with either Trend Bullish + Momentum Bullish for longs
→ Or Trend Bearish + Momentum Bearish for shorts.
🔥 When Not to Trade:
Trend Neutral + Momentum Neutral + Contracting Volatility → Sideways chop → No trade zone.
🔥 Breakout Watch Strategy:
When volatility shifts from Contracting → Expanding, expect a breakout.
→ Look for the first candle that pushes away from the Bollinger squeeze.
📊 How To Combine With Other Setups:
→ ✅ Add this dashboard to any chart to instantly know:
Should I be thinking up, down, or neither?
Is this market about to move big or stay stuck?
Pair it with:
Your price action entries.
Support/resistance levels.
Candle patterns.
Trendline or liquidity breaks.
🧠 Bottom Line:
→ This is a market condition scanner, not a signal generator.
→ It tells you: “Should I trade? What’s the direction? Is the market moving or stuck?”
→ You still choose the entry — this tool tells you when conditions are ideal or not.
Cari dalam skrip untuk "bear"
MestreDoFOMO Future Projection BoxMestreDoFOMO Future Projection Box - Description & How to Use
Description
The "MestreDoFOMO Future Projection Box" is a TradingView indicator tailored for crypto traders (e.g., BTC/USDT on 1H, 4H, or 1D timeframes). It visualizes current price ranges, projects future levels, and confirms trends using semi-transparent boxes. With labeled price levels and built-in alerts, it’s a simple yet powerful tool for identifying support, resistance, and potential price targets.
How It Works
Blue Box (Current Channel): Shows the recent price range over the last 10 bars (adjustable). The top is the highest high plus an ATR buffer, and the bottom is the lowest low minus the buffer. Labels display exact levels (e.g., "Top: 114000", "Bottom: 102600").
Green Box (Future Projection): Projects the price range 10 bars ahead (adjustable) based on the trend slope of the moving average. Labels show "Proj Top" and "Proj Bottom" for future targets.
Orange Box (Moving Average): Traces a 50-period EMA (adjustable) to confirm the trend. An upward slope signals a bullish trend; a downward slope signals a bearish trend. A label shows the current MA value (e.g., "MA: 105000").
Alerts: Triggers when the price nears the projected top or bottom, helping you catch breakouts or retracements.
How to Use
Add the Indicator: Apply "MestreDoFOMO Future Projection Box" to your chart in TradingView.
Interpret the Trend: Check the orange box’s slope—upward for bullish, downward for bearish.
Identify Key Levels: Use the blue box’s top as resistance and bottom as support. On a 4H chart, if the top is 114,000, expect resistance; if the bottom is 102,600, expect support.
Plan Targets: Use the green box for future targets—top for profit-taking (e.g., 114,000), bottom for stop-loss or buying (e.g., 102,600).
Set Alerts: Enable alerts for "Near Upper Projection" or "Near Lower Projection" to get notified when the price hits key levels.
Trade Examples:
Bullish: If the price breaks above the blue box top (e.g., 114,000), buy with a target at the green box top. Set a stop-loss below the green box bottom.
Bearish: If the price rejects at the blue box top and drops below the orange MA, short with a target at the blue box bottom.
Customize: Adjust the lookback period, projection bars, ATR multiplier, and MA length in the settings to fit your trading style.
Tips
Use on 1H for short-term trades, 4H for swing trades, or 1D for long-term trends.
Combine with volume or RSI to confirm signals.
Validate levels with market structure (e.g., candlestick patterns).
Constance Brown RSI with Composite IndexConstance Brown RSI with Composite Index
Overview
This indicator combines Constance Brown's RSI interpretation methodology with a Composite Index and ATR Distance to VWAP measurement to provide a comprehensive trading tool. It helps identify trends, momentum shifts, overbought/oversold conditions, and potential reversal points.
Key Features
Color-coded RSI zones for immediate trend identification
Composite Index for momentum analysis and divergence detection
ATR Distance to VWAP for identifying extreme price deviations
Automatic divergence detection for early reversal warnings
Pre-configured alerts for key trading signals
How to Use This Indicator
Trend Identification
The RSI line changes color based on its position:
Blue zone (RSI > 50): Bullish trend - look for buying opportunities
Purple zone (RSI < 50): Bearish trend - look for selling opportunities
Gray zone (RSI 40-60): Neutral/transitional market - prepare for potential breakout
The 40-50 area (light blue fill) acts as support during uptrends, while the 50-60 area (light purple fill) acts as resistance during downtrends.
// From the code:
upTrendZone = rsiValue > 50 and rsiValue <= 90
downTrendZone = rsiValue < 50 and rsiValue >= 10
neutralZone = rsiValue > 40 and rsiValue < 60
rsiColor = neutralZone ? neutralRSI : upTrendZone ? upTrendRSI : downTrendRSI
Momentum Analysis
The Composite Index (fuchsia line) provides momentum confirmation:
Values above 50 indicate positive momentum
Values below 40 indicate negative momentum
Crossing above/below these thresholds signals potential momentum shifts
// From the code:
compositeIndexRaw = rsiChange / ta.stdev(rsiValue, rsiLength)
compositeIndex = ta.sma(compositeIndexRaw, compositeSmoothing)
compositeScaled = compositeIndex * 10 + 50 // Scaled to fit 0-100 range
Overbought/Oversold Detection
The ATR Distance to VWAP table in the top-right corner shows how far price has moved from VWAP in terms of ATR units:
Extreme positive values (orange/red): Potentially overbought
Extreme negative values (purple/red): Potentially oversold
Near zero (gray): Price near average value
// From the code:
priceDistance = (close - vwapValue) / ta.atr(atrPeriod)
// Color coding based on distance value
Divergence Trading
The indicator automatically detects divergences between the Composite Index and price:
Bullish divergence: Price makes lower low but Composite Index makes higher low
Bearish divergence: Price makes higher high but Composite Index makes lower high
// From the code:
divergenceBullish = ta.lowest(compositeIndex, rsiLength) > ta.lowest(close, rsiLength)
divergenceBearish = ta.highest(compositeIndex, rsiLength) < ta.highest(close, rsiLength)
Trading Strategies
Trend Following
1. Identify the trend using RSI color:
Blue = Uptrend, Purple = Downtrend
2. Wait for pullbacks to support/resistance zones:
In uptrends: Buy when RSI pulls back to 40-50 zone and bounces
In downtrends: Sell when RSI rallies to 50-60 zone and rejects
3. Confirm with Composite Index:
Uptrends: Composite Index stays above 50 or quickly returns above it
Downtrends: Composite Index stays below 50 or quickly returns below it
4. Manage risk using ATR Distance:
Take profits when ATR Distance reaches extreme values
Place stops beyond recent swing points
Reversal Trading
1. Look for divergences
Bullish: Price makes lower low but Composite Index makes higher low
Bearish: Price makes higher high but Composite Index makes lower high
2. Confirm with ATR Distance:
Extreme readings suggest potential reversals
3. Wait for RSI zone transition:
Bullish: RSI crosses above 40 (purple to neutral/blue)
Bearish: RSI crosses below 60 (blue to neutral/purple)
4. Enter after confirmation:
Use candlestick patterns for precise entry
Place stops beyond the divergence point
Four pre-configured alerts are available:
Momentum High: Composite Index above 50
Momentum Low: Composite Index below 40
Bullish Divergence: Composite Index higher low
Bearish Divergence: Composite Index lower high
Customization
Adjust these parameters to optimize for your trading style:
RSI Length: Default 14, lower for more sensitivity, higher for fewer signals
Composite Index Smoothing: Default 10, lower for quicker signals, higher for less noise
ATR Period: Default 14, affects the ATR Distance to VWAP calculation
This indicator works well across various markets and timeframes, though the default settings are optimized for daily charts. Adjust parameters for shorter or longer timeframes as needed.
Happy trading!
EMA 9/21/50 + VWAP + MACD + RSI Pro [v6]Overview:
A powerful multi-indicator tool combining Exponential Moving Averages (EMA 9, 21, 50), Volume-Weighted Average Price (VWAP), Moving Average Convergence Divergence (MACD), and Relative Strength Index (RSI) into a single, easy-to-read system. Designed for traders who want a clean, all-in-one dashboard for trend analysis, momentum confirmation, and overbought/oversold conditions.
Key Features:
1. Triple EMA System (9, 21, 50)
Identifies short-term and medium-term trends.
Bullish Signal: EMA 9 > EMA 21 > EMA 50 (Green Highlight)
Bearish Signal: EMA 9 < EMA 21 < EMA 50 (Red Highlight)
Helps confirm trend direction and potential reversals.
2. VWAP (Volume-Weighted Average Price)
Tracks intraday fair value price based on volume.
Bullish: Price above VWAP (Green)
Bearish: Price below VWAP (Red)
3. MACD (Standard 12, 26, 9 Settings)
Shows momentum shifts.
Bullish: MACD line > Signal line (Green)
Bearish: MACD line < Signal line (Red)
Histogram confirms strength of momentum.
4. RSI (14-Period Default)
Identifies overbought (>70) and oversold (<30) conditions.
Red: Overbought (Potential Reversal)
Green: Oversold (Potential Bounce)
5. Signal Dashboard (Top-Right Table)
Real-time summary of all indicators in one place.
Color-coded for quick interpretation (Green = Bullish, Red = Bearish).
How to Use This Indicator?
✅ Trend Confirmation:
Trade in the direction of EMA alignment (9 > 21 > 50 for uptrends).
Use VWAP as dynamic support/resistance.
✅ Momentum Entries:
Look for MACD crossovers while RSI is not extreme.
Avoid buying when RSI > 70 or selling when RSI < 30 (unless strong trend).
✅ Mean Reversion:
Fade extreme RSI readings (overbought/oversold) when price is at key levels.
Who Is This For?
✔ Swing Traders – EMA + MACD combo for trend-following.
✔ Day Traders – VWAP + EMA for intraday bias.
✔ RSI Traders – Clear overbought/oversold signals.
Settings Customization:
Adjust EMA lengths, RSI periods, and MACD settings as needed.
Toggle VWAP visibility on/off.
Why Use This Script?
📌 All-in-One: No need for multiple indicators cluttering your chart.
📌 Visual Clarity: Color-coded signals for quick decision-making.
📌 Flexible: Works on any timeframe (1M, 5M, 1H, Daily, etc.).
Install now and enhance your trading strategy with a professional-grade multi-indicator system!
Not a financial advice. Use at your own discretion and always apply risk management
Stochastic Overlay - Regression Channel (Zeiierman)█ Overview
The Stochastic Overlay – Regression Channel (Zeiierman) is a next-generation visualization tool that transforms the traditional Stochastic Oscillator into a dynamic price-based overlay.
Instead of leaving momentum trapped in a lower subwindow, this indicator projects the Stochastic oscialltor directly onto price itself — allowing traders to visually interpret momentum, overbought/oversold conditions, and market strength without ever taking their eyes off price action.
⚪ In simple terms:
▸ The Bands = The Stochastic Oscillator — but on price.
▸ The Midline = Stochastic 50 level
▸ Upper Band = Stochastic Overbought Threshold
▸ Lower Band = Stochastic Oversold Threshold
When the price moves above the midline → it’s the same as the oscillator moving above 50
When the price breaks above the upper band → it’s the same as Stochastic entering overbought.
When the price reaches the lower band →, think of it like Stochastic being oversold.
This makes market conditions visually intuitive. You’re literally watching the oscillator live on the price chart.
█ How It Works
The indicator layers 3 distinct technical elements into one clean view:
⚪ Stochastic Momentum Engine
Tracks overbought/oversold conditions and directional strength using:
%K Line → Momentum of price
%D Line → Smoothing filter of %K
Overbought/Oversold Bands → Highlight potential reversal zones
⚪ Volatility Adaptive Bands
Dynamic bands plotted above and below price using:
ATR * Stochastic Scaling → Creates wider bands during volatile periods & tighter bands in calm conditions
Basis → Moving average centerline (EMA, SMA, WMA, HMA, RMA selectable)
This means:
→ In strong trends: Bands expand
→ In consolidations: Bands contract
⚪ Regression Channel
Projects trend direction with different models:
Logarithmic → Captures non-linear growth (perfect for crypto or exponential stocks)
Linear → Classic regression fit
Adaptive → Dynamically adjusts sensitivity
Leading → Projects trend further ahead (aggressive mode)
Channels include:
Midline → Fair value trend
Upper/Lower Bounds → Deviation-based support/resistance
⚪ Heatmap - Bull & Bear Power Strength
Visual heatmeter showing:
% dominance of bulls vs bears (based on close > or < Band Basis)
Automatic normalization regardless of timeframe
Table display on-chart for quick visual insight
Dynamic highlighting when extreme levels are reached
⚪ Trend Candlestick Coloring
Bars auto-color based on trend filter:
Above Basis → Bullish Color
Below Basis → Bearish Color
█ How to Use
⚪ Trend Trading
→ Use Band direction + Regression Channel to identify trend alignment
→ Longs favored when price holds above the Basis
→ Shorts favored when price stays below the Basis
→ Use the Bull & Bear heatmap to asses if the bulls or the bears are in control.
⚪ Mean Reversion
→ Look for price to interact with Upper or Lower Band extremes
→ Stochastic reaching OB/OS zones further supports reversals
⚪ Momentum Confirmation
→ Crossovers between %K and %D can confirm continuation or divergence signals
→ Especially powerful when happening at band boundaries
⚪ Strength Heatmap
→ Quickly visualize current buyer vs seller control
→ Sharp spikes in Bull Power = Aggressive buying
→ Sharp spikes in Bear Power = Heavy selling pressure
█ Why It Useful
This is not a typical Stochastic or regression tool. The tool is designed for traders who want to:
React dynamically to price volatility
Map momentum into volatility context
Use adaptive regression channels across trend styles
Visualize bull vs bear power in real-time
Follow trends with built-in reversal logic
█ Settings
Stochastic Settings
Stochastic Length → Period of calculation. Higher = smoother, Lower = faster signals.
%K Smoothing → Smooths the Stochastic line itself.
%D Smoothing → Smooths the moving average of %K for slower signals.
Stochastic Band
Band Length → Length of the Moving Average Basis.
Volatility Multiplier → Controls band width via ATR scaling.
Band Type → Choose MA type (EMA, SMA, WMA, HMA, RMA).
Regression Channel
Regression Type → Logarithmic / Linear / Adaptive / Leading.
Regression Length → Number of bars for regression calculation.
Heatmap Settings
Heatmap Length → Number of bars to calculate bull/bear dominance.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
zone trading stratThis only works for DOGEUSD , I made it for the 8cap chart so only use it for that.
If you want this for other symbols/charts you need to comment below or msg me.
# Price Zone Trading System: Technical Explanation
## Core Concept
The Price Zone Tracker is built on the concept that price tends to respect certain key levels or "zones" on the chart. These zones act as support and resistance areas where price may bounce or break through. The system combines zone analysis with multiple technical indicators to generate high-probability trading signals.
## Zone Analysis
The system tracks 9 predefined price zones. Each zone has both a high and low boundary, except for Zone 5 which is represented by a single line. When price enters a zone, the system monitors whether it stays within the zone, breaks above it (bullish), or breaks below it (bearish).
This zone behavior establishes the foundational bias of the system:
- When price closes above its previous zone: Zone State = Bullish
- When price closes below its previous zone: Zone State = Bearish
- When price remains within a zone: Zone State = Neutral
## Trend Analysis Components
The system performs multi-timeframe analysis using several technical components:
1. **Higher Timeframe Analysis** (±3 points in scoring)
- Uses 15-minute charts for sub-5-minute timeframes
- Uses 30-minute charts for 5-minute timeframes
- Uses 60-minute charts for timeframes above 5 minutes
- Evaluates candlestick patterns and EMA crossovers on the higher timeframe
2. **EMA Direction** (±1 point in scoring)
- Compares 12-period and 26-period EMAs
- Bullish when fast EMA > slow EMA
- Bearish when fast EMA < slow EMA
3. **MACD Analysis** (±1 point in scoring)
- Uses standard 12/26/9 MACD settings
- Bullish when MACD line crosses above signal line with positive histogram
- Bearish when MACD line crosses below signal line with negative histogram
4. **Price Action** (±2 points in scoring)
- Evaluates whether price is making higher highs/higher lows (uptrend)
- Or lower highs/lower lows (downtrend)
- Also considers ATR-based volatility and strength of movements
## Trend Score Calculation
All these components are weighted and combined into a trend score:
- Higher timeframe components have stronger weights (±2-3 points)
- Current timeframe components have moderate weights (±1 point)
- Price action components have varied weights (±0.5-2 points)
The final trend state is determined by thresholds:
- Score > +3: Trend Analysis State = Bullish
- Score < -3: Trend Analysis State = Bearish
- Score between -3 and +3: Trend Analysis State = Neutral
## Signal Generation Logic
The system combines the Zone State with the Trend Analysis State:
1. If Zone State and Trend Analysis State are both bullish:
- Combined State = Bullish
- Line Color = Green
2. If Zone State and Trend Analysis State are both bearish:
- Combined State = Bearish
- Line Color = Red
3. If Zone State and Trend Analysis State contradict each other:
- Combined State = Neutral
- Line Color = Black
This implements a safety mechanism requiring both zone analysis and technical indicators to agree before generating a directional signal.
## Trading Signals
Trading signals are generated based on changes in the Combined State:
- When Combined State changes from neutral/bearish to bullish:
- Trading Signal = LONG (green triangle appears on chart)
- When Combined State changes from neutral/bullish to bearish:
- Trading Signal = SHORT (red triangle appears on chart)
- When Combined State changes from bullish/bearish to neutral:
- Trading Signal = EXIT (yellow X appears on chart)
- When Combined State remains unchanged:
- Trading Signal = NONE (no new marker appears)
## Reversal Warning
The system also monitors for potential reversal conditions:
- When Combined State is bullish but both RSI and MFI are overbought (>70)
- When Combined State is bearish but both RSI and MFI are oversold (<30)
In these cases, a yellow diamond appears on the chart as a warning that a reversal might be imminent.
## Visual Elements
The indicator provides multiple visual elements:
1. Zone boundaries as translucent orange areas
2. A single colored line below price (green/red/black) showing the current signal
3. Trading signals as shapes on the chart
4. An information panel showing all relevant indicator values and signals
## Usage Limitations
The indicator is designed to work optimally on timeframes below 30 minutes. On higher timeframes, a warning appears and analysis is disabled.
WIG20 Total Value-Weighted VolumeThis Pine Script creates a custom indicator for TradingView that calculates and visualizes the total "value-weighted volume" of the 20 stocks in the WIG20 index (a major Polish stock market index). Here's a breakdown of what it does:
Functionality:
Stock Selection:
The script allows you to input the ticker symbols for the 20 stocks that make up the WIG20 index (e.g., "PKO" for PKO Bank Polski, "PKN" for PKN Orlen, etc.). These are customizable via input fields, so you can adjust them to match the current WIG20 constituents.
Data Retrieval:
For each of the 20 stocks, it fetches two pieces of data from the current chart timeframe (e.g., daily, hourly):
Volume: The number of shares traded (e.g., v01 for the first stock).
Average Price: The midpoint price of the candle, calculated as (open + close) / 2 (e.g., p01 for the first stock). This represents a typical price for that period.
Value-Weighted Volume Calculation:
For each stock, it multiplies the volume by its average price (e.g., vw01 = v01 * p01). This converts the raw volume (in shares) into a monetary value (e.g., in Polish złoty, PLN, assuming the prices are in PLN).
The result, called "value-weighted volume," reflects the total monetary amount traded for each stock rather than just the number of shares.
Total Value-Weighted Volume:
It sums the value-weighted volumes of all 20 stocks into a single value, totalValueVolume. This represents the combined monetary trading activity across the WIG20 index for each time period (e.g., each candle on the chart).
Statistical Analysis:
The script calculates a rolling mean and standard deviation of the totalValueVolume over a user-defined lookback period (default is 20 bars, adjustable via input).
It then computes a "3-sigma" threshold, which is the mean plus three times the standard deviation. This threshold identifies unusually high trading activity (statistically significant outliers).
Candle Direction:
It checks whether the current candle on the chart (e.g., the WIG20 index itself) is bullish or bearish:
Bullish: If the close price is higher than the open price (close > open).
Bearish: If the close price is lower than the open price (close < open).
Color-Coded Visualization:
The totalValueVolume is plotted as a histogram on the chart with dynamic colors:
Blue: If the value-weighted volume is below the 3-sigma threshold (normal trading activity).
Green: If the value-weighted volume exceeds the 3-sigma threshold and the candle is bullish (indicating unusually high buying activity).
Red: If the value-weighted volume exceeds the 3-sigma threshold and the candle is bearish (indicating unusually high selling activity).
Purpose:
What It Shows: The indicator highlights the total monetary trading volume across the WIG20 stocks, adjusted for each stock’s price, and flags periods of exceptional activity (above 3 sigma) with colors that indicate market direction (bullish or bearish).
Use Case: Traders or analysts might use this to:
Identify significant market events where trading volume spikes (e.g., news-driven moves).
Assess whether those spikes align with bullish (green) or bearish (red) sentiment, based on the WIG20 index’s price movement.
Compare monetary trading activity across different periods, rather than just share volume, which gives more weight to higher-priced stocks.
Key Features:
Customizable: You can tweak the stock symbols and lookback period to fit your needs.
Statistical Insight: The 3-sigma rule helps spot outliers in trading activity.
Visual Clarity: The histogram’s color changes make it easy to see when volume spikes occur and whether they’re tied to upward or downward price moves.
Example Output:
On a daily WIG20 chart, if one day’s total value-weighted volume is exceptionally high (above 3 sigma) and the WIG20 closes higher than it opened, the histogram bar for that day turns green. If it closes lower, it turns red. Otherwise, it stays blue.
In essence, this script transforms raw volume data into a price-adjusted, statistically informed indicator that visually emphasizes significant trading events with directional context!
Donchian Reversal Scanner by Hitesh2603How It Works:
Bearish Side Logic:
If the price is falling with bearish candles and touching the lower Donchian Channel, the bearishCondition flag is set to true.
When a bullish candle appears afterward, the flag is reset, and the bullishReversalSquare condition becomes true.
Bullish Side Logic:
If the price is rising with bullish candles and touching the upper Donchian Channel, the bullishCondition flag is set to true.
When a bearish candle appears afterward, the flag is reset, and the bearishReversalSquare condition becomes true.
Plotting Squares:
A green square is plotted below the candle when bullishReversalSquare is true.
A red square is plotted above the candle when bearishReversalSquare is true.
Scanner Output:
The scanCondition variable is true when either bullishReversalSquare or bearishReversalSquare is true.
How to Use the Script:
On the Chart:
Add the script to your chart.
You will see squares plotted on the chart when the conditions are met:
Green squares below the candle for bullish reversals.
Red squares above the candle for bearish reversals.
In the Scanner:
Open the Scanner tab in TradingView.
Click on "Create New Scanner".
In the "Condition" field, select the script you just created.
Choose the market or watchlist you want to scan (e.g., "NYSE", "NASDAQ", or a custom watchlist).
Run the scan. The Scanner will return a list of instruments where the scanCondition is true.
Why This Works:
The scanCondition variable is now properly declared and used.
The plotchar function explicitly outputs the scanCondition variable as a plot, which the Scanner can recognize.
Multi-Timeframe Stochastic Alert [tradeviZion]# Multi-Timeframe Stochastic Alert : Complete User Guide
## 1. Introduction
### What is the Multi-Timeframe Stochastic Alert?
The Multi-Timeframe Stochastic Alert is an advanced technical analysis tool that helps traders identify potential trading opportunities by analyzing momentum across multiple timeframes. It combines the power of the stochastic oscillator with multi-timeframe analysis to provide more reliable trading signals.
### Key Features and Benefits
- Simultaneous analysis of 6 different timeframes
- Advanced alert system with customizable conditions
- Real-time visual feedback with color-coded signals
- Comprehensive data table with instant market insights
- Motivational trading messages for psychological support
- Flexible theme support for comfortable viewing
### How it Can Help Your Trading
- Identify stronger trends by confirming momentum across multiple timeframes
- Reduce false signals through multi-timeframe confirmation
- Stay informed of market changes with customizable alerts
- Make more informed decisions with comprehensive market data
- Maintain trading discipline with clear visual signals
## 2. Understanding the Display
### The Stochastic Chart
The main chart displays three key components:
1. ** K-Line (Fast) **: The primary stochastic line (default color: green)
2. ** D-Line (Slow) **: The signal line (default color: red)
3. ** Reference Lines **:
- Overbought Level (80): Upper dashed line
- Middle Line (50): Center dashed line
- Oversold Level (20): Lower dashed line
### The Information Table
The table provides a comprehensive view of stochastic readings across all timeframes. Here's what each column means:
#### Column Explanations:
1. ** Timeframe **
- Shows the time period for each row
- Example: "5" = 5 minutes, "15" = 15 minutes, etc.
2. ** K Value **
- The fast stochastic line value (0-100)
- Higher values indicate stronger upward momentum
- Lower values indicate stronger downward momentum
3. ** D Value **
- The slow stochastic line value (0-100)
- Helps confirm momentum direction
- Crossovers with K-line can signal potential trades
4. ** Status **
- Shows current momentum with symbols:
- ▲ = Increasing (bullish)
- ▼ = Decreasing (bearish)
- Color matches the trend direction
5. ** Trend **
- Shows the current market condition:
- "Overbought" (above 80)
- "Bullish" (above 50)
- "Bearish" (below 50)
- "Oversold" (below 20)
#### Row Explanations:
1. ** Title Row **
- Shows "🎯 Multi-Timeframe Stochastic"
- Indicates the indicator is active
2. ** Header Row **
- Contains column titles
- Dark blue background for easy reading
3. ** Timeframe Rows **
- Six rows showing different timeframe analyses
- Each row updates independently
- Color-coded for easy trend identification
4. **Message Row**
- Shows rotating motivational messages
- Updates every 5 bars
- Helps maintain trading discipline
### Visual Indicators and Colors
- ** Green Background **: Indicates bullish conditions
- ** Red Background **: Indicates bearish conditions
- ** Color Intensity **: Shows strength of the signal
- ** Background Highlights **: Appear when alert conditions are met
## 3. Core Settings Groups
### Stochastic Settings
These settings control the core calculation of the stochastic oscillator.
1. ** Length (Default: 14) **
- What it does: Determines the lookback period for calculations
- Higher values (e.g., 21): More stable, fewer signals
- Lower values (e.g., 8): More sensitive, more signals
- Recommended:
* Day Trading: 8-14
* Swing Trading: 14-21
* Position Trading: 21-30
2. ** Smooth K (Default: 3) **
- What it does: Smooths the main stochastic line
- Higher values: Smoother line, fewer false signals
- Lower values: More responsive, but more noise
- Recommended:
* Day Trading: 2-3
* Swing Trading: 3-5
* Position Trading: 5-7
3. ** Smooth D (Default: 3) **
- What it does: Smooths the signal line
- Works in conjunction with Smooth K
- Usually kept equal to or slightly higher than Smooth K
- Recommended: Keep same as Smooth K for consistency
4. ** Source (Default: Close) **
- What it does: Determines price data for calculations
- Options: Close, Open, High, Low, HL2, HLC3, OHLC4
- Recommended: Stick with Close for most reliable signals
### Timeframe Settings
Controls the multiple timeframes analyzed by the indicator.
1. ** Main Timeframes (TF1-TF6) **
- TF1 (Default: 10): Shortest timeframe for quick signals
- TF2 (Default: 15): Short-term trend confirmation
- TF3 (Default: 30): Medium-term trend analysis
- TF4 (Default: 30): Additional medium-term confirmation
- TF5 (Default: 60): Longer-term trend analysis
- TF6 (Default: 240): Major trend confirmation
Recommended Combinations:
* Scalping: 1, 3, 5, 15, 30, 60
* Day Trading: 5, 15, 30, 60, 240, D
* Swing Trading: 15, 60, 240, D, W, M
2. ** Wait for Bar Close (Default: true) **
- What it does: Controls when calculations update
- True: More reliable but slightly delayed signals
- False: Faster signals but may change before bar closes
- Recommended: Keep True for more reliable signals
### Alert Settings
#### Main Alert Settings
1. ** Enable Alerts (Default: true) **
- Master switch for all alert notifications
- Toggle this off when you don't want any alerts
- Useful during testing or when you want to focus on visual signals only
2. ** Alert Condition (Options) **
- "Above Middle": Bullish momentum alerts only
- "Below Middle": Bearish momentum alerts only
- "Both": Alerts for both directions
- Recommended:
* Trending Markets: Choose direction matching the trend
* Ranging Markets: Use "Both" to catch reversals
* New Traders: Start with "Both" until you develop a specific strategy
3. ** Alert Frequency **
- "Once Per Bar": Immediate alerts during the bar
- "Once Per Bar Close": Alerts only after bar closes
- Recommended:
* Day Trading: "Once Per Bar" for quick reactions
* Swing Trading: "Once Per Bar Close" for confirmed signals
* Beginners: "Once Per Bar Close" to reduce false signals
#### Timeframe Check Settings
1. ** First Check (TF1) **
- Purpose: Confirms basic trend direction
- Alert Triggers When:
* For Bullish: Stochastic is above middle line (50)
* For Bearish: Stochastic is below middle line (50)
* For Both: Triggers in either direction based on position relative to middle line
- Settings:
* Enable/Disable: Turn first check on/off
* Timeframe: Default 5 minutes
- Best Used For:
* Quick trend confirmation
* Entry timing
* Scalping setups
2. ** Second Check (TF2) **
- Purpose: Confirms both position and momentum
- Alert Triggers When:
* For Bullish: Stochastic is above middle line AND both K&D lines are increasing
* For Bearish: Stochastic is below middle line AND both K&D lines are decreasing
* For Both: Triggers based on position and direction matching current condition
- Settings:
* Enable/Disable: Turn second check on/off
* Timeframe: Default 15 minutes
- Best Used For:
* Trend strength confirmation
* Avoiding false breakouts
* Day trading setups
3. ** Third Check (TF3) **
- Purpose: Confirms overall momentum direction
- Alert Triggers When:
* For Bullish: Both K&D lines are increasing (momentum confirmation)
* For Bearish: Both K&D lines are decreasing (momentum confirmation)
* For Both: Triggers based on matching momentum direction
- Settings:
* Enable/Disable: Turn third check on/off
* Timeframe: Default 30 minutes
- Best Used For:
* Major trend confirmation
* Swing trading setups
* Avoiding trades against the main trend
Note: All three conditions must be met simultaneously for the alert to trigger. This multi-timeframe confirmation helps reduce false signals and provides stronger trade setups.
#### Alert Combinations Examples
1. ** Conservative Setup **
- Enable all three checks
- Use "Once Per Bar Close"
- Timeframe Selection Example:
* First Check: 15 minutes
* Second Check: 1 hour (60 minutes)
* Third Check: 4 hours (240 minutes)
- Wider gaps between timeframes reduce noise and false signals
- Best for: Swing trading, beginners
2. ** Aggressive Setup **
- Enable first two checks only
- Use "Once Per Bar"
- Timeframe Selection Example:
* First Check: 5 minutes
* Second Check: 15 minutes
- Closer timeframes for quicker signals
- Best for: Day trading, experienced traders
3. ** Balanced Setup **
- Enable all checks
- Use "Once Per Bar"
- Timeframe Selection Example:
* First Check: 5 minutes
* Second Check: 15 minutes
* Third Check: 1 hour (60 minutes)
- Balanced spacing between timeframes
- Best for: All-around trading
### Visual Settings
#### Alert Visual Settings
1. ** Show Background Color (Default: true) **
- What it does: Highlights chart background when alerts trigger
- Benefits:
* Makes signals more visible
* Helps spot opportunities quickly
* Provides visual confirmation of alerts
- When to disable:
* If using multiple indicators
* When preferring a cleaner chart
* During manual backtesting
2. ** Background Transparency (Default: 90) **
- Range: 0 (solid) to 100 (invisible)
- Recommended Settings:
* Clean Charts: 90-95
* Multiple Indicators: 85-90
* Single Indicator: 80-85
- Tip: Adjust based on your chart's overall visibility
3. ** Background Colors **
- Bullish Background:
* Default: Green
* Indicates upward momentum
* Customizable to match your theme
- Bearish Background:
* Default: Red
* Indicates downward momentum
* Customizable to match your theme
#### Level Settings
1. ** Oversold Level (Default: 20) **
- Traditional Setting: 20
- Adjustable Range: 0-100
- Usage:
* Lower values (e.g., 10): More conservative
* Higher values (e.g., 30): More aggressive
- Trading Applications:
* Potential bullish reversal zone
* Support level in uptrends
* Entry point for long positions
2. ** Overbought Level (Default: 80) **
- Traditional Setting: 80
- Adjustable Range: 0-100
- Usage:
* Lower values (e.g., 70): More aggressive
* Higher values (e.g., 90): More conservative
- Trading Applications:
* Potential bearish reversal zone
* Resistance level in downtrends
* Exit point for long positions
3. ** Middle Line (Default: 50) **
- Purpose: Trend direction separator
- Applications:
* Above 50: Bullish territory
* Below 50: Bearish territory
* Crossing 50: Potential trend change
- Trading Uses:
* Trend confirmation
* Entry/exit trigger
* Risk management level
#### Color Settings
1. ** Bullish Color (Default: Green) **
- Used for:
* K-Line (Main stochastic line)
* Status symbols when trending up
* Trend labels for bullish conditions
- Customization:
* Choose colors that stand out
* Match your trading platform theme
* Consider color blindness accessibility
2. ** Bearish Color (Default: Red) **
- Used for:
* D-Line (Signal line)
* Status symbols when trending down
* Trend labels for bearish conditions
- Customization:
* Choose contrasting colors
* Ensure visibility on your chart
* Consider monitor settings
3. ** Neutral Color (Default: Gray) **
- Used for:
* Middle line (50 level)
- Customization:
* Should be less prominent
* Easy on the eyes
* Good background contrast
### Theme Settings
1. **Color Theme Options**
- Dark Theme (Default):
* Dark background with white text
* Optimized for dark chart backgrounds
* Reduces eye strain in low light
- Light Theme:
* Light background with black text
* Better visibility in bright conditions
- Custom Theme:
* Use your own color preferences
2. ** Available Theme Colors **
- Table Background
- Table Text
- Table Headers
Note: The theme affects only the table display colors. The stochastic lines and alert backgrounds use their own color settings.
### Table Settings
#### Position and Size
1. ** Table Position **
- Options:
* Top Right (Default)
* Middle Right
* Bottom Right
* Top Left
* Middle Left
* Bottom Left
- Considerations:
* Chart space utilization
* Personal preference
* Multiple monitor setups
2. ** Text Sizes **
- Title Size Options:
* Tiny: Minimal space usage
* Small: Compact but readable
* Normal (Default): Standard visibility
* Large: Enhanced readability
* Huge: Maximum visibility
- Data Size Options:
* Recommended: One size smaller than title
* Adjust based on screen resolution
* Consider viewing distance
3. ** Empowering Messages **
- Purpose:
* Maintain trading discipline
* Provide psychological support
* Remind of best practices
- Rotation:
* Changes every 5 bars
* Categories include:
- Market Wisdom
- Strategy & Discipline
- Mindset & Growth
- Technical Mastery
- Market Philosophy
## 4. Setting Up for Different Trading Styles
### Day Trading Setup
1. **Timeframes**
- Primary: 5, 15, 30 minutes
- Secondary: 1H, 4H
- Alert Settings: "Once Per Bar"
2. ** Stochastic Settings **
- Length: 8-14
- Smooth K/D: 2-3
- Alert Condition: Match market trend
3. ** Visual Settings **
- Background: Enabled
- Transparency: 85-90
- Theme: Based on trading hours
### Swing Trading Setup
1. ** Timeframes **
- Primary: 1H, 4H, Daily
- Secondary: Weekly
- Alert Settings: "Once Per Bar Close"
2. ** Stochastic Settings **
- Length: 14-21
- Smooth K/D: 3-5
- Alert Condition: "Both"
3. ** Visual Settings **
- Background: Optional
- Transparency: 90-95
- Theme: Personal preference
### Position Trading Setup
1. ** Timeframes **
- Primary: Daily, Weekly
- Secondary: Monthly
- Alert Settings: "Once Per Bar Close"
2. ** Stochastic Settings **
- Length: 21-30
- Smooth K/D: 5-7
- Alert Condition: "Both"
3. ** Visual Settings **
- Background: Disabled
- Focus on table data
- Theme: High contrast
## 5. Troubleshooting Guide
### Common Issues and Solutions
1. ** Too Many Alerts **
- Cause: Settings too sensitive
- Solutions:
* Increase timeframe intervals
* Use "Once Per Bar Close"
* Enable fewer timeframe checks
* Adjust stochastic length higher
2. ** Missed Signals **
- Cause: Settings too conservative
- Solutions:
* Decrease timeframe intervals
* Use "Once Per Bar"
* Enable more timeframe checks
* Adjust stochastic length lower
3. ** False Signals **
- Cause: Insufficient confirmation
- Solutions:
* Enable all three timeframe checks
* Use larger timeframe gaps
* Wait for bar close
* Confirm with price action
4. ** Visual Clarity Issues **
- Cause: Poor contrast or overlap
- Solutions:
* Adjust transparency
* Change theme settings
* Reposition table
* Modify color scheme
### Best Practices
1. ** Getting Started **
- Start with default settings
- Use "Both" alert condition
- Enable all timeframe checks
- Wait for bar close
- Monitor for a few days
2. ** Fine-Tuning **
- Adjust one setting at a time
- Document changes and results
- Test in different market conditions
- Find your optimal timeframe combination
- Balance sensitivity with reliability
3. ** Risk Management **
- Don't trade against major trends
- Confirm signals with price action
- Use appropriate position sizing
- Set clear stop losses
- Follow your trading plan
4. ** Regular Maintenance **
- Review settings weekly
- Adjust for market conditions
- Update color scheme for visibility
- Clean up chart regularly
- Maintain trading journal
## 6. Tips for Success
1. ** Entry Strategies **
- Wait for all timeframes to align
- Confirm with price action
- Use proper position sizing
- Consider market conditions
2. ** Exit Strategies **
- Trail stops using indicator levels
- Take partial profits at targets
- Honor your stop losses
- Don't fight the trend
3. ** Psychology **
- Stay disciplined with settings
- Don't override system signals
- Keep emotions in check
- Learn from each trade
4. ** Continuous Improvement **
- Record your trades
- Review performance regularly
- Adjust settings gradually
- Stay educated on markets
Trading IQ - ICT LibraryLibrary "ICTlibrary"
Used to calculate various ICT related price levels and strategies. An ongoing project.
Hello Coders!
This library is meant for sourcing ICT related concepts. While some functions might generate more output than you require, you can specify "Lite Mode" as "true" in applicable functions to slim down necessary inputs.
isLastBar(userTF)
Identifies the last bar on the chart before a timeframe change
Parameters:
userTF (simple int) : the timeframe you wish to calculate the last bar for, must be converted to integer using 'timeframe.in_seconds()'
Returns: bool true if bar on chart is last bar of higher TF, dalse if bar on chart is not last bar of higher TF
necessaryData(atrTF)
returns necessaryData UDT for historical data access
Parameters:
atrTF (float) : user-selected timeframe ATR value.
Returns: logZ. log return Z score, used for calculating order blocks.
method gradBoxes(gradientBoxes, idColor, timeStart, bottom, top, rightCoordinate)
creates neon like effect for box drawings
Namespace types: array
Parameters:
gradientBoxes (array) : an array.new() to store the gradient boxes
idColor (color)
timeStart (int) : left point of box
bottom (float) : bottom of box price point
top (float) : top of box price point
rightCoordinate (int) : right point of box
Returns: void
checkIfTraded(tradeName)
checks if recent trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent trade id matches target name, false otherwise
checkIfClosed(tradeName)
checks if recent closed trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent closed trade id matches target name, false otherwise
IQZZ(atrMult, finalTF)
custom ZZ to quickly determine market direction.
Parameters:
atrMult (float) : an atr multiplier used to determine the required price move for a ZZ direction change
finalTF (string) : the timeframe used for the atr calcuation
Returns: dir market direction. Up => 1, down => -1
method drawBos(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showBOS, isUp)
calculates and draws Break Of Structure
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the BoS line / label
showBOS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether BoS happened during price increase or price decrease.
Returns: void
method drawMSS(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showMSS, isUp, upRejections, dnRejections, highArr, lowArr, timeArr, closeArr, openArr, atrTFarr, upRejectionsPrices, dnRejectionsPrices)
calculates and draws Market Structure Shift. This data is also used to calculate Rejection Blocks.
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the MSS line / label
showMSS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether MSS happened during price increase or price decrease.
upRejections (array)
dnRejections (array)
highArr (array) : array containing historical highs, should be taken from the UDT "necessaryData" defined above
lowArr (array) : array containing historical lows, should be taken from the UDT "necessaryData" defined above
timeArr (array) : array containing historical times, should be taken from the UDT "necessaryData" defined above
closeArr (array) : array containing historical closes, should be taken from the UDT "necessaryData" defined above
openArr (array) : array containing historical opens, should be taken from the UDT "necessaryData" defined above
atrTFarr (array) : array containing historical atr values (of user-selected TF), should be taken from the UDT "necessaryData" defined above
upRejectionsPrices (array) : array containing up rejections prices. Is sorted and used to determine selective looping for invalidations.
dnRejectionsPrices (array) : array containing down rejections prices. Is sorted and used to determine selective looping for invalidations.
Returns: void
method getTime(id, compare, timeArr)
gets time of inputted price (compare) in an array of data
this is useful when the user-selected timeframe for ICT concepts is greater than the chart's timeframe
Namespace types: array
Parameters:
id (array) : the array of data to search through, to find which index has the same value as "compare"
compare (float) : the target data point to find in the array
timeArr (array) : array of historical times
Returns: the time that the data point in the array was recorded
method OB(id, highArr, signArr, lowArr, timeArr, sign)
store bullish orderblock data
Namespace types: array
Parameters:
id (array)
highArr (array) : array of historical highs
signArr (array) : array of historical price direction "math.sign(close - open)"
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
sign (int) : orderblock direction, -1 => bullish, 1 => bearish
Returns: void
OTEstrat(OTEstart, future, closeArr, highArr, lowArr, timeArr, longOTEPT, longOTESL, longOTElevel, shortOTEPT, shortOTESL, shortOTElevel, structureDirection, oteLongs, atrTF, oteShorts)
executes the OTE strategy
Parameters:
OTEstart (chart.point)
future (int) : future time point for drawings
closeArr (array) : array of historical closes
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
longOTEPT (string) : user-selected long OTE profit target, please create an input.string() for this using the example below
longOTESL (int) : user-selected long OTE stop loss, please create an input.string() for this using the example below
longOTElevel (float) : long entry price of selected retracement ratio for OTE
shortOTEPT (string) : user-selected short OTE profit target, please create an input.string() for this using the example below
shortOTESL (int) : user-selected short OTE stop loss, please create an input.string() for this using the example below
shortOTElevel (float) : short entry price of selected retracement ratio for OTE
structureDirection (string) : current market structure direction, this should be "Up" or "Down". This is used to cancel pending orders if market structure changes
oteLongs (bool) : input.bool() for whether OTE longs can be executed
atrTF (float) : atr of the user-seleceted TF
oteShorts (bool) : input.bool() for whether OTE shorts can be executed
@exampleInputs
oteLongs = input.bool(defval = false, title = "OTE Longs", group = "Optimal Trade Entry")
longOTElevel = input.float(defval = 0.79, title = "Long Entry Retracement Level", options = , group = "Optimal Trade Entry")
longOTEPT = input.string(defval = "-0.5", title = "Long TP", options = , group = "Optimal Trade Entry")
longOTESL = input.int(defval = 0, title = "How Many Ticks Below Swing Low For Stop Loss", group = "Optimal Trade Entry")
oteShorts = input.bool(defval = false, title = "OTE Shorts", group = "Optimal Trade Entry")
shortOTElevel = input.float(defval = 0.79, title = "Short Entry Retracement Level", options = , group = "Optimal Trade Entry")
shortOTEPT = input.string(defval = "-0.5", title = "Short TP", options = , group = "Optimal Trade Entry")
shortOTESL = input.int(defval = 0, title = "How Many Ticks Above Swing Low For Stop Loss", group = "Optimal Trade Entry")
Returns: void (0)
displacement(logZ, atrTFreg, highArr, timeArr, lowArr, upDispShow, dnDispShow, masterCoords, labelLevels, dispUpcol, rightCoordinate, dispDncol, noBorders)
calculates and draws dispacements
Parameters:
logZ (float) : log return of current price, used to determine a "significant price move" for a displacement
atrTFreg (float) : atr of user-seleceted timeframe
highArr (array) : array of historical highs
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
upDispShow (int) : amount of historical upside displacements to show
dnDispShow (int) : amount of historical downside displacements to show
masterCoords (map) : a map to push the most recent displacement prices into, useful for having key levels in one data structure
labelLevels (string) : used to determine label placement for the displacement, can be inside box, outside box, or none, example below
dispUpcol (color) : upside displacement color
rightCoordinate (int) : future time for displacement drawing, best is "last_bar_time"
dispDncol (color) : downside displacement color
noBorders (bool) : input.bool() to remove box borders, example below
@exampleInputs
labelLevels = input.string(defval = "Inside" , title = "Box Label Placement", options = )
noBorders = input.bool(defval = false, title = "No Borders On Levels")
Returns: void
method getStrongLow(id, startIndex, timeArr, lowArr, strongLowPoints)
unshift strong low data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the low before an upside BoS
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
strongLowPoints (array) : array of strong low prices. Used to retrieve highest strong low price and see if need for
removal of invalidated strong lows
Returns: void
method getStrongHigh(id, startIndex, timeArr, highArr, strongHighPoints)
unshift strong high data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the high before a downside BoS
timeArr (array) : array of historical times
highArr (array) : array of historical highs
strongHighPoints (array)
Returns: void
equalLevels(highArr, lowArr, timeArr, rightCoordinate, equalHighsCol, equalLowsCol, liteMode)
used to calculate recent equal highs or equal lows
Parameters:
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
rightCoordinate (int) : a future time (right for boxes, x2 for lines)
equalHighsCol (color) : user-selected color for equal highs drawings
equalLowsCol (color) : user-selected color for equal lows drawings
liteMode (bool) : optional for a lite mode version of an ICT strategy. For more control over drawings leave as "True", "False" will apply neon effects
Returns: void
quickTime(timeString)
used to quickly determine if a user-inputted time range is currently active in NYT time
Parameters:
timeString (string) : a time range
Returns: true if session is active, false if session is inactive
macros(showMacros, noBorders)
used to calculate and draw session macros
Parameters:
showMacros (bool) : an input.bool() or simple bool to determine whether to activate the function
noBorders (bool) : an input.bool() to determine whether the box anchored to the session should have borders
Returns: void
po3(tf, left, right, show)
use to calculate HTF po3 candle
@tip only call this function on "barstate.islast"
Parameters:
tf (simple string)
left (int) : the left point of the candle, calculated as bar_index + left,
right (int) : :the right point of the candle, calculated as bar_index + right,
show (bool) : input.bool() whether to show the po3 candle or not
Returns: void
silverBullet(silverBulletStratLong, silverBulletStratShort, future, userTF, H, L, H2, L2, noBorders, silverBulletLongTP, historicalPoints, historicalData, silverBulletLongSL, silverBulletShortTP, silverBulletShortSL)
used to execute the Silver Bullet Strategy
Parameters:
silverBulletStratLong (simple bool)
silverBulletStratShort (simple bool)
future (int) : a future time, used for drawings, example "last_bar_time"
userTF (simple int)
H (float) : the high price of the user-selected TF
L (float) : the low price of the user-selected TF
H2 (float) : the high price of the user-selected TF
L2 (float) : the low price of the user-selected TF
noBorders (bool) : an input.bool() used to remove the borders from box drawings
silverBulletLongTP (series silverBulletLevels)
historicalPoints (array)
historicalData (necessaryData)
silverBulletLongSL (series silverBulletLevels)
silverBulletShortTP (series silverBulletLevels)
silverBulletShortSL (series silverBulletLevels)
Returns: void
method invalidFVGcheck(FVGarr, upFVGpricesSorted, dnFVGpricesSorted)
check if existing FVGs are still valid
Namespace types: array
Parameters:
FVGarr (array)
upFVGpricesSorted (array) : an array of bullish FVG prices, used to selective search through FVG array to remove invalidated levels
dnFVGpricesSorted (array) : an array of bearish FVG prices, used to selective search through FVG array to remove invalidated levels
Returns: void (0)
method drawFVG(counter, FVGshow, FVGname, FVGcol, data, masterCoords, labelLevels, borderTransp, liteMode, rightCoordinate)
draws FVGs on last bar
Namespace types: map
Parameters:
counter (map) : a counter, as map, keeping count of the number of FVGs drawn, makes sure that there aren't more FVGs drawn
than int FVGshow
FVGshow (int) : the number of FVGs to show. There should be a bullish FVG show and bearish FVG show. This function "drawFVG" is used separately
for bearish FVG and bullish FVG.
FVGname (string) : the name of the FVG, "FVG Up" or "FVG Down"
FVGcol (color) : desired FVG color
data (FVG)
masterCoords (map) : a map containing the names and price points of key levels. Used to define price ranges.
labelLevels (string) : an input.string with options "Inside", "Outside", "Remove". Determines whether FVG labels should be inside box, outside,
or na.
borderTransp (int)
liteMode (bool)
rightCoordinate (int) : the right coordinate of any drawings. Must be a time point.
Returns: void
invalidBlockCheck(bullishOBbox, bearishOBbox, userTF)
check if existing order blocks are still valid
Parameters:
bullishOBbox (array) : an array declared using the UDT orderBlock that contains bullish order block related data
bearishOBbox (array) : an array declared using the UDT orderBlock that contains bearish order block related data
userTF (simple int)
Returns: void (0)
method lastBarRejections(id, rejectionColor, idShow, rejectionString, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws rejectionBlocks on last bar
Namespace types: array
Parameters:
id (array) : the array, an array of rejection block data declared using the UDT rejection block
rejectionColor (color) : the desired color of the rejection box
idShow (int)
rejectionString (string) : the desired name of the rejection blocks
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
method OBdraw(id, OBshow, BBshow, OBcol, BBcol, bullishString, bearishString, isBullish, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws orderblocks and breaker blocks for data stored in UDT array()
Namespace types: array
Parameters:
id (array) : the array, an array of order block data declared using the UDT orderblock
OBshow (int) : the number of order blocks to show
BBshow (int) : the number of breaker blocks to show
OBcol (color) : color of order blocks
BBcol (color) : color of breaker blocks
bullishString (string) : the title of bullish blocks, which is a regular bullish orderblock or a bearish orderblock that's converted to breakerblock
bearishString (string) : the title of bearish blocks, which is a regular bearish orderblock or a bullish orderblock that's converted to breakerblock
isBullish (bool) : whether the array contains bullish orderblocks or bearish orderblocks. If bullish orderblocks,
the array will naturally contain bearish BB, and if bearish OB, the array will naturally contain bullish BB
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
FVG
UDT for FVG calcualtions
Fields:
H (series float) : high price of user-selected timeframe
L (series float) : low price of user-selected timeframe
direction (series string) : FVG direction => "Up" or "Down"
T (series int) : => time of bar on user-selected timeframe where FVG was created
fvgLabel (series label) : optional label for FVG
fvgLineTop (series line) : optional line for top of FVG
fvgLineBot (series line) : optional line for bottom of FVG
fvgBox (series box) : optional box for FVG
labelLine
quickly pair a line and label together as UDT
Fields:
lin (series line) : Line you wish to pair with label
lab (series label) : Label you wish to pair with line
orderBlock
UDT for order block calculations
Fields:
orderBlockData (array) : array containing order block x and y points
orderBlockBox (series box) : optional order block box
vioCount (series int) : = 0 violation count of the order block. 0 = Order Block, 1 = Breaker Block
traded (series bool)
status (series string) : = "OB" status == "OB" => Level is order block. status == "BB" => Level is breaker block.
orderBlockLab (series label) : options label for the order block / breaker block.
strongPoints
UDT for strong highs and strong lows
Fields:
price (series float) : price of the strong high or strong low
timeAtprice (series int) : time of the strong high or strong low
strongPointLabel (series label) : optional label for strong point
strongPointLine (series line) : optional line for strong point
overlayLine (series line) : optional lines for strong point to enhance visibility
overlayLine2 (series line) : optional lines for strong point to enhance visibility
displacement
UDT for dispacements
Fields:
highPrice (series float) : high price of displacement
lowPrice (series float) : low price of displacement
timeAtPrice (series int) : time of bar where displacement occurred
displacementBox (series box) : optional box to draw displacement
displacementLab (series label) : optional label for displacement
po3data
UDT for po3 calculations
Fields:
dHigh (series float) : higher timeframe high price
dLow (series float) : higher timeframe low price
dOpen (series float) : higher timeframe open price
dClose (series float) : higher timeframe close price
po3box (series box) : box to draw po3 candle body
po3line (array) : line array to draw po3 wicks
po3Labels (array) : label array to label price points of po3 candle
macros
UDT for session macros
Fields:
sessions (array) : Array of sessions, you can populate this array using the "quickTime" function located above "export macros".
prices (matrix) : Matrix of session data -> open, high, low, close, time
sessionTimes (array) : Array of session names. Pairs with array sessions.
sessionLines (matrix) : Optional array for sesion drawings.
OTEtimes
UDT for data storage and drawings associated with OTE strategy
Fields:
upTimes (array) : time of highest point before trade is taken
dnTimes (array) : time of lowest point before trade is taken
tpLineLong (series line) : line to mark tp level long
tpLabelLong (series label) : label to mark tp level long
slLineLong (series line) : line to mark sl level long
slLabelLong (series label) : label to mark sl level long
tpLineShort (series line) : line to mark tp level short
tpLabelShort (series label) : label to mark tp level short
slLineShort (series line) : line to mark sl level short
slLabelShort (series label) : label to mark sl level short
sweeps
UDT for data storage and drawings associated with liquidity sweeps
Fields:
upSweeps (matrix) : matrix containing liquidity sweep price points and time points for up sweeps
dnSweeps (matrix) : matrix containing liquidity sweep price points and time points for down sweeps
upSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
dnSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
raidExitDrawings
UDT for drawings associated with the Liquidity Raid Strategy
Fields:
tpLine (series line) : tp line for the liquidity raid entry
tpLabel (series label) : tp label for the liquidity raid entry
slLine (series line) : sl line for the liquidity raid entry
slLabel (series label) : sl label for the liquidity raid entry
m2022
UDT for data storage and drawings associated with the Model 2022 Strategy
Fields:
mTime (series int) : time of the FVG where entry limit order is placed
mIndex (series int) : array index of FVG where entry limit order is placed. This requires an array of FVG data, which is defined above.
mEntryDistance (series float) : the distance of the FVG to the 50% range. M2022 looks for the fvg closest to 50% mark of range.
mEntry (series float) : the entry price for the most eligible fvg
fvgHigh (series float) : the high point of the eligible fvg
fvgLow (series float) : the low point of the eligible fvg
longFVGentryBox (series box) : long FVG box, used to draw the eligible FVG
shortFVGentryBox (series box) : short FVG box, used to draw the eligible FVG
line50P (series line) : line used to mark 50% of the range
line100P (series line) : line used to mark 100% (top) of the range
line0P (series line) : line used to mark 0% (bottom) of the range
label50P (series label) : label used to mark 50% of the range
label100P (series label) : label used to mark 100% (top) of the range
label0P (series label) : label used to mark 0% (bottom) of the range
sweepData (array)
silverBullet
UDT for data storage and drawings associated with the Silver Bullet Strategy
Fields:
session (series bool)
sessionStr (series string) : name of the session for silver bullet
sessionBias (series string)
sessionHigh (series float) : = high high of session // use math.max(silverBullet.sessionHigh, high)
sessionLow (series float) : = low low of session // use math.min(silverBullet.sessionLow, low)
sessionFVG (series float) : if applicable, the FVG created during the session
sessionFVGdraw (series box) : if applicable, draw the FVG created during the session
traded (series bool)
tp (series float) : tp of trade entered at the session FVG
sl (series float) : sl of trade entered at the session FVG
sessionDraw (series box) : optional draw session with box
sessionDrawLabel (series label) : optional label session with label
silverBulletDrawings
UDT for trade exit drawings associated with the Silver Bullet Strategy
Fields:
tpLine (series line) : tp line drawing for strategy
tpLabel (series label) : tp label drawing for strategy
slLine (series line) : sl line drawing for strategy
slLabel (series label) : sl label drawing for strategy
unicornModel
UDT for data storage and drawings associated with the Unicorn Model Strategy
Fields:
hPoint (chart.point)
hPoint2 (chart.point)
hPoint3 (chart.point)
breakerBlock (series box) : used to draw the breaker block required for the Unicorn Model
FVG (series box) : used to draw the FVG required for the Unicorn model
topBlock (series float) : price of top of breaker block, can be used to detail trade entry
botBlock (series float) : price of bottom of breaker block, can be used to detail trade entry
startBlock (series int) : start time of the breaker block, used to set the "left = " param for the box
includes (array) : used to store the time of the breaker block, or FVG, or the chart point sequence that setup the Unicorn Model.
entry (series float) : // eligible entry price, for longs"math.max(topBlock, FVG.get_top())",
tpLine (series line) : optional line to mark PT
tpLabel (series label) : optional label to mark PT
slLine (series line) : optional line to mark SL
slLabel (series label) : optional label to mark SL
rejectionBlocks
UDT for data storage and drawings associated with rejection blocks
Fields:
rejectionPoint (chart.point)
bodyPrice (series float) : candle body price closest to the rejection point, for "Up" rejections => math.max(open, close),
rejectionBox (series box) : optional box drawing of the rejection block
rejectionLabel (series label) : optional label for the rejection block
equalLevelsDraw
UDT for data storage and drawings associated with equal highs / equal lows
Fields:
connector (series line) : single line placed at the first high or low, y = avgerage of distinguished equal highs/lows
connectorLab (series label) : optional label to be placed at the highs or lows
levels (array) : array containing the equal highs or lows prices
times (array) : array containing the equal highs or lows individual times
startTime (series int) : the time of the first high or low that forms a sequence of equal highs or lows
radiate (array) : options label to "radiate" the label in connector lab. Can be used for anything
necessaryData
UDT for data storage of historical price points.
Fields:
highArr (array) : array containing historical high points
lowArr (array) : array containing historical low points
timeArr (array) : array containing historical time points
logArr (array) : array containing historical log returns
signArr (array) : array containing historical price directions
closeArr (array) : array containing historical close points
binaryTimeArr (array) : array containing historical time points, uses "push" instead of "unshift" to allow for binary search
binaryCloseArr (array) : array containing historical close points, uses "push" instead of "unshift" to allow the correct
binaryOpenArr (array) : array containing historical optn points, uses "push" instead of "unshift" to allow the correct
atrTFarr (array) : array containing historical user-selected TF atr points
openArr (array) : array containing historical open points
Advanced Stochastic ForLoopAdvanced Stochastic ForLoop
OVERVIEW
Advanced Stochastic ForLoop is an improved version of Stochastic it is designed to calculate an array of values 1 or -1 depending if soruce for calculations is above or below basis.
It takes avereage of values over a range of lengths, providing trend signals smothed based on various moving averages in order to get rid of noise.
It offers flexibility with different signal modes and visual customizations.
TYPE OF SIGNALS
-FAST (MA > MA or MA > 0.99)
-SLOW (MA > 0)
-THRESHOLD CROSSING (set by user treshold for both directions)
-FAST THRESHOLD (when theres an change in signal by set margin e.g 0.4 -> 0.2 means bearsih when FT is set to 0.1, when MA is > 0.99 it will signal bullish, when MA < -0.99 it will signal bearish)
Generaly Lime color of line indicates Bullish, Fuchsia indicates Bearish.
This colors are not set in stone so you can change them in settings.
Alerts included when line color is:
-Bullish Trend, line color is lime
-Bearish Trend, line color is fuchsia
Credit
Idea for this script was from one of indicators created by www.tradingview.com
Warning
This indicator can be really noisy depending on the settings, signal mode so it should be used preferably as a part of an strategy not as a stand alone indicator
Remember the lower the timeframe you use the more noise there is.
No single indicator should be used alone when making investment decisions.
Bollinger Bands ForLoopBollinger Bands ForLoop
OVERVIEW
BB ForLoop is an improved version of Bollinger Bands it is designed to calculate an array of values 1 or -1 depending if soruce for calculations is above or below basis.
It takes avereage of values over a range of lengths, providing trend signals smothed based on various moving averages in order to get rid of noise.
It offers flexibility with different signal modes and visual customizations.
TYPE OF SIGNALS
-FAST (MA > MA or MA > 0.99)
-SLOW (MA > 0)
-THRESHOLD CROSSING (when cross above/below treshold set independently for both directions)
-FAST THRESHOLD (when there's change in signal by set margin e.g (0.4 -> 0.2) means bearsih when FT is set to 0.1, when MA is > 0.99 it will signal bullish, when MA < -0.99 it will signal bearish)
Generaly Lime color of line indicates Bullish, Fuchsia indicates Bearish.
This colors are not set in stone so you can change them in settings.
-Bullish Trend, line color is lime
-Bearish Trend, line color is fuchsia
Credit
Idea for this script was from one of indicators created by www.tradingview.com
Warning
Be careful when using this indicator especialy combining DEMA with FT (Fast Treshold).
This indicator can be really noisy depending on the settings, signal mode so it should be used preferably as a part of an strategy not as a stand alone indicator
Remember the lower the timeframe you use the more noise there is.
No single indicator should be used alone when making investment decisions.
Potential Divergence Checker#### Key Features
1. Potential Divergence Signals:
Potential divergences can signal a change in price movement before it occurs. This indicator identifies potential divergences instead of waiting for full confirmation, allowing it to detect signs of divergence earlier than traditional methods. This provides more flexible entry points and can act as a broader filter for potential setups.
2. Exposing Signals for External Use:
One of its advanced features is the ability to expose signals for use in other scripts. This allows users to integrate divergence signals and related entry/exit points into custom strategies or automated systems.
3. Custom Entry/Exit Timing Based on Years and Days:
The indicator provides entry and exit signals based on years and days, which could be useful for time-specific market behavior, long-term trades, and back testing.
#### Basic Usage
This indicator can check for all types of potential divergences: bullish, hidden bullish, bearish, hidden bearish. All you need to do is choose the type you want to check for under “DIVERGENCE TYPE” in the settings. On the chart, potential bullish divergences will show up as triangles below the price candles. one the chart potential bearish divergences will show up as upside down triangles above the price candles
#### Signals for Advanced Usage
You can use this indicator as a source in other indicators or strategies using the following information:
“ PD: Bull divergence signal ” will return “1” when a divergence is present and “0” when not present
“ PD: HBull divergence(hidden bull) signal ” will return “1” when a divergence is present and “0” when not present
“ PD: Bear divergence signal ” will return “1” when a divergence is present and “0” when not present
“ PD: HBear divergence(hidden bear) signal ” will return “1” when a divergence is present and “0” when not present
“ PD: enter ” signal will return a “1” when both the days and years criteria in the “entry filter settings” are met and “0” when not met.
“ PD: exit ” signal will return a “1” when the days criteria in the “exit filter settings” are met and “0” when not met.
#### Examples of Using Signals
1. If you are testing a long strategy for Bitcoin and do not want it to run during bear market years(e.g., the second year after a US presidential election), you can enable the “year and day filter for entry,” uncheck the following years in the settings: 2010, 2014, 2018, 2022, 2026, and reference the signal below in our strategy
signal: “ PD: enter ”
2. Let’s say you have a good long strategy, but want to make it a bit more profitable, you can tell the strategy not to run on days where there is potential bearish divergence and have it only run on more profitable days using these signals and the appropriate settings in the indicator
signal: “ PD: Bear divergence signal ” will return a ‘0’ with no bearish divergence present
signal: “ PD: enter ” will return a “1” if the entry falls on a specific, more profitable day chosen in the settings
#### Disclaimer
The "Potential Divergence Checker" indicator is a tool designed to identify potential market signals. It may have bugs and not do what it should do. It is not a guarantee of future trading performance, and users should exercise caution when making trading decisions based on its outputs. Always perform your own research and consider consulting with a financial advisor before making any investment decisions. Trading involves significant risk, and past performance is not indicative of future results.
Uptrick: RSI Histogram
1. **Introduction to the RSI and Moving Averages**
2. **Detailed Breakdown of the Uptrick: RSI Histogram**
3. **Calculation and Formula**
4. **Visual Representation**
5. **Customization and User Settings**
6. **Trading Strategies and Applications**
7. **Risk Management**
8. **Case Studies and Examples**
9. **Comparison with Other Indicators**
10. **Advanced Usage and Tips**
---
## 1. Introduction to the RSI and Moving Averages
### **1.1 Relative Strength Index (RSI)**
The Relative Strength Index (RSI) is a momentum oscillator developed by J. Welles Wilder and introduced in his 1978 book "New Concepts in Technical Trading Systems." It is widely used in technical analysis to measure the speed and change of price movements.
**Purpose of RSI:**
- **Identify Overbought/Oversold Conditions:** RSI values range from 0 to 100. Traditionally, values above 70 are considered overbought, while values below 30 are considered oversold. These thresholds help traders identify potential reversal points in the market.
- **Trend Strength Measurement:** RSI also indicates the strength of a trend. High RSI values suggest strong bullish momentum, while low values indicate bearish momentum.
**Calculation of RSI:**
1. **Calculate the Average Gain and Loss:** Over a specified period (e.g., 14 days), calculate the average gain and loss.
2. **Compute the Relative Strength (RS):** RS is the ratio of average gain to average loss.
3. **RSI Formula:** RSI = 100 - (100 / (1 + RS))
### **1.2 Moving Averages (MA)**
Moving Averages are used to smooth out price data and identify trends by filtering out short-term fluctuations. Two common types are:
**Simple Moving Average (SMA):** The average of prices over a specified number of periods.
**Exponential Moving Average (EMA):** A type of moving average that gives more weight to recent prices, making it more responsive to recent price changes.
**Smoothed Moving Average (SMA):** Used to reduce the impact of volatility and provide a clearer view of the underlying trend. The RMA, or Running Moving Average, used in the USH script is similar to an EMA but based on the average of RSI values.
## 2. Detailed Breakdown of the Uptrick: RSI Histogram
### **2.1 Indicator Overview**
The Uptrick: RSI Histogram (USH) is a technical analysis tool that combines the RSI with a moving average to create a histogram that reflects momentum and trend strength.
**Key Components:**
- **RSI Calculation:** Determines the relative strength of price movements.
- **Moving Average Application:** Smooths the RSI values to provide a clearer trend indication.
- **Histogram Plotting:** Visualizes the deviation of the smoothed RSI from a neutral level.
### **2.2 Indicator Purpose**
The primary purpose of the USH is to provide a clear visual representation of the market's momentum and trend strength. It helps traders identify:
- **Bullish and Bearish Trends:** By showing how far the smoothed RSI is from the neutral 50 level.
- **Potential Reversal Points:** By highlighting changes in momentum.
### **2.3 Indicator Design**
**RSI Moving Average (RSI MA):** The RSI MA is a smoothed version of the RSI, calculated using a running moving average. This smooths out short-term fluctuations and provides a clearer indication of the underlying trend.
**Histogram Calculation:**
- **Neutral Level:** The histogram is plotted relative to the neutral level of 50. This level represents a balanced market where neither bulls nor bears have dominance.
- **Histogram Values:** The histogram bars show the difference between the RSI MA and the neutral level. Positive values indicate bullish momentum, while negative values indicate bearish momentum.
## 3. Calculation and Formula
### **3.1 RSI Calculation**
The RSI calculation involves:
1. **Average Gain and Loss:** Calculated over the specified length (e.g., 14 periods).
2. **Relative Strength (RS):** RS = Average Gain / Average Loss.
3. **RSI Formula:** RSI = 100 - (100 / (1 + RS)).
### **3.2 Moving Average Calculation**
For the USH indicator, the RSI is smoothed using a running moving average (RMA). The RMA formula is similar to that of the EMA but is based on averaging RSI values over the specified length.
### **3.3 Histogram Calculation**
The histogram value is calculated as:
- **Histogram Value = RSI MA - 50**
**Plotting the Histogram:**
- **Positive Histogram Values:** Indicate that the RSI MA is above the neutral level, suggesting bullish momentum.
- **Negative Histogram Values:** Indicate that the RSI MA is below the neutral level, suggesting bearish momentum.
## 4. Visual Representation
### **4.1 Histogram Bars**
The histogram is plotted as bars on the chart:
- **Bullish Bars:** Colored green when the RSI MA is above 50.
- **Bearish Bars:** Colored red when the RSI MA is below 50.
### **4.2 Customization Options**
Traders can customize:
- **RSI Length:** Adjust the length of the RSI calculation to match their trading style.
- **Bull and Bear Colors:** Choose colors for histogram bars to enhance visual clarity.
### **4.3 Interpretation**
**Bullish Signal:** A histogram bar that moves from red to green indicates a potential shift to a bullish trend.
**Bearish Signal:** A histogram bar that moves from green to red indicates a potential shift to a bearish trend.
## 5. Customization and User Settings
### **5.1 Adjusting RSI Length**
The length parameter determines the number of periods over which the RSI is calculated and smoothed. Shorter lengths make the RSI more sensitive to price changes, while longer lengths provide a smoother view of trends.
### **5.2 Color Settings**
Traders can adjust:
- **Bull Color:** Color of histogram bars indicating bullish momentum.
- **Bear Color:** Color of histogram bars indicating bearish momentum.
**Customization Benefits:**
- **Visual Clarity:** Traders can choose colors that stand out against their chart’s background.
- **Personal Preference:** Adjust settings to match individual trading styles and preferences.
## 6. Trading Strategies and Applications
### **6.1 Trend Following**
**Identifying Entry Points:**
- **Bullish Entry:** When the histogram changes from red to green, it signals a potential entry point for long positions.
- **Bearish Entry:** When the histogram changes from green to red, it signals a potential entry point for short positions.
**Trend Confirmation:** The histogram helps confirm the strength of a trend. Strong, consistent green bars indicate robust bullish momentum, while strong, consistent red bars indicate robust bearish momentum.
### **6.2 Swing Trading**
**Momentum Analysis:**
- **Entry Signals:** Look for significant shifts in the histogram to time entries. A shift from bearish to bullish (red to green) indicates potential for upward movement.
- **Exit Signals:** A shift from bullish to bearish (green to red) suggests a potential weakening of the trend, signaling an exit or reversal point.
### **6.3 Range Trading**
**Market Conditions:**
- **Consolidation:** The histogram close to zero suggests a range-bound market. Traders can use this information to identify support and resistance levels.
- **Breakout Potential:** A significant move away from the neutral level may indicate a potential breakout from the range.
### **6.4 Risk Management**
**Stop-Loss Placement:**
- **Bullish Positions:** Place stop-loss orders below recent support levels when the histogram is green.
- **Bearish Positions:** Place stop-loss orders above recent resistance levels when the histogram is red.
**Position Sizing:** Adjust position sizes based on the strength of the histogram signals. Strong trends (indicated by larger histogram bars) may warrant larger positions, while weaker signals suggest smaller positions.
## 7. Risk Management
### **7.1 Importance of Risk Management**
Effective risk management is crucial for long-term trading success. It involves protecting capital, managing losses, and optimizing trade setups.
### **7.2 Using USH for Risk Management**
**Stop-Loss and Take-Profit Levels:**
- **Stop-Loss Orders:** Use the histogram to set stop-loss levels based on trend strength. For instance, place stops below support levels in bullish trends and above resistance levels in bearish trends.
- **Take-Profit Targets:** Adjust take-profit levels based on histogram changes. For example, lock in profits as the histogram starts to shift from green to red.
**Position Sizing:**
- **Trend Strength:** Scale position sizes based on the strength of histogram signals. Larger histogram bars indicate stronger trends, which may justify larger positions.
- **Volatility:** Consider market volatility and adjust position sizes to mitigate risk.
## 8. Case Studies and Examples
### **8.1 Example 1: Bullish Trend**
**Scenario:** A trader notices a transition from red to green histogram bars.
**Analysis:**
- **Entry Point:** The transition indicates a potential bullish trend. The trader decides to enter a long position.
- **Stop-Loss:** Set stop-loss below recent support levels.
- **Take-Profit:** Consider taking profits as the histogram moves back towards zero or turns red.
**Outcome:** The bullish trend continues, and the histogram remains green, providing a profitable trade setup.
### **8.2 Example 2: Bearish Trend**
**Scenario:** A trader observes a transition from green to red histogram bars.
**Analysis:**
- **Entry Point:** The transition suggests a potential
bearish trend. The trader decides to enter a short position.
- **Stop-Loss:** Set stop-loss above recent resistance levels.
- **Take-Profit:** Consider taking profits as the histogram approaches zero or shifts to green.
**Outcome:** The bearish trend continues, and the histogram remains red, resulting in a successful trade.
## 9. Comparison with Other Indicators
### **9.1 RSI vs. USH**
**RSI:** Measures momentum and identifies overbought/oversold conditions.
**USH:** Builds on RSI by incorporating a moving average and histogram to provide a clearer view of trend strength and momentum.
### **9.2 RSI vs. MACD**
**MACD (Moving Average Convergence Divergence):** A trend-following momentum indicator that uses moving averages to identify changes in trend direction.
**Comparison:**
- **USH:** Provides a smoothed RSI perspective and visual histogram for trend strength.
- **MACD:** Offers signals based on the convergence and divergence of moving averages.
### **9.3 RSI vs. Stochastic Oscillator**
**Stochastic Oscillator:** Measures the level of the closing price relative to the high-low range over a specified period.
**Comparison:**
- **USH:** Focuses on smoothed RSI values and histogram representation.
- **Stochastic Oscillator:** Provides overbought/oversold signals and potential reversals based on price levels.
## 10. Advanced Usage and Tips
### **10.1 Combining Indicators**
**Multi-Indicator Strategies:** Combine the USH with other technical indicators (e.g., Moving Averages, Bollinger Bands) for a comprehensive trading strategy.
**Confirmation Signals:** Use the USH to confirm signals from other indicators. For instance, a bullish histogram combined with a moving average crossover may provide a stronger buy signal.
### **10.2 Customization Tips**
**Adjust RSI Length:** Experiment with different RSI lengths to match various market conditions and trading styles.
**Color Preferences:** Choose histogram colors that enhance visibility and align with personal preferences.
### **10.3 Continuous Learning**
**Backtesting:** Regularly backtest the USH with historical data to refine strategies and improve accuracy.
**Education:** Stay updated with trading education and adapt strategies based on market changes and personal experiences.
MTF AnalysisMTF Analysis - Multi-Timeframe TradingView Script
Overview: The "MTF Analysis" script provides a comprehensive approach to analyzing price trends across daily, weekly, and monthly timeframes using linear regression channels. It helps traders identify strong and weak bullish or bearish conditions based on the relationship between the current price and regression lines derived from multiple timeframes.
Key Features:
User-Defined Inputs:
Regression Lengths: Customize regression lengths for daily, weekly, and monthly timeframes.
Smoothing Length: Apply smoothing to regression lines.
Near-Zero Threshold: Filter out signals near a defined slope threshold for more refined analysis.
Daily Time Frame Filter: Optional filter to consider daily regression slope in signal generation.
Regression Line Calculation:
The script calculates linear regression lines for each timeframe (daily, weekly, monthly) and applies a smoothing function to refine the signals.
Signal Conditions:
Strong Bullish/Bearish: Signals generated when the price is consistently above/below weekly and monthly regression lines, with the option to apply the daily timeframe filter.
Weak Bullish/Bearish: Signals generated when the price is above/below the monthly regression line alone.
Visual Indicators:
The script plots regression lines on the chart with different colors for easy identification.
It also displays arrows on the chart to indicate strong or weak bullish/bearish signals.
Alerts:
Custom alerts for each signal condition help traders stay informed of potential trading opportunities.
This script is highly customizable, allowing traders to tailor it to their specific trading style and preferences.
This summary can be used to introduce the script to other traders or for publication on platforms like TradingView.
Uptrick: FVG Market Zones**Uptrick: FVG Market Zones**
---
### Introduction
**Uptrick: FVG Market Zones** is a cutting-edge technical analysis tool designed to identify and visualize Fair Value Gaps (FVGs) within financial markets. This indicator focuses on pinpointing critical price levels where significant gaps occur, which can act as potential support and resistance zones. By integrating advanced volatility analysis and user-configurable parameters, the **Uptrick: FVG Market Zones** provides traders with a robust framework for understanding market dynamics and making informed trading decisions.
### Purpose and Functionality
The primary purpose of the **Uptrick: FVG Market Zones** indicator is to detect and highlight Fair Value Gaps, which are areas on a price chart where there is a significant price movement without any trading activity in between. These gaps can provide critical insights into market behavior, as they often indicate areas where the market has not fully accounted for the supply and demand dynamics. Traders use these zones to anticipate potential reversals, breakouts, or consolidations, making this tool highly valuable for both short-term and long-term trading strategies.
### Unique Features and Originality
The **Uptrick: FVG Market Zones** indicator is distinguished by its focus on FVGs and its ability to integrate this concept into a broader market analysis framework. Unlike other indicators that may offer generalized support and resistance levels, this tool specifically identifies and visualizes gaps based on volatility-adjusted criteria. This precision allows traders to focus on the most relevant market zones, improving their ability to anticipate market movements.
One of the standout features of this indicator is its user-configurable settings, which provide a high degree of customization. This flexibility ensures that traders can tailor the indicator to suit their specific trading style and the particular market they are analyzing. Additionally, the indicator's visualization capabilities are enhanced with customizable colors and gap-filling options, making it easier for traders to interpret and act on the information presented.
### Inputs and Configurations
**Uptrick: FVG Market Zones** comes with several user inputs that allow traders to customize the indicator's behavior and appearance. Each input plays a crucial role in determining how the indicator identifies and visualizes FVGs on the chart. Here’s a detailed breakdown of each input:
1. **FVG Analysis Period (fvgPeriod):**
- **Description:** This input determines the period over which the indicator analyzes the chart for identifying FVGs. By adjusting this value, traders can control how far back in time the indicator looks to detect significant gaps.
- **Default Value:** 25
- **Purpose:** A shorter period may focus on more recent market activity, making the indicator more sensitive to recent price movements. In contrast, a longer period allows the indicator to identify gaps that have remained unfilled for an extended time, potentially acting as stronger support or resistance levels.
2. **Analysis Mode (mode):**
- **Description:** The Analysis Mode input allows traders to choose between different methods of analyzing the chart for FVGs.
- **Options:** "Recent Gaps" and "Extended View"
- **Default Option:** "Recent Gaps"
- **Purpose:**
- **Recent Gaps:** Focuses on the latest significant gaps, providing traders with up-to-date information on the most relevant market zones.
- **Extended View:** Considers a broader range of gap patterns, which can be useful in markets where historical gaps may still influence current price action.
3. **Volatility Sensitivity (volatilityFactor):**
- **Description:** This input adjusts the sensitivity of the indicator to market volatility. It is used in calculating the threshold for identifying FVGs.
- **Default Value:** 0.3
- **Step Size:** 0.1
- **Purpose:** A higher sensitivity will cause the indicator to detect smaller gaps, which might be more frequent but less significant. Lower sensitivity focuses on larger, more impactful gaps, which are less frequent but potentially more powerful in predicting market behavior.
4. **Highlight Market Gaps (showGaps):**
- **Description:** A boolean input that determines whether the identified FVGs should be highlighted on the chart.
- **Default Value:** True
- **Purpose:** This input allows traders to toggle the visualization of FVGs. When enabled, the indicator highlights gaps using colored boxes, making them visually prominent on the chart.
5. **Bullish Highlight Color (bullColor):**
- **Description:** Sets the color used to highlight bullish FVGs (gaps that may indicate support).
- **Default Value:** #00FF7F (a shade of green)
- **Purpose:** The color choice is crucial for quickly distinguishing bullish zones from bearish ones. Green is typically associated with upward price movement, making it intuitive for traders to identify potential support areas.
6. **Bearish Highlight Color (bearColor):**
- **Description:** Sets the color used to highlight bearish FVGs (gaps that may indicate resistance).
- **Default Value:** #FF4500 (a shade of red)
- **Purpose:** Red is commonly associated with downward price movement, making it easy for traders to identify potential resistance areas. This color coding helps in quickly assessing the chart.
7. **Fill Gap Areas (fillGaps):**
- **Description:** A boolean input that determines whether the FVGs should be filled with a color on the chart.
- **Default Value:** True
- **Purpose:** Filling the gap areas provides a more solid visual cue for traders. It enhances the visibility of the gaps, making it easier to spot these zones during fast-paced trading sessions.
8. **Hidden Color (hidden):**
- **Description:** A color input that is used when certain elements should be hidden from the chart.
- **Default Value:** color.rgb(0,0,0,100) (a semi-transparent black)
- **Purpose:** This input is useful for controlling the visibility of certain plots or elements on the chart, ensuring that the indicator remains clean and uncluttered.
### Market Gap Detection
The core functionality of the **Uptrick: FVG Market Zones** indicator lies in its ability to detect Fair Value Gaps. These gaps occur when the price makes a significant jump from one level to another without any trading activity in between. The indicator uses a combination of price action analysis and volatility thresholds to identify these gaps.
- **Volatility Measurement:** The indicator begins by measuring market volatility using the Average True Range (ATR). This volatility measurement is then adjusted by the user-defined sensitivity factor, which determines the threshold for identifying significant gaps.
- **Gap Identification:** The indicator checks for instances where the current low is higher than the high two bars ago (bullish gap) or where the current high is lower than the low two bars ago (bearish gap). These conditions signify a potential FVG.
- **Gap Storage and Management:** Once a gap is identified, it is stored in an array. The indicator also manages the size of these arrays based on the selected analysis mode, ensuring that only the most relevant gaps are considered in the analysis.
### Visualization
Visualization is a key component of the **Uptrick: FVG Market Zones** indicator. By providing clear and customizable visual cues, the indicator ensures that traders can quickly and easily interpret the information it provides.
- **Gap Highlighting:** When enabled, the indicator highlights the identified FVGs on the chart using colored boxes. Bullish gaps are highlighted in green, while bearish gaps are highlighted in red. This color coding helps traders instantly recognize potential support and resistance zones.
- **Gap Filling:** The indicator can also fill the identified gaps with a semi-transparent color. This option enhances the visibility of the gaps, making them more prominent on the chart. Filled gaps are particularly useful for traders who want to keep track of these zones over multiple trading sessions.
- **Gap Averages:** The indicator calculates the average level of the identified gaps and plots these averages as lines on the chart. These lines represent the general area of support or resistance based on the detected gaps, providing traders with a reference point for setting their stop losses or profit targets.
- **Text Labels:** The indicator also labels each FVG with the text "FVG" inside the highlighted area. This feature ensures that traders can easily identify these zones even in charts with dense price action.
### Practical Applications
The **Uptrick: FVG Market Zones** indicator is versatile and can be applied to a wide range of trading strategies across different markets and timeframes. Here are a few examples of how this indicator can be used in practice:
1. **Support and Resistance Trading:**
- Traders can use the identified FVGs as dynamic support and resistance levels. By placing their trades based on these levels, they can take advantage of potential reversals or continuations at key market zones.
2. **Gap Filling Strategy:**
- Some traders focus on the concept of gap filling, where the market eventually returns to "fill" the gap created by rapid price movements. The **Uptrick: FVG Market Zones** indicator can
help identify such gaps and anticipate when the market might return to these levels.
3. **Breakout Trading:**
- The indicator can be used to identify breakouts from significant gaps. When the price moves beyond the identified FVGs, it may signal a strong trend continuation, providing an opportunity for breakout traders.
4. **Reversal Trading:**
- By monitoring the signals generated by the indicator, traders can identify potential market reversals. A sell signal after a prolonged uptrend or a buy signal after a downtrend may indicate a reversal, allowing traders to position themselves accordingly.
5. **Risk Management:**
- The average levels of the FVGs can be used to set stop-loss and take-profit levels. By aligning these levels with the FVG zones, traders can improve their risk management practices and enhance their trading discipline.
### Customization and Flexibility
One of the standout features of the **Uptrick: FVG Market Zones** indicator is its high level of customization. Traders can adjust various parameters to tailor the indicator to their specific needs and preferences.
- **Customizable Colors:** The indicator allows traders to choose their preferred colors for highlighting bullish and bearish gaps. This flexibility ensures that the indicator can be integrated seamlessly into any trading setup, regardless of the trader's color scheme preferences.
- **Adjustable Periods and Sensitivity:** By allowing traders to adjust the analysis period and volatility sensitivity, the indicator can be fine-tuned to suit different market conditions. For example, a trader might use a shorter analysis period and higher sensitivity in a volatile market, while opting for a longer period and lower sensitivity in a more stable market.
- **Toggling Visual Elements:** Traders can choose to enable or disable various visual elements of the indicator, such as gap highlighting, gap filling, and text labels. This level of control allows traders to declutter their charts and focus on the information that is most relevant to their trading strategy.
### Advantages and Benefits
The **Uptrick: FVG Market Zones** indicator offers several key advantages that make it a valuable tool for traders:
1. **Precision:** By focusing on Fair Value Gaps, the indicator provides highly precise levels of support and resistance, which are often more reliable than traditional horizontal levels.
2. **Clarity:** The clear visual representation of FVGs, along with the text labels and color coding, ensures that traders can quickly interpret the indicator's signals and incorporate them into their trading decisions.
3. **Adaptability:** The indicator's customizable settings allow it to be adapted to different markets, timeframes, and trading styles. Whether you are a day trader, swing trader, or long-term investor, this indicator can be tailored to meet your needs.
4. **Enhanced Decision-Making:** The trading signals generated by the indicator provide actionable insights that can help traders make more informed decisions. By aligning their trades with the identified FVG zones, traders can improve their chances of success.
5. **Risk Management:** The use of FVG zones as reference points for stop-loss and take-profit levels enhances risk management practices, helping traders protect their capital while maximizing their profit potential.
### Conclusion
The **Uptrick: FVG Market Zones** indicator is a powerful and versatile tool for traders seeking to enhance their market analysis and improve their trading outcomes. By focusing on Fair Value Gaps and providing a high level of customization, this indicator offers a unique blend of precision, clarity, and adaptability. Whether you are looking to identify key market zones, generate trading signals, or improve your risk management practices, the **Uptrick: FVG Market Zones** indicator is a valuable addition to any trader's toolkit.
With its innovative approach to market analysis and user-friendly design, **Uptrick: FVG Market Zones** stands out as an essential tool for traders who want to stay ahead of the market and make more informed trading decisions. Whether you are trading stocks, forex, commodities, or cryptocurrencies, this indicator provides the insights you need to navigate the markets with confidence and success.
Price Action Smart Money Concepts [BigBeluga]THE SMART MONEY CONCEPTS Toolkit
The Smart Money Concepts [ BigBeluga ] is a comprehensive toolkit built around the principles of "smart money" behavior, which refers to the actions and strategies of institutional investors.
The Smart Money Concepts Toolkit brings together a suite of advanced indicators that are all interconnected and built around a unified concept: understanding and trading like institutional investors, or "smart money." These indicators are not just randomly chosen tools; they are features of a single overarching framework, which is why having them all in one place creates such a powerful system.
This all-in-one toolkit provides the user with a unique experience by automating most of the basic and advanced concepts on the chart, saving them time and improving their trading ideas.
Real-time market structure analysis simplifies complex trends by pinpointing key support, resistance, and breakout levels.
Advanced order block analysis leverages detailed volume data to pinpoint high-demand zones, revealing internal market sentiment and predicting potential reversals. This analysis utilizes bid/ask zones to provide supply/demand insights, empowering informed trading decisions.
Imbalance Concepts (FVG and Breakers) allows traders to identify potential market weaknesses and areas where price might be attracted to fill the gap, creating opportunities for entry and exit.
Swing failure patterns help traders identify potential entry points and rejection zones based on price swings.
Liquidity Concepts, our advanced liquidity algorithm, pinpoints high-impact events, allowing you to predict market shifts, strong price reactions, and potential stop-loss hunting zones. This gives traders an edge to make informed trading decisions based on liquidity dynamics.
🔵 FEATURES
The indicator has quite a lot of features that are provided below:
Swing market structure
Internal market structure
Mapping structure
Adjustable market structure
Strong/Weak H&L
Sweep
Volumetric Order block / Breakers
Fair Value Gaps / Breakers (multi-timeframe)
Swing Failure Patterns (multi-timeframe)
Deviation area
Equal H&L
Liquidity Prints
Buyside & Sellside
Sweep Area
Highs and Lows (multi-timeframe)
🔵 BASIC DEMONSTRATION OF ALL FEATURES
1. MARKET STRUCTURE
The preceding image illustrates the market structure functionality within the Smart Money Concepts indicator.
➤ Solid lines: These represent the core indicator's internal structure, forming the foundation for most other components. They visually depict the overall market direction and identify major reversal points marked by significant price movements (denoted as 'x').
➤ Internal Structure: These represent an alternative internal structure with the potential to drive more rapid market shifts. This is particularly relevant when a significant gap exists in the established swing structure, specifically between the Break of Structure (BOS) and the most recent Change of High/Low (CHoCH). Identifying these formations can offer opportunities for quicker entries and potential short-term reversals.
➤ Sweeps (x): These signify potential turning points in the market where liquidity is removed from the structure. This suggests a possible trend reversal and presents crucial entry opportunities. Sweeps are identified within both swing and internal structures, providing valuable insights for informed trading decisions.
➤ Mapping structure: A tool that automatically identifies and connects significant price highs and lows, creating a zig-zag pattern. It visualizes market structure, highlights trends, support/resistance levels, and potential breakouts. Helps traders quickly grasp price action patterns and make informed decisions.
➤ Color-coded candles based on market structure: These colors visually represent the underlying market structure, making it easier for traders to quickly identify trends.
➤ Extreme H&L: It visualizes market structure with extreme high and lows, which gives perspective for macro Market Structure.
2. VOLUMETRIC ORDER BLOCKS
Order blocks are specific areas on a financial chart where significant buying or selling activity has occurred. These are not just simple zones; they contain valuable information about market dynamics. Within each of these order blocks, volume bars represent the actual buying and selling activity that took place. These volume bars offer deeper insights into the strength of the order block by showing how much buying or selling power is concentrated in that specific zone.
Additionally, these order blocks can be transformed into Breaker Blocks. When an order block fails—meaning the price breaks through this zone without reversing—it becomes a breaker block. Breaker blocks are particularly useful for trading breakouts, as they signal that the market has shifted beyond a previously established zone, offering opportunities for traders to enter in the direction of the breakout.
Here's a breakdown:
➤ Bear Order Blocks (Red): These are zones where a lot of selling happened. Traders see these areas as places where sellers were strong, pushing the price down. When the price returns to these zones, it might face resistance and drop again.
➤ Bull Order Blocks (Green): These are zones where a lot of buying happened. Traders see these areas as places where buyers were strong, pushing the price up. When the price returns to these zones, it might find support and rise again.
These Order Blocks help traders identify potential areas for entering or exiting trades based on past market activity. The volume bars inside blocks show the amount of trading activity that occurred in these blocks, giving an idea of the strength of buying or selling pressure.
➤ Breaker Block: When an order block fails, meaning the price breaks through this zone without reversing, it becomes a breaker block. This indicates a significant shift in market liquidity and structure.
➤ A bearish breaker block occurs after a bullish order block fails. This typically happens when there's an upward trend, and a certain level that was expected to support the market's rise instead gives way, leading to a sharp decline. This decline indicates that sellers have overcome the buyers, absorbing liquidity and shifting the sentiment from bullish to bearish.
Conversely, a bullish breaker block is formed from the failure of a bearish order block. In a downtrend, when a level that was expected to act as resistance is breached, and the price shoots up, it signifies that buyers have taken control, overpowering the sellers.
3. FAIR VALUE GAPS:
A fair value gap (FVG), also referred to as an imbalance, is an essential concept in Smart Money trading. It highlights the supply and demand dynamics. This gap arises when there's a notable difference between the volume of buy and sell orders. FVGs can be found across various asset classes, including forex, commodities, stocks, and cryptocurrencies.
FVGs in this toolkit have the ability to detect raids of FVG which helps to identify potential price reversals.
Mitigation option helps to change from what source FVGs will be identified: Close, Wicks or AVG.
4. SWING FAILURE PATTERN (SFP):
The Swing Failure Pattern is a liquidity engineering pattern, generally used to fill large orders. This means, the SFP generally occurs when larger players push the price into liquidity pockets with the sole objective of filling their own positions.
SFP is a technical analysis tool designed to identify potential market reversals. It works by detecting instances where the price briefly breaks a previous high or low but fails to maintain that breakout, quickly reversing direction.
How it works:
Pattern Detection: The indicator scans for price movements that breach recent highs or lows.
Reversal Confirmation: If the price quickly reverses after breaching these levels, it's identified as an SFP.
➤ SFP Display:
Bullish SFP: Marked with a green symbol when price drops below a recent low before reversing upwards.
Bearish SFP: Marked with a red symbol when price rises above a recent high before reversing downwards.
➤ Deviation Levels: After detecting an SFP, the indicator projects white lines showing potential price deviation:
For bullish SFPs, the deviation line appears above the current price.
For bearish SFPs, the deviation line appears below the current price.
These deviation levels can serve as a potential trading opportunity or areas where the reversal might lose momentum.
With Volume Threshold and Filtering of SFP traders can adjust their trading style:
Volume Threshold: This setting allows traders to filter SFPs based on the volume of the reversal candle. By setting a higher volume threshold, traders can focus on potentially more significant reversals that are backed by higher trading activity.
SFP Filtering: This feature enables traders to filter SFP detection. It includes parameters such as:
5. LIQUIDITY CONCEPTS:
➤ Equal Lows (EQL) and Equal Highs (EQH) are important concepts in liquidity-based trading.
EQL: A series of two or more swing lows that occur at approximately the same price level.
EQH: A series of two or more swing highs that occur at approximately the same price level.
EQLs and EQHs are seen as potential liquidity pools where a large number of stop loss orders or limit orders may be clustered. They can be used as potential reverse points for trades.
This multi-period feature allows traders to select less and more significant EQL and EQH:
➤ Liquidity wicks:
Liquidity wicks are a minor representation of a stop-loss hunt during the retracement of a pivot point:
➤ Buy and Sell side liquidity:
The buy side liquidity represents a concentration of potential buy orders below the current price level. When price moves into this area, it can lead to increased buying pressure due to the execution of these orders.
The sell side liquidity indicates a pool of potential sell orders below the current price level. Price movement into this area can result in increased selling pressure as these orders are executed.
➤ Sweep Liquidation Zones:
Sweep Liquidation Zones are crucial for understanding market structure and potential future price movements. They provide insights into areas where significant market participants have been forced out of their positions, potentially setting up new trading opportunities.
🔵 USAGE & EXAMPLES
The core principle behind the success of this toolkit lies in identifying "confluence." This refers to the convergence of multiple trading indicators all signaling the same information at a specific point or area. By seeking such alignment, traders can significantly enhance the likelihood of successful trades.
MS + OBs
The chart illustrates a highly bullish setup where the price is rejecting from a bullish order block (POC), while simultaneously forming a bullish Swing Failure Pattern (SFP). This occurs after an internal structure change, marked by a bullish Change of Character (CHoCH). The price broke through a bearish order block, transforming it into a breaker block, further confirming the bullish momentum.
The combination of these elements—bullish order blocks, SFP, and CHoCH—creates a powerful bullish signal, reinforcing the potential for upward movement in the market.
SFP + Bear OB
This chart above displays a bearish setup with a high probability of a price move lower. The price is currently rejecting from a bear order block, which represents a key resistance area where significant selling pressure has previously occurred. A Swing Failure Pattern (SFP) has also formed near this bear order block, indicating that the price briefly attempted to break above a recent high but failed to sustain that upward movement. This failure suggests that buyers are losing momentum, and the market could be preparing for a move to the downside.
Additionally, we can toggle on the Deviation Area in the SFP section to highlight potential levels where price deviation might occur. These deviation areas represent zones where the price is likely to react after the Swing Failure Pattern:
BUY – SELL sides + EQL
The chart showcases a bullish setup with a high probability of price breaking out of the current sell-side resistance level. The market structure indicates a formation of Equal Lows (EQL), which often suggests a build-up of liquidity that could drive the price higher.
The presence of strong buy-side pressure (69%), indicated by the green zone at the bottom, reinforces this bullish outlook. This area represents a key support zone where buyers are outpacing sellers, providing the foundation for a potential upward breakout.
EQL + Bull ChoCh
This chart illustrates a potential bullish setup, driven by the formation of Equal Lows (EQL) followed by a bullish Change of Character (CHoCH). The presence of Equal Lows often signals a liquidity build-up, which can lead to a reversal when combined with additional bullish signals.
Liquidity grab + Bull ChoCh + FVGs
This chart demonstrates a strong bullish scenario, where several important market dynamics are at play. The price begins its upward momentum from Liquidity grab following a bullish Change of Character (CHoCH), signaling the transition from a bearish phase to a bullish one.
As the price progresses, it performs liquidity grabs, which serve to gather the necessary fuel for further movement. These liquidity grabs often occur before significant price surges, as large market participants exploit these areas to accumulate positions before pushing the price higher.
The chart also highlights a market imbalance area, showing strong momentum as the price moves swiftly through this zone.
In this examples, we see how the combination of multiple “smart money” tools helps identify a potential trade opportunities. This is just one of the many scenarios that traders can spot using this toolkit. Other combinations—such as order blocks, liquidity grabs, fair value gaps, and Swing Failure Patterns (SFPs)—can also be layered on top of these concepts to further refine your trading strategy.
🔵 SETTINGS
Window: limit calculation period
Swing: limit drawing function
Mapping structure: show structural points
Algorithmic Logic: (Extreme-Adjusted) Use max high/low or pivot point calculation
Algorithmic loopback: pivot point look back
Show Last: Amount of Order block to display
Hide Overlap: hide overlapping order blocks
Construction: Size of the order blocks
Fair value gaps: Choose between normal FVG or Breaker FVG
Mitigation: (close - wick - avg) point to mitigate the order block/imbalance
SFP lookback: find a higher / lower point to improve accuracy
Threshold: remove less relevant SFP
Equal H&L: (short-mid-long term) display longer term
Liquidity Prints: Shows wicks of candles where liquidity was grabbed
Sweep Area: Identify Sweep Liquidation areas
By combining these indicators in one toolkit, traders are equipped with a comprehensive suite of tools that address every angle of the Smart Money Concept. Instead of relying on disparate tools spread across various platforms, having them integrated into a single, cohesive system allows traders to easily see confluence and make more informed trading decisions.
Smart Money Concepts by WeloTradesThe "Smart Money Concepts by WeloTrades" indicator is designed to offer traders a comprehensive tool that integrates multiple advanced features to aid in market analysis. By combining order blocks, liquidity levels, fair value gaps, trendlines, and market structure analysis, the indicator provides a holistic approach to understanding market dynamics and making informed trading decisions.
Components and Their Integration:
Order Blocks and Breaker Blocks Detection
Functionality: Order blocks represent areas where significant buying or selling occurred, creating potential support or resistance zones. Breaker blocks signal potential reversals.
Integration: By detecting and visualizing these blocks, the indicator helps traders identify key levels where price might react, aiding in entry and exit decisions. The customizable settings allow traders to adjust the visibility and parameters to suit their specific trading strategy.
Liquidity Levels Analysis
Functionality: Liquidity levels indicate zones where significant price movements can occur due to the presence of large orders. These are areas where smart money might be executing trades.
Integration: By tracking these high-probability liquidity areas, traders can anticipate potential price movements. Customizable display limits and mitigation strategies ensure that the information is tailored to the trader’s needs, providing precise and actionable insights.
Fair Value Gaps (FVG)
Functionality: Fair value gaps highlight areas where there is an imbalance between buyers and sellers. These gaps often represent potential trading opportunities.
Integration: The ability to identify and analyze FVGs helps traders spot potential entries based on market inefficiencies. The touch and break detection functionalities provide further refinement, enhancing the precision of trading signals.
Trendlines
Functionality: Trendlines help in identifying the direction of the market and potential reversal points. The additional trendline adds a layer of confirmation for breaks or retests.
Integration: Automatically drawn trendlines assist traders in visualizing market trends and making decisions about potential entries and exits. The additional trendline for stronger confirmation reduces the risk of false signals, providing more reliable trading opportunities.
Market Structure Analysis
Functionality: Understanding market structure is crucial for identifying key support and resistance levels and overall market dynamics. This component displays internal, external, and composite market structures.
Integration: By automatically highlighting shifts in market structure, the indicator helps traders recognize important levels and potential changes in market direction. This analysis is critical for strategic planning and execution in trading.
Customizable Alerts
Functionality: Alerts ensure that traders do not miss significant market events, such as the formation or breach of order blocks, liquidity levels, and trendline interactions.
Integration: Customizable alerts enhance the user experience by providing timely notifications of key events. This feature ensures that traders can act quickly and efficiently, leveraging the insights provided by the indicator.
Interactive Visualization
Functionality: Customizable visual aspects of the indicator allow traders to tailor the display to their preferences and trading style.
Integration: This feature enhances user engagement and usability, making it easier for traders to interpret the data and make informed decisions. Personalization options like colors, styles, and display formats improve the overall effectiveness of the indicator.
How Components Work Together
Comprehensive Market Analysis
Each component of the indicator addresses a different aspect of market analysis. Order blocks and liquidity levels highlight potential support and resistance zones, while fair value gaps and trendlines provide additional context for potential entries and exits. Market structure analysis ties everything together by offering a broad view of market dynamics.
Synergistic Insights
The integration of multiple features allows for cross-validation of trading signals. For instance, an order block coinciding with a high-probability liquidity level and a fair value gap can provide a stronger signal than any of these features alone. This synergy enhances the reliability of the insights and trading signals generated by the indicator.
Enhanced Decision Making
By combining these advanced features into a single tool, traders are equipped with a powerful resource for making informed decisions. The customizable alerts and interactive visualization further support this by ensuring that traders can act quickly on the insights provided.
Order Blocks ( OB) & Breaker Blocks (BB) Visuals:
📝 OB Input Settings
📊 Timeframe #1
TF #1🕑: Enable or disable Timeframe 1.
What it is: A boolean input to toggle the use of the first timeframe.
What it does: Enables or disables Timeframe 1 for the OB settings.
How to use it: Check or uncheck the box to enable or disable.
📊 Timeframe 1 Selection
Timeframe #1🕑: Select the timeframe for Timeframe 1.
What it is: A dropdown to select the desired timeframe.
What it does: Sets the timeframe for Timeframe 1.
How to use it: Choose a timeframe from the dropdown list.
📊 Timeframe #2
TF #2🕑: Enable or disable Timeframe 2.
What it is: A boolean input to toggle the use of the second timeframe.
What it does: Enables or disables Timeframe 2 for the OB settings.
How to use it: Check or uncheck the box to enable or disable.
📊 Timeframe 2 Selection
Timeframe #2🕑: Select the timeframe for Timeframe 2.
What it is: A dropdown to select the desired timeframe.
What it does: Sets the timeframe for Timeframe 2.
How to use it: Choose a timeframe from the dropdown list.
Additional Info: Higher TF Chart & Lower TF Setting / Lower TF Chart & Higher TF Setting.
📏 Show OBs
OB (Length)📏: Toggle the display of Order Blocks.
What it is: A boolean input to enable or disable the display of Order Blocks.
What it does: Shows or hides Order Blocks based on the selected swing length.
How to use it: Check or uncheck the box to enable or disable.
📏 Swing Length Option
Swing Length Option: Select the swing length option.
What it is: A dropdown to choose between SHORT, MID, LONG, or CUSTOM.
What it does: Sets the length of swings for Order Blocks.
How to use it: Choose an option from the dropdown.
Additional Info: Default lengths are SHORT=10, MID=28, LONG=50.
🔧 Custom Swing Length
🔧custom: Specify a custom swing length.
What it is: An integer input for setting a custom swing length.
What it does: Overrides the default swing lengths if set to CUSTOM.
How to use it: Enter a custom integer value (only shown when CUSTOM is selected).
📛 Show BBs
BB (Method)📛: Toggle the display of Breaker Blocks.
What it is: A boolean input to enable or disable the display of Breaker Blocks.
What it does: Shows or hides Breaker Blocks.
How to use it: Check or uncheck the box to enable or disable.
📛 OB End Method
OB End Method: Select the method for determining the end of a Breaker Block.
What it is: A dropdown to choose between Wick and Close.
What it does: Sets the criteria for when a Breaker Block is considered mitigated.
How to use it: Choose an option from the dropdown.
Additional Info: Wicks: OB is mitigated when the price wicks through the OB Level. Close: OB is mitigated when the closing price is within the OB Level.
🔍 Max Bullish Zones
🔍Max Bullish: Set the maximum number of Bullish Order Blocks to display.
What it is: A dropdown to select the maximum number of Bullish Order Blocks.
What it does: Limits the number of Bullish Order Blocks shown on the chart.
How to use it: Choose a value from the dropdown (1-10).
🔍 Max Bearish Zones
🔍Max Bearish: Set the maximum number of Bearish Order Blocks to display.
What it is: A dropdown to select the maximum number of Bearish Order Blocks.
What it does: Limits the number of Bearish Order Blocks shown on the chart.
How to use it: Choose a value from the dropdown (1-10).
🟩 Bullish OB Color
Bullish OB Color: Set the color for Bullish Order Blocks.
What it is: A color picker to set the color of Bullish Order Blocks.
What it does: Changes the color of Bullish Order Blocks on the chart.
How to use it: Select a color from the color picker.
🟥 Bearish OB Color
Bearish OB Color: Set the color for Bearish Order Blocks.
What it is: A color picker to set the color of Bearish Order Blocks.
What it does: Changes the color of Bearish Order Blocks on the chart.
How to use it: Select a color from the color picker.
🔧 OB & BB Range
↔ OB & BB Range: Select the range option for OB and BB.
What it is: A dropdown to choose between RANGE and CUSTOM.
What it does: Sets how far the OB or BB should extend.
How to use it: Choose an option from the dropdown.
Additional Info: RANGE = Current price, CUSTOM = Adjustable Range.
🔧 Custom OB & BB Range
🔧Custom: Specify a custom range for OB and BB.
What it is: An integer input for setting a custom range.
What it does: Defines how far the OB or BB should go, based on a custom value.
How to use it: Enter a custom integer value (range: 1000-500000).
💬 Text Options
💬Text Options: Set text size and color for OB and BB.
What it is: A dropdown to select text size and a color picker to choose text color.
What it does: Changes the size and color of the text displayed for OB and BB.
How to use it: Select a size from the dropdown and a color from the color picker.
💬 Show Timeframe OB
Text: Toggle to display the timeframe of OB.
What it is: A boolean input to show or hide the timeframe text for OB.
What it does: Displays the timeframe information for Order Blocks on the chart.
How to use it: Check or uncheck the box to enable or disable.
💬 Show Volume
Volume: Toggle to display the volume of OB.
What it is: A boolean input to show or hide the volume information for Order Blocks.
What it does: Displays the volume information for Order Blocks on the chart.
How to use it: Check or uncheck the box to enable or disable.
Additional Info:
What it represents: The volume displayed represents the total trading volume that occurred during the formation of the Order Block. This can indicate the level of participation or interest in that price level.
How it's calculated: The volume is the sum of all traded volumes within the candles that form the Order Block.
What it means: Higher volume at an Order Block level may suggest stronger support or resistance. It shows the amount of trading activity and can be an indicator of the potential strength or validity of the Order Block.
Why it's shown: To give traders an idea of the market participation and to help assess the strength of the Order Block.
💬 Show Percentage
%: Toggle to display the percentage of OB.
What it is: A boolean input to show or hide the percentage information for Order Blocks.
What it does: Displays the percentage information for Order Blocks on the chart.
How to use it: Check or uncheck the box to enable or disable.
Additional Info:
What it represents: The percentage displayed usually represents the proportion of price movement relative to the Order Block.
How it's calculated: This can be the percentage move from the start to the end of the Order Block or the retracement level that price has reached relative to the Order Block's range.
What it means: It helps traders understand the extent of price movement within the Order Block and can indicate the significance of the price level.
Why it's shown: To provide a clearer understanding of the price dynamics and the importance of the Order Block within the overall price movement.
Additional Information
Volume Example: If an Order Block forms over three candles with volumes of 100, 150, and 200, the total volume displayed for that Order Block would be 450.
Percentage Example: If the price moves from 100 to 110 within an Order Block, and the total range of the Order Block is from 100 to 120, the percentage shown might be 50% (since the price has moved halfway through the Order Block's range).
Liquidity Levels visuals:
📊 Liquidity Levels Input Settings
📊 Current Timeframe
TF #1🕑: Enable or disable the current timeframe.
What it is: A boolean input to toggle the use of the current timeframe.
What it does: Enables or disables the display of liquidity levels for the current timeframe.
How to use it: Check or uncheck the box to enable or disable.
📊 Higher Timeframe
Higher Timeframe: Select the higher timeframe for liquidity levels.
What it is: A dropdown to select the desired higher timeframe.
What it does: Sets the higher timeframe for liquidity levels.
How to use it: Choose a timeframe from the dropdown list.
📏 Liquidity Length Option
📏Liquidity Length: Select the length for liquidity levels.
What it is: A dropdown to choose between SHORT, MID, LONG, or CUSTOM.
What it does: Sets the length of swings for liquidity levels.
How to use it: Choose an option from the dropdown.
Additional Info: Default lengths are SHORT=10, MID=28, LONG=50.
🔧 Custom Liquidity Length
🔧custom: Specify a custom length for liquidity levels.
What it is: An integer input for setting a custom swing length.
What it does: Overrides the default liquidity lengths if set to CUSTOM.
How to use it: Enter a custom integer value (only shown when CUSTOM is selected).
📛 Mitigation Method
📛Mitigation (Method): Select the method for determining the mitigation of liquidity levels.
What it is: A dropdown to choose between Close and Wick.
What it does: Sets the criteria for when a liquidity level is considered mitigated.
How to use it: Choose an option from the dropdown.
Additional Info:
Wick: Level is mitigated when the price wicks through the level.
Close: Level is mitigated when the closing price is within the level.
📛 Display Mitigated Levels
-: Select to display or hide mitigated levels.
What it is: A dropdown to choose between Remove and Show.
What it does: Displays or hides mitigated liquidity levels.
How to use it: Choose an option from the dropdown.
Additional Info:
Remove: Hide mitigated levels.
Show: Display mitigated levels.
🔍 Max Buy Side Liquidity
🔍Max Buy Side Liquidity: Set the maximum number of Buy Side Liquidity Levels to display.
What it is: An integer input to set the maximum number of Buy Side Liquidity Levels.
What it does: Limits the number of Buy Side Liquidity Levels shown on the chart.
How to use it: Enter a value between 0 and 50.
🟦 Buy Side Liquidity Color
Buy Side Liquidity Color: Set the color for Buy Side Liquidity Levels.
What it is: A color picker to set the color of Buy Side Liquidity Levels.
What it does: Changes the color of Buy Side Liquidity Levels on the chart.
How to use it: Select a color from the color picker.
Additional Info:
Tooltip: Set the maximum number of Buy Side Liquidity Levels to display. Default: 5, Min: 1, Max: 50.
If liquidity levels are not displayed as expected, try increasing the max count.
🔍 Max Sell Side Liquidity
🔍Max Sell Side Liquidity: Set the maximum number of Sell Side Liquidity Levels to display.
What it is: An integer input to set the maximum number of Sell Side Liquidity Levels.
What it does: Limits the number of Sell Side Liquidity Levels shown on the chart.
How to use it: Enter a value between 0 and 50.
🟥 Sell Side Liquidity Color
Sell Side Liquidity Color: Set the color for Sell Side Liquidity Levels.
What it is: A color picker to set the color of Sell Side Liquidity Levels.
What it does: Changes the color of Sell Side Liquidity Levels on the chart.
How to use it: Select a color from the color picker.
Additional Info:
Tooltip: Set the maximum number of Sell Side Liquidity Levels to display. Default: 5, Min: 1, Max: 50.
If liquidity levels are not displayed as expected, try increasing the max count.
✂ Box Style (Height)
✂ Box Style (↕): Set the box height style for liquidity levels.
What it is: A float input to set the height of the boxes.
What it does: Adjusts the height of the boxes displaying liquidity levels.
How to use it: Enter a value between -50 and 50.
Additional Info: Default value is -5.
📏 Box Length
b: Set the box length of liquidity levels.
What it is: An integer input to set the length of the boxes.
What it does: Adjusts the length of the boxes displaying liquidity levels.
How to use it: Enter a value between 0 and 500.
Additional Info: Default value is 20.
⏭ Extend Liquidity Levels
Extend ⏭: Toggle to extend liquidity levels beyond the current range.
What it is: A boolean input to enable or disable the extension of liquidity levels.
What it does: Extends liquidity levels beyond their default range.
How to use it: Check or uncheck the box to enable or disable.
Additional Info: Extend liquidity levels beyond the current range.
💬 Text Options
💬 Text Options: Set text size and color for liquidity levels.
What it is: A dropdown to select text size and a color picker to choose text color.
What it does: Changes the size and color of the text displayed for liquidity levels.
How to use it: Select a size from the dropdown and a color from the color picker.
💬 Show Text
Text: Toggle to display text for liquidity levels.
What it is: A boolean input to show or hide the text for liquidity levels.
What it does: Displays the text information for liquidity levels on the chart.
How to use it: Check or uncheck the box to enable or disable.
💬 Show Volume
Volume: Toggle to display the volume of liquidity levels.
What it is: A boolean input to show or hide the volume information for liquidity levels.
What it does: Displays the volume information for liquidity levels on the chart.
How to use it: Check or uncheck the box to enable or disable.
Additional Info:
What it represents: The volume displayed represents the total trading volume that occurred during the formation of the liquidity level. This can indicate the level of participation or interest in that price level.
How it's calculated: The volume is the sum of all traded volumes within the candles that form the liquidity level.
What it means: Higher volume at a liquidity level may suggest stronger support or resistance. It shows the amount of trading activity and can be an indicator of the potential strength or validity of the liquidity level.
Why it's shown: To give traders an idea of the market participation and to help assess the strength of the liquidity level.
💬 Show Percentage
%: Toggle to display the percentage of liquidity levels.
What it is: A boolean input to show or hide the percentage information for liquidity levels.
What it does: Displays the percentage information for liquidity levels on the chart.
How to use it: Check or uncheck the box to enable or disable.
Additional Info:
What it represents: The percentage displayed usually represents the proportion of price movement relative to the liquidity level.
How it's calculated: This can be the percentage move from the start to the end of the liquidity level or the retracement level that price has reached relative to the liquidity level's range.
What it means: It helps traders understand the extent of price movement within the liquidity level and can indicate the significance of the price level.
Why it's shown: To provide a clearer understanding of the price dynamics and the importance of the liquidity level within the overall price movement.
Fair Value Gaps visuals:
📊 Fair Value Gaps Input Settings
📊 Show FVG
TF #1🕑: Enable or disable Fair Value Gaps for Timeframe 1.
What it is: A boolean input to toggle the display of Fair Value Gaps.
What it does: Shows or hides Fair Value Gaps on the chart.
How to use it: Check or uncheck the box to enable or disable.
📊 Select Timeframe
Timeframe: Select the timeframe for Fair Value Gaps.
What it is: A dropdown to select the desired timeframe.
What it does: Sets the timeframe for Fair Value Gaps.
How to use it: Choose a timeframe from the dropdown list.
Additional Info: Higher TF Chart & Lower TF Setting or Lower TF Chart & Higher TF Setting.
📛 FVG Break Method
📛FVG Break (Method): Select the method for determining when an FVG is mitigated.
What it is: A dropdown to choose between Touch, Wicks, Close, or Average.
What it does: Sets the criteria for when a Fair Value Gap is considered mitigated.
How to use it: Choose an option from the dropdown.
Additional Info:
Touch: FVG is mitigated when the price touches the gap.
Wicks: FVG is mitigated when the price wicks through the gap.
Close: FVG is mitigated when the closing price is within the gap.
Average: FVG is mitigated when the average price (average of high and low) is within the gap.
📛 Show Mitigated FVG
show: Toggle to display mitigated FVGs.
What it is: A boolean input to show or hide mitigated Fair Value Gaps.
What it does: Displays or hides mitigated Fair Value Gaps.
How to use it: Check or uncheck the box to enable or disable.
📛 Fill FVG
Fill: Toggle to fill Fair Value Gaps.
What it is: A boolean input to fill the Fair Value Gaps with color.
What it does: Adds a color fill to the Fair Value Gaps.
How to use it: Check or uncheck the box to enable or disable.
📛 Shade FVG
Shade: Toggle to shade Fair Value Gaps.
What it is: A boolean input to shade the Fair Value Gaps.
What it does: Adds a shade effect to the Fair Value Gaps.
How to use it: Check or uncheck the box to enable or disable.
Additional Info: Select the method to break FVGs and toggle the visibility of FVG Breaks (fill FVG and/or shade FVG).
🔍 Max Bullish FVG
🔍Max Bullish FVG: Set the maximum number of Bullish Fair Value Gaps to display.
What it is: An integer input to set the maximum number of Bullish Fair Value Gaps.
What it does: Limits the number of Bullish Fair Value Gaps shown on the chart.
How to use it: Enter a value between 0 and 50.
🔍 Max Bearish FVG
🔍Max Bearish FVG: Set the maximum number of Bearish Fair Value Gaps to display.
What it is: An integer input to set the maximum number of Bearish Fair Value Gaps.
What it does: Limits the number of Bearish Fair Value Gaps shown on the chart.
How to use it: Enter a value between 0 and 50.
🟥 Bearish FVG Color
Bearish FVG Color: Set the color for Bearish Fair Value Gaps.
What it is: A color picker to set the color of Bearish Fair Value Gaps.
What it does: Changes the color of Bearish Fair Value Gaps on the chart.
How to use it: Select a color from the color picker.
Additional Info:
Tooltip: Set the maximum number of Bearish Fair Value Gaps to display. Default: 5, Min: 1, Max: 50.
If Fair Value Gaps are not displayed as expected, try increasing the max count.
🟦 Bullish FVG Color
Bullish FVG Color: Set the color for Bullish Fair Value Gaps.
What it is: A color picker to set the color of Bullish Fair Value Gaps.
What it does: Changes the color of Bullish Fair Value Gaps on the chart.
How to use it: Select a color from the color picker.
Additional Info:
Tooltip: Set the maximum number of Bullish Fair Value Gaps to display. Default: 5, Min: 1, Max: 50.
If Fair Value Gaps are not displayed as expected, try increasing the max count.
📏 FVG Range
↔ FVG Range: Set the range for Fair Value Gaps.
What it is: An integer input to set the range of the Fair Value Gaps.
What it does: Adjusts the range of the Fair Value Gaps displayed.
How to use it: Enter a value between 0 and 100.
Additional Info: Adjustable length only works when both RANGE & EXTEND display OFF. Range=current price, Extend=Full Range.
⏭ Extend FVG
Extend⏭: Toggle to extend Fair Value Gaps beyond the current range.
What it is: A boolean input to enable or disable the extension of Fair Value Gaps.
What it does: Extends Fair Value Gaps beyond their default range.
How to use it: Check or uncheck the box to enable or disable.
⏯ FVG Range
Range⏯: Toggle the range of Fair Value Gaps.
What it is: A boolean input to enable or disable the range display for Fair Value Gaps.
What it does: Sets the range of Fair Value Gaps displayed.
How to use it: Check or uncheck the box to enable or disable.
↕ Max Width
↕ Max Width: Set the maximum width of Fair Value Gaps.
What it is: A float input to set the maximum width of Fair Value Gaps.
What it does: Limits the width of Fair Value Gaps as a percentage of the price range.
How to use it: Enter a value between 0 and 5.0.
Additional Info: FVGs wider than this value will be ignored.
♻ Filter FVG
Filter FVG ♻: Toggle to filter out small Fair Value Gaps.
What it is: A boolean input to filter out small Fair Value Gaps.
What it does: Ignores Fair Value Gaps smaller than the specified max width.
How to use it: Check or uncheck the box to enable or disable.
➖ Mid Line Style
➖Mid Line Style: Select the style of the mid line for Fair Value Gaps.
What it is: A dropdown to choose between Solid, Dashed, or Dotted.
What it does: Sets the style of the mid line within Fair Value Gaps.
How to use it: Choose an option from the dropdown.
🎨 Mid Line Color
Mid Line Color: Set the color for the mid line within Fair Value Gaps.
What it is: A color picker to set the color of the mid line.
What it does: Changes the color of the mid line within Fair Value Gaps.
How to use it: Select a color from the color picker.
Additional Information
Mitigation Methods: Each method (Touch, Wicks, Close, Average) provides different criteria for when a Fair Value Gap is considered mitigated, helping traders to understand the dynamics of price movements within gaps.
Volume and Percentage: Displaying volume and percentage information for Fair Value Gaps helps traders gauge the strength and significance of these gaps in relation to trading activity and price movements.
Trendlines visuals:
📊 Trendlines Input Settings
📊 Show Trendlines
Trendlines & Trendlines Difference(%) ↕: Enable or disable trendlines and set the percentage difference from the first trendline.
What it is: A boolean input to toggle the display of trendlines.
What it does: Shows or hides trendlines on the chart and allows setting a percentage difference from the first trendline.
How to use it: Check or uncheck the box to enable or disable.
Additional Info: The percentage difference determines the distance of the second trendline from the first one.
📏 Trendline Length Option
📏Trendline Length: Select the length for trendlines.
What it is: A dropdown to choose between SHORT, MID, LONG, or CUSTOM.
What it does: Sets the length of trendlines.
How to use it: Choose an option from the dropdown.
Additional Info: Default lengths are SHORT=50, MID=100, LONG=200.
🔧 Custom Trendline Length
🔧custom: Specify a custom length for trendlines.
What it is: An integer input for setting a custom trendline length.
What it does: Overrides the default trendline lengths if set to CUSTOM.
How to use it: Enter a custom integer value (only shown when CUSTOM is selected).
🔍 Max Bearish Trendlines
🔍Max Trendlines Bearish: Set the maximum number of bearish trendlines to display.
What it is: A dropdown to select the maximum number of bearish trendlines.
What it does: Limits the number of bearish trendlines shown on the chart.
How to use it: Choose a value from the dropdown (2-20).
🟩 Bearish Trendline Color
Bearish Trendline Color: Set the color for bearish trendlines.
What it is: A color picker to set the color of bearish trendlines.
What it does: Changes the color of bearish trendlines on the chart.
How to use it: Select a color from the color picker.
Additional Info: Adjust to control how many bearish trendlines are displayed.
🔍 Max Bullish Trendlines
🔍Max Trendlines Bullish: Set the maximum number of bullish trendlines to display.
What it is: A dropdown to select the maximum number of bullish trendlines.
What it does: Limits the number of bullish trendlines shown on the chart.
How to use it: Choose a value from the dropdown (2-20).
🟥 Bullish Trendline Color
Bullish Trendline Color: Set the color for bullish trendlines.
What it is: A color picker to set the color of bullish trendlines.
What it does: Changes the color of bullish trendlines on the chart.
How to use it: Select a color from the color picker.
Additional Info: Adjust to control how many bullish trendlines are displayed.
📐 Degrees Text
📐Degrees ° (💬 Size): Enable or disable degrees text and set its size and color.
What it is: A boolean input to show or hide the degrees text for trendlines.
What it does: Displays the degrees text for trendlines.
How to use it: Check or uncheck the box to enable or disable.
📏 Text Size for Degrees
Text Size: Set the text size for degrees on trendlines.
What it is: A dropdown to select the size of the degrees text.
What it does: Changes the size of the degrees text displayed for trendlines.
How to use it: Choose a size from the dropdown (XS, S, M, L, XL).
🎨 Degrees Text Color
Degrees Text Color: Set the color for the degrees text on trendlines.
What it is: A color picker to set the color of the degrees text.
What it does: Changes the color of the degrees text on the chart.
How to use it: Select a color from the color picker.
♻ Filter Degrees
♻ Filter Degrees °: Enable or disable angle filtering and set the angle range.
What it is: A boolean input to filter trendlines by their angle.
What it does: Shows only trendlines within a specified angle range.
How to use it: Check or uncheck the box to enable or disable.
Additional Info: Angles outside this range will be filtered out.
🔢 Angle Range
Angle Range: Set the angle range for filtering trendlines.
What it is: Two float inputs to set the minimum and maximum angle for trendlines.
What it does: Defines the range of angles for which trendlines will be shown.
How to use it: Enter values for the minimum and maximum angles.
➖ Line Style
➖Style #1 & #2: Select the style of the primary and secondary trendlines.
What it is: Two dropdowns to choose between Solid, Dashed, or Dotted for the trendlines.
What it does: Sets the style of the primary and secondary trendlines.
How to use it: Choose a style from each dropdown.
📏 Line Thickness
: Set the thickness for the trendlines.
What it is: An integer input to set the thickness of the trendlines.
What it does: Adjusts the thickness of the trendlines displayed on the chart.
How to use it: Enter a value between 1 and 5.
Additional Information
Trendline Percentage Difference: Setting a percentage difference helps in analyzing the relative position and angle of trendlines.
Filtering by Angle: This feature allows focusing on trendlines within a specific angle range, enhancing the clarity of trend analysis.
BOS & CHOCH Market Structure visuals:
📊 BOS & CHOCH Market Structure Input Settings
📏 Market Structure Length Option
📏Market Structure: Select the market structure length option.
What it is: A dropdown to choose between INTERNAL, EXTERNAL, ALL, CUSTOM, or NONE.
What it does: Sets the type of market structure to be displayed.
How to use it: Choose an option from the dropdown.
Additional Info:
INTERNAL: Only internal structure.
EXTERNAL: Only external structure.
ALL: Both internal and external structures.
CUSTOM: Custom lengths.
NONE: No structure.
🔧 Custom Internal Length
🔧Custom Internal: Specify a custom length for internal market structure.
What it is: An integer input for setting a custom internal length.
What it does: Defines the length of internal market structures if CUSTOM is selected.
How to use it: Enter a custom integer value (only shown when CUSTOM is selected).
💬 Internal Label Size
💬Internal Label Size: Set the label size for internal market structures.
What it is: A dropdown to select the size of the labels.
What it does: Changes the size of the labels for internal market structures.
How to use it: Choose a size from the dropdown (XS, S, M, L, XL).
🟩 Internal Bullish Color
Internal Bullish Color: Set the color for bullish internal market structures.
What it is: A color picker to set the color of bullish internal market structures.
What it does: Changes the color of bullish internal market structures on the chart.
How to use it: Select a color from the color picker.
🟥 Internal Bearish Color
Internal Bearish Color: Set the color for bearish internal market structures.
What it is: A color picker to set the color of bearish internal market structures.
What it does: Changes the color of bearish internal market structures on the chart.
How to use it: Select a color from the color picker.
🔧 Custom External Length
🔧Custom External: Specify a custom length for external market structure.
What it is: An integer input for setting a custom external length.
What it does: Defines the length of external market structures if CUSTOM is selected.
How to use it: Enter a custom integer value (only shown when CUSTOM is selected).
💬 External Label Size
💬External Label Size: Set the label size for external market structures.
What it is: A dropdown to select the size of the labels.
What it does: Changes the size of the labels for external market structures.
How to use it: Choose a size from the dropdown (XS, S, M, L, XL).
🟩 External Bullish Color
External Bullish Color: Set the color for bullish external market structures.
What it is: A color picker to set the color of bullish external market structures.
What it does: Changes the color of bullish external market structures on the chart.
How to use it: Select a color from the color picker.
🟥 External Bearish Color
External Bearish Color: Set the color for bearish external market structures.
What it is: A color picker to set the color of bearish external market structures.
What it does: Changes the color of bearish external market structures on the chart.
How to use it: Select a color from the color picker.
📐 Show Equal Highs and Lows
EQL & EQH📐: Toggle visibility for equal highs and lows.
What it is: A boolean input to show or hide equal highs and lows.
What it does: Displays or hides equal highs and lows on the chart.
How to use it: Check or uncheck the box to enable or disable.
📏 Equal Highs and Lows Threshold
Equal Highs and Lows Threshold: Set the threshold for equal highs and lows.
What it is: A float input to set the threshold for equal highs and lows.
What it does: Defines the range within which highs and lows are considered equal.
How to use it: Enter a value between 0 and 10.
💬 Label Size for Equal Highs and Lows
💬Label Size for Equal Highs and Lows: Set the label size for equal highs and lows.
What it is: A dropdown to select the size of the labels.
What it does: Changes the size of the labels for equal highs and lows.
How to use it: Choose a size from the dropdown (XS, S, M, L, XL).
🟩 Bullish Color for Equal Highs and Lows
Bullish Color for Equal Highs and Lows: Set the color for bullish equal highs and lows.
What it is: A color picker to set the color of bullish equal highs and lows.
What it does: Changes the color of bullish equal highs and lows on the chart.
How to use it: Select a color from the color picker.
🟥 Bearish Color for Equal Highs and Lows
Bearish Color for Equal Highs and Lows: Set the color for bearish equal highs and lows.
What it is: A color picker to set the color of bearish equal highs and lows.
What it does: Changes the color of bearish equal highs and lows on the chart.
How to use it: Select a color from the color picker.
📏 Show Swing Points
Swing Points📏: Toggle visibility for swing points.
What it is: A boolean input to show or hide swing points.
What it does: Displays or hides swing points on the chart.
How to use it: Check or uncheck the box to enable or disable.
📏 Swing Points Length Option
Swing Points Length Option: Select the length for swing points.
What it is: A dropdown to choose between SHORT, MID, LONG, or CUSTOM.
What it does: Sets the length of swing points.
How to use it: Choose an option from the dropdown.
Additional Info: Default lengths are SHORT=10, MID=28, LONG=50.
💬 Swing Points Label Size
💬Swing Points Label Size: Set the label size for swing points.
What it is: A dropdown to select the size of the labels.
What it does: Changes the size of the labels for swing points.
How to use it: Choose a size from the dropdown (XS, S, M, L, XL).
🎨 Swing Points Color
Swing Points Color: Set the color for swing points.
What it is: A color picker to set the color of swing points.
What it does: Changes the color of swing points on the chart.
How to use it: Select a color from the color picker.
🔧 Custom Swing Points Length
🔧Custom Swings: Specify a custom length for swing points.
What it is: An integer input for setting a custom length for swing points.
What it does: Defines the length of swing points if CUSTOM is selected.
How to use it: Enter a custom integer value (only shown when CUSTOM is selected).
Additional Information
Market Structure Types: Understanding internal and external structures helps in analyzing different market behaviors.
Equal Highs and Lows: This feature identifies areas where price action is balanced, which can be significant for trading strategies.
Swing Points: Highlighting swing points aids in recognizing significant market reversals or continuations.
Benefits
Enhance your trading strategy by visualizing smart money's influence on price movements.
Make informed decisions with real-time data on significant market structures.
Reduce manual analysis with automated detection of key trading signals.
Ideal For
Traders looking for an edge in forex, equities, and cryptocurrency markets by understanding the underlying forces driving market dynamics.
Acknowledgements
Special thanks to these amazing creators for inspiration and their creations:
I want to thank these amazing creators for creating there amazing indicators , that inspired me and also gave me a head start by making this indicator! Without their amazing indicators it wouldn't be possible!
Flux Charts: Volumized Order Blocks
LuxAlgo: Trend Lines
UAlgo: Fair Value Gaps (FVG)
By Leviathan: Market Structure
Sonarlab: Liquidity Levels
Note
Remember to always backtest the indicator first before integrating it into your strategy! For any questions about the indicator, please feel free to ask for assistance.
FVG (ICT) with Swing LevelsThis indicator, called "Fair Value Gaps (ICT) with Swing Levels", overlays on the main chart and does the following:
Initial Setup:
It defines user-adjustable parameters:
lookback: Lookback period to keep FVGs visible.
swingPeriod: Period for calculating swing highs and lows.
bullColor and bearColor: Colors for bullish and bearish FVGs.
Fair Value Gaps (FVGs) Detection:
Uses a function to identify FVGs by comparing candle high and low prices.
A bullish FVG forms when the low of two candles ago is higher than the high of the current candle.
A bearish FVG forms when the high of two candles ago is lower than the low of the current candle.
Swing Levels Calculation:
Calculates swing highs and lows over the specified period.
These swing levels define the current market range.
Current Range Verification:
Implements a function to check if an FVG is within the range defined by swing levels.
This ensures only the most relevant FVGs for the current market situation are displayed.
FVG Drawing:
When it detects an FVG (bullish or bearish) within the current range, it draws a box on the chart.
Boxes extend from the bar where the FVG formed to the current bar.
Bullish FVGs are drawn in green and bearish in red (colors are customizable).
Old FVGs Management:
On each new bar, the indicator checks all existing FVG boxes.
It removes boxes that are outside the specified lookback period.
It also removes boxes that are no longer within the current range of swing levels.
Swing Levels Visualization:
Draws lines on the chart to show swing highs (in blue) and swing lows (in purple).
These lines help visualize the current market range.
Continuous Update:
The indicator updates on each new candle, constantly refreshing FVGs and swing levels.
In summary, this indicator identifies and visualizes Fair Value Gaps according to the ICT methodology, filtering them based on higher timeframe swing levels. This helps traders focus on the most significant FVGs within the current market context, reducing visual noise and potentially improving trading decision-making.
Market Structure Targets Model [LuxAlgo]The Market Structure Targets Model indicator provides an algorithmic approach to setting targets from market structure shifts (MSS) and market structure breaks (MSB), two popular Smart Money Concept (SMC) concepts. Depending on the target % settings, they can be used as take profit, confirmation levels, or potential reversal points.
🔶 USAGE
Our Market Structure Targets Model scripts provide automated and customizable targets from MSS and MSB. Each displayed target can be used in several ways described in the sub-sections below:
🔹 Take Profit
The targets can be used as take profit levels, where the target distance can be set separately for bullish/bearish MSS/MSB respectively.
🔹 Confirmation Levels
Alternatively, targets can be used as an additional confirmation level of a trend reversal when set at a lower percentage, filtering out fake signals that might be given from market structures. In this way, targets can be used as potential entry levels.
🔹 Potential Reversal Points
In some circumstances, targets being reached can be indicative of trend reversals. The percentage of the targets would be typically set higher to allow for trend exhaustion.
The above examples highlight this usage for bearish reversal scenarios, while the image below highlights it for bullish reversal scenarios.
🔹 Support/Resistance Levels
The targets, being horizontal levels, can also serve as potential support/resistances, with breakouts potentially confirming new trends. It is important to remain observant of the market structure. An MSS or MSB in the opposite direction provides essential information to be included in future decisions.
Using multiple timeframes can help detect longer-term trends. Depending on the user's preference, they can choose the appropriate timeframe for their needs.
Note that Target lines will only be drawn when the Target Level exceeds the close value when it is drawn.
🔹 Maximum Target Duration
The Maximum Target Duration setting removes unreached target levels when the amount of bars since the associated market structure of that target exceeds the user set limit. This effectively allows the removal of any target that might no longer be relevant to newer trends.
🔹 Type: Switch/Hold
This setting is another way to control unreached target levels.
Switch: When a new MSS/MSB is found, the previous target level associated with a market structure with the same direction (bullish/bearish) is deleted if it hasn't been reached.
Hold: Target levels are retained and continuously evaluated when a new MSS/MSB is formed.
The target level will be removed in both cases when the Maximum Target Duration condition is applied.
The above example shows the case when the Type setting is set to Switch , while in the example below, it is set to Hold .
🔶 DETAILS
🔹 Market Structure
Market structures are commonly classified as follows:
Market Structure Shift (MSS), also referred to as Change of Character (CHoCH)
Market Structure Break (MSB), also referred to as Break of Structure (BOS)
MSS indicates a shift in the market trend, confirming trend reversals. Conversely, MSB occurs once a trend is already determined, confirming new higher highs/lower lows.
🔹 Targets
A: Highest/lowest between the extremities of the MSS/MSB line
B: Price value of the MSS/MSB line
The distance between A and B is projected on the opposite side of the MSS/MSB line, adjusted with a percentage that can be set by the user. The above example used 100% of the distance between A and B.
The Target Percentage of MSS and MSB can be set separately for bullish or bearish market structures.
🔶 SETTINGS
Swings: Period used for the swing detection, with higher values returning longer-term Swing Levels.
Type: the Switch/Hold setting controls unattained target levels
Maximum Target Duration: removes the target lines when the amount of bars since the drawing of the target exceeds the limit and the target has not been reached
🔹 Market Structure Shift (MSS)
Bullish: Toggle, color setting, % Target
Bearish: Toggle, color setting, % Target
🔹 Market Structure Break (MSB)
Bullish: Toggle, color setting, % Target
Bearish: Toggle, color setting, % Target
VolumeSpreadAnalysisLibrary "VolumeSpreadAnalysis"
A library for Volume Spread Analysis (VSA).
spread(_barIndex)
Calculates the spread of a bar.
Parameters:
_barIndex (int) : (int) The index of the bar.
Returns: (float) The spread of the bar.
volume(_barIndex)
Retrieves the volume of a bar.
Parameters:
_barIndex (int) : (int) The index of the bar.
Returns: (float) The volume of the bar.
body(_barIndex)
Calculates the body of a bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The body size of the bar.
wickUpper(_barIndex)
Calculates the upper wick of a bar (upper shadow).
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The upper wick size of the bar.
wickLower(_barIndex)
Calculates the lower wick of a bar (lower shadow).
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The lower wick size of the bar.
calcForecastedSMA(_source, _length, _forecastedLevel)
Calculates the forecasted Simple Moving Average (SMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the SMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted SMA value.
calcForecastedEMA(_source, _length, _forecastedLevel)
Calculates the forecasted Exponential Moving Average (EMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the EMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted EMA value.
calcForecastedRMA(_source, _length, _forecastedLevel)
Calculates the forecasted Relative Moving Average (RMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the RMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted RMA value.
calcForecastedWMA(_source, _length, _forecastedLevel)
Calculates the forecasted Weighted Moving Average (WMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the WMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted WMA value.
calcElapsedTimePercent()
Calculates the elapsed time percent of the current bar.
Returns: (float) The elapsed time percent.
calcForecastedSpread(multiplierAtMidpoints, multiplierAtPeaks)
Calculates the forecasted spread using elapsed time and dynamic multipliers, handling spread's non-linear nature.
Parameters:
multiplierAtMidpoints (float) : (float) The multiplier value at midpoints.
multiplierAtPeaks (float) : (float) The multiplier value at peaks.
Returns: (float) The forecasted spread value.
calcForecastedVolume()
Calculates the forecasted volume using elapsed time, satisfying volume's linear nature.
Returns: (float) The forecasted volume value.
calcForecastedMA(_source, _length, _forecastedSource, _type)
Calculates the forecasted Moving Average (MA) based on the specified type.
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the MA.
_forecastedSource (float) : (float) The forecasted level to include in the calculation.
_type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
Returns: (float) The forecasted MA value.
calcMA(_source, _length, _type)
Calculates the Moving Average (MA) based on the specified type.
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the MA.
_type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
Returns: (float) The MA value.
bullBar(_barIndex)
Determines if the bar is bullish.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if the bar is bullish, otherwise false.
bearBar(_barIndex)
Determines if the bar is bearish.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if the bar is bearish, otherwise false.
breakout(_barIndex)
Determines if there is a breakout above the previous bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if there is a breakout, otherwise false.
breakdown(_barIndex)
Determines if there is a breakdown below the previous bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if there is a breakdown, otherwise false.
rejectionWickUpper(_rejectionWick)
Determines if the upper wick is a rejection wick.
Parameters:
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if the upper wick is a rejection wick, otherwise false.
rejectionWickLower(_rejectionWick)
Determines if the lower wick is a rejection wick.
Parameters:
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if the lower wick is a rejection wick, otherwise false.
setupDataVolume(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _maTypeVolume)
Sets up data for volume levels.
Parameters:
_data (map) : (map) The map to store the levels.
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthVolume (simple int) : (int) The length for MA.
_maTypeVolume (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataSpread(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _maTypeSpread)
Sets up data for spread levels.
Parameters:
_data (map) : (map) The map to store the levels.
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthSpread (simple int) : (int) The length for MA.
_maTypeSpread (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataForecastVolume(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _predictedLevelVolume, _maTypeVolume)
Sets up data for volume and spread levels for forecast.
Parameters:
_dataForecast (map)
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthVolume (simple int) : (int) The length for MA.
_predictedLevelVolume (float) : (float) The predicted level for MA.
_maTypeVolume (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataForecastSpread(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _predictedLevelSpread, _maTypeSpread)
Sets up data for spread levels for forecast.
Parameters:
_dataForecast (map)
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthSpread (simple int) : (int) The length for MA.
_predictedLevelSpread (float) : (float) The predicted level for MA.
_maTypeSpread (simple string) : (string) The type for MA.
Returns: (void) Nothing.
isVolumeLow(_data, _barIndex)
Determines if the volume is low.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is low, otherwise false.
isVolumeNormal(_data, _barIndex)
Determines if the volume is normal.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is normal, otherwise false.
isVolumeHigh(_data, _barIndex)
Determines if the volume is high.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is high, otherwise false.
isVolumeUltra(_data, _barIndex)
Determines if the volume is ultra.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is ultra, otherwise false.
isSpreadLow(_data, _barIndex)
Determines if the spread is low.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is low, otherwise false.
isSpreadNormal(_data, _barIndex)
Determines if the spread is normal.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is normal, otherwise false.
isSpreadHigh(_data, _barIndex)
Determines if the spread is high.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is high, otherwise false.
isSpreadUltra(_data, _barIndex)
Determines if the spread is ultra.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is ultra, otherwise false.
isVolumeText(_data)
Determines text string representing the volume area level.
Parameters:
_data (map) : (map) The data map with volume levels.
Returns: (string) Text string of Low, Normal, High, or Ultra.
isSpreadText(_data)
Determines text string representing the spread area level.
Parameters:
_data (map) : (map) The data map with spread levels.
Returns: (string) Text string of Low, Normal, High, or Ultra.
calcBarColor(_value, _level)
Calculates the color based level.
Parameters:
_value (float) : (float) The value to check.
_level (float) : (float) The value level for comparison.
Returns: (color) The color for the bar.
bullPinBar(_maxBodyPercent, _minWickPercent)
Determines if the bar is a bull pin bar.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
Returns: (bool) True if the bar is a bull pin bar, otherwise false.
bearPinBar(_maxBodyPercent, _minWickPercent)
Determines if the bar is a bear pin bar.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
Returns: (bool) True if the bar is a bear pin bar, otherwise false.
dojiBar(_maxBodyPercent)
Determines if the bar is a doji.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
Returns: (bool) True if the bar is a doji, otherwise false.
spinningTopBar(_minWicksPercent, _emaLength)
Determines if the bar is a spinning top.
Parameters:
_minWicksPercent (simple float) : (float) The minimum wicks percentage.
_emaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if the bar is a spinning top, otherwise false.
highWaveBar(_minBodyPercent, _minWickPercent, _bars)
Determines if the bar is a high wave bar.
Parameters:
_minBodyPercent (simple float) : (float) The minimum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
_bars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if the bar is a high wave bar, otherwise false.
consolidationBar(_data, _spread, _bars)
Determines if the bars are in consolidation.
Parameters:
_data (map) : (map) The data map with spread levels.
_spread (simple float) : (float) The spread percentage for comparison.
_bars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if the bars are in consolidation, otherwise false.
S_DownThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (DownThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (DownThrust), otherwise false.
S_SellingClimax(_data, _rejectionWick)
Determines if there is a sign of strength (Selling Climax).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if there is a sign of strength (Selling Climax), otherwise false.
S_NoEffortBearishResult()
Determines if there is a sign of strength (No Effort Bearish Result).
Returns: (bool) True if there is a sign of strength (No Effort Bearish Result), otherwise false.
S_BearishEffortNoResult()
Determines if there is a sign of strength (Bearish Effort No Result).
Returns: (bool) True if there is a sign of strength (Bearish Effort No Result), otherwise false.
S_InverseDownThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of strength (Inverse DownThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of strength (Inverse DownThrust), otherwise false.
S_FailedSellingClimax()
Determines if there is a sign of strength (Failed Selling Climax).
Returns: (bool) True if there is a sign of strength (Failed Selling Climax), otherwise false.
S_BullOutsideReversal(_data)
Determines if there is a sign of strength (Bull Outside Reversal).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of strength (Bull Outside Reversal), otherwise false.
S_EndOfFallingMarket(_data)
Determines if there is a sign of strength (End of Falling Market).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of strength (End of Falling Market), otherwise false.
S_PseudoDownThrust(_bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (Pseudo DownThrust).
Parameters:
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (Pseudo DownThrust), otherwise false.
S_NoSupply(_bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (No Supply).
Parameters:
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (No Supply), otherwise false.
W_UpThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (UpThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (UpThrust), otherwise false.
W_BuyingClimax(_data, _rejectionWick)
Determines if there is a sign of weakness (Buying Climax).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if there is a sign of weakness (Buying Climax), otherwise false.
W_NoEffortBullishResult()
Determines if there is a sign of weakness (No Effort Bullish Result).
Returns: (bool) True if there is a sign of weakness (No Effort Bullish Result), otherwise false.
W_BullishEffortNoResult()
Determines if there is a sign of weakness (Bullish Effort No Result).
Returns: (bool) True if there is a sign of weakness (Bullish Effort No Result), otherwise false.
W_InverseUpThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of weakness (Inverse UpThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of weakness (Inverse UpThrust), otherwise false.
W_FailedBuyingClimax()
Determines if there is a sign of weakness (Failed Buying Climax).
Returns: (bool) True if there is a sign of weakness (Failed Buying Climax), otherwise false.
W_BearOutsideReversal(_data)
Determines if there is a sign of weakness (Bear Outside Reversal).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of weakness (Bear Outside Reversal), otherwise false.
W_EndOfRisingMarket(_data)
Determines if there is a sign of weakness (End of Rising Market).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of weakness (End of Rising Market), otherwise false.
W_PseudoUpThrust(_bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (Pseudo UpThrust).
Parameters:
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (Pseudo UpThrust), otherwise false.
W_NoDemand(_bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (No Demand).
Parameters:
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (No Demand), otherwise false.
N_QuietDoji(_dojiBarMaxBody)
Determines if there is a neutral signal (Quiet Doji).
Parameters:
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Quiet Doji), otherwise false.
N_BalancedDoji(_data, _dojiBarMaxBody)
Determines if there is a neutral signal (Balanced Doji).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Balanced Doji), otherwise false.
N_StrongDoji(_dojiBarMaxBody)
Determines if there is a neutral signal (Strong Doji).
Parameters:
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Strong Doji), otherwise false.
N_QuietSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Quiet Spinning Top).
Parameters:
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Quiet Spinning Top), otherwise false.
N_BalancedSpinningTop(_data, _spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Balanced Spinning Top).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Balanced Spinning Top), otherwise false.
N_StrongSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Strong Spinning Top).
Parameters:
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Strong Spinning Top), otherwise false.
N_QuietHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Quiet High Wave).
Parameters:
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Quiet High Wave), otherwise false.
N_BalancedHighWave(_data, _highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Balanced High Wave).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Balanced High Wave), otherwise false.
N_StrongHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Strong High Wave).
Parameters:
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Strong High Wave), otherwise false.
N_Consolidation(_data, _consolidationBarSpread, _consolidationBarBars)
Determines if there is a neutral signal (Consolidation).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_consolidationBarSpread (simple float) : (float) The spread percentage for consolidation bar.
_consolidationBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Consolidation), otherwise false.
RSI ATR Range [SS]Hey everyone,
Over the course of the last year I had a bunch of requests to do something with RSI. I did do an RSI expected move plotter, but the requests were to overhaul RSI and make it better I guess.
So here is my attempt!
This is the RSI ATR plotter. Its similar to my RSI expected move plotter, however, it gives you the ATR ranges associated with the current RSI value. This allows you to conceptualize RSI in a different way. Instead of looking for "oversold" over "overbought", you can actually just see the expected high to open range and the expected open to low range based on the current RSI.
This will allow you to determine such things as:
a) Is it likely to be bullish?
b) Is it likely to be bearish?
c) The average move, in a dollar amount, associated with this RSI.
In addition to presenting RSI in terms of ranges as opposed to the actual RSI value, the indicator will also signal likely reversal areas. Whenever there is a huge spike in RSI and range, whether it be up or down, this generally corresponds to an imminent reversal. The indicator is programmed to recognize this and plot little grey circles to notify you of an impending reversal.
Let's take a look at some reversal examples using NVDA:
In the chart above, we can see that the RSI signaled a reversal. As it was part of a downtrend, the reversal was bullish.
Let's look at a top reversal:
The chart above shows a likely downside reversal.
And some little bounce reversals here and there:
In addition to showing you the ATR range and reversals, the indicator will show you the RSI in a bar graph format:
You won't be able to look for RSI divergences, if you are a believer of those. However, you can definitely visualize them in the ATR ranges which are directly affected by the RSI readings.
Aspects of the indicator:
Bull ranges are displayed in green.
Bear ranges are displayed in red.
When green is present we know its entering or currently in a bullish RSI range:
Inversely, when it starts to shift red, we know we are entering a bearish RSI range:
There is a border that circles the range. It will be green when we are in a bullish range and red when we are in a bearish range. In addition to these 2 signals, the RSI bar chart itself will turn green in bullish ranges, and red in bearish ranges.
Here is bullish:
Here is bearish:
Customizability
You can customize the Source input for the RSI (default is close). As well as the length (default is 14).
The ATR length is defaulted to 500. My suggestion is to leave this be. You can increase it but I would not suggest decreasing it as it may omit some of the RSI ranges from its history.
And that is the indicator my friends! Hope you enjoy!
As always, safe trades!
RSI Divergence AlertsIndicator Description: RSI Divergence Alerts
The RSI Divergence indicator is a technical analysis tool that identifies divergences between the Relative Strength Index (RSI) and the price of an asset. The RSI is a momentum indicator that measures the speed and magnitude of recent changes in an asset's price, while divergences occur when there is a disparity between price movements and the RSI.
Indicator Customization:
Overbought and Oversold: The indicator allows you to customize the overbought and oversold levels of the RSI. This allows traders to adjust parameters according to their preferences and the historical behavior of the asset in question.
Indicator Settings and Recommended Adjustments:
Max Bar Distance: This parameter determines the maximum distance allowed between two low or high points for a divergence to be recognized. A higher value may result in more signals, but may also increase the number of false signals. It is recommended to adjust this value based on the volatility of the asset and the time period in which it is being traded.
RSI Length: This is the time period used to calculate the RSI. A longer period smoothes the indicator, while a shorter period makes it more sensitive to price changes. The default value is 14, but traders can adjust it based on their trading strategy and the asset's volatility.
RSI Overbought and Oversold: These values determine the levels at which the RSI is considered overbought and oversold, respectively. The default value for overbought is 75 and for oversold is 35. Traders can adjust these values according to the asset's volatility and its historical analysis. For example, in more volatile assets, it may be useful to use more extreme levels, such as 80 for overbought and 20 for oversold.
When adjusting indicator settings, traders must consider the balance between sensitivity and accuracy. Careful tuning of these parameters can help filter out false signals and identify more reliable trading opportunities.
The alerts functionality in this RSI Divergence indicator is designed to notify traders when a bearish divergence or a bullish divergence is detected. Here's how it works:
Conditionally Triggered Alerts:
Alerts are triggered based on the boolean variables bearishDivergence and bullishDivergence.
If bearishDivergence is true, it indicates that a bearish divergence has been detected.
If bullishDivergence is true, it indicates that a bullish divergence has been detected.
Alert Message:
When a divergence is detected, an alert message is generated to inform the trader about the event.
The message includes details about the divergence, such as the difference in the RSI value between the two points forming the divergence.
For example, for a bearish divergence, the message will include the phrase "Bearish RSI Divergence Detected" and the RSI difference between the high and low points of the divergence.
Alert Frequency:
Alerts are configured to be triggered once per bar close (alert.freq_once_per_bar_close), which means the alert will only be sent once at the close of each bar.
This helps to avoid multiple alerts for the same divergence during the same time period.
Additional Alert Conditions:
In addition to conditionally triggered alert messages, alert conditions are defined for both bearish and bullish divergences.
These alert conditions are useful for configuring custom alerts on trading platforms that support running Pine Script code.
Overall, this alert functionality allows traders to stay informed about potential trading opportunities based on divergences detected by the indicator. This can help traders make faster and more informed decisions in their trading processes.