Orderblock Footprints [AlgoAlpha]🟠 OVERVIEW
This script highlights orderblocks and then drills into what actually trades inside them. Zones are created only after an abnormal directional impulse, measured with a z-score on consecutive candle bodies, so the orderblocks are tied to real expansion rather than simple pivots. Once a zone exists, the script overlays lower-timeframe volume footprints inside the candle when price trades back into that zone. The goal is to show not just where an orderblock sits, but whether price is being accepted or absorbed when it is revisited.
🟠 CONCEPTS
Orderblocks are detected after extreme bullish or bearish impulses. The script tracks consecutive body movement up or down, normalizes that distance with a rolling z-score, and only triggers when the move is statistically large. The last opposite candle before that impulse defines the orderblock range. These zones then extend forward until they are either mitigated by price closing through them or they expire by age.
Inside an active zone, the script switches to a lower timeframe and builds a footprint-style profile for each bar. Each candle is split into price rows, counting time-at-price and volume delta. Positive and negative delta are colored separately. Absorption is flagged when opposing delta prints appear in the wick that rejects the zone. In practice: the impulse defines context ; the footprint shows interaction .
🟠 FEATURES
Separate bullish and bearish zones with automatic extension
Volume split inside each zone candle (up vs down volume)
Lower-timeframe footprint with TPO-style rows and delta gradient
Absorption detection using opposing delta in rejection wicks
Alerts for zone creation and absorption events
🟠 USAGE
Setup : Add the script to your chart. It works on any market and timeframe. The lower timeframe for footprints is fixed at 5 minutes, so higher chart timeframes show clearer structure. Use the Z-Score Window to control how strict impulse detection is and Max Box Age to limit how long old zones stay on the chart.
Read the chart : Bullish orderblocks are created after strong upward impulses and are invalidated when price closes below them. Bearish orderblocks are created after strong downward impulses and are invalidated when price closes above them. When price trades inside a zone, footprint rows appear. Green-tinted rows show positive delta; red-tinted rows show negative delta. Absorption labels appear when opposing delta prints into a rejecting wick.
Settings that matter : Increasing the Z-Score Window makes orderblocks rarer but more significant. Disabling Prevent Overlap allows stacked zones if you want to study clustering. Adjusting Rows per bar changes footprint resolution—lower values are cleaner, higher values show more detail but use more objects.
ניתוח מגמה
Trendlines & SR ZonesIt's a comprehensive indicator (Pine Script v6) that represents two powerful technical analysis tools: automatic trendline detection based on pivot points and volume delta analysis with support/resistance zone identification. This overlay indicator helps traders identify potential trend directions and key price levels where significant buying or selling pressure has occurred.
Features: =
1. Price Trendlines
The indicator automatically identifies and draws trendlines based on pivot points, creating dynamic support and resistance levels.
Key Components:
Pivot Detection: Uses configurable left and right bars to identify significant pivot highs and lows
Trendline Filtering: Only draws downward-sloping resistance trendlines and upward-sloping support trendlines
Zone Creation: Creates filled zones around trendlines based on average price volatility
Automatic Management: Maintains only the 3 most recent significant trendlines to avoid chart clutter
Customization Options:
Left/Right Bars for Pivot: Adjust sensitivity of pivot detection (default: 10 bars each side)
Extension Length: Control how far trendlines extend past the second pivot (default: 50 bars)
Average Body Periods: Set the lookback period for volatility calculation (default: 100)
Tolerance Multiplier: Adjust the width of the trendline zones (default: 1.0)
Color Customization: Separate colors for high (resistance) and low (support) trendlines and their fills
2. Volume Delta % Bars
The indicator analyzes volume distribution across price levels to identify significant supply and demand zones.
Key Components:
Volume Profile Analysis: Divides the price range into rows and calculates volume delta at each level
Delta Visualization: Displays horizontal bars showing the percentage difference between buying and selling volume
Zone Identification: Automatically identifies the most significant supply and demand zones
Visual Integration: Connects volume delta bars with corresponding support/resistance zones on the price chart
Customization Options:
Lookback Period: Set the number of bars to analyze for volume (default: 200)
Price Rows: Control the granularity of the volume analysis (default: 50 rows)
Delta Sections: Adjust the number of horizontal delta bars displayed (default: 20)
Panel Appearance: Customize width, position, and direction of the delta panel
Zone Settings: Control the number of supply/demand zones and their extension (default: 3 zones)
How It Works-
Trendline Logic:
The script continuously scans for pivot highs and lows based on the specified left and right bars
When a pivot is detected, it creates a horizontal line at that price level
The script then looks for the previous pivot of the same type (high or low)
It connects these pivots with a trendline, extending it based on the user-specified setting
A parallel line is created to form a zone, with the distance based on average price volatility
The script filters out invalid trendlines (upward-sloping resistance and downward-sloping support). Only the 3 most recent trendlines are maintained to prevent chart clutter
Volume Delta Logic:
The script divides the price range over the lookback period into the specified number of rows
For each bar in the lookback period, it categorizes volume as bullish (close > open) or bearish (close < open). This volume is assigned to the appropriate price level based on the HLC3 price.
The price levels are grouped into sections, and the net delta (bullish - bearish volume) is calculated for each Horizontal bars are drawn to represent these delta percentages.
The most significant positive and negative deltas are identified and displayed as support and resistance zones. These zones are extended to the left on the price chart and connected to the delta panel with dotted lines.
Ideal Timeframes:
The indicator is versatile and can be used across multiple timeframes, but it performs optimally on specific timeframes depending on your trading style:
For Day Trading:
Optimal Timeframes: 15-minute to 1-hour charts
Why: These timeframes provide a good balance between noise reduction and sufficient volume data. The volume delta analysis is particularly effective on these timeframes as it captures intraday accumulation/distribution patterns while the trendlines remain reliable enough for intraday trading decisions.
For Swing Trading:
Optimal Timeframes: 1-hour to 4-hour charts
Why: These timeframes offer the best combination of reliable trendline formation and meaningful volume analysis. The trendlines on these timeframes are less prone to whipsaws, while the volume delta analysis captures multi-day trading sessions and institutional activity.
For Position Trading:
Optimal Timeframes: Daily and weekly charts
Why: On these higher timeframes, trendlines become extremely reliable as they represent significant market structure points. The volume delta analysis reveals longer-term accumulation and distribution patterns that can define major support and resistance zones for weeks or months.
Timeframe-Specific Adjustments:
Lower Timeframes (1-15 minutes):
Reduce left/right bars for pivots (5-8 bars)
Decrease lookback period for volume delta (50-100 bars)
Increase tolerance multiplier (1.2-1.5) to account for higher volatility
Higher Timeframes (Daily+):
Increase left/right bars for pivots (15-20 bars)
Extend lookback period for volume delta (300-500 bars)
Consider increasing the number of price rows (70-100) for more detailed volume analysis
Usage Guidelines-
For Trendline Analysis:
Use the trendlines as dynamic support and resistance levels
Price reactions at these levels can indicate potential trend continuation or reversal points
The filled zones around trendlines represent areas of price volatility or uncertainty
Consider the slope of the trendline as an indication of trend strength
For Volume Delta Analysis:
The horizontal delta bars show where buying or selling pressure has been concentrated
Green bars indicate areas where buying volume exceeded selling volume (demand)
Red bars indicate areas where selling volume exceeded buying volume (supply)
The highlighted supply and demand zones on the price chart represent significant price levels
These zones can act as future support or resistance areas as price revisits them
Customization Tips:
Trendline Sensitivity: Decrease left/right bars values to detect more pivots (more sensitive) or increase them for fewer, more significant pivots
Zone Width: Adjust the tolerance multiplier to make trendline zones wider or narrower based on your trading style
Volume Analysis: Increase the lookback period for a longer-term volume profile or decrease it for more recent activity
Visual Clarity: Adjust colors and transparency settings to match your chart theme and preferences
Conclusion:
This indicator provides traders with a comprehensive view of both trend dynamics and volume-based support/resistance levels. With these two analytical approaches, the indicator offers valuable insights for identifying potential entry and exit points, trend strength, and key price levels where significant market activity has occurred. The extensive customization options allow traders to adapt the indicator to various trading styles and timeframes, with optimal performance on 15-minute to daily charts depending on their trading horizon.
Chart Attached: NSE HINDZINC, EoD 12/12/25
DISCLAIMER: This information is provided for educational purposes only and should not be considered financial, investment, or trading advice. Please do boost if you like it. Happy Trading.
Structure Pivot (LL-HL / HH-LH)Structure Pivot (LL-HL / HH-LH) - Indicator Guide
This indicator scans for market structure pivot patterns—specifically the bullish Higher Low (LL–HL) and the bearish Lower High (HH–LH) —across multiple lengths simultaneously.
It automatically selects the most optimal pattern based on a "Priority Mode" and plots the structure and breakout/breakdown levels on the chart.
1. Basic Calculation Method
The indicator builds upon TradingView’s ta.pivotlow and ta.pivothigh functions to identify structural points.
Bullish Structure (LL–HL)
1.LL (Lowest Low): A standard Pivot Low is identified.
2.HL (Higher Low): A subsequent Pivot Low forms higher than the previous LL. This completes the setup.
3.Pivot Line (Resistance): The indicator finds the highest price (High) that occurred between the LL and the HL. This level becomes the breakout trigger.
Bearish Structure (HH–LH)
1.HH (Highest High): A standard Pivot High is identified.
2.LH (Lower High): A subsequent Pivot High forms lower than the previous HH. This completes the setup.
3.Pivot Line (Support): The indicator finds the lowest price (Low) that occurred between the HH and the LH. This level becomes the breakdown trigger.
2. Multi-Length Scanning
Unlike standard indicators that use a single fixed length (e.g., Length = 5), this indicator scans a range of lengths simultaneously.
・Settings: Defined by Min Length and Max Length.
・Mechanism: If set to Min=2 and Max=10, the indicator internally runs 9 separate calculations (Length 2 through 10) in parallel.
This allows it to capture everything from small, short-term pullbacks to larger, significant structural pivots without manual adjustment.
3. Priority Mode System
Since multiple lengths are scanned, multiple valid patterns may appear at the same time. The Priority Mode determines which single pattern is the "winner" and gets displayed.
A. Tightest Structure (Default)
・For Bullish (Long): Selects the pattern with the lowest Pivot Line (Resistance).
・For Bearish (Short): Selects the pattern with the highest Pivot Line (Support).
・Advantage: It finds the "tightest" contraction (like a VCP). This offers the entry point closest to the stop-loss level, providing the best Risk/Reward ratio.
B. Longest Length
・Selects the pattern detected by the longest length setting.
・Advantage: Focuses on major structural points, filtering out short-term noise. Best for trend confirmation.
C. Shortest Length
・Selects the pattern detected by the shortest length setting.
・Advantage: Extremely sensitive. Best for scalping or catching immediate micro-pullbacks.
4. Real-Time Logic & Features
Structure Invalidation (Failure)
・Bullish: If the current price drops below the HL (the support of the structure), the setup is considered failed.
・Bearish: If the current price rises above the LH (the resistance of the structure), the setup is considered failed.
・Result: All lines and labels for that structure are immediately deleted to keep the chart clean.
Pivot Line Extension
・As long as the structure remains valid (price hasn't violated the HL or LH), the Pivot Line extends to the right, acting as a live reference for breakouts or breakdowns.
Alerts
・Bullish Breakout: Triggered when the Close price crosses over the Pivot Line.
・Bearish Breakdown: Triggered when the Close price crosses under the Pivot Line.
VWAP Flow ParmezanThe "Official Bank Flow VWAP" is a comprehensive trading suite designed for institutional Forex traders.
This indicator solves the problem of chart clutter by combining two critical components of liquidity: Price (Value) and Time (Sessions). It is specifically optimized for EUR/USD and GBP/USD on intraday timeframes (M5, M15), helping you identify high-probability setups where "Fair Value" meets "Volatility."
Key Features
1. Multi-Timeframe VWAP Hierarchy Unlike standard indicators, this tool visualizes the interaction between three distinct timeframes:
Daily VWAP (Dynamic Color): Your primary trend filter. Green when Bullish (Price > VWAP), Red when Bearish (Price < VWAP).
Weekly VWAP (Orange Dots): Represents the medium-term balance. Acts as a magnet for mean reversion mid-week.
Monthly VWAP (Purple Line): The institutional "line in the sand." Major support/resistance level.
2. Standard Deviation Bands (Market Balance) The indicator plots SD1 and SD2 bands around the Daily VWAP:
Inner Zone (SD1): Represents the "Fair Value" area.
Outer Bands (SD2): Represents overbought/oversold conditions. Useful for identifying mean reversion plays back to the center.
3. Official Exchange Sessions (Time) Forget confusing "killzones." This tool highlights the Official Open times for major exchanges, adjusted for Daylight Savings via New York time:
London Open (08:00 LDN): The start of European volume.
New York Open (08:00 NY): The injection of US liquidity.
London Close/Fix: The daily overlap close, often marking trend reversals.
Note: Sessions are visualized with non-intrusive black "shadow" backgrounds to keep your chart clean.
4. "Ghost" Levels (Previous VWAP) A unique feature that plots the closing VWAP level of the previous day. Institutional algorithms often target these "untested" levels as Take Profit targets or liquidity pools.
How to Use
Trend Following: If Price is above the Daily VWAP (Green) during the London Open, look for Long entries targeting the SD1/SD2 upper bands.
Mean Reversion: If Price hits the SD2 Band while far away from the Weekly VWAP, look for a reversal back to the mean.
Confluence: The strongest signals occur when price touches a key VWAP level (e.g., Weekly VWAP) specifically during the highlighted Session Start times.
Settings
Timezone: Defaults to America/New_York to automatically handle DST shifts for London/NY opens.
Visuals: Fully customizable colors and transparency. Default is set to a "Dark Mode" friendly professional palette.
Dragon Flow Arrows (Smoothed LITE)🚀 DRAGON FLOW ARROWS — LITE | Smart Trend Engine + Clean Reversal Arrows
A lightweight but highly-optimized trend system designed for clean charts, powerful visual signals, and no-noise directional flow.
Built for traders who want simplicity, clarity, and professional-level momentum-filtered signals without over-complication.
🔥 Dragon Channel (Clean 3-Line Ribbon)
A smooth adaptive channel formed from ATR + EMA, giving you structural trend zones without clutter. No double bands, no messy overlaps just a clear upper/lower boundary.
✅ Dragon Flow Gradient
A horizontal, color-shifted flow:
🟢 Bull flow → green glow
🔴 Bear flow → red glow
Automatic blend based on trend direction
Smooth visual transitions (no vertical stripes)
✅ Momentum-Filtered Arrows (No Spam)
BUY/SELL arrows only print when:
Price breaks outside the Dragon Channel
Momentum confirms (RSI + MACD filters)
Trend flips → one clean arrow per direction
Text labels sit outside the channel for better readability.
✅ Smart Header Panel
At the top of your chart:
📌 Trend: Uptrend / Downtrend / Neutral
⚡ Impulse Strength: Weak / Normal / Strong
© FxShareRobots.com brand bar
Everything compact. Everything professional.
📊 How to Use
BUY Setup
Price moving above baseline
Dragon Flow turns bullish (cyan side)
Arrow appears below channel
SELL Setup
Price breaks below baseline
Dragon Flow turns bearish (magenta side)
Arrow pops above channel
Exit / Filter
Opposite arrow
Flow color shift
Trend panel flips
Works on Forex, Crypto, Stocks, Indices — all timeframes.
🆚 LITE vs PRO
Feature LITE PRO
Dragon Channel ✔ ✔ +Enhanced
Trend Panel ✔ ✔ +Multi-TF
Reversal Arrows ✔ ✔ + Confirmation
Momentum Filter ✔ ✔ +Expanded
Alerts ✖ ✔ +Full Suite
Reversal Zones ✖ ✔ +Predictive Map
Trade Strategy ✖ ✔ +Included + PDF
🔓 Upgrade to DRAGON FLOW — PRO
Unlock alerts, HTF confirmation, advanced momentum engine, and predictive reversal zones:
👉 fxsharerobots.com/itp/
❤️ If this helped your trading — please Like & Follow!
This supports future updates and keeps the LITE version source code free for the community.
Happy trading,
FxShareRobots Team
AlgoZ Smart Divergence [Trend Filtered]AlgoZ Smart Divergence is a precision entry tool designed to catch market reversals by analyzing Volume Divergence combined with Multi-Timeframe Trend Filtering. Unlike standard divergence indicators that signal on every minor price fluctuation, this script uses a strict set of filters to only present high-probability trade setups that align with the broader market trend.
This is the Free Edition of the AlgoZ Suite, focused on providing clean, non-repainting Buy and Sell signals based on institutional volume flow.
How It Works The script operates on a 3-step validation process:
Volume Divergence:
It detects anomalies where volume spikes relative to price action (e.g., Price makes a Lower Low, but Volume hits a Higher High).
HTF Trend Painting:
It analyzes a Higher Timeframe (Default: 3 Hours) to determine the macro trend. If the 3H trend is Bullish, the candles turn Green. If Bearish, they turn Red.
Color Match Filtering:
The script includes a smart filter that blocks signals that go against the trend. You will only see BUY signals when the candles are Green (Uptrend) and SELL signals when the candles are Red (Downtrend).
Key Features
Volume Divergence Engine:
Identifies hidden accumulation and distribution zones.
HTF Trend Coloring:
Automatically paints your chart based on Higher Timeframe breakouts (Default: 3-Hour Trend).
Smart Signal Filtering:
Toggles are available to "Only Show Signals Matching Candle Color," ensuring you never trade against the momentum.
EMA Trend Filter:
Includes a built-in 10-period EMA filter to further refine entries.
Volatility Filters:
Optional RSI and ADX filters are included to avoid trading during low-volatility "chop."
How to Use
For Longs (Buys):
Wait for the candles to turn Green (indicating the 3-Hour trend is up) and look for a BUY label. The price must also be above the 10 EMA (if enabled).
For Shorts (Sells):
Wait for the candles to turn Red (indicating the 3-Hour trend is down) and look for a SELL label.
Risk Management:
This script is designed to catch reversals. Always place your Stop Loss below the recent swing low (for buys) or above the swing high (for sells).
Settings
Higher Timeframe:
Default is set to 3 Hours (180 minutes). You can adjust this to 1 Day or 4 Hours depending on your trading style.
EMA Length:
Default is 10.
Color Match Filter:
On by default.
Order Block Finder [MHA Finverse]Order Block Finder is a sophisticated Smart Money Concepts (SMC) tool designed to identify and visualize institutional order blocks on your charts. This indicator helps traders spot key areas where smart money has placed their orders, providing valuable insights for potential support and resistance zones.
What are Order Blocks?
Order blocks are price zones where institutional traders have placed significant orders. This indicator identifies these zones by detecting pivot points in price action and tracking structural breaks in both internal (short-term) and swing (long-term) timeframes.
Key Features:
• Dual Structure Analysis
- Internal Order Blocks: Fast-moving blocks based on 5-bar pivots for short-term trading
- Swing Order Blocks: Slower blocks based on 50-bar pivots for position trading
- Display up to 20 order blocks per type
• Volume Metrics
Each order block displays two important metrics:
- Volume value: The total volume of the candle that formed the order block
- Percentage: Relative volume compared to all visible order blocks (always totals 100%)
Higher percentages indicate stronger institutional activity and more significant zones
• Smart Filtering System
- ATR Filter: Filters out high-volatility candles (>2x ATR) to focus on genuine order blocks
- CMR Filter: Uses Cumulative Mean Range for adaptive filtering across different market conditions
• Flexible Mitigation Options
Choose how order blocks are considered broken:
- High/Low: Order block breaks when price touches its boundary
- Close: Order block breaks only when candle closes through it
• Visual Customization
- Colored or Monochrome themes
- Adjustable text size for volume metrics
- Customizable colors for bullish and bearish blocks
- Historical or Present mode for clean chart analysis
• Built-in Alert System
- Real-time alerts when order blocks are mitigated
- Individual toggles for each alert type
- Clear emoji indicators (🔵 Bullish, 🔴 Bearish)
- Compatible with TradingView's alert system
How It Works:
The indicator identifies order blocks by:
1. Detecting pivot highs and lows in price structure
2. Monitoring when price crosses these pivots (structure breaks)
3. Finding the highest/lowest volatility-filtered candle in the pivot zone
4. Marking this candle as an order block with its volume data
5. Removing blocks when the price mitigates them
Order blocks with higher volume percentages represent stronger institutional interest and are typically more reliable for trading decisions.
Best Practices:
- Use Internal OBs for day trading and scalping
- Use Swing OBs for swing trading and position entries
- Pay attention to blocks with higher volume percentages
- Combine with other SMC concepts for confirmation
Perfect for traders who follow Smart Money Concepts, ICT methodology, and institutional trading analysis.
Disclaimer:
This indicator is provided for educational and informational purposes only. It should not be considered as financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss and is not suitable for all investors. Past performance does not guarantee future results. Always conduct your own research and consult with a qualified financial advisor before making any trading decisions. The creator of this indicator assumes no responsibility for any losses incurred from its use.
Elev8+ Impulse Levels | Smart Support & ResistanceElev8+ Impulse Levels
Why does price reject specific levels that look "empty" on the chart?
The answer usually lies in the past. These are Institutional Impulses—footprints left behind by massive market moves that algorithms and smart money defend days or even weeks later.
The Elev8+ Impulse Levels indicator is designed to automatically reveal this hidden Market Structure. It scans for the "Perfect Storm" of Volume + Aggression and projects these critical levels forward for you.
🧠 How It Works (The Logic)
This is not a standard Support & Resistance tool. It does not look for swing highs or lows. Instead, it detects Market Intent.
The indicator highlights specific candles where:
Volume Spikes: Buying or Selling pressure exceeds the average by a significant multiplier.
Volatility Expands: The candle body is unusually large relative to recent price action (ATR).
When these two factors combine, it signals that a major player has entered the market. The closing price of this impulse becomes a "Line in the Sand" for future price action.
🎯 How to Trade This Strategy
We built a "Smart Line" feature into this tool that changes the visual style of the level based on price behavior. This helps you trade two distinct setups:
1. The Defense (Bounce)
Visual: 🟢 Solid Lines
The Setup: A Solid Line represents a Fresh Level that has never been touched.
Why it works: Institutions often defend their entry price. When price returns to a fresh Solid Line, look for a rejection or a bounce.
2. The Flip (Break & Retest)
Visual: ◌ Dotted Lines
The Setup: When a candle closes past a level, the indicator automatically dims it to a Dotted Line.
Why it works: This signals a "Breaker Block." If a Support level (Green) is broken, it often flips to become Resistance. Watch for price to come back and "kiss" the Dotted Line from the other side before continuing the trend.
✨ Key Features
Smart Visualization: Lines automatically switch from Solid to Dotted when broken, keeping your chart analysis clean and logical.
Impulse Coloring: The indicator highlights the specific candle that created the level, so you can see the origin of the move.
Fully Customizable: Adjust the sensitivity of the Volume and Size detection to fit any asset class (Crypto, Forex, Futures, or Stocks).
🚀 The Elev8+ Workflow
Elev8+ Impulse Levels gives you the "Map"—it tells you where the market is likely to react.
To know exactly when to enter, we recommend pairing this tool with our premium Elev8+ Reversal Indicator, which specializes in timing the entry signal precisely when price hits these high-value levels.
Build your narrative. See the structure. Elev8 your trading.
Disclaimer: Trading involves high risk. This tool is for educational purposes to assist with technical analysis and does not guarantee future performance.
Take Profit XTake Profit X
Take Profit X solves the #1 problem in trading: knowing when to exit. Instead of guessing or using single indicators, it aggregates 8 technical signals to identify high-probability exit points through multi-confirmation consensus. This eliminates premature exits and emotional decision-making.
The indicator counts confirmations from your chosen technical tools:
Green dot = Multiple signals say "take profit on longs/exit shorts"
Red dot = Multiple signals say "take profit on shorts/exit longs"
Signals appear when you reach the minimum confirmations threshold you set.
Possible Settings:
Conservative (Swing Trading)
pine
Minimum Confirmations: 4
Use: RSI, MACD, CCI, Supertrend, Price Action
Disable: Stochastic, Bollinger Bands, EMA Cross
Look Back Bars: 10
Aggressive (Day Trading)
pine
Minimum Confirmations: 2
Use: All indicators ON
Look Back Bars: 3-5
RSI OB/OS: 75/25
Balanced (Most Markets)
pine
Minimum Confirmations: 3
Use: RSI, MACD, CCI, Supertrend
Price Action: ON
Look Back Bars: 5-7
Short-Term Bubble Risk [Phantom] Short-Term Bubble Risk
Concept
This indicator visualizes short-term market risk by measuring how far price is stretched relative to its recent weekly trend.
Instead of focusing on absolute price levels, it looks at price behavior.
A similar reading means similar market conditions, whether price is high or low.
The goal is to help identify areas of potential accumulation and potential distribution in a clear, visual way.
How It Works
The indicator compares the weekly closing price to a weekly moving average and displays the deviation as a histogram.
When price is far below its average, risk is considered lower
When price is far above its average, risk is considered higher
The zero line represents fair value, where price equals its weekly average.
Features
Color-coded histogram showing short-term risk levels
Designed to work across different assets and price ranges
Optional bar coloring on the main chart using weekly risk data
Safe to use on any timeframe (risk is calculated on weekly data)
Settings
# Moving Average Length (Weeks):
Adjusts how sensitive the indicator is to price changes
# Color Visibility Toggles:
Allows hiding or showing specific risk zones
# Bar Coloring:
Option to color chart candles based on weekly risk levels
Usage
This indicator is best used as a risk lens, not a timing tool.
Common uses include:
Identifying potential accumulation zones during weakness
Spotting overextended conditions during strong moves
Comparing short-term risk across different assets
Adding context to trend-following or DCA strategies
Trade Ideas
# Lower-risk zones (cool colors):
Can support accumulation or patience during downtrends
# Higher-risk zones (warm colors):
Can signal caution, reduced exposure, or profit-taking
Always combine with:
Trend direction
Market structure
Higher-timeframe context
Limitations
This indicator does not predict tops or bottoms
High risk can remain high during strong trends
Low risk does not guarantee immediate reversals
It should not be used as a standalone trading system.
Disclaimer
This indicator is for educational and informational purposes only.
It is not financial advice.
Always do your own research and manage risk appropriately.
Momentum Candle V3 by Sekolah TradingMomentum Candle v3 by Sekolah Trading
Description:
Momentum Candle v3 is a technical indicator designed to identify market momentum signals based on price movement within a single candle. The indicator measures the size of the candle's body and wick to determine if the market is showing strong bullish or bearish momentum.
Key Features:
Candle Size: Measures price movement within a single candle to assess market momentum.
Short Wick: Focuses on wick length, with short wicks indicating that the closing price is more significant than the opening price.
Bullish/Bearish Momentum: Provides bullish signals when the closing price is higher than the open, and bearish signals when the closing price is lower than the open.
Customizable Minimum Body: Users can adjust the minimum body size for XAUUSD and USDJPY pairs according to their trading preferences.
Timeframe: Works on M5 and M15 timeframes for XAUUSD and USDJPY currency pairs.
How to Use:
Bullish Signal: The indicator signals bullish momentum when the candle body is sufficiently large and the wick is short, with the closing price higher than the open.
Bearish Signal: The indicator signals bearish momentum when the candle body is sufficiently large and the wick is short, with the closing price lower than the open.
Pip Parameters: Adjust the pip values for XAUUSD and USDJPY according to market conditions or your trading preferences.
Note: This indicator is a tool for technical analysis and does not guarantee specific trading results. It is recommended to use it alongside other strategies and analyses for better accuracy.
Realistic Backtest Results:
To ensure transparency and honesty in the backtest, here are some key factors to consider:
Position Size: The backtest uses a realistic position size of about 5-10% of the account equity per trade.
Commission & Slippage: A commission of 0.1% per trade and slippage of 1 pip were used in the backtest simulation to reflect real market conditions.
Number of Trades: The backtest sample includes more than 100 trades for a representative result.
Example of Backtest Results:
Profitability: The backtest results on XAUUSD and USDJPY show consistent performance with this strategy on the M5 and M15 timeframes.
Commission and Slippage: Adjusting for commission and slippage showed better accuracy under more realistic market scenarios.
How to Use the Indicator:
Signals from this indicator can be used to confirm market momentum in trending conditions. However, it is highly recommended to combine this indicator with other technical analysis tools to minimize the risk of false signals.
Important Notes:
Honesty & Transparency: This indicator is designed to provide signals based on technical analysis and does not guarantee specific trading results.
No Over-Claims: The backtest results displayed represent realistic scenarios and are not intended to promise certain profits.
Original Content: The code for this indicator is original and does not violate any copyrights.
Tagging:
Smart Tags: Momentum, Candle, XAUUSD, USDJPY, Bullish, Bearish, M5, M15, Technical Indicator, Market Momentum.
Filtered TEMA CrossoverFiltered Dual TEMA Crossover
This indicator is a trend-following tool based on the classic Dual Triple Exponential Moving Average (TEMA) Crossover strategy, enhanced with two robust filters: the Chop Index and the Average Directional Index (ADX).
The TEMA is known for its low lag and high responsiveness, making the crossover an effective signal for trend reversals. However, trading TEMA crossovers during sideways, choppy markets often leads to false signals. This is where the filters come in.
Key Features
▪️Dual TEMA Crossover: Plots two customizable TEMA lines (Fast and Slow) for clear visualization of the primary trend direction.
▪️Intelligent Signal Filtering: Buy and Sell signals are generated only when the market confirms it is in a trending state, thanks to two integrated filters:
➖Chop Index Filter: Blocks signals when the market is detected as sideways or consolidating (Chop Index reading above a user-defined threshold).
➖ADX Filter: Ensures signals are only taken when the trend strength is sufficient (ADX reading above a user-defined minimum threshold).
▪️Customizable Signals: Full control over the signal shapes (Arrows, Triangles, etc.), colors, text, and size.
How to Use It
Use the Filtered Dual TEMA Crossover to enter positions on trend continuation or reversal while dramatically reducing exposure to low-quality, whipsawing signals common in non-trending environments.
Before the filters:
After the filters:
Minimize Noise. Maximize Clarity. Trade the Trend.
Razzere Cloned! EzAlgo V.8.1showBuySell = input(true, "Show Buy & Sell", group="BUY & SELL SIGNALS")
hassasiyet = input.float(3, "Hassasiyet (1-6)", 0.1, 99999, group="BUY & SELL SIGNALS")
percentStop = input.float(1, "Stop Loss % (0 to Disable)", 0, group="BUY & SELL SIGNALS")
offsetSignal = input.float(5, "Signals Offset", 0, group="BUY & SELL SIGNALS")
showRibbon = input(true, "Show Trend Ribbon", group="TREND RIBBON")
smooth1 = input.int(5, "Smoothing 1", 1, group="TREND RIBBON")
smooth2 = input.int(8, "Smoothing 2", 1, group="TREND RIBBON")
showreversal = input(true, "Show Reversals", group="REVERSAL SIGNALS")
showPdHlc = input(false, "Show P.D H/L/C", group="PREVIOUS DAY HIGH LOW CLOSE")
lineColor = input.color(color.yellow, "Line Colors", group="PREVIOUS DAY HIGH LOW CLOSE")
lineWidth = input.int(1, "Width Lines", group="PREVIOUS DAY HIGH LOW CLOSE")
lineStyle = input.string("Solid", "Line Style", )
labelSize = input.string("normal", "Label Text Size", )
labelColor = input.color(color.yellow, "Label Text Colors")
showEmas = input(false, "Show EMAs", group="EMA")
srcEma1 = input(close, "Source EMA 1")
lenEma1 = input.int(7, "Length EMA 1", 1)
srcEma2 = input(close, "Source EMA 2")
lenEma2 = input.int(21, "Length EMA 2", 1)
srcEma3 = input(close, "Source EMA 3")
lenEma3 = input.int(144, "Length EMA 3", 1)
showSwing = input(false, "Show Swing Points", group="SWING POINTS")
prdSwing = input.int(10, "Swing Point Period", 2, group="SWING POINTS")
colorPos = input(color.new(color.green, 50), "Positive Swing Color")
colorNeg = input(color.new(color.red, 50), "Negative Swing Color")
showDashboard = input(true, "Show Dashboard", group="TREND DASHBOARD")
locationDashboard = input.string("Middle Right", "Table Location", , group="TREND DASHBOARD")
tableTextColor = input(color.white, "Table Text Color", group="TREND DASHBOARD")
tableBgColor = input(#2A2A2A, "Table Background Color", group="TREND DASHBOARD")
sizeDashboard = input.string("Normal", "Table Size", , group="TREND DASHBOARD")
showRevBands = input.bool(true, "Show Reversal Bands", group="REVERSAL BANDS")
lenRevBands = input.int(30, "Length", group="REVERSAL BANDS")
// Fonksiyonlar
smoothrng(x, t, m) =>
wper = t * 2 - 1
avrng = ta.ema(math.abs(x - x ), t)
smoothrng = ta.ema(avrng, wper) * m
rngfilt(x, r) =>
rngfilt = x
rngfilt := x > nz(rngfilt ) ? x - r < nz(rngfilt ) ? nz(rngfilt ) : x - r : x + r > nz(rngfilt ) ? nz(rngfilt ) : x + r
percWidth(len, perc) => (ta.highest(len) - ta.lowest(len)) * perc / 100
securityNoRep(sym, res, src) => request.security(sym, res, src, barmerge.gaps_off, barmerge.lookahead_on)
swingPoints(prd) =>
pivHi = ta.pivothigh(prd, prd)
pivLo = ta.pivotlow (prd, prd)
last_pivHi = ta.valuewhen(pivHi, pivHi, 1)
last_pivLo = ta.valuewhen(pivLo, pivLo, 1)
hh = pivHi and pivHi > last_pivHi ? pivHi : na
lh = pivHi and pivHi < last_pivHi ? pivHi : na
hl = pivLo and pivLo > last_pivLo ? pivLo : na
ll = pivLo and pivLo < last_pivLo ? pivLo : na
f_chartTfInMinutes() =>
float _resInMinutes = timeframe.multiplier * (
timeframe.isseconds ? 1 :
timeframe.isminutes ? 1. :
timeframe.isdaily ? 60. * 24 :
timeframe.isweekly ? 60. * 24 * 7 :
timeframe.ismonthly ? 60. * 24 * 30.4375 : na)
f_kc(src, len, hassasiyet) =>
basis = ta.sma(src, len)
span = ta.atr(len)
wavetrend(src, chlLen, avgLen) =>
esa = ta.ema(src, chlLen)
d = ta.ema(math.abs(src - esa), chlLen)
ci = (src - esa) / (0.015 * d)
wt1 = ta.ema(ci, avgLen)
wt2 = ta.sma(wt1, 3)
f_top_fractal(src) => src < src and src < src and src > src and src > src
f_bot_fractal(src) => src > src and src > src and src < src and src < src
f_fractalize (src) => f_top_fractal(src) ? 1 : f_bot_fractal(src) ? -1 : 0
f_findDivs(src, topLimit, botLimit) =>
fractalTop = f_fractalize(src) > 0 and src >= topLimit ? src : na
fractalBot = f_fractalize(src) < 0 and src <= botLimit ? src : na
highPrev = ta.valuewhen(fractalTop, src , 0)
highPrice = ta.valuewhen(fractalTop, high , 0)
lowPrev = ta.valuewhen(fractalBot, src , 0)
lowPrice = ta.valuewhen(fractalBot, low , 0)
bearSignal = fractalTop and high > highPrice and src < highPrev
bullSignal = fractalBot and low < lowPrice and src > lowPrev
// Bileşen...
source = close
smrng1 = smoothrng(source, 27, 1.5)
smrng2 = smoothrng(source, 55, hassasiyet)
smrng = (smrng1 + smrng2) / 2
filt = rngfilt(source, smrng)
up = 0.0, up := filt > filt ? nz(up ) + 1 : filt < filt ? 0 : nz(up )
dn = 0.0, dn := filt < filt ? nz(dn ) + 1 : filt > filt ? 0 : nz(dn )
bullCond = bool(na), bullCond := source > filt and source > source and up > 0 or source > filt and source < source and up > 0
bearCond = bool(na), bearCond := source < filt and source < source and dn > 0 or source < filt and source > source and dn > 0
lastCond = 0, lastCond := bullCond ? 1 : bearCond ? -1 : lastCond
bull = bullCond and lastCond == -1
bear = bearCond and lastCond == 1
countBull = ta.barssince(bull)
countBear = ta.barssince(bear)
trigger = nz(countBull, bar_index) < nz(countBear, bar_index) ? 1 : 0
ribbon1 = ta.sma(close, smooth1)
ribbon2 = ta.sma(close, smooth2)
rsi = ta.rsi(close, 21)
rsiOb = rsi > 70 and rsi > ta.ema(rsi, 10)
rsiOs = rsi < 30 and rsi < ta.ema(rsi, 10)
dHigh = securityNoRep(syminfo.tickerid, "D", high )
dLow = securityNoRep(syminfo.tickerid, "D", low )
dClose = securityNoRep(syminfo.tickerid, "D", close )
ema1 = ta.ema(srcEma1, lenEma1)
ema2 = ta.ema(srcEma2, lenEma2)
ema3 = ta.ema(srcEma3, lenEma3)
= swingPoints(prdSwing)
ema = ta.ema(close, 144)
emaBull = close > ema
equal_tf(res) => str.tonumber(res) == f_chartTfInMinutes() and not timeframe.isseconds
higher_tf(res) => str.tonumber(res) > f_chartTfInMinutes() or timeframe.isseconds
too_small_tf(res) => (timeframe.isweekly and res=="1") or (timeframe.ismonthly and str.tonumber(res) < 10)
securityNoRep1(sym, res, src) =>
bool bull_ = na
bull_ := equal_tf(res) ? src : bull_
bull_ := higher_tf(res) ? request.security(sym, res, src, barmerge.gaps_off, barmerge.lookahead_on) : bull_
bull_array = request.security_lower_tf(syminfo.tickerid, higher_tf(res) ? str.tostring(f_chartTfInMinutes()) + (timeframe.isseconds ? "S" : "") : too_small_tf(res) ? (timeframe.isweekly ? "3" : "10") : res, src)
if array.size(bull_array) > 1 and not equal_tf(res) and not higher_tf(res)
bull_ := array.pop(bull_array)
array.clear(bull_array)
bull_
TF1Bull = securityNoRep1(syminfo.tickerid, "1" , emaBull)
TF3Bull = securityNoRep1(syminfo.tickerid, "3" , emaBull)
TF5Bull = securityNoRep1(syminfo.tickerid, "5" , emaBull)
TF15Bull = securityNoRep1(syminfo.tickerid, "15" , emaBull)
TF30Bull = securityNoRep1(syminfo.tickerid, "30" , emaBull)
TF60Bull = securityNoRep1(syminfo.tickerid, "60" , emaBull)
TF120Bull = securityNoRep1(syminfo.tickerid, "120" , emaBull)
TF240Bull = securityNoRep1(syminfo.tickerid, "240" , emaBull)
TF480Bull = securityNoRep1(syminfo.tickerid, "480" , emaBull)
TFDBull = securityNoRep1(syminfo.tickerid, "1440", emaBull)
= f_kc(close, lenRevBands, 3)
= f_kc(close, lenRevBands, 4)
= f_kc(close, lenRevBands, 5)
= f_kc(close, lenRevBands, 6)
= wavetrend(hlc3, 9, 12)
= f_findDivs(wt2, 15, -40)
= f_findDivs(wt2, 45, -65)
wtDivBull = wtDivBull1 or wtDivBull2
wtDivBear = wtDivBear1 or wtDivBear2
// Renkler
cyan = #00DBFF, cyan30 = color.new(cyan, 70)
pink = #E91E63, pink30 = color.new(pink, 70)
red = #FF5252, red30 = color.new(red , 70)
// Plotlar
off = percWidth(300, offsetSignal)
plotshape(showBuySell and bull ? low - off : na, "Buy Label" , shape.labelup , location.absolute, cyan, 0, "Buy" , color.white, size=size.normal)
plotshape(showBuySell and bear ? high + off : na, "Sell Label", shape.labeldown, location.absolute, pink, 0, "Sell", color.white, size=size.normal)
plotshape(ta.crossover(wt1, wt2) and wt2 <= -53, "Mild Buy" , shape.xcross, location.belowbar, cyan, size=size.tiny)
plotshape(ta.crossunder(wt1, wt2) and wt2 >= 53, "Mild Sell", shape.xcross, location.abovebar, pink, size=size.tiny)
plotshape(wtDivBull, "Divergence Buy ", shape.triangleup , location.belowbar, cyan, size=size.tiny)
plotshape(wtDivBear, "Divergence Sell", shape.triangledown, location.abovebar, pink, size=size.tiny)
barcolor(up > dn ? cyan : pink)
plotshape(showreversal and rsiOs, "Reversal Buy" , shape.diamond, location.belowbar, cyan30, size=size.tiny)
plotshape(showreversal and rsiOb, "Reversal Sell", shape.diamond, location.abovebar, pink30, size=size.tiny)
lStyle = lineStyle == "Solid" ? line.style_solid : lineStyle == "Dotted" ? line.style_dotted : line.style_dashed
lSize = labelSize == "small" ? size.small : labelSize == "normal" ? size.normal : size.large
dHighLine = showPdHlc ? line.new(bar_index, dHigh, bar_index + 1, dHigh , xloc.bar_index, extend.both, lineColor, lStyle, lineWidth) : na, line.delete(dHighLine )
dLowLine = showPdHlc ? line.new(bar_index, dLow , bar_index + 1, dLow , xloc.bar_index, extend.both, lineColor, lStyle, lineWidth) : na, line.delete(dLowLine )
dCloseLine = showPdHlc ? line.new(bar_index, dClose, bar_index + 1, dClose, xloc.bar_index, extend.both, lineColor, lStyle, lineWidth) : na, line.delete(dCloseLine )
dHighLabel = showPdHlc ? label.new(bar_index + 100, dHigh , "P.D.H", xloc.bar_index, yloc.price, #000000, label.style_none, labelColor, lSize) : na, label.delete(dHighLabel )
dLowLabel = showPdHlc ? label.new(bar_index + 100, dLow , "P.D.L", xloc.bar_index, yloc.price, #000000, label.style_none, labelColor, lSize) : na, label.delete(dLowLabel )
dCloseLabel = showPdHlc ? label.new(bar_index + 100, dClose, "P.D.C", xloc.bar_index, yloc.price, #000000, label.style_none, labelColor, lSize) : na, label.delete(dCloseLabel )
plot(showEmas ? ema1 : na, "EMA 1", color.green , 2)
plot(showEmas ? ema2 : na, "EMA 2", color.purple, 2)
plot(showEmas ? ema3 : na, "EMA 3", color.yellow, 2)
plotshape(showSwing ? hh : na, "", shape.triangledown, location.abovebar, color.new(color.green, 50), -prdSwing, "HH", colorPos, false)
plotshape(showSwing ? hl : na, "", shape.triangleup , location.belowbar, color.new(color.green, 50), -prdSwing, "HL", colorPos, false)
plotshape(showSwing ? lh : na, "", shape.triangledown, location.abovebar, color.new(color.red , 50), -prdSwing, "LH", colorNeg, false)
plotshape(showSwing ? ll : na, "", shape.triangleup , location.belowbar, color.new(color.red , 50), -prdSwing, "LL", colorNeg, false)
srcStop = close
atrBand = srcStop * (percentStop / 100)
atrStop = trigger ? srcStop - atrBand : srcStop + atrBand
lastTrade(src) => ta.valuewhen(bull or bear, src, 0)
entry_y = lastTrade(srcStop)
stop_y = lastTrade(atrStop)
tp1_y = (entry_y - lastTrade(atrStop)) * 1 + entry_y
tp2_y = (entry_y - lastTrade(atrStop)) * 2 + entry_y
tp3_y = (entry_y - lastTrade(atrStop)) * 3 + entry_y
labelTpSl(y, txt, color) =>
label labelTpSl = percentStop != 0 ? label.new(bar_index + 1, y, txt, xloc.bar_index, yloc.price, color, label.style_label_left, color.white, size.normal) : na
label.delete(labelTpSl )
labelTpSl(entry_y, "Entry: " + str.tostring(math.round_to_mintick(entry_y)), color.gray)
labelTpSl(stop_y , "Stop Loss: " + str.tostring(math.round_to_mintick(stop_y)), color.red)
labelTpSl(tp1_y, "Take Profit 1: " + str.tostring(math.round_to_mintick(tp1_y)), color.green)
labelTpSl(tp2_y, "Take Profit 2: " + str.tostring(math.round_to_mintick(tp2_y)), color.green)
labelTpSl(tp3_y, "Take Profit 3: " + str.tostring(math.round_to_mintick(tp3_y)), color.green)
lineTpSl(y, color) =>
line lineTpSl = percentStop != 0 ? line.new(bar_index - (trigger ? countBull : countBear) + 4, y, bar_index + 1, y, xloc.bar_index, extend.none, color, line.style_solid) : na
line.delete(lineTpSl )
lineTpSl(entry_y, color.gray)
lineTpSl(stop_y, color.red)
lineTpSl(tp1_y, color.green)
lineTpSl(tp2_y, color.green)
lineTpSl(tp3_y, color.green)
var dashboard_loc = locationDashboard == "Top Right" ? position.top_right : locationDashboard == "Middle Right" ? position.middle_right : locationDashboard == "Bottom Right" ? position.bottom_right : locationDashboard == "Top Center" ? position.top_center : locationDashboard == "Middle Center" ? position.middle_center : locationDashboard == "Bottom Center" ? position.bottom_center : locationDashboard == "Top Left" ? position.top_left : locationDashboard == "Middle Left" ? position.middle_left : position.bottom_left
var dashboard_size = sizeDashboard == "Large" ? size.large : sizeDashboard == "Normal" ? size.normal : sizeDashboard == "Small" ? size.small : size.tiny
var dashboard = showDashboard ? table.new(dashboard_loc, 2, 15, tableBgColor, #000000, 2, tableBgColor, 1) : na
dashboard_cell(column, row, txt, signal=false) => table.cell(dashboard, column, row, txt, 0, 0, signal ? #000000 : tableTextColor, text_size=dashboard_size)
dashboard_cell_bg(column, row, col) => table.cell_set_bgcolor(dashboard, column, row, col)
if barstate.islast and showDashboard
dashboard_cell(0, 0 , "EzAlgo")
dashboard_cell(0, 1 , "Current Position")
dashboard_cell(0, 2 , "Current Trend")
dashboard_cell(0, 3 , "Volume")
dashboard_cell(0, 4 , "Timeframe")
dashboard_cell(0, 5 , "1 min:")
dashboard_cell(0, 6 , "3 min:")
dashboard_cell(0, 7 , "5 min:")
dashboard_cell(0, 8 , "15 min:")
dashboard_cell(0, 9 , "30 min:")
dashboard_cell(0, 10, "1 H:")
dashboard_cell(0, 11, "2 H:")
dashboard_cell(0, 12, "4 H:")
dashboard_cell(0, 13, "8 H:")
dashboard_cell(0, 14, "Daily:")
dashboard_cell(1, 0 , "V.8.1")
dashboard_cell(1, 1 , trigger ? "Buy" : "Sell", true), dashboard_cell_bg(1, 1, trigger ? color.green : color.red)
dashboard_cell(1, 2 , emaBull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 2, emaBull ? color.green : color.red)
dashboard_cell(1, 3 , str.tostring(volume))
dashboard_cell(1, 4 , "Trends")
dashboard_cell(1, 5 , TF1Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 5 , TF1Bull ? color.green : color.red)
dashboard_cell(1, 6 , TF3Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 6 , TF3Bull ? color.green : color.red)
dashboard_cell(1, 7 , TF5Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 7 , TF5Bull ? color.green : color.red)
dashboard_cell(1, 8 , TF15Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 8 , TF15Bull ? color.green : color.red)
dashboard_cell(1, 9 , TF30Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 9 , TF30Bull ? color.green : color.red)
dashboard_cell(1, 10, TF60Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 10, TF60Bull ? color.green : color.red)
dashboard_cell(1, 11, TF120Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 11, TF120Bull ? color.green : color.red)
dashboard_cell(1, 12, TF240Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 12, TF240Bull ? color.green : color.red)
dashboard_cell(1, 13, TF480Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 13, TF480Bull ? color.green : color.red)
dashboard_cell(1, 14, TFDBull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 14, TFDBull ? color.green : color.red)
plot(showRevBands ? upperKC1 : na, "Rev.Zone Upper 1", red30)
plot(showRevBands ? upperKC2 : na, "Rev.Zone Upper 2", red30)
plot(showRevBands ? upperKC3 : na, "Rev.Zone Upper 3", red30)
plot(showRevBands ? upperKC4 : na, "Rev.Zone Upper 4", red30)
plot(showRevBands ? lowerKC4 : na, "Rev.Zone Lower 4", cyan30)
plot(showRevBands ? lowerKC3 : na, "Rev.Zone Lower 3", cyan30)
plot(showRevBands ? lowerKC2 : na, "Rev.Zone Lower 2", cyan30)
plot(showRevBands ? lowerKC1 : na, "Rev.Zone Lower 1", cyan30)
fill(plot(showRibbon ? ribbon1 : na, "", na, editable=false), plot(showRibbon ? ribbon2 : na, "", na, editable=false), ribbon1 > ribbon2 ? cyan30 : pink30, "Ribbon Fill Color")
// Alarmlar
alert01 = ta.crossover(ribbon1, ribbon2)
alert02 = bull
alert03 = wtDivBull
alert04 = wtDivBear
alert05 = bull or bear
alert06 = ta.crossover(wt1, wt2) and wt2 <= -53
alert07 = ta.crossunder(wt1, wt2) and wt2 >= 53
alert08 = ta.crossunder(ribbon1, ribbon2)
alert09 = rsiOb or rsiOs
alert10 = bear
alert11 = ta.cross(ribbon1, ribbon2)
alerts(sym) =>
if alert02 or alert03 or alert04 or alert06 or alert07 or alert10
alert_text = alert02 ? "Buy Signal EzAlgo" : alert03 ? "Strong Buy Signal EzAlgo" : alert04 ? "Strong Sell Signal EzAlgo" : alert06 ? "Mild Buy Signal EzAlgo" : alert07 ? "Mild Sell Signal EzAlgo" : "Sell Signal EzAlgo"
alert(alert_text, alert.freq_once_per_bar_close)
alerts(syminfo.tickerid)
alertcondition(alert01, "Blue Trend Ribbon Alert", "Blue Trend Ribbon, TimeFrame={{interval}}")
alertcondition(alert02, "Buy Signal", "Buy Signal EzAlgo")
alertcondition(alert03, "Divergence Buy Alert", "Strong Buy Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert04, "Divergence Sell Alert", "Strong Sell Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert05, "Either Buy or Sell Signal", "EzAlgo Signal")
alertcondition(alert06, "Mild Buy Alert", "Mild Buy Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert07, "Mild Sell Alert", "Mild Sell Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert08, "Red Trend Ribbon Alert", "Red Trend Ribbon, TimeFrame={{interval}}")
alertcondition(alert09, "Reversal Signal", "Reversal Signal")
alertcondition(alert10, "Sell Signal", "Sell Signal EzAlgo")
alertcondition(alert11, "Trend Ribbon Color Change Alert", "Trend Ribbon Color Change, TimeFrame={{interval}}")
ORB Pro - NY Opening Range Breakout [Elev8+]**ORB Pro - NY Opening Range Breakout ** is a comprehensive, professional-grade toolkit designed for intraday traders who rely on the **Opening Range Breakout (ORB)** strategy.
Unlike standard ORB indicators that simply draw lines, this suite offers a complete dashboard-driven system that monitors **four distinct sessions** simultaneously, providing real-time status updates and precision alerts.
### 🎯 What is the Opening Range Breakout (ORB)?
The Opening Range is the price range established during the first period of the trading session (e.g., the first 15 or 30 minutes). This period represents the initial balance between buyers and sellers. A breakout from this range often signals the likely trend direction for the remainder of the session.
### 🚀 Key Features
**1. Multi-ORB Monitoring**
Stop switching settings constantly. This suite monitors four key ranges at once:
* **Pre-Market 15m** (08:00 – 08:15 ET)
* **Pre-Market 30m** (08:00 – 08:30 ET)
* **NY Cash Open 15m** (09:30 – 09:45 ET)
* **NY Cash Open 30m** (09:30 – 10:00 ET)
**2. Smart Status Dashboard**
A compact panel in the bottom-right corner gives you the live state of every session:
* **⏳ Waiting:** The session has not started yet.
* **⚡ Forming:** The range is currently being built.
* **↔️ Range:** The range has formed, but price is still contained within the range.
* **🚀 BULL / 📉 BEAR:** A confirmed breakout has occurred.
* **⛔ OFF:** The session is disabled in settings.
**3. "Dynamic Resolution" Technology**
This is a unique pro feature.
* **Precision:** The script *always* calculates the High/Low levels using 1-minute data, ensuring your support/resistance lines are pixel-perfect regardless of your chart timeframe.
* **Flexibility:** Breakout signals (Alerts/Labels) are triggered based on your *current* chart timeframe. This allows you to trade a 5m or 15m breakout strategy while keeping 1m-level precision on your levels.
**4. Visual Clarity**
* **Breakout Labels:** Automatically plots "BULL" or "BEAR" labels on the exact candle that confirms a breakout.
* **Profit Targets:** Optional toggle to show 1x and 2x profit targets projected from the breakout level.
* **Time-Bound Signals:** Signals are strictly time-bound to the active window to prevent late, low-quality alerts.
### 🛠️ How to Use
1. **Add to Chart:** Works best on intraday timeframes (1m, 5m, 15m).
2. **Configure:** Enable the sessions you trade (e.g., NY 15m) in the settings.
3. **Wait for Forming:** Watch the box form live. The dashboard will show "⚡ Forming".
4. **Trade the Break:** Wait for a candle **Close** outside the range. The dashboard will flip to "BULL" or "BEAR" and a label will appear.
5. **Manage Risk:** Use the opposite side of the range or the midline as your stop loss.
### ⚙️ Settings Overview
* **Global Settings:** Toggle forming boxes, dashboard, and label visibility.
* **Breakout Method:** Choose between **Close** (safer) or **Wick** (aggressive) for signal triggers.
* **Session Groups:** Individually enable/disable the 4 distinct sessions and customize their colors/styles.
---
*Disclaimer: This tool is for educational and analytical purposes only. Past performance of a strategy does not guarantee future results. Always manage your risk.*
Hull MA Al-Sat/@version=6
indicator("Hull MA Al-Sat", overlay=true, max_lines_count=500, max_labels_count=500)
// Kullanıcı girişi
length = input.int(21, "HMA Periyodu")
hma_source = input.source(close, "HMA Kaynağı")
plotThickness = input.int(3, "Çizgi Kalınlığı")
// HMA hesaplama
wma1 = ta.wma(hma_source, math.round(length / 2))
wma2 = ta.wma(hma_source, length)
diff = 2 * wma1 - wma2
hma = ta.wma(diff, math.round(math.sqrt(length)))
// Renkli çizgi
hmaColor = hma > hma ? color.green : color.red
plot(hma, color=hmaColor, linewidth=plotThickness)
// Al/Sat okları
plotshape(ta.crossover(hma, hma ), title="Al", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.large)
plotshape(ta.crossunder(hma, hma ), title="Sat", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.large)
Quantum Darvas BoxesQuantum Darvas Boxes - The Modern Evolution
The original Darvas Box methodology, conceived by Nicolas Darvas in the 1950s, revolutionized breakout trading by identifying consolidation phases as "boxes." However, modern markets move with algorithmic speed and fractal volatility that often trigger false breakouts. Quantum Darvas Boxes were designed not as a nostalgic tribute, but as a computational upgrade. By anchoring boxes to volatility-adjusted boundaries rather than raw highs/lows, and introducing adaptive stability mechanisms, this indicator transforms a classic discretionary tool into a systematic, noise-filtered engine.
Description & Improvements
Quantum Darvas Boxes solve the three fatal flaws of the original: false breakouts, arbitrary box sizing, and lack of confirmation. Instead of drawing boxes at exact recent highs/lows, it creates volatility-buffered boundaries using ATR, ensuring breakouts require meaningful momentum. The boxes remain anchored until a confirmed close beyond the buffer occurs, preventing the constant redrawing that plagued traditional Darvas implementations. Built-in volume and RSI filters add discretionary-grade confirmation to pure price action. Visually, the system presents as a stable, semi-transparent blue zone between red (resistance) and lime (support) lines, with clear triangle signals appearing only on validated breakouts.
How It's Based on Darvas
The core philosophy remains true to Darvas' 1950s methodology:
Identify Consolidation: Finds price ranges where the market consolidates
Draw Box: Creates a "box" representing the accumulation zone
Breakout Trading: Enters when price breaks out of the box with momentum
Volatility-Adjusted Boundaries
Original: Boxes at exact highs/lows → prone to false breakouts
QDB: Boxes set at High - (ATR × Multiplier) and Low + (ATR × Multiplier)
→ Breakouts require meaningful momentum, not just price tags
→ Adapts to different volatility regimes
Signal Logic:
Long: Close above box top, previous close was inside box
Short: Close below box bottom, previous close was inside box
Ideal Settings:
For daily charts, use lookback=13 and mult=2.4.
For intraday (1H-4H), reduce to lookback=8 and mult=1.8. Enable volume filter in trending markets and RSI filter in ranging conditions.
Trade Execution: Enter long on the green triangle below the bar following a close above the red top line; enter short on the red triangle above the bar after a close below the lime bottom line. The background glow provides immediate visual confirmation.
Risk Management: Set stops at the opposite box boundary. The volatility multiplier inherently calculates a risk buffer—larger multipliers create wider, higher-conviction boxes; smaller multipliers produce more frequent, sensitive signals. This system excels in trending markets and provides clear exit/reversal points, transforming Darvas's original speculation into a quantified, repeatable edge.
Parabolic SAR (PSAR) - Basit//@version=5
indicator("Parabolic SAR (PSAR) - Basit", overlay=true)
start = input.float(0.02, "Start (Step)", step=0.01)
increment = input.float(0.02, "Increment", step=0.01)
maximum = input.float(0.2, "Maximum", step=0.01)
showDots = input.bool(true, "Dotları Göster")
showLine = input.bool(false, "PSAR Çizgisi Göster")
bgTrend = input.bool(true, "Arka planı trende göre renklendir")
psar = ta.sar(start, increment, maxim
bull = close > psar
bear = close < psar
psarColor = bull ? color.green : color.
plot(showLine ? psar : na, title="PSAR Line", color=psarColor, linewi
plotshape(showDots and bull, title="PSAR Bull Dot", location=location.belowbar, style=shape.circle, size=size.tiny, color=color.green)
plotshape(showDots and bear, title="PSAR Bear Dot", location=location.abovebar, style=shape.circle, size=size.tiny, color=color.red)
bgcolor(bgTrend ? (bull ? color.new(color.green, 90) : color.new(color.red, 90)) : n
buySignal = ta.crossover(close, psar)
sellSignal = ta.crossunder(close, psa
plotshape(buySignal, title="AL Sinyali", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green)
plotshape(sellSignal, title="SAT Sinyali", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)
alertcondition(buySignal, title="AL (PSAR flip)", message="PSAR flip: AL sinyali")
alertcondition(sellSignal, title="SAT (PSAR flip)", message="PSAR flip: SAT sinyali")
SMA Cross PreventionTraditional MA crossover indicators are reactive — they tell you a cross happened after the fact.
This indicator is prescriptive — it tells you exactly what price action is required to prevent a cross from happening.
The Core Insight
When a fast MA is above a slow MA but they're converging, traders ask: "Will we get a death cross?"
This indicator answers a more useful question:
"What is the minimum price path required to prevent the cross?"
By treating the MA structure as a constraint and solving for the required input (future prices), we transform a lagging indicator into a forward-looking risk assessment tool.
USOIL BOS Retest Overlay (HTF + Blocks + Profit Zone + Lot Size)This is a test overlay that should show entry positions and lot sizes to take based on R20 000 account. This was made purely for USOIL
Daily Levels [cryptalent]Daily High / Low / Mid / Open Levels is a session-based reference indicator designed to visualize key daily price levels directly on the chart.
This indicator automatically plots the Daily High, Daily Low, Daily Midpoint (High + Low / 2), and Daily Open as horizontal lines for each trading day. These levels help traders quickly identify important structural prices where liquidity, reactions, or acceptance often occur.
Key Features
Automatic Daily Levels
Plots Daily High (H), Low (L), Mid (M), and Open (O) using higher-timeframe daily data.
Levels update in real time as the current day develops.
Multi-Day History
Displays daily levels for a configurable number of past days.
Older levels are automatically removed to keep the chart clean.
Line Extension
Current day levels can be extended forward by a user-defined number of bars.
Useful for projecting intraday reaction zones and liquidity targets.
Visual Customization
Independent line width and color settings for each level.
Mid level is shown as a dashed line for quick visual distinction.
Labels & Price Tags
Optional letter labels (H / L / M / O) displayed near the extended levels.
Optional price labels showing the exact level values on the right side of the chart.
Labels update dynamically and only display for the active trading day.
Performance-Oriented Design
Efficient line and label management using arrays.
Automatically cleans up unused objects to stay within TradingView limits.
Use Cases
Identifying intraday support and resistance
Tracking daily range behavior
Monitoring mean reversion vs. range expansion
Aligning intraday execution with higher-timeframe structure
This indicator is particularly useful for traders who rely on market structure, session behavior, and objective price references rather than subjective trend lines.
Jurik Angle Flow [Kodexius]Jurik Angle Flow is a Jurik based momentum and trend strength oscillator that converts Jurik Moving Average behavior into an intuitive angle based flow gauge. Instead of showing a simple moving average line, this tool measures the angular slope of a smoothed Jurik curve, normalizes it and presents it as a bounded oscillator between plus ninety and minus ninety degrees.
The script uses two Jurik engines with different responsiveness, then blends their information into a single power score that drives both the oscillator display and the on chart gauge. This makes it suitable for identifying trend direction, trend strength, exhaustion conditions and early shifts in market structure. Built in divergence detection between price and the Jurik angle slope helps highlight potential reversal zones while bar coloring and a configurable no trade zone assist with visual filtering of choppy conditions.
🔹 Features
🔸 Dual Jurik slope engine
The indicator internally runs two Jurik Moving Average calculations on the selected source price. A slower Jurik stream models the primary trend while a faster Jurik stream reacts more quickly to recent changes. Their slopes are measured as angles in degrees, scaled by Average True Range so that the slope is comparable across different instruments and timeframes.
🔸 Angle based oscillator output
Both Jurik streams are converted into angle values by comparing the current value to a lookback value and normalizing by ATR. The result is passed through the arctangent function and expressed in degrees. This creates a smooth oscillator that directly represents steepness and direction of the Jurik curve instead of raw price distance.
🔸 Normalized power score
The angle values are transformed into a normalized score between zero and one hundred based on their absolute magnitude, then the sign of the angle is reapplied. This yields a symmetric score where extreme positive values represent strong bullish pressure and extreme negative values represent strong bearish pressure. The final power score is a weighted blend of the slow and fast Jurik scores.
🔸 Adaptive color gradients
The main oscillator area and the fast slope line use gradient colors that react to the angle strength and direction. Rising green tones reflect bullish angular momentum while red tones reflect bearish pressure. Neutral or shallow slopes remain visually softer to indicate indecision or consolidation.
🔸 Trend flip markers
Whenever the primary Jurik slope crosses through zero from negative to positive, an up marker is printed at the bottom of the oscillator panel. Whenever it crosses from positive to negative, a down marker is drawn at the top. These flips act as clean visual signals of potential trend initiation or termination.
🔸 Divergence detection on Jurik slope
The script optionally scans the fast Jurik slope for pivot highs and lows. It then compares those oscillator pivots against corresponding price pivots.
Regular bullish divergence is detected when the oscillator prints a higher low while price prints a lower low.
Regular bearish divergence is detected when the oscillator prints a lower high while price prints a higher high.
When detected, the tool draws matching divergence lines both on the oscillator and on the chart itself, making divergence zones easy to notice at a glance.
🔸 Bar coloring and no trade filter
Bars can be colored according to the primary Jurik slope gradient so that price bars reflect the same directional information as the oscillator. Additionally a configurable no trade threshold can visually mute bars when the absolute angle is small. This highlights trending sequences and visually suppresses noisy sideways stretches.
🔸 On chart power gauge
A creative on chart gauge displays the composite power score beside the current price action. It shows a vertical range from plus ninety to minus ninety with a filled block that grows proportionally to the normalized score. Color and label updates occur in real time and provide a quick visual summary of current Jurik flow strength without needing to read exact oscillator levels.
🔹 Calculations
Below are the main calculation blocks that drive the core logic of Jurik Angle Flow.
Jurik core update
method update(JMA self, float _src) =>
self.src := _src
float phaseRatio = self.phase < -100 ? 0.5 : self.phase > 100 ? 2.5 : self.phase / 100.0 + 1.5
float beta = 0.45 * (self.length - 1) / (0.45 * (self.length - 1) + 2)
float alpha = math.pow(beta, self.power)
if na(self.e0)
self.e0 := _src
self.e1 := 0.0
self.e2 := 0.0
self.jma := 0.0
self.e0 := (1 - alpha) * _src + alpha * self.e0
self.e1 := (_src - self.e0) * (1 - beta) + beta * self.e1
float prevJma = self.jma
self.e2 := (self.e0 + phaseRatio * self.e1 - prevJma) * math.pow(1 - alpha, 2) + math.pow(alpha, 2) * self.e2
self.jma := self.e2 + prevJma
self.jma
This method implements the Jurik Moving Average engine with internal state and phase control, producing a smooth adaptive value stored in self.jma.
Angle calculation in degrees
method getAngle(float src, int lookback=1) =>
float rad2degree = 180 / math.pi
float slope = (src - src ) / ta.atr(14)
float ang = rad2degree * math.atan(slope)
ang
The slope between the current value and a lookback value is divided by ATR, then converted from radians to degrees through the arctangent. This creates a volatility normalized angle oscillator.
Normalized score from angle
method normScore(float ang) =>
float s = math.abs(ang)
float p = s / 60.0 * 100.0
if p > 100
p := 100
p
The absolute angle is scaled so that sixty degrees corresponds to a score of one hundred. Values above that are capped, which keeps the final score within a fixed range. The sign is later reapplied to restore direction.
Slow and fast Jurik streams and power score
var JMA jmaSlow = JMA.new(jmaLen, jmaPhase, jmaPower, na, na, na, na, na)
var JMA jmaFast = JMA.new(jmaLen, jmaPhase, 2.0, na, na, na, na, na)
float jmaValue = jmaSlow.update(src)
float jmaFastValue = jmaFast.update(src)
float jmaSlope = jmaValue.getAngle()
float jmaFastSlope = jmaFastValue.getAngle()
float scoreJma = normScore(jmaSlope) * math.sign(jmaSlope)
float scoreJmaFast = normScore(jmaFastSlope) * math.sign(jmaFastSlope)
float totalScore = (scoreJma * 0.6 + scoreJmaFast * 0.4)
A slower Jurik and a faster Jurik are updated on each bar, each converted to an angle and then to a signed normalized score. The final composite power score is a weighted blend of the slow and fast scores, where the slow score has slightly more influence. This composite drives the on chart gauge and summarizes the overall Jurik flow.
ForzAguanno - Premium / Discount (Range Glissant)Premium / Discount Zones – Dynamic Range (Fibo-based)
This indicator highlights Premium, Discount, and Equilibrium zones using a dynamic Fibonacci range calculated from recent price action.
It is designed to help traders contextualize price and avoid taking trades in unfavorable locations (e.g. buying too high or selling too low).
- How it works
The indicator automatically:
- Detects the highest high (HH) and lowest low (LL) over a rolling range
- Builds a Fibonacci-style structure between LL → HH
- Defines three key areas:
Discount Zone (lower part of the range)
Equilibrium Zone (around the 50% level)
Premium Zone (upper part of the range)
Two additional extreme levels are used:
0.075 → deep discount
0.925 → deep premium
These levels help isolate areas where price is statistically stretched.
- Visual elements
- Horizontal levels:
- Green → Discount
- Purple → Equilibrium
- Red → Premium
- Text labels are placed inside each zone for instant readability.
Zones are extended into the future for cleaner visualization.
- How to use it
This tool is best used as a context filter, not a standalone signal generator.
Typical use cases:
Look for longs in Discount
Look for shorts in Premium
Use Equilibrium as a neutral / decision zone
Combine with structure, momentum, or entry models
It works particularly well with:
Market structure concepts
Smart money / range-based trading
Session-based strategies
⚠️ Important notes
This indicator does not predict direction
It provides context, not signals
Always combine with proper risk management
Final thoughts
The goal of this indicator is simplicity and clarity:
Know where price is located inside its range before taking a trade.
If you find it useful, feel free to share feedback.
Vortex Imbalance DetectorVortex Imbalance Detector (VID)
Core Purpose:
To spot "fresh" institutional order flow entering the market, aiming to catch the early stage of a potential reversal driven by an imbalance between aggressive buyers and sellers.
It looks for moments when a surge in buying or selling pressure coincides with a sharp acceleration in price momentum at a market extreme.
The Vortex Imbalance Detector identifies high-probability reversal points by detecting simultaneous shifts in order flow (buy/sell pressure) and price momentum acceleration.
What It Does:
Order Flow Proxy: Creates a cumulative delta-like metric using price action (body vs. range) to estimate net buying or selling pressure.
Momentum Vortex: Calculates price acceleration (the rate of change of velocity) to gauge the force behind a move.
Imbalance Signal: Triggers when both conditions align:
Flow Flip: The order flow proxy crosses above/below zero with significant strength (exceeding a threshold).
Vortex Reversal: The momentum acceleration confirms the direction (positive for buys, negative for sells).
Price Extreme: The signal occurs at a recent low (for buys) or high (for sells).
Output:
Buy Signal (▲): A bullish order flow imbalance with upward momentum acceleration at a short-term low.
Sell Signal (▼): A bearish order flow imbalance with downward momentum acceleration at a short-term high.






















