Forex Fire EMA/MA/RSI StrategyEURUSD
The entry method in the Forex Fire EMA/MA/RSI Strategy combines several conditions across two timeframes. Here's a breakdown of how entries are determined:
Long Entry Conditions:
15-Minute Timeframe Conditions:
EMA 13 > EMA 62 (short-term momentum is bullish)
Price > MA 200 (trading above the major trend indicator)
Fast RSI (7) > Slow RSI (28) (momentum is increasing)
Fast RSI > 50 (showing bullish momentum)
Volume is increasing compared to 20-period average
4-Hour Timeframe Confluence:
EMA 13 > EMA 62 (larger timeframe confirms bullish trend)
Price > MA 200 (confirming overall uptrend)
Slow RSI (28) > 40 (showing bullish bias)
Fast RSI > Slow RSI (momentum is supporting the move)
Additional Precision Requirement:
Either EMA 13 has just crossed above EMA 62 (crossover)
OR price has just crossed above MA 200
Short Entry Conditions:
15-Minute Timeframe Conditions:
EMA 13 < EMA 62 (short-term momentum is bearish)
Price < MA 200 (trading below the major trend indicator)
Fast RSI (7) < Slow RSI (28) (momentum is decreasing)
Fast RSI < 50 (showing bearish momentum)
Volume is increasing compared to 20-period average
4-Hour Timeframe Confluence:
EMA 13 < EMA 62 (larger timeframe confirms bearish trend)
Price < MA 200 (confirming overall downtrend)
Slow RSI (28) < 60 (showing bearish bias)
Fast RSI < Slow RSI (momentum is supporting the move)
Additional Precision Requirement:
Either EMA 13 has just crossed under EMA 62 (crossunder)
OR price has just crossed under MA 200
The key aspect of this strategy is that it requires alignment between the shorter timeframe (15m) and the larger timeframe (4h), which helps filter out false signals and focuses on trades that have strong multi-timeframe support. The crossover/crossunder requirement further refines entries by looking for actual changes in direction rather than just conditions that might have been in place for a long time.
Cari dalam skrip untuk "20蒙古币兑换人民币"
TR FVG & Swing High Low FinderTR FVG & Swing Level Finder
Overview:
The TR FVG & Swing Level Finder is a powerful Pine Script indicator designed for traders who want to identify Fair Value Gaps (FVGs) and Swing Highs/Lows on their charts. This indicator combines two essential technical analysis tools into one, helping traders spot potential areas of support, resistance, and trend reversals. FVGs are price gaps that often act as areas of interest for price to return to, while swing highs and lows help identify key turning points in the market. The indicator is highly customizable, allowing users to adjust colors, limits, and display options to suit their trading style.
Key Features:
1: Fair Value Gap (FVG) Detection:
- Identifies Bullish FVGs: Occur when the high of two candles ago is lower than the low of the current candle, indicating a potential upward price movement.
- Identifies Bearish FVGs: Occur when the low of two candles ago is higher than the high of the current candle, indicating a potential downward price movement.
- Displays FVGs as colored boxes on the chart, with customizable border and fill colors based on the timeframe.
- Labels each FVG box with the corresponding timeframe (e.g., "1m FVG", "1h FVG", "Daily FVG").
2: Swing High and Swing Low Detection:
- Detects Swing Highs: A 3-candle pattern where the middle candle's high is higher than the highs of the candles on either side.
- Detects Swing Lows: A 3-candle pattern where the middle candle's low is lower than the lows of the candles on either side.
- Draws a solid black line with 50% opacity at each swing high and low, extending 5 bars to the right for better visibility.
- Adds a small Swing High or Swing Low label at the right end of each line, colored according to user-defined settings.
3: Timeframe-Specific FVG Visualization:
- FVGs are color-coded based on the chart's timeframe, making it easy to distinguish between FVGs on different timeframes.
- Each timeframe has its own fill color for bullish and bearish FVGs, with adjustable transparency for better chart clarity.
- A dashed black line is drawn in the middle of each FVG box to highlight the midpoint of the gap.
4: Customizable Display Options:
- FVG Limit: Control the maximum number of FVGs displayed on the chart (from 1 to 20).
- Extend Options for FVG Boxes:
- "None": FVG boxes extend only 2 bars to the right.
- "Limited": FVG boxes extend a user-defined number of candles to the right (1 to 100 candles).
- "Default": FVG boxes extend 3 bars to the right of the current bar.
- Color Customization:
- Set border colors for bullish and bearish FVGs.
- Adjust fill colors for FVGs on different timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Customize the colors of swing high and swing low labels.
5: Performance Optimization:
- The indicator only plots FVGs and swings on the last confirmed bar (barstate.islastconfirmedhistory), ensuring efficient performance and reducing chart clutter.
- Limits the number of displayed FVGs and swings to the user-defined fvgLimit, keeping the chart clean and focused on the most recent price action.
6: Inputs and Customization:
- Number of FVGs to Show (fvgLimit): Set the maximum number of FVGs and swings to display (default: 3, range: 1 to 20).
- Bullish FVG Border Color (bullishColor): Choose the border color for bullish FVGs (default: green).
- Bearish FVG Border Color (bearishColor): Choose the border color for bearish FVGs (default: red).
- Swing High Color (swingHighColor): Set the color for swing high labels (default: blue).
- Swing Low Color (swingLowColor): Set the color for swing low labels (default: purple).
- Extend Options:
- Extend Option (extendOption): Choose how far FVG boxes extend to the right ("None", "Limited", or "Default"; default: "Default").
- Extend Candles (extendCandles): If "Limited" is selected, specify the number of candles to extend FVG boxes (default: 8, range: 1 to 100).
- Timeframe-Specific Fill Colors:
- Customize fill colors for bullish and bearish FVGs on various timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Each fill color has a default transparency (e.g., 93% for most timeframes, 90% for 30m), which can be adjusted as needed.
How to Use:
1: Add the Indicator to Your Chart:
- Open TradingView, go to the Pine Editor, and paste the script.
- Click "Add to Chart" to apply the indicator to your current chart.
2: Adjust Settings:
- Open the indicator settings by clicking the gear icon next to the indicator name on your chart.
- Modify the inputs to suit your preferences:
- Set the number of FVGs and swings to display.
- Choose your preferred colors for FVGs and swings.
- Adjust the extend options for FVG boxes.
3: Interpret the Indicator:
- FVG Boxes: Look for colored boxes on the chart, which represent Fair Value Gaps. Bullish FVGs (green borders by default) suggest potential buying opportunities, while bearish FVGs (red borders by default) suggest potential selling opportunities. The label inside each box indicates the timeframe of the FVG.
- Swing Highs and Lows: Identify key turning points with solid black lines (50% opacity) at swing highs and lows. Each line extends 5 bars to the right, with an "SH" (Swing High) or "SL" (Swing Low) label at the end. Swing highs can act as resistance levels, while swing lows can act as support levels.
4: Combine with Your Strategy:
- Use FVGs to identify areas where price might return to fill the gap, often acting as support or resistance.
- Use swing highs and lows to spot potential trend reversals or to set stop-loss and take-profit levels.
- Combine the indicator with other tools (e.g., trendlines, moving averages) for a more comprehensive trading strategy.
Notes:
- The indicator works on all timeframes, but the appearance of FVGs and swings will vary depending on the chart's timeframe.
- For best results, use the indicator on a clean chart to avoid visual clutter, especially if you increase the fvgLimit.
- The swing high/low lines are drawn with 50% opacity to ensure they don’t overpower other chart elements, but they are still clearly visible.
Author’s Note:
This script was developed to help traders identify key price levels with ease. I hope it adds value to your trading! If you have any feedback or suggestions for improvement, feel free to leave a comment. Happy trading!
[blackcat] L2 Risk Assessment for Trend StrengthOVERVIEW
This script provides an advanced technical analysis tool combining real-time **Risk Assessment** and **Trend Strength Indicators**, displayed independently from price charts. It calculates multi-layered metrics using weighted algorithms and visualizes risk thresholds via dynamically-colored zones.
FEATURES
- Dual ** RISKA ** calculations ( RSVA1 / RSVA2 ) across 9-period cycles
- Smoothed outputs via proprietary **boldWeighted Moving Averages (WMAs)**
- Dynamic **Current Safety Level Plot** (fuchsia area-style visualization)
- Color-coded **Trend Strength Line** reacting to real-time shifts across four danger/optimism tiers
- Automated threshold validation mechanism using last-valid-value logic
- Visually distinct risk zones (blue/green/yellow/red/fuchsia) filling background areas
HOW TO USE
1. Add to your chart to observe two core elements:
- Area plot showing current risk tolerance buffer
- Thick line indicating momentum strength direction
2. Interpret values relative to vertical thresholds:
• Above 100 = Ultra-safe zone (light blue)
• 80–100 = Safe zone (green)
• 20–80 = Moderate/high-risk zones (yellow)
• Below 20 = Extreme risk (red)
3. Monitor trend confidence shifts using the colored line:
> **Blue**: Strong bullish momentum (>80%)
> **Green/Yellow**: Neutral/moderate trends (50%-80%)
> **Red**: Bearish extremes (<20%)
LIMITATIONS
• Relies heavily on prior 33-period low and 21-period high volatility patterns
• WMA smoothing introduces minor backward-looking bias
• Not optimized for intraday timeframe sub-hourly usage
• Excessive weighting parameters may amplify noise during sideways markets
Standard Deviation (fadi)The Standard Deviation indicator uses standard deviation to map out price movements. Standard deviation measures how much prices stray from their average—small values mean steady trends, large ones mean wild swings. Drawing from up to 20 years of data, it plots key levels using customizable Fibonacci lines tied to that standard deviation, giving traders a snapshot of typical price behavior.
These levels align with a bell curve: about 68% of price moves stay within 1 standard deviation, 95% within roughly 2, and 99.7% within roughly 3. When prices break past the 1 StDev line, they’re outliers—only 32% of moves go that far. Prices often snap back to these lines or the average, though the reversal might not happen the same day.
How Traders Use It
If prices surge past the 1 StDev line, traders might wait for momentum to fade, then trade the pullback to that line or the average, setting a target and stop.
If prices dip below, they might buy, anticipating a bounce—sometimes a day or two later. It’s a tool to spot overstretched prices likely to revert and/or measure the odds of continuation.
Settings
Higher Timeframe: Sets the Higher Timeframe to calculate the Standard Deviation for
Show Levels for the Last X Days: Displays levels for the specified number of days.
Based on X Period: Number of days to calculate standard deviation (e.g., 20 years ≈ 5,040 days). Larger periods smooth out daily level changes.
Mirror Levels on the Other Side: Plots symmetric positive and negative levels around the average.
Fibonacci Levels Settings: Defines which levels and line styles to show. With mirroring, negative values aren’t needed.
Background Transparency: Turn on Background color derived from the level colors with the specified transparency
Overrides: Lets advanced users input custom standard deviations for specific tickers (e.g., NQ1! at 0.01296).
Triple SRSI-MFI Ⅲ - Multi TimeframeTriple SRSI-MFI Ⅲ - Multi Timeframe Indicator
Description
The Triple SRSI-MFI Ⅲ - Multi Timeframe indicator is a powerful tool designed to combine Stochastic RSI (SRSI) and Money Flow Index (MFI) across multiple timeframes (higher, current, and lower). It provides a comprehensive view of market momentum and potential overbought/oversold conditions by calculating a weighted hybrid of SRSI-MFI values from three different timeframes. The indicator also integrates Bollinger Bands to help identify trend direction and volatility.
This indicator is ideal for traders who want to analyze market conditions across multiple timeframes without switching charts. It automatically adjusts settings based on the current timeframe and includes a dynamic weighting system optimized for Bitcoin volatility. Additionally, a real-time information panel displays the market state (buy/sell) and signal strength.
Key Features
Multi-Timeframe Analysis: Combines SRSI-MFI from higher, current, and lower timeframes for a holistic view.
Dynamic Weighting: Automatically adjusts weights for each timeframe based on Bitcoin volatility, with an option for manual customization.
Bollinger Bands Integration: Visualizes trend direction and volatility using Bollinger Bands, with customizable source selection.
Real-Time Info Panel: Displays market state (buy/sell) and signal strength (%) in the top-right corner of the chart.
Customizable Settings: Allows users to tweak MFI source, Bollinger Bands parameters, and visibility of individual components.
How to Use
Add to Chart: Add the "Triple SRSI-MFI Ⅲ - Multi Timeframe" indicator to your chart.
Interpret Signals:
Market State (Buy/Sell): Shown in the info panel. "Buy" when the average SRSI-MFI is above the Bollinger Bands basis, "Sell" when below.
Strength (%): The relative position of the average SRSI-MFI within the Bollinger Bands, scaled from 0% to 100%.
Overbought/Oversold Levels: The indicator plots horizontal lines at 80 (overbought) and 20 (oversold). Use these as potential reversal zones.
Combine with Price Action: Use the indicator in conjunction with price action or other tools for better decision-making.
Adjust Settings: Customize the settings (e.g., Bollinger Bands length, weights, visibility) to match your trading style.
Settings
MFI Source: Select the source for MFI calculation (default: "hlc3"). Options include "close", "open", "high", "low", "hl2", "hlc3", "ohlc4".
Bollinger Bands:
Length: Period for Bollinger Bands calculation (default: 20).
Multiplier: Standard deviation multiplier for the bands (default: 2.0).
Source: Choose which SRSI-MFI value to use for Bollinger Bands ("averageHybrid", "hybrid_higher", "hybrid_current", "hybrid_lower"; default: "hybrid_higher").
Weights:
Auto Weight Enabled: Enable/disable automatic weights based on Bitcoin volatility (default: true).
Higher/Current/Lower Weights: Manually set weights for each timeframe if auto-weight is disabled (defaults: 1.5, 1.0, 0.5).
Indicator On/Off:
Toggle visibility for Higher SRSI-MFI, Current SRSI-MFI, Lower SRSI-MFI, Average SRSI-MFI, and Bollinger Bands.
How It Works
SRSI-MFI Calculation:
Stochastic RSI (SRSI) and Money Flow Index (MFI) are calculated for three timeframes: higher, current, and lower.
The hybrid value (SRSI * (MFI / 100)) is computed for each timeframe.
Weighted Average:
The hybrid values are combined into a weighted average (averageHybrid) using dynamic or manual weights.
Bollinger Bands:
Bollinger Bands are applied to the selected source (e.g., hybrid_higher) to identify trend direction and volatility.
Relative Position:
The position of averageHybrid within the Bollinger Bands is scaled to a percentage (0% to 100%) for strength assessment.
Visualization:
Plots individual SRSI-MFI lines, Bollinger Bands, and overbought/oversold levels.
A real-time info panel provides market state and signal strength.
Notes
This indicator is best used as part of a broader trading strategy. It is not a standalone signal generator and should be combined with other forms of analysis.
The automatic weights are optimized for Bitcoin (BTC) volatility. For other assets, you may need to adjust the weights manually.
The indicator may require sufficient historical data to calculate higher and lower timeframe values accurately.
Combined Support & Resistance IndicatorsPivot Points Calculation:
The script calculates the Pivot Point as the average of the high price (high), low price (low), and closing price (close) of the current bar.
The Pivot Point is plotted on the chart as a red line.
Support and Resistance Levels:
The Support Level is calculated as the lowest price over the last lookback bars.
The Resistance Level is calculated as the highest price over the last lookback bars.
These levels are displayed on the chart using horizontal lines: green for support and red for resistance.
Momentum Indicators:
RSI (Relative Strength Index): A momentum oscillator calculated based on the closing price over the last 14 bars. It is plotted as a yellow line.
MACD (Moving Average Convergence Divergence): An indicator consisting of the MACD line (blue) and the signal line (orange). It is calculated based on the closing price.
Moving Averages:
SMA 20: A simple moving average over the last 20 bars. It is plotted as a green line.
SMA 50: A simple moving average over the last 50 bars. It is plotted as a red line.
Dynamic Levels Drawing:
Instead of using hline (which does not support dynamic values), the script uses line.new to draw dynamic support and resistance levels. These lines are updated on each bar.
Trend Catcher SwiftEdgeTrend Catcher SwiftEdge
Overview
The Trend Catcher SwiftEdge is a simple yet effective tool designed to help traders identify potential trend directions using two Simple Moving Averages (SMAs). It plots two SMAs based on the high and low prices of the chart, visually highlights trend conditions, and provides buy/sell labels to assist with trade entries. This indicator is best used as part of a broader trading strategy and should not be relied upon as a standalone signal generator.
How It Works
Two SMAs: The indicator calculates two SMAs: one based on the lowest price (Low) and one based on the highest price (High) over a user-defined period (default: 20).
Dynamic Colors:
Green: When the price is above both SMAs (indicating a potential uptrend).
Red: When the price is below both SMAs (indicating a potential downtrend).
Purple: When the price is between the SMAs (indicating consolidation).
The SMAs and the background between them change color dynamically to reflect the current trend condition.
Buy/Sell Labels:
A "Buy" label appears when an entire candlestick (including its low) crosses above both SMAs, marking the start of a potential uptrend.
A "Sell" label appears when an entire candlestick (including its high) crosses below both SMAs, marking the start of a potential downtrend.
To reduce noise, only one label is shown per trend direction. The indicator resets when the price enters the consolidation zone (purple), allowing for a new signal when the next trend begins.
Settings
SMA Length: Adjust the period of the SMAs (default: 20). A longer period smooths the SMAs and focuses on larger trends, while a shorter period makes the indicator more sensitive to price changes.
How to Use
Add the indicator to your chart.
Look for "Buy" labels to consider potential long entries during uptrends (green zone).
Look for "Sell" labels to consider potential short entries during downtrends (red zone).
Use the purple consolidation zone to prepare for potential breakouts.
Always combine this indicator with other forms of analysis (e.g., support/resistance, volume, or other indicators) to confirm signals.
Important Notes
This indicator is a tool to assist with identifying trend directions and potential entry points. It does not guarantee profits and should be used as part of a comprehensive trading strategy.
False signals can occur, especially in choppy or ranging markets. Consider using additional filters or confirmations to improve reliability.
Backtest the indicator on your chosen market and timeframe to understand its behavior before using it in live trading.
Feedback
If you have suggestions or feedback, feel free to leave a comment. Happy trading!
MTF Fibonacci Pivots with Mandelbrot FractalsMTF Fibonacci Pivots with Mandelbrot Fractals: Advanced Market Structure Analysis
Overview
The MTF Fibonacci Pivots with Mandelbrot Fractals indicator represents a significant advancement in technical analysis by combining multi-timeframe Fibonacci pivot levels with sophisticated fractal pattern recognition. This powerful tool identifies key support and resistance zones while predicting potential price reversals with remarkable accuracy.
Key Capabilities
This indicator provides traders with three distinct layers of market structure analysis:
Automatic Timeframe Adaptation: The primary pivot set automatically adjusts to your chart's timeframe, ensuring relevant support and resistance levels for your specific trading horizon.
1-Year Fibonacci Pivots: The second layer displays yearly pivots that reveal long-term market cycles and institutional price levels that often act as significant reversal points.
3-Year Fibonacci Pivots: The third layer unveils major market structure zones that typically remain relevant for extended periods, offering strategic context for position trading and long-term investment decisions.
Predictive Technology
What truly distinguishes this indicator is its advanced predictive capability powered by:
Mandelbrot Fractal Pattern Recognition: The indicator implements a sophisticated fractal detection algorithm that identifies recurring price patterns across multiple timeframes. Unlike conventional fractal indicators, it incorporates noise filtering and adaptive sensitivity to market volatility.
Tesla's 3-6-9 Principle Integration: The system incorporates Nikola Tesla's mathematical principle through a cubic Mandelbrot equation (Z_{n+1} = Z_n^3 + C where Z_0 = 0), creating a unique approach to pattern recognition that aligns with natural market rhythms.
Historical Pattern Matching: When a current price pattern exhibits strong similarity to historical formations, the indicator generates predictive targets with confidence ratings. Each prediction undergoes rigorous validation against multiple parameters including trend alignment, volatility context, and mathematical coherence.
Visual Intelligence System
The indicator's visual presentation enhances trading decision-making through:
Confidence-Based Visualization: Predictions display with intuitive star ratings, percentage confidence scores, and contextual information including price movement magnitude and estimated time to target.
Adaptive Color Harmonization: The color system intelligently adjusts to provide optimal visibility while maintaining a professional appearance suitable for any chart setup.
Trend Alignment Indicators: Each prediction includes references to the broader trend context, helping traders avoid counter-trend trades unless the reversal signal carries exceptional strength.
Strategic Applications
This indicator excels in multiple trading scenarios:
Intraday Trading: Identify high-probability reversal zones with precise timing
Swing Trading: Anticipate significant market turns at key structural levels
Position Trading: Recognize major cycle shifts for strategic entry and exit
The automatic 1-year and 3-year Fibonacci pivots provide institutional-grade reference points that typically define major market movements. These longer timeframes reveal critical zones that might be invisible on shorter-term analysis, giving you a significant edge in understanding where price is likely to encounter substantial buying or selling pressure.
This innovative approach to market analysis combines classical Fibonacci mathematics with cutting-edge fractal theory to create a comprehensive market structure visualization system that illuminates both present support/resistance levels and future price targets with exceptional clarity.
Setting Up MTF Fibonacci Pivots with Mandelbrot Fractals
Initial Setup
Adding this indicator to your TradingView charts is straightforward:
Navigate to the "Indicators" button on your chart toolbar
Search for "MTF Fibonacci Pivots with Mandelbrot Fractals"
Select the indicator to add it to your chart
A configuration panel will appear with various setting categories
Recommended Settings
The indicator comes pre-configured with optimal default settings, but you may want to adjust them based on your trading style:
For Day Trading (Timeframes 1-minute to 1-hour)
Pivots Timeframe 1: Auto (automatically adapts to your chart)
Pivots Timeframe 2: Daily
Pivots Timeframe 3: Weekly
Fractal Sensitivity: 2-3
Fractal Lookback Period: 20
Prediction Strength: 2
Color Theme: High Contrast or Dark Mode
For Swing Trading (Timeframes 4-hour to Daily)
Pivots Timeframe 1: Daily
Pivots Timeframe 2: Weekly
Pivots Timeframe 3: Monthly
Fractal Sensitivity: 1-2
Fractal Lookback Period: 30
Prediction Strength: 2-3
Color Theme: Default or Dimmed
For Position Trading (Timeframes Daily to Weekly)
Pivots Timeframe 1: Weekly
Pivots Timeframe 2: Monthly
Pivots Timeframe 3: Quarterly
Fractal Sensitivity: 1
Fractal Lookback Period: 50
Prediction Strength: 1
Color Theme: Monochrome or Pastel
Restoring Default Settings
If you've adjusted settings and wish to return to the defaults:
Right-click on the indicator name on your chart
Select "Settings" from the context menu
In the settings dialog, look for the "Reset All" button at the bottom
Confirm the reset when prompted
Alternatively, you can remove the indicator and add it again for a fresh start with default settings.
Advanced Settings Guidance
Visual Appearance
Use Gradient Colors: Enable for better visual differentiation between pivot levels
Color Transparency: 15% provides an optimal balance between visibility and chart clutter
Line Width: 1-2 for cleaner charts, 3+ for enhanced visibility
Fractal Analysis
Enable Fractal Analysis: Keep enabled for prediction capabilities
Fractal Box Spacing: Higher values (5-10) for cleaner displays, lower values (1-3) for more signals
Maximum Forecast Bars: 20 is optimal for most timeframes, adjust higher for longer predictions
Performance Considerations
Enable Self-Optimization: Keep enabled to maintain smooth chart performance
Resource Priority: Use "Balanced" for most computers, "Performance" for older systems
Force Pivot Display: Enable only when checking specific historical periods
Common Setup Mistakes to Avoid
Setting all timeframes too close together (e.g., Daily, Daily, Weekly) reduces the multi-timeframe advantage
Using high fractal sensitivity (4+) on noisy markets creates excessive signals
Setting fractal box spacing too low causes cluttered prediction boxes
Disabling self-optimization may cause performance issues on complex charts
Using incompatible color themes for your chart background reduces visibility
The indicator's power comes from its default 1-year and 3-year Fibonacci pivot settings, which highlight institutional levels while the auto-timeframe setting adapts to your trading horizon. These carefully balanced defaults provide an excellent starting point for most traders.
For optimal results, I recommend making minimal adjustments at first, then gradually customizing settings as you become familiar with the indicator's behavior in your specific markets and timeframes.
Screenshots:
Market Structure Break with Volume & ATR#### Indicator Overview:
The *Market Structure Break with Volume & ATR (MSB+VolATR)* indicator is designed to identify significant market structure breakouts and breakdowns using a combination of price action, volume analysis, and volatility (ATR). It is particularly useful for traders who rely on higher timeframes for swing trading or positional trading. The indicator highlights bullish and bearish breakouts, retests, fakeouts, and potential buy/sell signals based on RSI overbought/oversold conditions.
---
### Key Features:
1. *Market Structure Analysis*:
- Identifies swing highs and lows on a user-defined higher timeframe.
- Detects breakouts and breakdowns when price exceeds these levels with volume and ATR validation.
2. *Volume Validation*:
- Ensures breakouts are accompanied by above-average volume, reducing the likelihood of false signals.
3. *ATR Filter*:
- Filters out insignificant breakouts by requiring the breakout size to exceed a multiple of the ATR.
4. *RSI Integration*:
- Adds a momentum filter by considering overbought/oversold conditions using RSI.
5. *Visual Enhancements*:
- Draws colored boxes to highlight breakout zones.
- Labels breakouts, retests, and fakeouts for easy interpretation.
- Displays stop levels for potential trades.
6. *Alerts*:
- Provides alert conditions for buy and sell signals, enabling real-time notifications.
---
### Input Settings and Their Effects:
1. **Timeframe (tf):
- Determines the higher timeframe for market structure analysis.
- *Effect*: A higher timeframe (e.g., 1D) reduces noise and provides more reliable swing points, while a lower timeframe (e.g., 4H) may generate more frequent but less reliable signals.
2. **Lookback Period (length):
- Defines the number of historical bars used to identify significant highs and lows.
- *Effect*: A longer lookback period (e.g., 50) captures broader market structure, while a shorter period (e.g., 20) reacts faster to recent price action.
3. **ATR Length (atr_length):
- Sets the period for ATR calculation.
- *Effect*: A shorter ATR length (e.g., 14) reacts faster to recent volatility, while a longer length (e.g., 21) smooths out volatility spikes.
4. **ATR Multiplier (atr_multiplier):
- Filters insignificant breakouts by requiring the breakout size to exceed ATR × multiplier.
- *Effect*: A higher multiplier (e.g., 0.2) reduces false signals but may miss smaller breakouts.
5. **Volume Multiplier (volume_multiplier):
- Sets the volume threshold for breakout validation.
- *Effect*: A higher multiplier (e.g., 1.0) ensures stronger volume confirmation but may reduce the number of signals.
6. **RSI Length (rsi_length):
- Defines the period for RSI calculation.
- *Effect*: A shorter RSI length (e.g., 10) makes the indicator more sensitive to recent price changes, while a longer length (e.g., 20) smooths out RSI fluctuations.
7. *RSI Overbought/Oversold Levels*:
- Sets the thresholds for overbought (default: 70) and oversold (default: 30) conditions.
- *Effect*: Adjusting these levels can make the indicator more or less conservative in generating signals.
8. **Stop Loss Multiplier (SL_Multiplier):
- Determines the distance of the stop-loss level from the entry price based on ATR.
- *Effect*: A higher multiplier (e.g., 2.0) provides wider stops, reducing the risk of being stopped out prematurely but increasing potential losses.
---
### How It Works:
1. *Breakout Detection*:
- A bullish breakout occurs when the close exceeds the highest high of the lookback period, with volume above the threshold and breakout size exceeding ATR × multiplier.
- A bearish breakout occurs when the close falls below the lowest low of the lookback period, with similar volume and ATR validation.
2. *Retest Logic*:
- After a breakout, if price retests the breakout zone without closing beyond it, a retest label is displayed.
3. *Fakeout Detection*:
- If price briefly breaks out but reverses back into the range, a fakeout label is displayed.
4. *Buy/Sell Signals*:
- A sell signal is generated when price reverses below a bullish breakout zone and RSI is overbought.
- A buy signal is generated when price reverses above a bearish breakout zone and RSI is oversold.
5. *Stop Levels*:
- Stop-loss levels are plotted based on ATR × SL_Multiplier, providing a visual guide for risk management.
---
### Who Can Use It and How:
1. *Swing Traders*:
- Use the indicator on daily or 4-hour timeframes to identify high-probability breakout trades.
- Combine with other technical analysis tools (e.g., trendlines, Fibonacci levels) for confirmation.
2. *Positional Traders*:
- Apply the indicator on weekly or daily charts to capture long-term trends.
- Use the stop-loss levels to manage risk over extended periods.
3. *Algorithmic Traders*:
- Integrate the buy/sell signals into automated trading systems.
- Use the alert conditions to trigger trades programmatically.
4. *Risk-Averse Traders*:
- Adjust the ATR and volume multipliers to filter out low-probability trades.
- Use wider stop-loss levels to avoid premature exits.
---
### Where to Use It:
- *Forex*: Identify breakouts in major currency pairs.
- *Stocks*: Spot trend reversals in high-volume stocks.
- *Commodities*: Trade breakouts in gold, oil, or other commodities.
- *Crypto*: Apply to Bitcoin, Ethereum, or other cryptocurrencies for volatile breakout opportunities.
---
### Example Use Case:
- *Timeframe*: 1D
- *Lookback Period*: 50
- *ATR Length*: 14
- *ATR Multiplier*: 0.1
- *Volume Multiplier*: 0.5
- *RSI Length*: 14
- *RSI Overbought/Oversold*: 70/30
- *SL Multiplier*: 1.5
In this setup, the indicator will:
1. Identify significant swing highs and lows on the daily chart.
2. Validate breakouts with volume and ATR filters.
3. Generate buy/sell signals when price reverses and RSI confirms overbought/oversold conditions.
4. Plot stop-loss levels for risk management.
---
### Conclusion:
The *MSB+VolATR* indicator is a versatile tool for traders seeking to capitalize on market structure breakouts with added confirmation from volume and volatility. By customizing the input settings, traders can adapt the indicator to their preferred trading style and risk tolerance. Whether you're a swing trader, positional trader, or algorithmic trader, this indicator provides actionable insights to enhance your trading strategy.
real_time_candlesIntroduction
The Real-Time Candles Library provides comprehensive tools for creating, manipulating, and visualizing custom timeframe candles in Pine Script. Unlike standard indicators that only update at bar close, this library enables real-time visualization of price action and indicators within the current bar, offering traders unprecedented insight into market dynamics as they unfold.
This library addresses a fundamental limitation in traditional technical analysis: the inability to see how indicators evolve between bar closes. By implementing sophisticated real-time data processing techniques, traders can now observe indicator movements, divergences, and trend changes as they develop, potentially identifying trading opportunities much earlier than with conventional approaches.
Key Features
The library supports two primary candle generation approaches:
Chart-Time Candles: Generate real-time OHLC data for any variable (like RSI, MACD, etc.) while maintaining synchronization with chart bars.
Custom Timeframe (CTF) Candles: Create candles with custom time intervals or tick counts completely independent of the chart's native timeframe.
Both approaches support traditional candlestick and Heikin-Ashi visualization styles, with options for moving average overlays to smooth the data.
Configuration Requirements
For optimal performance with this library:
Set max_bars_back = 5000 in your script settings
When using CTF drawing functions, set max_lines_count = 500, max_boxes_count = 500, and max_labels_count = 500
These settings ensure that you will be able to draw correctly and will avoid any runtime errors.
Usage Examples
Basic Chart-Time Candle Visualization
// Create real-time candles for RSI
float rsi = ta.rsi(close, 14)
Candle rsi_candle = candle_series(rsi, CandleType.candlestick)
// Plot the candles using Pine's built-in function
plotcandle(rsi_candle.Open, rsi_candle.High, rsi_candle.Low, rsi_candle.Close,
"RSI Candles", rsi_candle.candle_color, rsi_candle.candle_color)
Multiple Access Patterns
The library provides three ways to access candle data, accommodating different programming styles:
// 1. Array-based access for collection operations
Candle candles = candle_array(source)
// 2. Object-oriented access for single entity manipulation
Candle candle = candle_series(source)
float value = candle.source(Source.HLC3)
// 3. Tuple-based access for functional programming styles
= candle_tuple(source)
Custom Timeframe Examples
// Create 20-second candles with EMA overlay
plot_ctf_candles(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 20,
timezone = -5,
tied_open = true,
ema_period = 9,
enable_ema = true
)
// Create tick-based candles (new candle every 15 ticks)
plot_ctf_tick_candles(
source = close,
candle_type = CandleType.heikin_ashi,
number_of_ticks = 15,
timezone = -5,
tied_open = true
)
Advanced Usage with Custom Visualization
// Get custom timeframe candles without automatic plotting
CandleCTF my_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 30
)
// Apply custom logic to the candles
float ema_values = my_candles.ctf_ema(14)
// Draw candles and EMA using time-based coordinates
my_candles.draw_ctf_candles_time()
ema_values.draw_ctf_line_time(line_color = #FF6D00)
Library Components
Data Types
Candle: Structure representing chart-time candles with OHLC, polarity, and visualization properties
CandleCTF: Extended candle structure with additional time metadata for custom timeframes
TickData: Structure for individual price updates with time deltas
Enumerations
CandleType: Specifies visualization style (candlestick or Heikin-Ashi)
Source: Defines price components for calculations (Open, High, Low, Close, HL2, etc.)
SampleType: Sets sampling method (Time-based or Tick-based)
Core Functions
get_tick(): Captures current price as a tick data point
candle_array(): Creates an array of candles from price updates
candle_series(): Provides a single candle based on latest data
candle_tuple(): Returns OHLC values as a tuple
ctf_candles_array(): Creates custom timeframe candles without rendering
Visualization Functions
source(): Extracts specific price components from candles
candle_ctf_to_float(): Converts candle data to float arrays
ctf_ema(): Calculates exponential moving averages for candle arrays
draw_ctf_candles_time(): Renders candles using time coordinates
draw_ctf_candles_index(): Renders candles using bar index coordinates
draw_ctf_line_time(): Renders lines using time coordinates
draw_ctf_line_index(): Renders lines using bar index coordinates
Technical Implementation Notes
This library leverages Pine Script's varip variables for state management, creating a sophisticated real-time data processing system. The implementation includes:
Efficient tick capturing: Samples price at every execution, maintaining temporal tracking with time deltas
Smart state management: Uses a hybrid approach with mutable updates at index 0 and historical preservation at index 1+
Temporal synchronization: Manages two time domains (chart time and custom timeframe)
The tooltip implementation provides crucial temporal context for custom timeframe visualizations, allowing users to understand exactly when each candle formed regardless of chart timeframe.
Limitations
Custom timeframe candles cannot be backtested due to Pine Script's limitations with historical tick data
Real-time visualization is only available during live chart updates
Maximum history is constrained by Pine Script's array size limits
Applications
Indicator visualization: See how RSI, MACD, or other indicators evolve in real-time
Volume analysis: Create custom volume profiles independent of chart timeframe
Scalping strategies: Identify short-term patterns with precisely defined time windows
Volatility measurement: Track price movement characteristics within bars
Custom signal generation: Create entry/exit signals based on custom timeframe patterns
Conclusion
The Real-Time Candles Library bridges the gap between traditional technical analysis (based on discrete OHLC bars) and the continuous nature of market movement. By making indicators more responsive to real-time price action, it gives traders a significant edge in timing and decision-making, particularly in fast-moving markets where waiting for bar close could mean missing important opportunities.
Whether you're building custom indicators, researching price patterns, or developing trading strategies, this library provides the foundation for sophisticated real-time analysis in Pine Script.
Implementation Details & Advanced Guide
Core Implementation Concepts
The Real-Time Candles Library implements a sophisticated event-driven architecture within Pine Script's constraints. At its heart, the library creates what's essentially a reactive programming framework handling continuous data streams.
Tick Processing System
The foundation of the library is the get_tick() function, which captures price updates as they occur:
export get_tick(series float source = close, series float na_replace = na)=>
varip float price = na
varip int series_index = -1
varip int old_time = 0
varip int new_time = na
varip float time_delta = 0
// ...
This function:
Samples the current price
Calculates time elapsed since last update
Maintains a sequential index to track updates
The resulting TickData structure serves as the fundamental building block for all candle generation.
State Management Architecture
The library employs a sophisticated state management system using varip variables, which persist across executions within the same bar. This creates a hybrid programming paradigm that's different from standard Pine Script's bar-by-bar model.
For chart-time candles, the core state transition logic is:
// Real-time update of current candle
candle_data := Candle.new(Open, High, Low, Close, polarity, series_index, candle_color)
candles.set(0, candle_data)
// When a new bar starts, preserve the previous candle
if clear_state
candles.insert(1, candle_data)
price.clear()
// Reset state for new candle
Open := Close
price.push(Open)
series_index += 1
This pattern of updating index 0 in real-time while inserting completed candles at index 1 creates an elegant solution for maintaining both current state and historical data.
Custom Timeframe Implementation
The custom timeframe system manages its own time boundaries independent of chart bars:
bool clear_state = switch settings.sample_type
SampleType.Ticks => cumulative_series_idx >= settings.number_of_ticks
SampleType.Time => cumulative_time_delta >= settings.number_of_seconds
This dual-clock system synchronizes two time domains:
Pine's execution clock (bar-by-bar processing)
The custom timeframe clock (tick or time-based)
The library carefully handles temporal discontinuities, ensuring candle formation remains accurate despite irregular tick arrival or market gaps.
Advanced Usage Techniques
1. Creating Custom Indicators with Real-Time Candles
To develop indicators that process real-time data within the current bar:
// Get real-time candles for your data
Candle rsi_candles = candle_array(ta.rsi(close, 14))
// Calculate indicator values based on candle properties
float signal = ta.ema(rsi_candles.first().source(Source.Close), 9)
// Detect patterns that occur within the bar
bool divergence = close > close and rsi_candles.first().Close < rsi_candles.get(1).Close
2. Working with Custom Timeframes and Plotting
For maximum flexibility when visualizing custom timeframe data:
// Create custom timeframe candles
CandleCTF volume_candles = ctf_candles_array(
source = volume,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 60
)
// Convert specific candle properties to float arrays
float volume_closes = volume_candles.candle_ctf_to_float(Source.Close)
// Calculate derived values
float volume_ema = volume_candles.ctf_ema(14)
// Create custom visualization
volume_candles.draw_ctf_candles_time()
volume_ema.draw_ctf_line_time(line_color = color.orange)
3. Creating Hybrid Timeframe Analysis
One powerful application is comparing indicators across multiple timeframes:
// Standard chart timeframe RSI
float chart_rsi = ta.rsi(close, 14)
// Custom 5-second timeframe RSI
CandleCTF ctf_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 5
)
float fast_rsi_array = ctf_candles.candle_ctf_to_float(Source.Close)
float fast_rsi = fast_rsi_array.first()
// Generate signals based on divergence between timeframes
bool entry_signal = chart_rsi < 30 and fast_rsi > fast_rsi_array.get(1)
Final Notes
This library represents an advanced implementation of real-time data processing within Pine Script's constraints. By creating a reactive programming framework for handling continuous data streams, it enables sophisticated analysis typically only available in dedicated trading platforms.
The design principles employed—including state management, temporal processing, and object-oriented architecture—can serve as patterns for other advanced Pine Script development beyond this specific application.
------------------------
Library "real_time_candles"
A comprehensive library for creating real-time candles with customizable timeframes and sampling methods.
Supports both chart-time and custom-time candles with options for candlestick and Heikin-Ashi visualization.
Allows for tick-based or time-based sampling with moving average overlay capabilities.
get_tick(source, na_replace)
Captures the current price as a tick data point
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
na_replace (float) : Optional - Value to use when source is na
Returns: TickData structure containing price, time since last update, and sequential index
candle_array(source, candle_type, sync_start, bullish_color, bearish_color)
Creates an array of candles based on price updates
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
sync_start (simple bool) : Optional - Whether to synchronize with the start of a new bar
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of Candle objects ordered with most recent at index 0
candle_series(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides a single candle based on the latest price data
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: A single Candle object representing the current state
candle_tuple(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides candle data as a tuple of OHLC values
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Tuple representing current candle values
method source(self, source, na_replace)
Extracts a specific price component from a Candle
Namespace types: Candle
Parameters:
self (Candle)
source (series Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
na_replace (float) : Optional - Value to use when source value is na
Returns: The requested price value from the candle
method source(self, source)
Extracts a specific price component from a CandleCTF
Namespace types: CandleCTF
Parameters:
self (CandleCTF)
source (simple Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
Returns: The requested price value from the candle as a varip
method candle_ctf_to_float(self, source)
Converts a specific price component from each CandleCTF to a float array
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
Returns: Array of float values extracted from the candles, ordered with most recent at index 0
method ctf_ema(self, ema_period)
Calculates an Exponential Moving Average for a CandleCTF array
Namespace types: array
Parameters:
self (array)
ema_period (simple float) : Period for the EMA calculation
Returns: Array of float values representing the EMA of the candle data, ordered with most recent at index 0
method draw_ctf_candles_time(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar time coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using time-based x-coordinates
method draw_ctf_candles_index(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar index coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using index-based x-coordinates
method draw_ctf_line_time(self, source, line_size, line_color)
Renders a line representing a price component from the candles using time coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_time(self, line_size, line_color)
Renders a line from a varip float array using time coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_index(self, source, line_size, line_color)
Renders a line representing a price component from the candles using index coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
method draw_ctf_line_index(self, line_size, line_color)
Renders a line from a varip float array using index coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots tick-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots tick-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots time-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots time-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_candles(source, candle_type, sample_type, number_of_ticks, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, enable_ema, line_width, ema_color, use_time_indexing)
Unified function for plotting candles with comprehensive options
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Optional - Type of candle chart to display
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
ema_period (simple float) : Optional - Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
enable_ema (bool) : Optional - Whether to display the EMA overlay
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with optional EMA overlay
ctf_candles_array(source, candle_type, sample_type, number_of_ticks, number_of_seconds, tied_open, bullish_color, bearish_color)
Creates an array of custom timeframe candles without rendering them
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to create (candlestick or Heikin-Ashi)
sample_type (simple SampleType) : Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of CandleCTF objects ordered with most recent at index 0
Candle
Structure representing a complete candle with price data and display properties
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
candle_color (series color) : Color to use when rendering the candle
ready (series bool) : Boolean indicating if candle data is valid and ready for use
TickData
Structure for storing individual price updates
Fields:
price (series float) : The price value at this tick
time_delta (series float) : Time elapsed since the previous tick in milliseconds
series_index (series int) : Sequential index identifying this tick
CandleCTF
Structure representing a custom timeframe candle with additional time metadata
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
open_time (series int) : Timestamp marking when the candle was opened (in Unix time)
time_delta (series float) : Duration of the candle in milliseconds
candle_color (series color) : Color to use when rendering the candle
Normalized VolumeOVERVIEW
The Normalized Volume (NV) is an attempt at visualizing volume in a format that is more understandable by placing the values on a scale of 0 to 100. 0 in this case is the lowest volume candle available on the chart, and 100 being the highest. Calling a candle “high volume” can be misleading without having something to compare to. For example, in scaling the volume this way we can clearly see that a given candle had 80% of the peak volume or 20%, and gauge the validity of price moves more accurately.
FEATURES
NV by session
Allows user to filter the volume values across 4 different sessions. This can add context to the volume output, because what it high volume during London session may not be high volume relative to New York session.
Overlay plotting
When volume boxes are turned on, this will allow you to toggle how they are plotted.
Color theme
A standard color theme will color the NV based on if the respective candle closed green or red. Selecting variables will color the NV plot based on which range the value falls within.
Session inputs
Activated with the “By session?” Input. Allows user to break the day up into 4 sessions to more accurately gauge volume relative to time of day.
Show Box (X)
Toggles on chart boxes on and off.
Show historical boxes
Will plot prior occurrences of selected volume boxes, deleting them when price fully moves through them in the opposite direction of the initial candle.
Color inputs
Allows for intensive customization in how this tool appears visually.
INTERPRETATION
There are 6 pre-defined ranges that NV can fall within.
NV <= 10
Volume is insignificant
In this range, volume should not be a confirmation in your trading strategy.
NV > 10 and <= 20
Volume is low
In this range, volume should not be a confirmation in your trading strategy.
NV > 20 and <= 40
Volume is fair
In this range, volume should not be the primary confirmation in your trading strategy.
NV > 40 and <= 60
Volume is high
In this range, volume can be the primary confirmation in your trading strategy.
NV > 60 and <= 80
Volume is very high
In this range, volume can be the primary confirmation in your trading strategy.
NV > 80
Volume is extreme
In this range, volume is likely news driven and caution should be taken. High price volatility possible.
To utilize this tool in conjunction with your current strategy, follow the range explanations above section in this section. The higher the NV value, the stronger you can feel about your directional confirmation.
If NV = 100, this means that the highest volume candle occurred up to that point on your selected timeframe. All future data points will be weighed off of this value.
LIMITATIONS
This tool will not load on tickers that do not have volume data, such as VIX.
STRATEGY
The Normalized Volume plot can be used in exactly the same way as you would normally utilize volume in your trading strategy. All we are doing is weighing the volume relative to itself.
Volume boxes can be used as targets to be filled in a similar way to commonly used “fair value gap” strategies. To utilize this strategy, I recommend selecting “Plot to Wicks” in Overlay Plotting and toggling on Show Historical Boxes.
Volume boxes can be used as areas for entry in a similar way to commonly used “order block” strategies. To utilize this strategy, I recommend selecting “Open To Close” in Overlay Plotting.
NOTES
You are able to plot an info label on right side of NV plot using the "Toggle box label" input. When a box is toggled on this label will tell you when the most recent box of that intensity occurred.
This tool is deeply visually customizable, with the ability to adjust line width for plotted boxes, all colors on both box overlays, and all colors on NV panel. Customize it to your liking!
I have a handful of additional features that I plan on adding to this tool in future updates. If there is anything you would like to see added, any bugs you identify, or any strategies you encounter with this tool, I would love to hear from you!
Huge shoutout to @joebaus for assisting in bringing this tool to life, please check out his work here on TradingView!
DTFX Algo Zones [SamuraiJack Mod]CME_MINI:NQ1!
Credits
This indicator is a modified version of an open-source tool originally developed by Lux Algo. I literally modded their indicator to create the DTFX Algo Zones version, incorporating additional features and refinements. Special thanks to Lux Algo for their original work and for providing the open-source code that made this development possible.
Introduction
DTFX Algo Zones is a technical analysis indicator designed to automatically identify key supply and demand zones on your chart using market structure and Fibonacci retracements. It helps traders spot high-probability reversal areas and important support/resistance levels at a glance. By detecting shifts in market structure (such as Break of Structure and Change of Character) and highlighting bullish or bearish zones dynamically, this tool provides an intuitive framework for planning trades. The goal is to save traders time and improve decision-making by focusing attention on the most critical price zones where market bias may confirm or reverse.
Logic & Features
• Market Structure Shift Detection (BOS & CHoCH): The indicator continuously monitors price swings and marks significant structure shifts. A Break of Structure (BOS) occurs when price breaks above a previous swing high or below a swing low, indicating a continuation of the current trend. A Change of Character (ChoCH) is detected when price breaks in the opposite direction of the prior trend, often signaling an early trend reversal. These moments are visually marked on the chart, serving as anchor points for new zones. By identifying BOS and ChoCH in real-time, the DTFX Algo Zones indicator ensures you’re aware of key trend changes as they happen.
• Auto-Drawn Fibonacci Supply/Demand Zones: Upon a valid structure shift, the indicator plots a Fibonacci-based zone between the breakout point and the preceding swing high/low (the source of the move). This creates a shaded area or band of Fibonacci retracement levels (for example 38.2%, 50%, 61.8%, etc.) representing a potential support zone in an uptrend or resistance zone in a downtrend. These supply/demand zones are derived from the natural retracement of the breakout move, highlighting where price is likely to pull back. Each zone is essentially an auto-generated Fibonacci retracement region tied to a market structure event, which traders can use to anticipate where the next pullback or bounce might occur.
• Dynamic Bullish and Bearish Zones: The DTFX Algo Zones indicator distinguishes bullish vs. bearish zones and updates them dynamically as new price action unfolds. Bullish zones (formed after bullish BOS/ChoCH) are typically highlighted in one color (e.g. green or blue) to indicate areas of demand/support where price may bounce upward. Bearish zones (formed after bearish BOS/ChoCH) are shown in another color (e.g. red/orange) to mark supply/resistance where price may stall or reverse downward. This color-coding and real-time updating allow traders to instantly recognize the market bias: for instance, a series of bullish zones implies an uptrend with multiple support levels on pullbacks, while consecutive bearish zones indicate a downtrend with resistance overhead. As old zones get invalidated or new ones appear, the chart remains current with the latest key levels, eliminating clutter from outdated levels.
• Flexible Customization: The indicator comes with several options to tailor the zones to your trading style. You can filter which zones to display – for example, show only the most recent N zones or limit to only bullish or only bearish zones – helping declutter the chart and focus on recent, relevant levels. There are settings to control zone extension (how far into the future the zones are drawn) and to automatically invalidate zones once they’re no longer relevant (for instance, if price fully breaks through a zone or a new structure shift occurs that supersedes it). Additionally, the Fibonacci retracement levels within each zone are customizable: you can choose which retracement percentages to plot, adjust their colors or line styles, and decide whether to fill the zone area for visibility. This flexibility ensures the DTFX Algo Zones can be tuned for different markets and strategies, whether you want a clean minimalist look or detailed zones with multiple internal levels.
Best Use Cases
DTFX Algo Zones is a versatile indicator that can enhance various trading strategies. Some of its best use cases include:
• Identifying High-Probability Reversal Zones: Each zone marks an area where price has a higher likelihood of stalling or reversing because it reflects a significant prior swing and Fibonacci retracement. Traders can watch these zones for entry opportunities when the market approaches them, as they often coincide with order block or strong supply/demand areas. This is especially useful for catching trend reversals or pullbacks at points where risk is lower and potential reward is higher.
• Spotting Key Support and Resistance: The automatically drawn zones act as dynamic support (below price) and resistance (above price) levels. Instead of manually drawing Fibonacci retracements or support/resistance lines, you get an instant map of the key levels derived from recent price action. This helps in quickly identifying where the next bounce (support) or rejection (resistance) might occur. Swing traders and intraday traders alike can use these zones to set alerts or anticipate reaction areas as the market moves.
• Trend-Following Entries: In a trending market, the indicator’s zones provide ideal areas to join the trend on pullbacks. For example, in an uptrend, when a new bullish zone is drawn after a BOS, it indicates a fresh demand zone – buying near the lower end of that zone on a pullback can offer a low-risk entry to ride the next leg up. Similarly, in a downtrend, selling rallies into the highlighted supply zones can position you in the direction of the prevailing trend. The zones effectively serve as a roadmap of the trend’s structure, allowing trend traders to buy dips and sell rallies with greater confidence.
• Mean-Reversion and Range Trading: Even in choppy or range-bound markets, DTFX Algo Zones can help find mean-reversion trades. If price is oscillating sideways, the zones at extremes of the range might mark where momentum is shifting (ChoCH) and price could swing back toward the mean. A trader might fade an extended move when it reaches a strong zone, anticipating a reversion. Additionally, if multiple zones cluster in an area across time (creating a zone overlap), it often signifies a particularly robust support/resistance level ideal for range trading strategies.
In all these use cases, the indicator’s ability to filter out noise and highlight structurally important levels means traders can focus on higher-probability setups and make more informed trading decisions.
Strategy – Pullback Trading with DTFX Algo Zones
One of the most effective ways to use the DTFX Algo Zones indicator is trading pullbacks in the direction of the trend. Below is a step-by-step strategy to capitalize on pullbacks using the zones, combining the indicator’s signals with sound price action analysis and risk management:
1. Identify a Market Structure Shift and Trend Bias: First, observe the chart for a recent BOS or ChoCH signal from the indicator. This will tell you the current trend bias. For instance, a bullish BOS/ChoCH means the market momentum has shifted upward (bullish bias), and a new demand zone will be drawn. A bearish structure break indicates downward momentum and creates a supply zone. Make sure the broader context supports the bias (e.g., if multiple higher timeframe zones are bullish, focus on long trades).
2. Wait for the Pullback into the Zone: Once a new zone appears, don’t chase the price immediately. Instead, wait for price to retrace back into that highlighted zone. Patience is key – let the market come to you. For a bullish setup, allow price to dip into the Fibonacci retracement zone (demand area); for a bearish setup, watch for a rally into the supply zone. Often, the middle of the zone (around the 50% retracement level) can be an optimal area where price might slow down and pivot, but it’s wise to observe price behavior across the entire zone.
3. Confirm the Entry with Price Action & Confluence: As price tests the zone, look for confirmation signals before entering the trade. This can include bullish reversal candlestick patterns (for longs) or bearish patterns (for shorts) such as engulfing candles, hammers/shooting stars, or doji indicating indecision turning to reversal. Additionally, incorporate confluence factors to strengthen the setup: for example, check if the zone overlaps with a key moving average, a round number price level, or an old support/resistance line from a higher timeframe. You might also use an oscillator (like RSI or Stochastic) to see if the pullback has reached oversold conditions in a bullish zone (or overbought in a bearish zone), suggesting a bounce is likely. The more factors aligning at the zone, the more confidence you can have in the trade. Only proceed with an entry once you see clear evidence of buyers defending a demand zone or sellers defending a supply zone.
4. Enter the Trade and Manage Risk: When you’re satisfied with the confirmation (e.g., price starts to react positively off a demand zone or shows rejection wicks in a supply zone), execute your entry in the direction of the original trend. Immediately set a stop-loss order to control risk: for a long trade, a common placement is just below the demand zone (a few ticks/pips under the swing low that formed the zone); for a short trade, place the stop just above the supply zone’s high. This way, if the zone fails and price continues beyond it, your loss is limited. Position size the trade so that this stop-loss distance corresponds to a risk you are comfortable with (for example, 1-2% of your trading capital).
5. Take Profit Strategically: Plan your take-profit targets in advance. A conservative approach is to target the origin of the move – for instance, in a long trade, you might take profit as price moves back up to the swing high (the 0% Fibonacci level of the zone) or the next significant zone or resistance level above. This often yields at least a 1:1 reward-to-risk ratio if you entered around mid-zone. More aggressive trend-following traders may leave a portion of the position running beyond the initial target, aiming for a larger move in line with the trend (for example, new higher highs in an uptrend). You can also trail your stop-loss upward behind new higher lows (for longs) or lower highs (for shorts) as the trend progresses, locking in profit while allowing for further gains.
6. Monitor Zone Invalidation: Even after entering, keep an eye on the behavior around the zone and any new zones that may form. If price fails to bounce and instead breaks decisively through the entire zone, respect that as an invalidation – the market may be signaling a deeper reversal or that the signal was false. In such a case, it’s better to exit early or stick to your stop-loss than to hold onto a losing position. The indicator will often mark or no longer highlight zones that have been invalidated by price, guiding you to shift focus to the next opportunity.
Risk Management Tips:
• Always use a stop-loss and don’t move it farther out in hope. Placing the stop just beyond the zone’s far end (the swing point) helps protect you if the pullback turns into a larger reversal.
• Aim for a favorable risk-to-reward ratio. With pullback entries near the middle or far end of a zone, you can often achieve a reward that equals or exceeds your risk. For example, risking 20 pips to make 20+ pips (1:1 or better) is a prudent starting point. Adjust targets based on market structure – if the next resistance is 50 pips away, consider that upside against your risk.
• Use confluence and context: Don’t take every zone signal in isolation. The highest probability trades come when the DTFX Algo Zone aligns with other analysis (trend direction, chart patterns, higher timeframe support/resistance, etc.). This filtered approach will reduce trades taken in weak zones or counter-trend traps.
• Embrace patience and selectivity: Not all zones are equal. It can be wise to skip very narrow or insignificant zones and wait for those that form after a strong BOS/ChoCH (indicating a powerful move). Larger zones or zones formed during high-volume times tend to produce more reliable pullback opportunities.
• Review and adapt: After each trade, note how price behaved around the zone. If you notice certain Fib levels (like 50% or 61.8%) within the zone consistently provide the best entries, you can refine your approach to focus on those. Similarly, adjust the indicator’s settings if needed – for example, if too many minor zones are cluttering your screen, limit to the last few or increase the structure length parameter to capture only more significant swings.
⸻
By combining the DTFX Algo Zones indicator with disciplined confirmation and risk management, traders can improve their timing on pullback entries and avoid chasing moves. This indicator shines in helping you trade what you see, not what you feel – the clearly marked zones and structure shifts keep you grounded in price action reality. Whether you’re a trend trader looking to buy the dip/sell the rally, or a reversal trader hunting for exhaustion points, DTFX Algo Zones provides a robust visual aid to elevate your trading decisions. Use it as a complementary tool in your analysis to stay on the right side of the market’s structure and enhance your trading performance.
Fortuna Trend Predictor**Fortuna Trend Predictor**
### Overview
**Fortuna Trend Predictor** is a powerful trend analysis tool that combines multiple technical indicators to estimate trend strength, volatility, and probability of price movement direction. This indicator is designed to help traders identify potential trend shifts and confirm trade setups with improved accuracy.
### Key Features
- **Trend Strength Analysis**: Uses the difference between short-term and long-term Exponential Moving Averages (EMA) normalized by the Average True Range (ATR) to determine trend strength.
- **Directional Strength via ADX**: Calculates the Average Directional Index (ADX) manually to measure the strength of the trend, regardless of its direction.
- **Probability Estimation**: Provides a probabilistic assessment of price movement direction based on trend strength.
- **Volume Confirmation**: Incorporates a volume filter that validates signals when the trading volume is above its moving average.
- **Volatility Filter**: Uses ATR to identify high-volatility conditions, helping traders avoid false signals during low-volatility periods.
- **Overbought & Oversold Levels**: Includes RSI-based horizontal reference lines to highlight potential reversal zones.
### Indicator Components
1. **ATR (Average True Range)**: Measures market volatility and serves as a denominator to normalize EMA differences.
2. **EMA (Exponential Moving Averages)**:
- **Short EMA (20-period)** - Captures short-term price movements.
- **Long EMA (50-period)** - Identifies the overall trend.
3. **Trend Strength Calculation**:
- Formula: `(Short EMA - Long EMA) / ATR`
- The higher the value, the stronger the trend.
4. **ADX Calculation**:
- Computes +DI and -DI manually to generate ADX values.
- Higher ADX indicates a stronger trend.
5. **Volume Filter**:
- Compares current volume to a 20-period moving average.
- Signals are more reliable when volume exceeds its average.
6. **Volatility Filter**:
- Detects whether ATR is above its own moving average, multiplied by a user-defined threshold.
7. **Probability Plot**:
- Formula: `50 + 50 * (Trend Strength / (1 + abs(Trend Strength)))`
- Values range from 0 to 100, indicating potential movement direction.
### How to Use
- When **Probability Line is above 70**, the trend is strong and likely to continue.
- When **Probability Line is below 30**, the trend is weak or possibly reversing.
- A rising **ADX** confirms strong trends, while a falling ADX suggests consolidation.
- Combine with price action and other confirmation tools for best results.
### Notes
- This indicator does not generate buy/sell signals but serves as a decision-support tool.
- Works best on higher timeframes (H1 and above) to filter out noise.
---
### Example Chart
*The chart below demonstrates how Fortuna Trend Predictor can help identify strong trends and avoid false breakouts by confirming signals with volume and volatility filters.*
Smart Scalper Indicator🎯 How the Smart Scalper Indicator Works
1. EMA (Exponential Moving Average)
EMA 10 (Blue Line):
Shows the short-term trend.
If the price is above this line, the trend is bullish; if below, bearish.
EMA 20 (Orange Line):
Displays the longer-term trend.
If EMA 10 is above EMA 20, it indicates a bullish trend (Buy signal).
2. SuperTrend
Green Line:
Represents support levels.
If the price is above the green line, the market is considered bullish.
Red Line:
Represents resistance levels.
If the price is below the red line, the market is considered bearish.
3. VWAP (Volume Weighted Average Price)
Purple Line:
Indicates the average price considering volume.
If the price is above the VWAP, the market is strong (Buy signal).
If the price is below the VWAP, the market is weak (Sell signal).
4. ATR (Average True Range)
Used to measure market volatility.
An increasing ATR indicates higher market activity, enhancing the reliability of signals.
ATR is not visually displayed but is factored into the signal conditions.
⚡ Entry Signals
Green Up Arrow (Buy):
EMA 10 is above EMA 20.
The price is above the SuperTrend green line.
The price is above the VWAP.
Volatility (ATR) is increasing.
Red Down Arrow (Sell):
EMA 10 is below EMA 20.
The price is below the SuperTrend red line.
The price is below the VWAP.
Volatility (ATR) is increasing.
🔔 Alerts
"Buy Alert" — Notifies when a Buy condition is met.
"Sell Alert" — Notifies when a Sell condition is met.
✅ How to Use the Indicator:
Add the indicator to your TradingView chart.
Enable alerts to stay updated on signal triggers.
Check the signal:
A green arrow suggests a potential Buy.
A red arrow suggests a potential Sell.
Set Stop-Loss:
Below the SuperTrend line or based on ATR levels.
Take Profit:
Target 1-2% for short-term trades.
TJR SEEK AND DESTROYTJR SEEK AND DESTROY – Intraday ICT Trading Tool
Built for day traders, TJR SEEK AND DESTROY combines Smart Money concepts like order blocks, fair value gaps, and liquidity sweeps with structure breaks and daily bias to pinpoint high-probability trades during US market hours (9:30–16:00). Ideal for scalping or intraday strategies on stocks, futures, or forex.
What Makes It Unique?
Unlike standalone ICT indicators, this script integrates:
Order Blocks with volume and range filters for precise support/resistance zones.
Fair Value Gaps (FVG) to spot pre-market price imbalances.
Break of Structure (BOS) and Liquidity Sweeps for trend and reversal signals.
A 1H MA-based Bias to align trades with the day’s direction.
BUY/SELL Labels triggered only when bias, BOS, and sweeps align, reducing noise.
How Does It Work?
Order Blocks: Marks zones with high volume (>1.5x 20-period SMA) and low range (<0.5x ATR20) as teal boxes—potential reversal points.
Fair Value Gap: Compares the prior day’s close to the current open (pre- or post-9:30), shown as a purple line and label (e.g., "FVG: 0.005").
Pivot Point: Calculates (prevHigh + prevLow + prevClose) / 3 from the prior day, plotted as an orange line for equilibrium.
Break of Structure: Detects crossovers of 5-bar highs/lows (gray lines), marked with red triangles.
Liquidity Sweeps: Tracks breaches of the prior day’s high/low (yellow lines), marked with yellow triangles.
Daily Bias: Uses 1H close vs. 20-period MA (blue line) for bullish (green background), bearish (red), or neutral (gray) context.
Signals: BUY (green label) when bias is bullish, price breaks up, and sweeps the prior high; SELL (red label) when bias is bearish, price breaks down, and sweeps the prior low.
How to Use It
Setup: Apply to 1M–15M charts for US session trading (9:30–16:00 EST).
Trading:
Wait for a BUY label after a yellow sweep triangle above the prior day’s high in a green (bullish) background.
Wait for a SELL label after a yellow sweep triangle below the prior day’s low in a red (bearish) background.
Use order blocks (teal boxes) as support/resistance for stop-loss or take-profit.
Markets: Best for SPY, ES futures, or forex pairs with US session volatility.
Underlying Concepts
Order Blocks: High-volume, low-range bars suggest institutional activity.
FVG: Gaps between close and open indicate imbalance to be filled.
BOS & Sweeps: Price breaking key levels signals momentum or stop-hunting.
Bias: 1H MA filters trades by broader trend.
Chart Setup
Displays order blocks (teal boxes), pivot (orange), open (purple), bias (colored background), BOS/sweeps (triangles), and signals (labels). Keep other indicators off for clarity.
PnL MonitorThe PnL Monitor is a customizable tool designed to help traders track the Profit and Loss (PnL) of up to 20 currency pairs or assets in real-time. This script provides a clear and organized table that displays the entry price, and PnL percentage for each pair, making it an essential tool for monitoring open positions or tracking potential trades.
Key Features:
Multi-Asset Tracking:
Monitor up to 20 currency pairs or assets simultaneously. Simply input the pair symbol and your entry price, and the script will calculate the PnL in real-time.
Dynamic Table Positioning:
Choose where the table appears on your chart with the Table Position input. Options include:
Top Left
Top Right
Bottom Left
Bottom Right
Real-Time PnL Calculation:
The script fetches the current price of each pair and calculates the PnL percentage based on your entry price. Positive PnL is highlighted in green, while negative PnL is highlighted in red.
Exchange and Pair Separation:
The script automatically separates the exchange name (if provided) from the pair symbol, making it easier to identify the source of the data.
Customizable Inputs:
Add or remove pairs as needed.
Leave the price field blank for pairs you don’t want to track.
How to Use:
Input Your Pairs:
In the script settings, input the symbol of the pair (e.g., NASDAQ:AAPL or BTCUSD) and your entry price. Leave the price field blank for pairs you don’t want to track.
Choose Table Position:
Select where you want the table to appear on your chart.
Monitor PnL:
The table will automatically update with the current price and PnL percentage for each pair.
Why Use This Script?
Efficiency: Track multiple pairs in one place without switching charts.
Clarity: Easily identify profitable and losing positions at a glance.
Flexibility: Customize the table to fit your trading style and preferences.
Ideal For:
Forex, crypto, and stock traders managing multiple positions.
Whale Buy Activity Detector (Real-Time)Whale Buy Activity Detector (Real-Time)
This indicator helps to identify abnormal spikes in the volume of purchases, which may indicate the activity of large players ("whales"). It analyzes the volume of purchases and compares it with the average volume over a certain period of time. If the volume of purchases exceeds a set threshold, the indicator marks this as potential whale activity.
Basic parameters:
Volume Threshold (x Average): The coefficient by which the current purchase volume must exceed the average volume in order to be considered abnormal. The default value is 2.0, which means that the purchase volume should be 2 times the average volume for the selected time period. This parameter can be adjusted in the range from 1.0 and higher in increments of 0.1.
Example: If you set the value to 1.5, the indicator will mark situations when the volume of purchases exceeds the average volume by 1.5 times.
Lookback Period: The time period used to calculate the average purchase volume. The default value is 20, which means that the average purchase volume will be calculated for the last 20 candles. This parameter can be set in the range from 1 and above.Example: If you set the value to 10, the average purchase volume will be calculated for the last 10 candles.
How to use:
Buy Volume: Shows the volume of purchases on each candle. This is the volume that was sold at a price higher than the opening price of the candle.
Average Buy Volume: The average volume of purchases over a given time period (Lookback Period). This parameter helps to determine the "normal" level of purchase volume.
Whale Buy: Notes abnormal spikes in the volume of purchases, which may indicate the activity of "whales". The indicator draws a mark on the top of the candle when the purchase volume exceeds the threshold set by the Volume Threshold parameter.
Notifications:
The indicator can send notifications when an abnormal volume of purchases is detected. You can set up notifications via the TradingView menu to receive real-time alerts.
Usage example:
If you are trading in a highly volatile market, you can increase the Volume Threshold to filter out small volume spikes.
If you trade in a low-volatility market, you can reduce the Volume Threshold to capture even small anomalies.
Sniper Trade Pro (ES 15-Min) - Topstep Optimized🔹 Overview
Sniper Trade Pro is an advanced algorithmic trading strategy designed specifically for E-mini S&P 500 (ES) Futures on the 15-minute timeframe. This strategy is optimized for Topstep 50K evaluations, incorporating strict risk management to comply with their max $1,000 daily loss limit while maintaining a high probability of success.
It uses a multi-confirmation approach, integrating:
✅ Money Flow Divergence (MFD) → To track liquidity imbalances and institutional accumulation/distribution.
✅ Trend Confirmation (EMA + VWAP) → To identify strong trend direction and avoid choppy markets.
✅ ADX Strength Filter → To ensure entries only occur in trending conditions, avoiding weak setups.
✅ Break-Even & Dynamic Stop-Losses → To reduce drawdowns and protect profits dynamically.
This script automatically generates Buy and Sell signals and provides built-in risk management for automated trading execution through TradingView Webhooks.
🔹 How Does This Strategy Work?
📌 1. Trend Confirmation (EMA + VWAP)
The strategy uses:
✔ 9-EMA & 21-EMA: Fast-moving averages to detect short-term momentum.
✔ VWAP (Volume-Weighted Average Price): Ensures trades align with institutional volume flow.
How it works:
Bullish Condition: 9-EMA above 21-EMA AND price above VWAP → Confirms buy trend.
Bearish Condition: 9-EMA below 21-EMA AND price below VWAP → Confirms sell trend.
📌 2. Liquidity & Money Flow Divergence (MFD)
This indicator measures liquidity shifts by tracking momentum changes in price and volume.
✔ MFD Calculation:
Uses Exponential Moving Average (EMA) of Momentum (MOM) to detect changes in buying/selling pressure.
If MFD is above its moving average, it signals liquidity inflows → bullish strength.
If MFD is below its moving average, it signals liquidity outflows → bearish weakness.
Why is this important?
Detects when Smart Money is accumulating or distributing before major moves.
Filters out false breakouts by confirming momentum strength before entry.
📌 3. Trade Entry Triggers (Candlestick Patterns & ADX Filter)
To avoid random entries, the strategy waits for specific candlestick confirmations with ADX trend strength:
✔ Bullish Entry (Buy Signal) → Requires:
Bullish Engulfing Candle (Reversal confirmation)
ADX > 20 (Ensures strong trending conditions)
MFD above its moving average (Liquidity inflows)
9-EMA > 21-EMA & price above VWAP (Trend confirmation)
✔ Bearish Entry (Sell Signal) → Requires:
Bearish Engulfing Candle (Reversal confirmation)
ADX > 20 (Ensures strong trending conditions)
MFD below its moving average (Liquidity outflows)
9-EMA < 21-EMA & price below VWAP (Trend confirmation)
📌 4. Risk Management & Profit Protection
This strategy is built with strict risk management to maintain low drawdowns and maximize profits:
✔ Dynamic Position Sizing → Automatically adjusts trade size to risk a fixed $400 per trade.
✔ Adaptive Stop-Losses → Uses ATR-based stop-loss (0.8x ATR) to adapt to market volatility.
✔ Take-Profit Targets → Fixed at 2x ATR for a Risk:Reward ratio of 2:1.
✔ Break-Even Protection → Moves stop-loss to entry once price moves 1x ATR in profit, locking in gains.
✔ Max Daily Loss Limit (-$1,000) → Stops trading if total losses exceed $1,000, complying with Topstep rules.
Daily Standard Deviation (fadi)The Daily Standard Deviation indicator uses standard deviation to map out daily price movements. Standard deviation measures how much prices stray from their average—small values mean steady trends, large ones mean wild swings. Drawing from up to 20 years of data, it plots key levels using customizable Fibonacci lines tied to that standard deviation, giving traders a snapshot of typical price behavior.
These levels align with a bell curve: about 68% of price moves stay within 1 standard deviation, 95% within roughly 2, and 99.7% within roughly 3. When prices break past the 1 StDev line, they’re outliers—only 32% of moves go that far. Prices often snap back to these lines or the average, though the reversal might not happen the same day.
How Traders Use It
If prices surge past the 1 StDev line, traders might wait for momentum to fade, then trade the pullback to that line or the average, setting a target and stop.
If prices dip below, they might buy, anticipating a bounce—sometimes a day or two later. It’s a tool to spot overstretched prices likely to revert and/or measure the odds of continuation.
Settings
Open Hour: Sets the trading day’s start (default: 18:00 EST).
Show Levels for the Last X Days: Displays levels for the specified number of days.
Based on X Period: Number of days to calculate standard deviation (e.g., 20 years ≈ 5,040 days). Larger periods smooth out daily level changes.
Mirror Levels on the Other Side: Plots symmetric positive and negative levels around the average.
Fibonacci Levels Settings: Defines which levels and line styles to show. With mirroring, negative values aren’t needed.
Overrides: Lets advanced users input custom standard deviations for specific tickers (e.g., NQ1! at 0.01296).
Date Display with Bar Counter and EMA===== ENGLISH DESCRIPTION =====
OVERVIEW:
This is a multi-function indicator that combines three useful tools in one script:
1. Date Display - Shows current date and symbol information in a customizable table
2. Bar Counter - Displays sequential bar numbers at specified intervals
3. EMA (Exponential Moving Average) - Plots an EMA line with customizable settings
FEATURES:
1. DATE DISPLAY:
- Shows date in full format (e.g., "Mon ∙ January 1, 2023") or short format (e.g., "Mon ∙ 01.01.23")
- Option to show/hide day of week
- Option to show/hide symbol and timeframe information
- Customizable table position (top/middle/bottom, left/center/right)
- Automatic color adjustment based on chart background
2. BAR COUNTER:
- Displays sequential bar numbers below price bars
- Customizable display frequency (every X bars)
- Special handling for Hong Kong futures (resets at market open)
- Different reset logic based on timeframe (daily, weekly, monthly)
- Customizable text size and color
3. EMA INDICATOR:
- Customizable period length (default: 20)
- Option to use different timeframe for calculation
- Option to wait for timeframe close for more stable signals
- Customizable line color
USAGE INSTRUCTIONS:
- After adding the indicator to your chart, customize settings in the "Format" panel
- The Date Display table will appear at your chosen position on the chart
- Bar numbers will appear below price bars at your specified frequency
- The EMA line will be plotted on the chart with your chosen settings
- Colors automatically adjust to light/dark chart themes
===== 中文说明 =====
概述:
这是一个多功能指标,将三个实用工具合并为一个脚本:
1. 日期显示 - 在可自定义的表格中显示当前日期和交易品种信息
2. K线计数器 - 按指定间隔显示K线序号
3. EMA指数移动平均线 - 绘制可自定义设置的EMA线
功能特点:
1. 日期显示:
- 支持完整格式(如"Mon ∙ January 1, 2023")或简短格式(如"Mon ∙ 01.01.23")
- 可选择显示/隐藏星期几
- 可选择显示/隐藏交易品种和时间周期信息
- 可自定义表格位置(顶部/中部/底部,左侧/中间/右侧)
- 根据图表背景自动调整颜色
2. K线计数器:
- 在价格K线下方显示序号
- 可自定义显示频率(每X根K线)
- 对香港期货有特殊处理(在开市时重置)
- 根据时间周期(日线、周线、月线)使用不同的重置逻辑
- 可自定义文字大小和颜色
3. EMA指标:
- 可自定义周期长度(默认:20)
- 可选择使用不同的时间周期进行计算
- 可选择等待时间周期结束以获得更稳定的信号
- 可自定义线条颜色
使用说明:
- 将指标添加到图表后,在"格式"面板中自定义设置
- 日期显示表格将出现在您选择的图表位置
- K线序号将按您指定的频率显示在价格K线下方
- EMA线将根据您选择的设置绘制在图表上
- 颜色会根据浅色/深色图表主题自动调整
*/
EMA Ribbon with 100 MA BY TIJUThe EMA Ribbon with 100 MA is a powerful and visually intuitive indicator designed to help traders identify trends, momentum, and potential support/resistance levels using multiple Exponential Moving Averages (EMAs). By plotting a series of EMAs with varying periods, the script creates a "ribbon" effect on the chart, making it easier to spot trend direction and strength at a glance.
Key Features:
Multiple EMAs for Trend Analysis:
The script plots 8 EMAs with periods ranging from 20 to 55, creating a gradient ribbon effect.
The 100-period EMA is added as a thick blue line, acting as a key level for long-term trend analysis.
Customizable Periods:
Each EMA period is fully customizable, allowing traders to tailor the indicator to their preferred trading style and timeframe.
Visual Clarity:
The EMAs are color-coded, making it easy to distinguish between different periods and identify the overall trend direction.
Dynamic Support/Resistance:
The EMAs act as dynamic support and resistance levels, helping traders identify potential entry and exit points.
Drop Candles Feature:
The script includes an option to drop the first N candles, ensuring cleaner calculations and avoiding false signals during the initial periods.
How to Use:
Trend Identification:
Uptrend: When the shorter-period EMAs are stacked above the longer-period EMAs, it indicates a strong uptrend.
Downtrend: When the longer-period EMAs are stacked above the shorter-period EMAs, it indicates a strong downtrend.
Consolidation: When the EMAs are intertwined, it suggests a sideways or weak trend.
Support/Resistance Levels:
Use the EMAs as dynamic support/resistance levels. For example, in an uptrend, the price may bounce off the lower EMAs.
100-Period EMA:
The 100-period EMA (thick blue line) acts as a key level for long-term trend analysis. A price above this line suggests a bullish bias, while a price below suggests a bearish bias.
Customization:
Adjust the EMA periods and colors to suit your trading strategy.
Use the Drop first N candles option to avoid false signals during the initial periods.
Example Use Cases:
Trend Following:
Enter long positions when the price is above the EMA ribbon and the EMAs are stacked in an uptrend.
Enter short positions when the price is below the EMA ribbon and the EMAs are stacked in a downtrend.
Dynamic Support/Resistance:
Use the EMAs as dynamic support/resistance levels for setting stop-loss or take-profit targets.
Confirmation Tool:
Combine the EMA Ribbon with other indicators (e.g., RSI, MACD) to confirm trade signals.
Settings:
MA-1 to MA-8 Periods: Adjust the periods for the 8 EMAs (default: 20, 25, 30, 35, 40, 45, 50, 55).
MA-100 Period: Adjust the period for the 100 EMA (default: 100).
Source: Choose the price source for the EMAs (default: Close).
Drop First N Candles: Drop the first N candles to avoid false signals (default: 1).
Why Use EMA Ribbon ?
Versatility: Suitable for all trading styles (scalping, day trading, swing trading) and timeframes.
Visual Appeal: The color-coded ribbon makes it easy to interpret the trend at a glance.
Customizable: Tailor the indicator to your specific trading strategy.
Dynamic Levels: Use the EMAs as dynamic support/resistance levels for better risk management.
Adaptive RSI with Real-Time Divergence [AIBitcoinTrend]👽 Adaptive RSI Trailing Stop (AIBitcoinTrend)
The Adaptive RSI Trailing Stop is an indicator that integrates Gaussian-weighted RSI calculations with real-time divergence detection and a dynamic ATR-based trailing stop. This advanced approach allows traders to monitor momentum shifts, identify divergences early, and manage risk with adaptive trailing stop levels that adjust to price action.
👽 What Makes the Adaptive RSI with Signals and Trailing Stop Unique?
Unlike traditional RSI indicators, this version applies a Gaussian-weighted smoothing algorithm, making it more responsive to price action while reducing noise. Additionally, the trailing stop feature dynamically adjusts based on volatility and trend conditions, allowing traders to:
Detects real-time divergences (bullish/bearish) with a smart pivot-based system.
Filter noise with Gaussian weighting, ensuring smoother RSI transitions.
Utilize crossover-based trailing stop activation, for systematic trade management.
👽 The Math Behind the Indicator
👾 Gaussian Weighted RSI Calculation
Traditional RSI calculations rely on simple averages of gains and losses. Instead, this indicator weights recent price changes using a Gaussian distribution, prioritizing more relevant data points while maintaining smooth transitions.
Key Features:
Exponential decay ensures recent price changes are weighted more heavily.
Reduces short-term noise while maintaining responsiveness.
👾 Real-Time Divergence Detection
The indicator detects bullish and bearish divergences using pivot points on RSI compared to price action.
👾 Dynamic ATR-Based Trailing Stop
Bullish Trailing Stop: Activates when RSI crosses above 20 and dynamically adjusts based on low - ATR multiplier.
Bearish Trailing Stop: Activates when RSI crosses below 80 and adjusts based on high + ATR multiplier
This allows traders to:
Lock in profits systematically by adjusting stop-losses dynamically.
Stay in trades longer while maintaining adaptive risk management.
👽 How It Adapts to Market Movements
✔️ Gaussian Filtering ensures smooth RSI transitions while preventing excessive lag.
✔️ Real-Time Divergence Alerts provide early trade signals based on price-RSI discrepancies.
✔️ ATR Trailing Stop dynamically expands or contracts based on market volatility.
✔️ Crossover-Based Activation enables the stop-loss system only when RSI confirms a momentum shift.
👽 How Traders Can Use This Indicator
👾 Divergence Trading
Traders can use real-time divergence detection to anticipate reversals before they happen.
Bullish Divergence Setup:
Look for RSI making a higher low, while price makes a lower low.
Enter long when RSI confirms upward momentum.
Bearish Divergence Setup:
Look for RSI making a lower high, while price makes a higher high.
Enter short when RSI confirms downward momentum.
👾 Trailing Stop Signals
Bullish Signal and Trailing Stop Activation:
When RSI crosses above 20, a trailing stop is placed using low - ATR multiplier.
If price crosses below the stop, it exits the trade and removes the stop.
Bearish Signal and Trailing Stop Activation:
When RSI crosses below 80, a trailing stop is placed using high + ATR multiplier.
If price crosses above the stop, it exits the trade and removes the stop.
This makes trend-following strategies more efficient, while ensuring proper risk management.
👽 Why It’s Useful for Traders
✔️ Dynamic and Adaptive: Adjusts to changing market conditions automatically.
✔️ Noise Reduction: Gaussian-weighted RSI reduces short-term price distortions.
✔️ Comprehensive Strategy Tool: Combines momentum detection, divergence analysis, and automated risk management into a single indicator.
✔️ Works Across Markets & Timeframes: Suitable for stocks, forex, crypto, and futures trading.
👽 Indicator Settings
RSI Length: Defines the lookback period for RSI smoothing.
Gaussian Sigma: Controls how much weight is given to recent data points.
Enable Signal Line: Option to display an RSI-based moving average.
Divergence Lookback: Configures how far back pivot points are detected.
Crossover/crossunder values for signals: Set the crossover/crossunder values that triggers signals.
ATR Multiplier: Adjusts trailing stop sensitivity to market volatility.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
[3Commas] Turtle StrategyTurtle Strategy
🔷 What it does: This indicator implements a modernized version of the Turtle Trading Strategy, designed for trend-following and automated trading with webhook integration. It identifies breakout opportunities using Donchian channels, providing entry and exit signals.
Channel 1: Detects short-term breakouts using the highest highs and lowest lows over a set period (default 20).
Channel 2: Acts as a confirmation filter by applying an offset to the same period, reducing false signals.
Exit Channel: Functions as a dynamic stop-loss (wait for candle close), adjusting based on market structure (default 10 periods).
Additionally, traders can enable a fixed Take Profit level, ensuring a systematic approach to profit-taking.
🔷 Who is it for:
Trend Traders: Those looking to capture long-term market moves.
Bot Users: Traders seeking to automate entries and exits with bot integration.
Rule-Based Traders: Operators who prefer a structured, systematic trading approach.
🔷 How does it work: The strategy generates buy and sell signals using a dual-channel confirmation system.
Long Entry: A buy signal is generated when the close price crosses above the previous high of Channel 1 and is confirmed by Channel 2.
Short Entry: A sell signal occurs when the close price falls below the previous low of Channel 1, with confirmation from Channel 2.
Exit Management: The Exit Channel acts as a trailing stop, dynamically adjusting to price movements. To exit the trade, wait for a full bar close.
Optional Take Profit (%): Closes trades at a predefined %.
🔷 Why it’s unique:
Modern Adaptation: Updates the classic Turtle Trading Strategy, with the possibility of using a second channel with an offset to filter the signals.
Dynamic Risk Management: Utilizes a trailing Exit Channel to help protect gains as trades move favorably.
Bot Integration: Automates trade execution through direct JSON signal communication with your DCA Bots.
🔷 Considerations Before Using the Indicator:
Market & Timeframe: Best suited for trending markets; higher timeframes (e.g., H4, D1) are recommended to minimize noise.
Sideways Markets: In choppy conditions, breakouts may lead to false signals—consider using additional filters.
Backtesting & Demo Testing: It is crucial to thoroughly backtest the strategy and run it on a demo account before risking real capital.
Parameter Adjustments: Ensure that commissions, slippage, and position sizes are set accurately to reflect real trading conditions.
🔷 STRATEGY PROPERTIES
Symbol: BINANCE:ETHUSDT (Spot).
Timeframe: 4h.
Test Period: All historical data available.
Initial Capital: 10000 USDT.
Order Size per Trade: 1% of Capital, you can use a higher value e.g. 5%, be cautious that the Max Drawdown does not exceed 10%, as it would indicate a very risky trading approach.
Commission: Binance commission 0.1%, adjust according to the exchange being used, lower numbers will generate unrealistic results. By using low values e.g. 5%, it allows us to adapt over time and check the functioning of the strategy.
Slippage: 5 ticks, for pairs with low liquidity or very large orders, this number should be increased as the order may not be filled at the desired level.
Margin for Long and Short Positions: 100%.
Indicator Settings: Default Configuration.
Period Channel 1: 20.
Period Channel 2: 20.
Period Channel 2 Offset: 20.
Period Exit: 10.
Take Profit %: Disable.
Strategy: Long & Short.
🔷 STRATEGY RESULTS
⚠️Remember, past results do not guarantee future performance.
Net Profit: +516.87 USDT (+5.17%).
Max Drawdown: -100.28 USDT (-0.95%).
Total Closed Trades: 281.
Percent Profitable: 40.21%.
Profit Factor: 1.704.
Average Trade: +1.84 USDT (+1.80%).
Average # Bars in Trades: 29.
🔷 How to Use It:
🔸 Adjust Settings:
Select your asset and timeframe suited for trend trading.
Adjust the periods for Channel 1, Channel 2, and the Exit Channel to align with the asset’s historical behavior. You can visualize these channels by going to the Style tab and enabling them.
For example, if you set Channel 2 to 40 with an offset of 40, signals will take longer to appear but will aim for a more defined trend.
Experiment with different values, a possible exit configuration is using 20 as well. Compare the results and adjust accordingly.
Enable the Take Profit (%) option if needed.
🔸Results Review:
It is important to check the Max Drawdown. This value should ideally not exceed 10% of your capital. Consider adjusting the trade size to ensure this threshold is not surpassed.
Remember to include the correct values for commission and slippage according to the symbol and exchange where you are conducting the tests. Otherwise, the results will not be realistic.
If you are satisfied with the results, you may consider automating your trades. However, it is strongly recommended to use a small amount of capital or a demo account to test proper execution before committing real funds.
🔸Create alerts to trigger the DCA Bot:
Verify Messages: Ensure the message matches the one specified by the DCA Bot.
Multi-Pair Configuration: For multi-pair setups, enable the option to add the symbol in the correct format.
Signal Settings: Enable the option to receive long or short signals (Entry | TP | SL), copy and paste the messages for the DCA Bots configured.
Alert Setup:
When creating an alert, set the condition to the indicator and choose "alert() function call only".
Enter any desired Alert Name.
Open the Notifications tab, enable Webhook URL, and paste the Webhook URL.
For more details, refer to the section: "How to use TradingView Custom Signals".
Finalize Alerts: Click Create, you're done! Alerts will now be sent automatically in the correct format.
🔷 INDICATOR SETTINGS
Period Channel 1: Period of highs and lows to trigger signals
Period Channel 2: Period of highs and lows to filter signals
Offset: Move Channel 2 to the right x bars to try to filter out the favorable signals.
Period Exit: It is the period of the Donchian channel that is used as trailing for the exits.
Strategy: Order Type direction in which trades are executed.
Take Profit %: When activated, the entered value will be used as the Take Profit in percentage from the entry price level.
Use Custom Test Period: When enabled signals only works in the selected time window. If disabled it will use all historical data available on the chart.
Test Start and End: Once the Custom Test Period is enabled, here you select the start and end date that you want to analyze.
Check Messages: Check Messages: Enable this option to review the messages that will be sent to the bot.
Entry | TP | SL: Enable this options to send Buy Entry, Take Profit (TP), and Stop Loss (SL) signals.
Deal Entry and Deal Exit: Copy and paste the message for the deal start signal and close order at Market Price of the DCA Bot. This is the message that will be sent with the alert to the Bot, you must verify that it is the same as the bot so that it can process properly.
DCA Bot Multi-Pair: You must activate it if you want to use the signals in a DCA Bot Multi-pair in the text box you must enter (using the correct format) the symbol in which you are creating the alert, you can check the format of each symbol when you create the bot.
👨🏻💻💭 We hope this tool helps enhance your trading. Your feedback is invaluable, so feel free to share any suggestions for improvements or new features you'd like to see implemented.
__
The information and publications within the 3Commas TradingView account are not meant to be and do not constitute financial, investment, trading, or other types of advice or recommendations supplied or endorsed by 3Commas and any of the parties acting on behalf of 3Commas, including its employees, contractors, ambassadors, etc.