Average Directional Index with DI SpreadThis indicator converts conventional triple lined ADX, DI+ and DI- into two lines. First line is the
original ADX line and second line is obtained by subtracting DI- from DI+ which named DI Spread(DIS)
If ADX is greater than 20 there is a trend and if greater than 40 there is a strong trend but ADX does not tell
the trend direction
To determine trend direction, DIS can be used with ADX; Sımply; If DIS is greater than 0, it is an uptrend and If DIS
is less than 0, it is a downtrend.
To sum up;
If ADX is greater than 20 and especially greater than 40 with positive DIS value, this implies an uptrend.
If ADX is greater than 20 and especially greater than 40 with negative DIS value, this implies a downtrend.
*Because of coloration and reference levels used, this indicator is really simple and efficient to analyze trend direction.
ค้นหาในสคริปต์สำหรับ "黄金近20年走势"
MFI Multi-TimeframeThe Money Flow Index (MFI) is an oscillating momentum and market strength indicator that was developed by Gene Quong and Avrum Soudack. It is also a leading indicator, which means it tends to lead price action, and is similar in calculation as J. Welles Wilder's Relative Strength Index (RSI) with the significant difference being that the MFI uses both price and volume. Like the RSI, the MFI is a range-bound oscillator that oscillates between zero and 100 and is interpreted in a similar way as the RSI. The ultimate aim of the MFI is to determine whether money is flowing in or out of a security over a specified look-back period.
HOW IS IT USED ?
The MFI oscillates between 0 and 100 and a security is considered overbought when its MFI rises above 80 and oversold when its MFI falls below 20. These levels are the suggested overbought and oversold levels as suggested by Quong and Soudack, though they do not suggest these levels as entry signals. Instead, these caution levels warn that the price action and the current trend have reached extremes that may be unsustainable. Quong and Soudack also recommend using the 90 and 10 lines as truly overbought and truly oversold levels respectively. MFI movements above 90 and below 10 are rare and indicate a higher level of unsustainability.
Finally, failure swings from the 20 or 80 levels can also be used to identify potential price reversals and trade entries. A failure swing occurs when the MFI moves over the overbought or oversold level but reverses back before reaching the opposite level. Thus, when the MFI crosses up over the 20 (oversold) level but reverses before it reaches the 80 (overbought) level, it indicates that the uptrend is weak and that it may reverse soon. This signals that you should cover any long positions or go short. Similarly, when the MFI crosses down over the 80 (overbought) level but reverses before it reaches the 20 (oversold) level, it indicates a weakness in the down trend and the probability that the trend will reverse. This would be a signal to close of any short positions; or a signal to long buy.
I added the possibility to add on the chart a 2nd timeframe for confirmation.
If you found this script useful, a tip is always welcome... :)
Exponential Moving Average (Set of 3) [Krypt] + 13/34 EMAsI took Krypt's script and essentially added on to it.
the 20/50/100/200 EMAs should be used together as support and resistance as normal.
Wait for price to break 200 EMA
Wait for 50 EMA to cross 200 EMA
Wait for pullback to 50 EMA to open position
20 and 100 EMAs are for extra information about moving support and resistance
and 13/34 EMAs should be used in conjunction
When 13 EMA crosses 34 EMA, open position
When price gets far from 13/34, close position (because price will attempt to revert back to mean)
This is better for scalping and swing trades than the 20/50/100/200 setup.
Twitter: @AzorAhai06
Gap Gain Test V1.0 by @overratedtraderOddball indicators for entertainment purposes only. This is best used on daily chart.
Look at the 20 ALMA to gauge likelihood of stock following its up or down gap.
- if above the 20 ALMA , follow the gap direction
- if below the 20 ALMA , take counter trend trade
If stock gaps up AND closes higher than it opens, that gain % (close/open) is colored green and if stock gaps down and closes lower than it opens, that gain % (close/open) is colored green
Conversely if the stock gaps up BUT closes lower than it opens, red and if a stop gaps down but closes higher than it opens, red.
Enjoy and follow me on twitter @overratedtrader for more nonsensical and out-of-the-box ideas.
Adaptive Donchian ChannelThis indicator adds a level of adaptivity to the simple Donchian Channel by adjusting the sensitivity (lookback periods) of the channel's upper and lower bounds based on the amount of time that has elapsed since the price has hit/expanded the channel boundaries. Comparing the results of this indicator to the standard Donchian Channel, the readier level of responsiveness may prove self-evident.
METHODOLOGY:
Specifically, the more recently the channel was expanded in one direction, the longer the lookback period grows in that direction. Conversely, if the channel has not been expanded in a given direction, the lookback period will contract so as to allow for a tighter channel.
For example, let the initial lookback period be 20 bars and let the factor argument be 0.1 (or 2 bars to start, as 20*0.1 = 2). Now say the current bar sets a new 20-period high. Then the lookback period for the upper bound is expanded by 2 bars to 22, and the lookback period for the lower bound is contracted by 2 bars to 18, thereby making it simultaneously harder to set new highs and easier to set new lows (and vice versa for hitting new lows). If neither a new high nor a new low is formed, both periods contract by the given factor.
TonyUX EMA Scalper - Buy / SellThis is a simple scalping strategy that works for all time frames... I have only tested it on FOREX
It works by checking if the price is currently in an uptrend and if it crosses the 20 EMA.
If it crosses the 20 EMA and its in and uptrend it will post a BUY SIGNAL.
If it crosses the 20 EMA and its in and down it will post a SELL SIGNAL.
The red line is the highest close of the previous 8 bars --- This is resistance
The green line is the lowest close of the previous 8 bars -- This is support
EMA_ConvergenceFirst I have to give kudos to my son who I asked to take a shot at creating this little indicator. Nice work son!
While trading, one of the things I look for is when price or certain EMA's approach another EMA. The example that I use on this 1 minute SPY chart is an 8 EMA and 20 EMA. I am looking for when the 8 and 20 are within' 3 cents of each other. Many times when they are getting close, price is approaching a top or bottom. I am looking for a candlestick reversal around that area. You may want to know when PRICE is near the 50 EMA: Use EMA 1 and 50 for that. Having it light up on top of the page, or elsewhere, makes it easier to look for the convergence when it occurs. If it lights up for a long period, price may be going sideways. I don't enter into a trade until the EMA starts separating, usually with another candlestick formation.
You are able to change the distance for convergence and two EMA's. Unfortunately you will have to adjust the convergence number up as you increase in time frames. This is designed to see when they are close, not when they cross.
The bars on top of this example are lit up purple due to the 8 and 20 EMA are within' 3 cents of each other.
If you want to overlay the price bars, instead of having it separate, just change overlay to "true"
Enjoy.
TradeVision Pro - Multi-Factor Analysis System═══════════════════════════════════════════════════════════════════
TRADEVISION PRO - MULTI-FACTOR ANALYSIS SYSTEM
Created by Zakaria Safri
═══════════════════════════════════════════════════════════════════
A comprehensive technical analysis tool combining multiple factors for
signal generation, trend analysis, and dynamic risk management visualization.
Designed for educational purposes to study multi-factor convergence trading
strategies across all markets and timeframes.
⚠️ IMPORTANT DISCLAIMER:
This indicator is provided for EDUCATIONAL and INFORMATIONAL purposes only.
It does NOT constitute financial advice, investment advice, or trading advice.
Past performance does not guarantee future results. Trading involves
substantial risk of loss. Always do your own research and consult a
financial advisor before making trading decisions.
🎯 KEY FEATURES
═══════════════════════════════════════════════════════════════════
✅ MULTI-FACTOR SIGNAL GENERATION
• Price Volume Trend (PVT) analysis
• Rate of Change (ROC) momentum confirmation
• Volume-Weighted Moving Average (VWMA) trend filter
• Simple Moving Average (SMA) price smoothing
• Signals only when all factors align
✅ DYNAMIC RISK VISUALIZATION (Educational Only)
• ATR-based stop loss calculation
• Risk-reward based take profit levels (1-5 targets)
• Visual lines and labels showing entry, SL, and TPs
• Automatically adapts to market volatility
• ⚠️ VISUAL REFERENCE ONLY - Does not execute trades
✅ SUPPORT & RESISTANCE DETECTION
• Automatic pivot-based level identification
• Red dashed lines for resistance zones
• Green dashed lines for support areas
• Helps identify key price levels
✅ VWMA TREND BANDS
• Volume-weighted moving average with standard deviation
• Color-changing bands (Green = Uptrend, Red = Downtrend)
• Filled band area for easy visualization
• Volume-confirmed trend strength
✅ TREND DETECTION SYSTEM
• Counting-based trend confirmation
• Three states: Up Trend, Down Trend, Ranging
• Requires threshold of consecutive bars
• Independent trend validation
✅ PRICE RANGE VISUALIZATION
• High/Low range lines showing market structure
• Filled area highlighting price volatility
• Helps identify breakout zones
✅ COMPREHENSIVE INFO TABLE
• Real-time trend status
• Last signal type (BUY/SELL)
• Entry price display
• Stop loss level
• All active take profit levels
• Clean, professional layout
✅ OPTIONAL FEATURES
• Bar coloring by trend direction
• Customizable alert notifications
• Toggle visibility for all components
• Fully configurable parameters
📊 HOW IT WORKS
═══════════════════════════════════════════════════════════════════
SIGNAL METHODOLOGY:
BUY SIGNAL generates when ALL conditions are met:
• Smoothed price > Moving Average (upward price trend)
• PVT > PVT Average (volume supporting uptrend)
• ROC > 0 (positive momentum)
• Close > VWMA (above volume-weighted average)
SELL SIGNAL generates when ALL conditions are met:
• Smoothed price < Moving Average (downward price trend)
• PVT < PVT Average (volume supporting downtrend)
• ROC < 0 (negative momentum)
• Close < VWMA (below volume-weighted average)
This multi-factor approach filters out weak signals and waits for
strong convergence before generating alerts.
RISK CALCULATION:
Stop Loss = Entry ± (ATR × SL Multiplier)
• Uses Average True Range for volatility measurement
• Automatically adjusts to market conditions
Take Profit Levels = Entry ± (Risk Distance × TP Multiplier × Level)
• Risk Distance = |Entry - Stop Loss|
• Creates risk-reward based targets
• Example: TP Multiplier 1.0 = 1:1, 2:2, 3:3 risk-reward
⚠️ NOTE: All risk levels are VISUAL REFERENCES for educational study.
They do not execute trades automatically.
⚙️ SETTINGS GUIDE
═══════════════════════════════════════════════════════════════════
SIGNAL SETTINGS:
• Signal Length (14): Main calculation period for averages
• Smooth Length (8): Price data smoothing period
• PVT Length (14): Price Volume Trend calculation period
• ROC Length (9): Rate of Change momentum period
RISK MANAGEMENT (Visual Only):
• ATR Length (14): Volatility measurement lookback
• SL Multiplier (2.2): Stop loss distance (× ATR)
• TP Multiplier (1.0): Risk-reward ratio per TP level
• TP Levels (1-5): Number of take profit targets to display
• Show TP/SL Lines: Toggle visual reference lines
SUPPORT & RESISTANCE:
• Pivot Lookback (10): Sensitivity for S/R detection
• Show SR: Toggle support/resistance lines
VWMA BANDS:
• VWMA Length (20): Volume-weighted average period
• Show Bands: Toggle band visibility
TREND DETECTION:
• Trend Threshold (5): Consecutive bars required for trend
PRICE LINES:
• Period (20): High/low calculation lookback
• Show: Toggle price range visualization
DISPLAY OPTIONS:
• Signals: Show/hide BUY/SELL labels
• Table: Show/hide information panel
• Color Bars: Enable trend-based bar coloring
ALERTS:
• Enable: Activate alert notifications for signals
💡 USAGE INSTRUCTIONS
═══════════════════════════════════════════════════════════════════
RECOMMENDED APPROACH:
• Works on all timeframes (1m to Monthly)
• Suitable for all markets (Stocks, Forex, Crypto, etc.)
• Best used with additional analysis and confirmation
• Always practice proper risk management
ENTRY STRATEGY:
1. Wait for BUY or SELL signal to appear
2. Check trend table for trend confirmation
3. Verify VWMA band color matches signal direction
4. Look for nearby support/resistance confluence
5. Consider entering on next candle open
6. Use visual SL level for risk management
EXIT STRATEGY:
1. Use TP levels as potential exit zones
2. Consider scaling out at multiple TP levels
3. Exit on opposite signal
4. Adjust stops as trade progresses
5. Account for spread and slippage
TREND TRADING:
• "Up Trend" → Focus on BUY signals
• "Down Trend" → Focus on SELL signals
• "Ranging" → Wait for clear trend or use range strategies
🎨 VISUAL ELEMENTS
═══════════════════════════════════════════════════════════════════
• GREEN VWMA BANDS → Bullish trend indication
• RED VWMA BANDS → Bearish trend indication
• ORANGE DASHED LINE → Entry price reference
• RED SOLID LINE → Stop loss level
• GREEN DOTTED LINES → Take profit targets
• RED DASHED LINES → Resistance levels
• GREEN DASHED LINES → Support levels
• GREY FILLED AREA → Price high/low range
• GREEN BUY LABEL → Long signal
• RED SELL LABEL → Short signal
• BLUE INFO TABLE → Current trade details
• GREEN/RED BARS → Trend direction (optional)
⚠️ IMPORTANT NOTES
═══════════════════════════════════════════════════════════════════
RISK WARNING:
• Trading involves substantial risk of loss
• You can lose more than your initial investment
• Past performance does not guarantee future results
• No indicator is 100% accurate
• Always use proper position sizing
• Never risk more than you can afford to lose
EDUCATIONAL PURPOSE:
• This tool is for learning and research
• Not a complete trading system
• Should be combined with other analysis
• Requires interpretation and context
• Test thoroughly before live use
• Consider consulting a financial advisor
TECHNICAL LIMITATIONS:
• Signals lag price action (all indicators lag)
• False signals occur in choppy markets
• Works better in trending conditions
• Support/resistance levels are approximate
• TP/SL levels are suggestions, not guarantees
📚 METHODOLOGY
═══════════════════════════════════════════════════════════════════
This indicator combines established technical analysis concepts:
• Price Volume Trend (PVT): Volume-weighted price momentum
• Rate of Change (ROC): Momentum measurement
• Volume-Weighted Moving Average (VWMA): Trend identification
• Average True Range (ATR): Volatility measurement (J. Welles Wilder)
• Pivot Points: Support/resistance detection
All methods are based on publicly available technical analysis
principles. No proprietary or "secret" algorithms are used.
⚖️ FULL DISCLAIMER
═══════════════════════════════════════════════════════════════════
LIABILITY:
The creator (Zakaria Safri) assumes NO liability for:
• Trading losses or damages of any kind
• Loss of capital or profits
• Incorrect signal interpretation
• Technical issues, bugs, or errors
• Any consequences of using this tool
USER RESPONSIBILITY:
By using this indicator, you acknowledge that:
• You are solely responsible for your trading decisions
• You understand the substantial risks involved
• You will not hold the creator liable for losses
• You will conduct your own research and analysis
• You may consult a licensed financial professional
• You are using this tool entirely at your own risk
AS-IS PROVISION:
This indicator is provided "AS IS" without warranty of any kind,
express or implied, including but not limited to warranties of
merchantability, fitness for a particular purpose, or non-infringement.
The creator is not a registered investment advisor, financial planner,
or broker-dealer. This tool is not approved or endorsed by any
financial authority.
📞 ABOUT THE CREATOR
═══════════════════════════════════════════════════════════════════
Created by: Zakaria Safri
Specialization: Technical analysis indicator development
Focus: Multi-factor analysis, risk visualization, trend detection
This is an educational tool designed to demonstrate technical
analysis concepts and multi-factor signal generation methods.
📋 VERSION INFO
═══════════════════════════════════════════════════════════════════
Version: 1.0
Platform: TradingView Pine Script v5
License: Mozilla Public License 2.0
Creator: Zakaria Safri
Year: 2024
═══════════════════════════════════════════════════════════════════
Study Carefully, Trade Wisely, Manage Risk Properly
TradeVision Pro - Educational Trading Tool
Created by Zakaria Safri
═══════════════════════════════════════════════════════════════════
Pro Scalper - Kalman Supertrend with Dynamic OB/OS Zones═══════════════════════════════════════════════════════════════════
PRO SCALPER - KALMAN SUPERTREND WITH DYNAMIC OB/OS ZONES
Developed by Zakaria Safri
═══════════════════════════════════════════════════════════════════
A powerful day trading and scalping indicator designed for the 30-minute
timeframe, combining advanced Kalman filtering with Supertrend analysis
and VWMA-based overbought/oversold detection for stocks and cryptocurrencies.
🎯 KEY FEATURES
═══════════════════════════════════════════════════════════════════
✅ Kalman-Filtered Supertrend
• Advanced noise reduction using Kalman Filter mathematics
• Reduces false signals by filtering market noise
• Adaptive trend-following with dynamic support/resistance
✅ Clear Buy/Sell Signals
• Green "BUY" labels for long entries
• Red "SELL" labels for short entries
• Signals trigger on confirmed trend reversals
• Matrix-style candle coloring (Green=Bull, Red=Bear)
✅ Dynamic Overbought/Oversold Zones
• VWMA-based adaptive zones
• Automatically adjusts to market volatility
• Visual zone highlighting with fills
✅ Reversal Signal Detection
• "R" markers identify potential reversals
• Vertical lines highlight reversal bars
• Based on price rejection from OB/OS zones
✅ Smart Take Profit System
• Automatic TP levels at OB/OS zones
• "X" markers when targets are hit
• Based on higher-high/lower-low logic
✅ Live Entry Price Table
• Shows current trend direction
• Displays last signal type (BUY/SELL)
• Real-time entry price tracking
✅ Comprehensive Alert System
• Buy/Sell signal alerts
• Reversal detection alerts
• Take profit hit notifications
• All alerts are non-repainting
📊 HOW IT WORKS
═══════════════════════════════════════════════════════════════════
1. KALMAN FILTER
The indicator applies Kalman filtering to price and ATR data, using
mathematical equations derived from Rudolf E. Kalman's work. This
advanced filtering technique:
• Smooths price data while maintaining responsiveness
• Removes outliers and reduces market noise
• Adapts to changing market conditions
• Improves signal accuracy and reliability
2. MODIFIED SUPERTREND
A customized Supertrend calculation that uses:
• Kalman-filtered HL2 price instead of raw prices
• Filtered ATR for volatility measurement
• Adaptive trailing bands that follow price
• Trend detection with minimal lag
3. VWMA DYNAMIC ZONES
Volume-Weighted Moving Average bands that:
• Calculate from highest/lowest prices over lookback period
• Adapt to current volatility and price range
• Identify true overbought/oversold conditions
• Provide logical take-profit targets
4. SIGNAL GENERATION
• BUY: When price breaks above Supertrend (trend flips bullish)
• SELL: When price breaks below Supertrend (trend flips bearish)
• REVERSAL: When price rejects from OB/OS zones
• TAKE PROFIT: When price reaches target zones or forms HH/LL
⚙️ SETTINGS GUIDE
═══════════════════════════════════════════════════════════════════
🔧 KALMAN FILTER SETTINGS
┌─────────────────────────────────────────────────────────────┐
│ Gain (0.7) → Higher = More responsive, Less smooth │
│ Momentum (0.3) → Higher = More momentum, Less filtering │
└─────────────────────────────────────────────────────────────┘
📈 SUPERTREND SETTINGS
┌─────────────────────────────────────────────────────────────┐
│ ATR Period (10) → Lookback for volatility calculation │
│ ATR Multiplier (3.0) → Distance of bands (lower = more sigs)│
└─────────────────────────────────────────────────────────────┘
📊 VWMA BANDS (OB/OS ZONES)
┌─────────────────────────────────────────────────────────────┐
│ VWMA Length (20) → Smoothing period │
│ Overbought Multiplier (1.5) → OB zone distance │
│ Oversold Multiplier (1.5) → OS zone distance │
│ Band Lookback (20) → Range calculation period │
└─────────────────────────────────────────────────────────────┘
💡 USAGE INSTRUCTIONS
═══════════════════════════════════════════════════════════════════
RECOMMENDED SETUP:
• Timeframe: 30 minutes (optimized for intraday trading)
• Markets: Stocks, Cryptocurrencies, Forex
• Risk Management: Always use stop losses
• Confirmation: Combine with volume and support/resistance
ENTRY SIGNALS:
1. Wait for BUY/SELL label to appear
2. Check trend direction (candle color)
3. Confirm entry on next candle open
4. Set stop loss below/above Supertrend line
EXIT SIGNALS:
1. Take profit at "X" markers
2. Exit on opposite signal
3. Exit on reversal "R" if against your position
4. Manual exit at predetermined R:R ratio
REVERSAL TRADING:
1. Wait for "R" marker in OB/OS zone
2. Confirm with candlestick pattern
3. Enter counter-trend trade
4. Target middle VWMA or opposite zone
🎨 VISUAL ELEMENTS
═══════════════════════════════════════════════════════════════════
• GREEN LINE → Bullish Supertrend (support)
• RED LINE → Bearish Supertrend (resistance)
• CYAN LINE → VWMA baseline
• RED ZONE → Overbought area
• GREEN ZONE → Oversold area
• GREEN CANDLES → Bullish trend active
• RED CANDLES → Bearish trend active
• BUY LABEL → Long entry signal
• SELL LABEL → Short entry signal
• R MARKER → Reversal signal
• X MARKER → Take profit hit
⚠️ IMPORTANT NOTES
═══════════════════════════════════════════════════════════════════
✓ NON-REPAINTING: All signals are confirmed on candle close
✓ BACKTESTING: Test on your specific market before live trading
✓ RISK MANAGEMENT: Use proper position sizing and stop losses
✓ MARKET CONDITIONS: Works best in trending and range-bound markets
✓ CONFLUENCE: Combine with other analysis for best results
⚡ Best Performance:
• Trending markets with clear momentum
• Moderate to high volatility environments
• 30-minute to 1-hour timeframes
• Liquid markets with tight spreads
⚠️ Avoid Using:
• During major news events (high slippage)
• In extremely choppy/sideways markets
• On illiquid assets with wide spreads
• Without proper risk management
📚 METHODOLOGY
═══════════════════════════════════════════════════════════════════
This indicator combines three proven technical analysis methods:
1. TREND FOLLOWING (Supertrend)
Captures major price movements and momentum
2. MEAN REVERSION (VWMA Zones)
Identifies extremes and potential reversals
3. NOISE FILTERING (Kalman)
Reduces false signals and improves accuracy
By integrating these approaches with volume weighting and adaptive
calculations, the Pro Scalper provides a comprehensive trading system
suitable for active traders and scalpers.
⚖️ DISCLAIMER
═══════════════════════════════════════════════════════════════════
This indicator is provided for educational and informational purposes
only. It does not constitute financial advice, and past performance
does not guarantee future results.
Trading carries substantial risk of loss and is not suitable for all
investors. Always:
• Do your own research and analysis
• Use proper risk management
• Never risk more than you can afford to lose
• Test thoroughly before live trading
• Consult a financial advisor if needed
The creator (Zakaria Safri) assumes no liability for trading losses
incurred using this indicator.
📞 ABOUT THE DEVELOPER
═══════════════════════════════════════════════════════════════════
Developer: Zakaria Safri
Specialization: Advanced algorithmic trading indicators
Focus: Noise reduction, signal filtering, and trend analysis
• Regular updates and improvements
• Community feedback integration
• Bug fixes and optimization
• Feature requests welcome
📋 VERSION INFO
═══════════════════════════════════════════════════════════════════
Version: 1.0
Created: 2024
License: Mozilla Public License 2.0
Author: Zakaria Safri
═══════════════════════════════════════════════════════════════════
Happy Trading! 📈
Developed with precision by Zakaria Safri
═══════════════════════════════════════════════════════════════════
Bollinger Bands — Bounce, Squeeze & Trend Rider📘 Bollinger Bands Indicator — Quick Lookup Sheet
🟢 Bounce Signals (Mean Reversion)
Bounce Buy
→ Price touched or fell below the lower band and then re-entered inside the bands.
→ Signals a possible oversold rebound.
→ Typical action: buy or cover shorts.
Bounce Sell
→ Price touched or exceeded the upper band and then fell back inside.
→ Signals a possible overbought pullback.
→ Typical action: sell or take profits.
🟩 Squeeze Breakout Signals (Volatility Expansion)
SZ Long
→ Squeeze Breakout Long.
→ The Bollinger Bands were tight (low volatility) and price broke above the upper band.
→ Signals a bullish breakout — often the start of a strong upward move.
SZ Short
→ Squeeze Breakout Short.
→ The Bollinger Bands were tight and price broke below the lower band.
→ Signals a bearish breakout — possible start of a downward move.
🌿 Trend Rider Markers (Trend Confirmation)
Ride Up (tiny green dot)
→ The 20-day SMA is sloping upward, and price stays near the upper band (%B > 0.8).
→ Confirms a strong uptrend — don’t fade it too early.
Ride Down (tiny red dot)
→ The 20-day SMA is sloping downward, and price stays near the lower band (%B < 0.2).
→ Confirms a strong downtrend — momentum remains bearish.
🧭 Background Colors
Light green background → Market in a confirmed uptrend.
Light red background → Market in a confirmed downtrend.
SFC Bollinger Band and Bandit概述 (Overview)
SFC 布林通道與海盜策略 (SFC Bollinger Band and Bandit Strategy) 是一個基於 Pine Script™ v6 的技術分析指標,結合布林通道 (Bollinger Bands)、移動平均線 (Moving Averages) 以及布林海盜 (Bollinger Bandit) 交易策略,旨在為交易者提供多時間框架的趨勢分析與進出場訊號。該腳本支援風險管理功能,並提供視覺化圖表與交易訊號提示,適用於多種金融市場。
This script, written in Pine Script™ v6, combines Bollinger Bands, Moving Averages, and the Bollinger Bandit strategy to provide traders with multi-timeframe trend analysis and entry/exit signals. It includes risk management features and visualizes data through charts and trading signals, suitable for various financial markets.
功能特點 (Key Features)
布林通道 (Bollinger Bands)
提供可調整的標準差參數 (σ1, σ2),支援多層布林通道顯示。
進場訊號基於價格穿越布林通道上下軌,並結合連續K線確認機制。
Provides adjustable standard deviation parameters (σ1, σ2) for multi-layer Bollinger Bands display.
Entry signals are based on price crossing the upper/lower bands, combined with a consecutive bar confirmation mechanism.
移動平均線 (Moving Averages)
支援簡單移動平均線 (SMA) 或指數移動平均線 (EMA),可自訂快、中、慢線週期。
Supports Simple Moving Average (SMA) or Exponential Moving Average (EMA) with customizable fast, medium, and slow line periods.
布林海盜策略 (Bollinger Bandit Strategy)
基於變動率 (ROC) 與布林通道動態止損,提供做多與做空訊號。
包含動態止損均線與平倉天數設定,增強交易靈活性。
Utilizes Rate of Change (ROC) and Bollinger Bands with dynamic stop-loss for long and short signals.
Includes dynamic stop-loss moving average and liquidation days for enhanced trading flexibility.
多時間框架分析 (Multi-Timeframe Analysis)
支援六個時間框架 (5分、15分、1小時、4小時、日線、週線) 的趨勢分析。
通過表格顯示各時間框架的連續上漲/下跌趨勢,輔助交易決策。
Supports trend analysis across six timeframes (5m, 15m, 1h, 4h, daily, weekly).
Displays consecutive up/down trends in a table to aid decision-making.
風險管理 (Risk Management)
提供基於 ATR 或布林通道的停利/停損設定。
自動計算交易手數,根據報價貨幣匯率調整風險敞口。
Offers take-profit/stop-loss settings based on ATR or Bollinger Bands.
Automatically calculates trading lots, adjusting risk exposure based on quote currency exchange rates.
視覺化與提示 (Visualization and Alerts)
繪製布林通道、移動平均線、海盜策略動態止損線及交易訊號。
提供多時間框架趨勢表格、交易手數標籤及浮水印。
支援交易訊號快訊,方便即時監控。
Plots Bollinger Bands, Moving Averages, Bandit strategy stop-loss lines, and trading signals.
Includes multi-timeframe trend tables, trading lot labels, and watermark.
Supports alert conditions for real-time trade monitoring.
使用說明 (Usage Instructions)
設置參數 (Parameter Setup)
布林通道 (Bollinger Bands): 可調整週期 (預設21)、標準差 (σ1=1, σ2=2) 及停利/停損依據 (ATR 或 BAND)。
移動平均線 (Moving Averages): 可選擇顯示快線 (10)、中線 (20)、慢線 (60),並切換 SMA/EMA。
布林海盜 (Bollinger Bandit): 調整通道週期 (50)、平倉均線週期 (50) 及 ROC 週期 (30)。
時間框架 (Timeframes): 自訂六個時間框架,預設為 5分、15分、1小時、4小時、日線、週線。
Adjust Bollinger Band period (default 21), standard deviations (σ1=1, σ2=2), and take-profit/stop-loss basis (ATR or BAND).
Configure Moving Averages (fast=10, medium=20, slow=60) and toggle SMA/EMA.
Set Bollinger Bandit parameters: channel period (50), liquidation MA period (50), ROC period (30).
Customize six timeframes (default: 5m, 15m, 1h, 4h, daily, weekly).
交易訊號 (Trading Signals)
買入訊號 (Buy): 價格穿越下軌且滿足連續K線條件。
賣出訊號 (Sell): 價格穿越上軌且滿足連續K線條件。
海盜策略訊號: 基於 ROC 與布林通道穿越,結合動態止損。
Buy signal: Price crosses below lower band with consecutive bar confirmation.
Sell signal: Price crosses above upper band with consecutive bar confirmation.
Bandit strategy signals: Based on ROC and band crossings with dynamic stop-loss.
視覺化 (Visualization)
布林通道以不同顏色顯示上下軌與中軌。
移動平均線以快、中、慢線區分顏色。
趨勢表格顯示各時間框架的趨勢狀態 (🔴上漲, 🟢下跌, ⚪中性)。
海盜策略顯示動態止損線與交易狀態。
Bollinger Bands display upper, lower, and middle bands in distinct colors.
Moving Averages use different colors for fast, medium, and slow lines.
Trend table shows timeframe trends (🔴 up, 🟢 down, ⚪ neutral).
Bandit strategy displays dynamic stop-loss and trading status.
Bullish EMA Crossover Exact v6This indicator highlights bullish momentum shifts by plotting 9 EMA and 20 EMA crossovers. When the faster 9 EMA crosses above the slower 20 EMA, a bold black “X” appears exactly at the crossover price, signaling potential buy opportunities. Ideal for identifying strong uptrends and precise bullish entry points with clear visual confirmation.
Ripster Labels + Air Gaps (v6)What it shows (on one chart)
EMA Clouds (current timeframe)
Plots EMA 8/12/21/34/50/200 with three cloud fills:
12–21 = “fast” cloud
34–50 = “mid” cloud
50–200 = “base” cloud
Cloud color: green when the faster EMA is above the slower (bullish), red/maroon/orange when below (bearish).
Toggle lines vs. clouds via A) EMA Clouds settings.
MTF Rails (higher-TF EMAs)
For three higher timeframes (defaults 30m / 60m / 240m), draws two EMAs each (defaults 34 & 50).
These are stepline-like rails you can visually use as higher-TF supports/resistances.
Configure in B) MTF Rails (turn on/off, change TFs/lengths/colors).
Relative Volume Box (RVol)
Small table (top-center) showing:
Candle Vol (formatted K/M/B if enabled)
RVol = current bar volume / SMA 20 of volume (as a %)
Color scale: blue (<100%), yellow (100–150%), red (>150%).
Settings in C) RVol Box.
DTR vs ATR Box
Daily True Range (DTR = day high − day low) vs ATR(14) on the daily timeframe, with DTR as % of ATR.
Placed at top-right; toggle in D) DTR/ATR Box.
Ripster Trend Label (10m 12/50)
Looks at a separate timeframe (default 10m): EMA 12 vs EMA 50.
Bottom-right table cell shows “10m Trend ↑/↓/Sideways” (green/red/gray).
Configure in E) Ripster Trend Labels (TF and lengths).
Air Gaps (single EMA per TF)
Three horizontal, auto-extending lines showing an EMA from 30m / 60m / 240m (default length 12).
“Air gaps” are the price spaces between these lines—often lighter-resistance zones for price.
Start point logic:
All Bars = draw from the chart’s left
Start of Day = draw from today’s first bar
Bars Offset = draw from N bars back (default 100)
Settings in F) Air Gaps (TFs, length, draw-from, bars-back).
Inputs & where to tweak
A) EMA Clouds
Show EMA Clouds: master toggle
Source: close (default)
Lengths: 8/12/21/34/50/200
Show EMA lines: toggle plotted lines (clouds remain)
B) MTF Rails
Show MTF Rails
TF1/TF2/TF3 (defaults 30/60/240)
EMA A/B (defaults 34/50)
C) RVol Box
Show box
Format as K/M/B: K=1e3, M=1e6, B=1e9
D) DTR/ATR Box
Show DTR/ATR
ATR len: default 14 (daily)
E) Ripster Trend Labels
Show labels
Trend TF: default 10 (10-minute)
Trend EMA Fast/Slow: default 12/50
F) Air Gaps
Show Air Gap lines
TF1/TF2/TF3 (30/60/240)
EMA length: default 12
Draw from: All Bars | Start of Day | Bars Offset
Bars back: used if Draw from = Bars Offset
How it makes decisions
Cloud bias = sign of (faster EMA − slower EMA) for each cloud pair.
Example: 12>21 → fast cloud is bullish (green); 34>50 → mid cloud bullish (teal).
10m trend label = sign of (EMA12−EMA50) on the Trend TF (default 10m).
RVol = volume / sma(volume, 20); formatted as a percent and color-coded.
Practical read of the screen
Fast cloud flips (12/21) often mark short-term momentum changes; mid cloud flips (34/50) reflect swing bias.
Air Gap lines from higher TFs frequently act as support/resistance. Larger spaces between lines = “air gaps” where price can move with less friction.
RVol color tells you how “real” a move is: red/yellow often confirms momentum; blue warns of thin/liquidy bars.
DTR vs ATR shows if today’s range is stretched vs recent norm.
Design choices (why your prior errors are gone)
Removed multiline ?: chains → replaced by if/else (Pine v6 is picky about line continuations).
Moved fill() calls outside of local if blocks (Pine limitation).
ta.change(time("D")) != 0 makes the if condition boolean.
Declared G_drawFrom / G_barsBack before startX() so identifiers exist.
RSI + Stochastic Combo (fixed) by howhaber# RSI + Stochastic Indicator
**Summary**
This indicator combines RSI and Stochastic to generate BUY and SELL signals in oversold or overbought market conditions. It merges both indicators for higher accuracy, reducing false signals. Includes visual signals on the chart, alerts, and an info label for quick analysis.
---
## 📈 How the Indicator Works
### RSI Component
- Calculates standard RSI based on the specified period (`rsiLen`).
- Indicates oversold (< 30) or overbought (> 70) conditions.
### Stochastic Component
- Manually calculated to avoid compatibility issues.
- Measures the current price position relative to the price range (highs/lows) over the selected period.
- Smoothed using two SMA filters (%K and %D).
### Signal Logic
**BUY Signal**:
- %K crosses above %D (`ta.crossover(k, d)`).
- %K < 20 (oversold market).
- RSI < specified threshold (default < 40).
**SELL Signal**:
- %K crosses below %D (`ta.crossunder(k, d)`).
- %K > 80 (overbought market).
- RSI > specified threshold (default > 60).
---
## 📍 What's Displayed on the Chart
- 🟢 **Green arrow** below the bar → BUY signal.
- 🔴 **Red arrow** above the bar → SELL signal.
- **In a separate window**:
- RSI line (blue).
- Stochastic %K (orange).
- Stochastic %D (purple).
- Reference levels: 30/70 (RSI), 20/80 (Stochastic).
---
## 🔔 Alerts
- **RSI+Stoch BUY**: Notification on BUY signal.
- **RSI+Stoch SELL**: Notification on SELL signal.
Receive alerts via email, Telegram, or directly on the platform.
---
## 🧩 Additional Feature
- Info label on the last bar, displaying:
- Current RSI value.
- %K and %D values.
- Facilitates quick visual checks of the indicator's current state.
---
## 💡 Interpretation
- **Oversold market** (confirmed by RSI and Stochastic): Likely upward reversal.
- **Overbought market** (confirmed by RSI and Stochastic): Likely downward reversal.
- Combining both reduces false signals and improves accuracy in choppy markets.
---
## ⚠️ Important Note
This indicator is not financial advice. It is designed for technical analysis and educational purposes. Combine it with other tools like trend analysis, volume, and price patterns for better results.
RSI// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © xdecow
//@version=5
indicator("RSI", overlay=true)
g_panel = 'Panel Options'
i_orientation = input.string('Vertical', 'Orientation', options = , group = g_panel)
i_position = input.string('Bottom Right', 'Position', options = , group = g_panel)
i_border_width = input.int(1, 'Border Width', minval = 0, maxval = 10, group = g_panel, inline = 'border')
i_color_border = input.color(#000000, '', group = g_panel, inline = 'border')
i_showHeaders = input.bool(true, 'Show Headers', group = g_panel)
i_color_header_bg = input.color(#5d606b, 'Headers Background', group = g_panel, inline = 'header')
i_color_header_text = input.color(color.white, 'Text', group = g_panel, inline = 'header')
i_color_tf_bg = input.color(#2a2e39, 'Timeframe Background', group = g_panel, inline = 'tf')
i_color_tf_text = input.color(color.white, 'Text', group = g_panel, inline = 'tf')
i_debug = input.bool(false, 'Display colors palette (debug)', group = g_panel)
// rsi bg colors
g_rsi = 'RSI Colors'
i_threshold_ob = input.int(70, 'Overbought Threshold', minval=51, maxval=100, group = g_rsi)
i_color_ob = input.color(#128416, 'Overbought Background', inline = 'ob', group = g_rsi)
i_tcolor_ob = input.color(color.white, 'Text', inline = 'ob', group = g_rsi)
i_threshold_uptrend = input.int(60, 'Uptrend Threshold', minval=51, maxval=100, group = g_rsi)
i_color_uptrend = input.color(#2d472e, 'Uptrend Background', inline = 'up', group = g_rsi)
i_tcolor_uptrend = input.color(color.white, 'Text', inline = 'up', group = g_rsi)
i_color_mid = input.color(#131722, 'No Trend Background', group = g_rsi, inline = 'mid')
i_tcolor_mid = input.color(#b2b5be, 'Text', group = g_rsi, inline = 'mid')
i_threshold_downtrend = input.int(40, 'Downtrend Threshold', group = g_rsi, minval=0, maxval=49)
i_color_downtrend = input.color(#5b2e2e, 'Downtrend Background', group = g_rsi, inline = 'down')
i_tcolor_downtrend = input.color(color.white, 'Text', group = g_rsi, inline = 'down')
i_threshold_os = input.int(30, 'Oversold Threshold', minval=0, maxval=49, group = g_rsi)
i_color_os = input.color(#db3240, 'Oversold Background', group = g_rsi, inline = 'os')
i_tcolor_os = input.color(color.white, 'Text', group = g_rsi, inline = 'os')
g_rsi1 = 'RSI #1'
i_rsi1_enabled = input.bool(true, title = 'Enabled', group = g_rsi1)
i_rsi1_tf = input.timeframe('5', 'Timeframe', group = g_rsi1)
i_rsi1_len = input.int(14, 'Length', minval = 1, group = g_rsi1)
i_rsi1_src = input.source(close, 'Source', group = g_rsi1) * 10000
v_rsi1 = i_rsi1_enabled ? request.security(syminfo.tickerid, i_rsi1_tf, ta.rsi(i_rsi1_src, i_rsi1_len)) : na
g_rsi2 = 'RSI #2'
i_rsi2_enabled = input.bool(true, title = 'Enabled', group = g_rsi2)
i_rsi2_tf = input.timeframe('15', 'Timeframe', group = g_rsi2)
i_rsi2_len = input.int(14, 'Length', minval = 1, group = g_rsi2)
i_rsi2_src = input.source(close, 'Source', group = g_rsi2) * 10000
v_rsi2 = i_rsi2_enabled ? request.security(syminfo.tickerid, i_rsi2_tf, ta.rsi(i_rsi2_src, i_rsi2_len)) : na
g_rsi3 = 'RSI #3'
i_rsi3_enabled = input.bool(true, title = 'Enabled', group = g_rsi3)
i_rsi3_tf = input.timeframe('60', 'Timeframe', group = g_rsi3)
i_rsi3_len = input.int(14, 'Length', minval = 1, group = g_rsi3)
i_rsi3_src = input.source(close, 'Source', group = g_rsi3) * 10000
v_rsi3 = i_rsi3_enabled ? request.security(syminfo.tickerid, i_rsi3_tf, ta.rsi(i_rsi3_src, i_rsi3_len)) : na
g_rsi4 = 'RSI #4'
i_rsi4_enabled = input.bool(true, title = 'Enabled', group = g_rsi4)
i_rsi4_tf = input.timeframe('240', 'Timeframe', group = g_rsi4)
i_rsi4_len = input.int(14, 'Length', minval = 1, group = g_rsi4)
i_rsi4_src = input.source(close, 'Source', group = g_rsi4) * 10000
v_rsi4 = i_rsi4_enabled ? request.security(syminfo.tickerid, i_rsi4_tf, ta.rsi(i_rsi4_src, i_rsi4_len)) : na
g_rsi5 = 'RSI #5'
i_rsi5_enabled = input.bool(true, title = 'Enabled', group = g_rsi5)
i_rsi5_tf = input.timeframe('D', 'Timeframe', group = g_rsi5)
i_rsi5_len = input.int(14, 'Length', minval = 1, group = g_rsi5)
i_rsi5_src = input.source(close, 'Source', group = g_rsi5) * 10000
v_rsi5 = i_rsi5_enabled ? request.security(syminfo.tickerid, i_rsi5_tf, ta.rsi(i_rsi5_src, i_rsi5_len)) : na
g_rsi6 = 'RSI #6'
i_rsi6_enabled = input.bool(true, title = 'Enabled', group = g_rsi6)
i_rsi6_tf = input.timeframe('W', 'Timeframe', group = g_rsi6)
i_rsi6_len = input.int(14, 'Length', minval = 1, group = g_rsi6)
i_rsi6_src = input.source(close, 'Source', group = g_rsi6) * 10000
v_rsi6 = i_rsi6_enabled ? request.security(syminfo.tickerid, i_rsi6_tf, ta.rsi(i_rsi6_src, i_rsi6_len)) : na
g_rsi7 = 'RSI #7'
i_rsi7_enabled = input.bool(false, title = 'Enabled', group = g_rsi7)
i_rsi7_tf = input.timeframe('W', 'Timeframe', group = g_rsi7)
i_rsi7_len = input.int(14, 'Length', minval = 1, group = g_rsi7)
i_rsi7_src = input.source(close, 'Source', group = g_rsi7) * 10000
v_rsi7 = i_rsi7_enabled ? request.security(syminfo.tickerid, i_rsi7_tf, ta.rsi(i_rsi7_src, i_rsi7_len)) : na
g_rsi8 = 'RSI #8'
i_rsi8_enabled = input.bool(false, title = 'Enabled', group = g_rsi8)
i_rsi8_tf = input.timeframe('W', 'Timeframe', group = g_rsi8)
i_rsi8_len = input.int(14, 'Length', minval = 1, group = g_rsi8)
i_rsi8_src = input.source(close, 'Source', group = g_rsi8) * 10000
v_rsi8 = i_rsi8_enabled ? request.security(syminfo.tickerid, i_rsi8_tf, ta.rsi(i_rsi8_src, i_rsi8_len)) : na
g_rsi9 = 'RSI #9'
i_rsi9_enabled = input.bool(false, title = 'Enabled', group = g_rsi9)
i_rsi9_tf = input.timeframe('W', 'Timeframe', group = g_rsi9)
i_rsi9_len = input.int(14, 'Length', minval = 1, group = g_rsi9)
i_rsi9_src = input.source(close, 'Source', group = g_rsi9) * 10000
v_rsi9 = i_rsi9_enabled ? request.security(syminfo.tickerid, i_rsi9_tf, ta.rsi(i_rsi9_src, i_rsi9_len)) : na
g_rsi10 = 'RSI #10'
i_rsi10_enabled = input.bool(false, title = 'Enabled', group = g_rsi10)
i_rsi10_tf = input.timeframe('W', 'Timeframe', group = g_rsi10)
i_rsi10_len = input.int(14, 'Length', minval = 1, group = g_rsi10)
i_rsi10_src = input.source(close, 'Source', group = g_rsi10) * 10000
v_rsi10 = i_rsi10_enabled ? request.security(syminfo.tickerid, i_rsi10_tf, ta.rsi(i_rsi10_src, i_rsi10_len)) : na
f_StrPositionToConst(_p) =>
switch _p
'Top Left' => position.top_left
'Top Right' => position.top_right
'Top Center' => position.top_center
'Middle Left' => position.middle_left
'Middle Right' => position.middle_right
'Middle Center' => position.middle_center
'Bottom Left' => position.bottom_left
'Bottom Right' => position.bottom_right
'Bottom Center' => position.bottom_center
=> position.bottom_right
f_timeframeToHuman(_tf) =>
seconds = timeframe.in_seconds(_tf)
if seconds < 60
_tf
else if seconds < 3600
str.tostring(seconds / 60) + 'm'
else if seconds < 86400
str.tostring(seconds / 60 / 60) + 'h'
else
switch _tf
"1D" => "D"
"1W" => "W"
"1M" => "M"
=> str.tostring(_tf)
type TPanel
table src = na
bool vertical_orientation = true
int row = 0
int col = 0
method incCol(TPanel _panel) =>
if _panel.vertical_orientation
_panel.col += 1
else
_panel.row += 1
method incRow(TPanel _panel) =>
if not _panel.vertical_orientation
_panel.col += 1
_panel.row := 0
else
_panel.row += 1
_panel.col := 0
method add(TPanel _panel, string _v1, color _bg1, color _ctext1, string _v2, color _bg2, color _ctext2) =>
table.cell(_panel.src, _panel.col, _panel.row, _v1, text_color = _ctext1, bgcolor = _bg1)
_panel.incCol()
table.cell(_panel.src, _panel.col, _panel.row, _v2, text_color = _ctext2, bgcolor = _bg2)
_panel.incRow()
f_bg(_rsi) =>
c_line = na(_rsi) ? i_color_mid :
_rsi >= i_threshold_ob ? i_color_ob :
_rsi >= i_threshold_uptrend ? i_color_uptrend :
_rsi <= i_threshold_os ? i_color_os :
_rsi <= i_threshold_downtrend ? i_color_downtrend :
i_color_mid
f_rsi_text_color(_rsi) =>
c_line = na(_rsi) ? i_tcolor_mid :
_rsi >= i_threshold_ob ? i_tcolor_ob :
_rsi >= i_threshold_uptrend ? i_tcolor_uptrend :
_rsi <= i_threshold_os ? i_tcolor_os :
_rsi <= i_threshold_downtrend ? i_tcolor_downtrend :
i_tcolor_mid
f_formatRsi(_rsi) => na(_rsi) ? 'N/A' : str.tostring(_rsi, '0.00')
if barstate.islast
v_panel = TPanel.new(vertical_orientation = i_orientation == 'Vertical')
v_max_rows = 20
v_panel.src := table.new(f_StrPositionToConst(i_position), v_max_rows, v_max_rows, border_width = i_border_width, border_color = i_color_border)
if i_showHeaders
v_panel.add('TF', i_color_header_bg, i_color_header_text, 'RSI', i_color_header_bg, i_color_header_text)
if i_rsi1_enabled
v_panel.add(f_timeframeToHuman(i_rsi1_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi1), f_bg(v_rsi1), f_rsi_text_color(v_rsi1))
if i_rsi2_enabled
v_panel.add(f_timeframeToHuman(i_rsi2_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi2), f_bg(v_rsi2), f_rsi_text_color(v_rsi2))
if i_rsi3_enabled
v_panel.add(f_timeframeToHuman(i_rsi3_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi3), f_bg(v_rsi3), f_rsi_text_color(v_rsi3))
if i_rsi4_enabled
v_panel.add(f_timeframeToHuman(i_rsi4_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi4), f_bg(v_rsi4), f_rsi_text_color(v_rsi4))
if i_rsi5_enabled
v_panel.add(f_timeframeToHuman(i_rsi5_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi5), f_bg(v_rsi5), f_rsi_text_color(v_rsi5))
if i_rsi6_enabled
v_panel.add(f_timeframeToHuman(i_rsi6_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi6), f_bg(v_rsi6), f_rsi_text_color(v_rsi6))
if i_rsi7_enabled
v_panel.add(f_timeframeToHuman(i_rsi7_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi7), f_bg(v_rsi7), f_rsi_text_color(v_rsi7))
if i_rsi8_enabled
v_panel.add(f_timeframeToHuman(i_rsi8_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi8), f_bg(v_rsi8), f_rsi_text_color(v_rsi8))
if i_rsi9_enabled
v_panel.add(f_timeframeToHuman(i_rsi9_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi9), f_bg(v_rsi9), f_rsi_text_color(v_rsi9))
if i_rsi10_enabled
v_panel.add(f_timeframeToHuman(i_rsi10_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi10), f_bg(v_rsi10), f_rsi_text_color(v_rsi10))
if i_debug
t = table.new(position.middle_center, 21, 20, border_width = i_border_width, border_color = i_color_border)
v_panel2 = TPanel.new(t, vertical_orientation = i_orientation == 'Vertical')
v_panel2.add('Debug', i_color_header_bg, i_color_header_text, 'Colors', i_color_header_bg, i_color_header_text)
demo = map.new()
map.put(demo, 'Overbought', i_threshold_ob)
map.put(demo, 'Uptrend', i_threshold_uptrend)
map.put(demo, 'No Trend', 50)
map.put(demo, 'Downtrend', i_threshold_downtrend)
map.put(demo, 'Oversold', i_threshold_os)
demoKeys = map.keys(demo)
for key in demoKeys
tf = key
rsi = map.get(demo, key)
v_panel2.add(tf, i_color_tf_bg, i_color_tf_text, f_formatRsi(rsi), f_bg(rsi), f_rsi_text_color(rsi))
CMF, RSI, CCI, MACD, OBV, Fisher, Stoch RSI, ADX (+DI/-DI)Eight normalized indicators are used in conjunction with the CMF, CCI, MACD, and Stoch RSI indicators. You can track buy and sell decisions by tracking swings. The zero line is for reversal tracking at -20, +20, +50, and +80. You can use any of the nine indicators individually or in combination.
CMF, RSI, CCI, MACD, OBV, Fisher, Stoch RSI, ADX (+DI/-DI)Eight normalized indicators are used in conjunction with the CMF, CCI, MACD, and Stoch RSI indicators. You can track buy and sell decisions by tracking swings. The zero line is for reversal tracking at -20, +20, +50, and +80. You can use any of the nine indicators individually or in combination.
Multi Length Market Structure (BoS + ChoCh)█ OVERVIEW
The "Multi Length Market Structure (BoS + ChoCh)" indicator is a technical analysis tool that identifies key pivot points on the chart and signals market structure breaks (Break of Structure - BoS) and changes in market character (Change of Character - ChoCh). It is designed for traders employing market structure-based strategies, enabling the identification of critical support and resistance levels and potential trend reversal points. The indicator offers flexible pivot length settings, customizable colors, and labels, ensuring clarity and precision on the chart.
█ CONCEPTS
The indicator was developed to simplify the identification of changes in market structure, catering to both short-term and longer-term trading strategies. To this end, it simultaneously displays breakouts for four editable pivot lengths. The lengths represent the delay, measured in the number of candles, after which a pivot is recognized. Pivots with larger values are often turning points on higher timeframes, providing a broader view of the market.
Why are BoS and ChoCh important? A Break of Structure (BoS) indicates trend continuation when the price breaks a key level (e.g., a previous high or low). A Change of Character (ChoCh) signals a potential trend reversal when the price breaks a level in the opposite direction of the prior trend. These signals help traders identify moments when the market changes its dynamics, which is crucial for price action strategies.
█ FEATURES
- Pivot Detection: Identifies pivot points (highs and lows) based on four different pivot lengths (default: 5, 10, 15, 20), enabling market structure analysis with varying sensitivity.
- BoS and ChoCh Signals: Generates Break of Structure (BoS) signals in the form of triangles (green for bullish, red for bearish) and Change of Character (ChoCh) signals when the price breaks a key level in the opposite direction of the prior trend.
- Pivot Labels: Displays labels for highs (HH - Higher High, LH - Lower High) and lows (HL - Higher Low, LL - Lower Low) with the option to select which pivot to display them for.
- Customizable Colors and Styles: Allows configuration of colors for BoS and ChoCh signals and pivot labels.
- Alerts: Built-in alerts for BoS and ChoCh signals for each pivot length, including price and signal type descriptions.
█ HOW TO USE
Adding to the Chart: Add the indicator to your TradingView chart via the Pine Editor or Indicators menu.
Configuring Settings:
- Pivot Lengths: Set four different pivot lengths (Pivot Length 1-4, default: 5, 10, 15, 20) to adjust the sensitivity of pivot detection. Shorter lengths are more sensitive, while longer lengths are more significant. If you want to use only one length, set all pivot lengths to the same value.
- Colors and Styles: Configure colors for BoS signals (green for bullish, red for bearish) and pivot labels.
- Labels: Enable/disable the display of HH/HL/LH/LL labels and choose which pivot to display them for (Pivot 1-4 or none).
- Signals: BoS and ChoCh signals are displayed as triangles (upward for bullish BoS, downward for bearish). Alerts can be configured for each signal type.
Interpreting Signals:
- Bullish BoS Signal: A green triangle below the candle indicates a breakout above a previous high, suggesting bullish trend continuation.
- Bearish BoS Signal: A red triangle above the candle indicates a breakout below a previous low, suggesting bearish trend continuation.
- Bullish ChoCh Signal: A green triangle after breaking a high in a downtrend indicates a potential reversal to bullish.
- Bearish ChoCh Signal: A red triangle after breaking a low in an uptrend indicates a potential reversal to bearish.
- Pivot Levels: Use pivot points as dynamic support and resistance levels. Levels from longer pivots carry greater significance.
Combine signals with other technical analysis tools, such as RSI (to identify overbought/oversold conditions) or MACD (to confirm momentum). Analyze market structure on higher timeframes for stronger signals. Be particularly cautious when entering positions if RSI approaches overbought/oversold zones and divergences appear, as this may indicate a trend change.
█ APPLICATIONS
- Breakout Strategies: Trade based on BoS signals indicating trend continuation. A BoS signal after breaking a high in an uptrend may suggest a strong bullish impulse, especially when supported by a rising MACD.
- Reversal Strategies: ChoCh signals may indicate a potential trend reversal, particularly when confirmed by other indicators, such as RSI divergences or Fibonacci levels.
Quantum Flux Universal Strategy Summary in one paragraph
Quantum Flux Universal is a regime switching strategy for stocks, ETFs, index futures, major FX pairs, and liquid crypto on intraday and swing timeframes. It helps you act only when the normalized core signal and its guide agree on direction. It is original because the engine fuses three adaptive drivers into the smoothing gains itself. Directional intensity is measured with binary entropy, path efficiency shapes trend quality, and a volatility squash preserves contrast. Add it to a clean chart, watch the polarity lane and background, and trade from positive or negative alignment. For conservative workflows use on bar close in the alert settings when you add alerts in a later version.
Scope and intent
• Markets. Large cap equities and ETFs. Index futures. Major FX pairs. Liquid crypto
• Timeframes. One minute to daily
• Default demo used in the publication. QQQ on one hour
• Purpose. Provide a robust and portable way to detect when momentum and confirmation align, while dampening chop and preserving turns
• Limits. This is a strategy. Orders are simulated on standard candles only
Originality and usefulness
• Unique concept or fusion. The novelty sits in the gain map. Instead of gating separate indicators, the model mixes three drivers into the adaptive gains that power two one pole filters. Directional entropy measures how one sided recent movement has been. Kaufman style path efficiency scores how direct the path has been. A volatility squash stabilizes step size. The drivers are blended into the gains with visible inputs for strength, windows, and clamps.
• What failure mode it addresses. False starts in chop and whipsaw after fast spikes. Efficiency and the squash reduce over reaction in noise.
• Testability. Every component has an input. You can lengthen or shorten each window and change the normalization mode. The polarity plot and background provide a direct readout of state.
• Portable yardstick. The core is normalized with three options. Z score, percent rank mapped to a symmetric range, and MAD based Z score. Clamp bounds define the effective unit so context transfers across symbols.
Method overview in plain language
The strategy computes two smoothed tracks from the chart price source. The fast track and the slow track use gains that are not fixed. Each gain is modulated by three drivers. A driver for directional intensity, a driver for path efficiency, and a driver for volatility. The difference between the fast and the slow tracks forms the raw flux. A small phase assist reduces lag by subtracting a portion of the delayed value. The flux is then normalized. A guide line is an EMA of a small lead on the flux. When the flux and its guide are both above zero, the polarity is positive. When both are below zero, the polarity is negative. Polarity changes create the trade direction.
Base measures
• Return basis. The step is the change in the chosen price source. Its absolute value feeds the volatility estimate. Mean absolute step over the window gives a stable scale.
• Efficiency basis. The ratio of net move to the sum of absolute step over the window gives a value between zero and one. High values mean trend quality. Low values mean chop.
• Intensity basis. The fraction of up moves over the window plugs into binary entropy. Intensity is one minus entropy, which maps to zero in uncertainty and one in very one sided moves.
Components
• Directional Intensity. Measures how one sided recent bars have been. Smoothed with RMA. More intensity increases the gain and makes the fast and slow tracks react sooner.
• Path Efficiency. Measures the straightness of the price path. A gamma input shapes the curve so you can make trend quality count more or less. Higher efficiency lifts the gain in clean trends.
• Volatility Squash. Normalizes the absolute step with Z score then pushes it through an arctangent squash. This caps the effect of spikes so they do not dominate the response.
• Normalizer. Three modes. Z score for familiar units, percent rank for a robust monotone map to a symmetric range, and MAD based Z for outlier resistance.
• Guide Line. EMA of the flux with a small lead term that counteracts lag without heavy overshoot.
Fusion rule
• Weighted sum of the three drivers with fixed weights visible in the code comments. Intensity has fifty percent weight. Efficiency thirty percent. Volatility twenty percent.
• The blend power input scales the driver mix. Zero means fixed spans. One means full driver control.
• Minimum and maximum gain clamps bound the adaptive gain. This protects stability in quiet or violent regimes.
Signal rule
• Long suggestion appears when flux and guide are both above zero. That sets polarity to plus one.
• Short suggestion appears when flux and guide are both below zero. That sets polarity to minus one.
• When polarity flips from plus to minus, the strategy closes any long and enters a short.
• When flux crosses above the guide, the strategy closes any short.
What you will see on the chart
• White polarity plot around the zero line
• A dotted reference line at zero named Zen
• Green background tint for positive polarity and red background tint for negative polarity
• Strategy long and short markers placed by the TradingView engine at entry and at close conditions
• No table in this version to keep the visual clean and portable
Inputs with guidance
Setup
• Price source. Default ohlc4. Stable for noisy symbols.
• Fast span. Typical range 6 to 24. Raising it slows the fast track and can reduce churn. Lowering it makes entries more reactive.
• Slow span. Typical range 20 to 60. Raising it lengthens the baseline horizon. Lowering it brings the slow track closer to price.
Logic
• Guide span. Typical range 4 to 12. A small guide smooths without eating turns.
• Blend power. Typical range 0.25 to 0.85. Raising it lets the drivers modulate gains more. Lowering it pushes behavior toward fixed EMA style smoothing.
• Vol window. Typical range 20 to 80. Larger values calm the volatility driver. Smaller values adapt faster in intraday work.
• Efficiency window. Typical range 10 to 60. Larger values focus on smoother trends. Smaller values react faster but accept more noise.
• Efficiency gamma. Typical range 0.8 to 2.0. Above one increases contrast between clean trends and chop. Below one flattens the curve.
• Min alpha multiplier. Typical range 0.30 to 0.80. Lower values increase smoothing when the mix is weak.
• Max alpha multiplier. Typical range 1.2 to 3.0. Higher values shorten smoothing when the mix is strong.
• Normalization window. Typical range 100 to 300. Larger values reduce drift in the baseline.
• Normalization mode. Z score, percent rank, or MAD Z. Use MAD Z for outlier heavy symbols.
• Clamp level. Typical range 2.0 to 4.0. Lower clamps reduce the influence of extreme runs.
Filters
• Efficiency filter is implicit in the gain map. Raising efficiency gamma and the efficiency window increases the preference for clean trends.
• Micro versus macro relation is handled by the fast and slow spans. Increase separation for swing, reduce for scalping.
• Location filter is not included in v1.0. If you need distance gates from a reference such as VWAP or a moving mean, add them before publication of a new version.
Alerts
• This version does not include alertcondition lines to keep the core minimal. If you prefer alerts, add names Long Polarity Up, Short Polarity Down, Exit Short on Flux Cross Up in a later version and select on bar close for conservative workflows.
Strategy has been currently adapted for the QQQ asset with 30/60min timeframe.
For other assets may require new optimization
Properties visible in this publication
• Initial capital 25000
• Base currency Default
• Default order size method percent of equity with value 5
• Pyramiding 1
• Commission 0.05 percent
• Slippage 10 ticks
• Process orders on close ON
• Bar magnifier ON
• Recalculate after order is filled OFF
• Calc on every tick OFF
Honest limitations and failure modes
• Past results do not guarantee future outcomes
• Economic releases, circuit breakers, and thin books can break the assumptions behind intensity and efficiency
• Gap heavy symbols may benefit from the MAD Z normalization
• Very quiet regimes can reduce signal contrast. Use longer windows or higher guide span to stabilize context
• Session time is the exchange time of the chart
• If both stop and target can be hit in one bar, tie handling would matter. This strategy has no fixed stops or targets. It uses polarity flips for exits. If you add stops later, declare the preference
Open source reuse and credits
• None beyond public domain building blocks and Pine built ins such as EMA, SMA, standard deviation, RMA, and percent rank
• Method and fusion are original in construction and disclosure
Legal
Education and research only. Not investment advice. You are responsible for your decisions. Test on historical data and in simulation before any live use. Use realistic costs.
Strategy add on block
Strategy notice
Orders are simulated by the TradingView engine on standard candles. No request.security() calls are used.
Entries and exits
• Entry logic. Enter long when both the normalized flux and its guide line are above zero. Enter short when both are below zero
• Exit logic. When polarity flips from plus to minus, close any long and open a short. When the flux crosses above the guide line, close any short
• Risk model. No initial stop or target in v1.0. The model is a regime flipper. You can add a stop or trail in later versions if needed
• Tie handling. Not applicable in this version because there are no fixed stops or targets
Position sizing
• Percent of equity in the Properties panel. Five percent is the default for examples. Risk per trade should not exceed five to ten percent of equity. One to two percent is a common choice
Properties used on the published chart
• Initial capital 25000
• Base currency Default
• Default order size percent of equity with value 5
• Pyramiding 1
• Commission 0.05 percent
• Slippage 10 ticks
• Process orders on close ON
• Bar magnifier ON
• Recalculate after order is filled OFF
• Calc on every tick OFF
Dataset and sample size
• Test window Jan 2, 2014 to Oct 16, 2025 on QQQ one hour
• Trade count in sample 324 on the example chart
Release notes template for future updates
Version 1.1.
• Add alertcondition lines for long, short, and exit short
• Add optional table with component readouts
• Add optional stop model with a distance unit expressed as ATR or a percent of price
Notes. Backward compatibility Yes. Inputs migrated Yes.
ORBs, EMAs, AVWAPThis Pine Script (version 6) is a multi-session trading indicator that combines Opening Range Breakouts (ORBs), Exponential Moving Averages (EMAs), and an Anchored VWAP (AVWAP) system — all in one overlay script for TradingView.
Here’s a clear breakdown of its structure and functionality:
🕒 1. Session Logic and ORB Calculation
Purpose: Identify and plot the high and low of the first 30 minutes (default) for the Tokyo, London, and New York trading sessions.
Session Anchors (NY time):
Tokyo → 20:00
London → 03:00
New York → 09:30
(All configurable in inputs.)
ORB Duration: Default is 30 minutes (orbDurationMin), also user-configurable.
Resets:
London and NY ORBs reset at the start of each new New York trading day (17:00 NY time).
Tokyo ORB resets independently using a stored timestamp.
Process:
For each session:
While the time is within the ORB window, the script captures the session’s high and low.
Once the window closes, those levels remain plotted until reset.
Plot Colors:
Tokyo → Yellow (#fecc02)
London → Gray (#8c9a9c)
New York → Magenta (#ff00c8)
These form visible horizontal lines marking the prior session ranges — useful for breakout or retest trading setups.
📈 2. EMA System
Purpose: Provide trend and dynamic support/resistance guidance.
It calculates and plots four EMAs:
EMA Period Color Purpose
EMA 9 Short-term Green Fast signal
EMA 20 Short-term Red Confirms direction
EMA 113 Medium Aqua Trend filter
EMA 200 Long-term Orange Macro trend baseline
Each EMA is plotted directly on the price chart for visual confluence with ORB and VWAP levels.
⚖️ 3. Anchored VWAP (AVWAP)
Purpose: Display a volume-weighted average price anchored to specific timeframes or events, optionally with dynamic deviation or percentage bands.
Features:
Anchor Options:
Time-based: Session, Week, Month, Quarter, Year, Decade, Century
Event-based: Earnings, Dividends, Splits
VWAP resets when the chosen anchor condition is met (e.g., new month, new earnings event, etc.).
Bands:
Up to three levels of symmetric upper/lower bands.
Choose between Standard Deviation or Percentage-based widths.
Display Toggles:
Each band’s visibility is optional.
VWAP can be hidden on 1D+ timeframes (hideonDWM option).
Color Scheme:
VWAP: Fuchsia (magenta-pink) line
Bands: Green / Olive / Teal with light-filled zones
⚙️ 4. Technical Highlights
Uses ta.vwap() with built-in band calculations.
Handles instruments with or without volume (errors if missing volume).
Uses time-zone aware timestamps (timestamp(NY_TZ, …)).
Uses timeframe.change() to detect new anchors for the VWAP.
Employs persistent variables (var) to maintain session state across bars.
💡 In Practice
This indicator is designed for multi-session intraday traders who:
Trade Tokyo, London, or NY open breakouts or retests.
Use EMA stacking and crossovers for trend confirmation.
Use Anchored VWAP as a fair-value or mean-reversion reference.
Need clear visual structure across different market sessions.
It provides strong session separation, trend context, and volume-weighted price reference — making it ideal for discretionary or semi-systematic trading strategies focused on liquidity zones and session momentum.
Chart Fusion Line SND Detection by TitikSona🧭 Overview
Fusion Line Momentum Analyzer is a momentum visualization tool that introduces a unified model of oscillator fusion.
It blends Fast and Slow Stochastics with RSI into one adaptive curve, designed to eliminate conflicting signals between different momentum sources.
Instead of reading three separate oscillators, the Fusion Line provides a consolidated view of strength and exhaustion zones in a single framework.
This approach helps analysts detect aligned momentum shifts with greater clarity and less noise, without repainting or lagging methods.
⚙️ Core Concept
Traditional oscillators often provide conflicting readings when volatility changes.
To solve this, the Fusion Line averages three normalized components:
Fast Stochastic (12,3,3) — reacts quickly to short-term momentum spikes.
Slow Stochastic (100,8,8) — filters long-term momentum context.
RSI (26) — measures internal strength between buying and selling pressure.
Each is rescaled to a 0–100 range, then averaged into a single curve called the Fusion Line.
A secondary Signal Line (SMA 9) is added to visualize directional confirmation.
This combination aims to preserve responsiveness from the fast components while maintaining structural stability from the slow and RSI layers.
🌈 Features
Unified momentum curve combining stochastic and RSI dynamics.
Automatic bias shading to highlight dominant trend direction.
Real-time percentage strength meter (visual intensity).
Configurable alert triggers on key momentum zones (20/80).
Clean chart display without unnecessary elements or overlays.
📘 Interpretation
Rising Fusion Line → indicates strengthening bullish momentum.
Falling Fusion Line → indicates strengthening bearish pressure.
Fusion values below 20 → potential oversold recovery.
Fusion values above 80 → possible exhaustion or reversal zone.
Mid-zone movement → reflects equilibrium or sideways momentum.
These readings should always be combined with higher timeframe structure or volume confirmation for context.
⚙️ Default Parameters
Fast Stochastic (12,3,3)
Slow Stochastic (100,8,8)
RSI Length (26)
Signal Line Smoothing (9)
All values can be adjusted to adapt to asset volatility or timeframe conditions.
⚠️ Disclaimer
This indicator is a research and visualization tool, not a signal generator.
It does not predict price movement or guarantee performance.
Use for analytical purposes only and combine with your own trading framework.
👨💻 Developer
Created by TitikSona — Research & Fusion Concept Designer
Built using Pine Script v6
Type: Open-source educational script
💬 Short Description
Fusion-based momentum visualization combining Double Stochastic and RSI into one adaptive line for clearer, noise-free momentum analysis.
Forecast PriceTime Oracle [CHE] Forecast PriceTime Oracle — Prioritizes quality over quantity by using Power Pivots via RSI %B metric to forecast future pivot highs/lows in price and time
Summary
This indicator identifies potential pivot highs and lows based on out-of-bounds conditions in a modified RSI %B metric, then projects future occurrences by estimating time intervals and price changes from historical medians. It provides visual forecasts via diagonal and horizontal lines, tracks achievement with color changes and symbols, and displays a dashboard for statistical overview including hit rates. Signals are robust due to median-based aggregation, which reduces outlier influence, and optional tolerance settings for near-misses, making it suitable for anticipating reversals in ranging or trending markets.
Motivation: Why this design?
Standard pivot detection often lags or generates false signals in volatile conditions, missing the timing of true extrema. This design leverages out-of-bounds excursions in RSI %B to capture "Power Pivots" early—focusing on quality over quantity by prioritizing significant extrema rather than every minor swing—then uses historical deltas in time and price to forecast the next ones, addressing the need for proactive rather than reactive analysis. It assumes that pivot spacing follows statistical patterns, allowing users to prepare entries or exits ahead of confirmation.
What’s different vs. standard approaches?
- Reference baseline: Diverges from traditional ta.pivothigh/low, which require fixed left/right lengths and confirm only after bars close, often too late for dynamic markets.
- Architecture differences:
- Detects extrema during OOB runs rather than post-bar symmetry.
- Aggregates deltas via medians (or alternatives) over a user-defined history, capping arrays to manage resources.
- Applies tolerance thresholds for hit detection, with options for percentage, absolute, or volatility-adjusted (ATR) flexibility.
- Freezes achieved forecasts with visual states to avoid clutter.
- Practical effect: Charts show proactive dashed projections instead of retrospective dots; the dashboard reveals evolving hit rates, helping users gauge reliability over time without manual calculation.
How it works (technical)
The indicator first computes a smoothed RSI over a specified length, then applies Bollinger Bands to derive %B, flagging out-of-bounds below zero or above one hundred as potential run starts. During these runs, it tracks the extreme high or low price and bar index. Upon exit from the OOB state, it confirms the Power Pivot at that extreme and records the time delta (bars since prior) and price change percentage to rolling arrays.
For forecasts, it calculates the median (or selected statistic) of recent deltas, subtracts the confirmation delay (bars from apex to exit), and projects ahead by that adjusted amount. Price targets use the median change applied to the origin pivot value. Lines are drawn from the apex to the target bar and price, with a short horizontal at the endpoint. Arrays store up to five active forecasts, pruning oldest on overflow.
Tolerance adjusts hit checks: for highs, if the high reaches or exceeds the target (adjusted by tolerance); for lows, if the low drops to or below. Once hit, the forecast freezes, changing colors and symbols, and extends the horizontal to the hit bar. Persistent variables maintain last pivot states across bars; arrays initialize empty and grow until capped at history length.
Parameter Guide
Source: Specifies the data input for the RSI computation, influencing how price action is captured. Default is close. For conservative signals in noisy environments, switch to high; using low boosts responsiveness but may increase false positives.
RSI Length: Sets the smoothing period for the RSI calculation, with longer values helping to filter out whipsaws. Default is 32. Opt for shorter lengths like 14 to 21 on faster timeframes for quicker reactions, or extend to 50 or more in strong trends to enhance stability at the cost of some lag.
BB Length: Defines the period for the Bollinger Bands applied to %B, directly affecting how often out-of-bounds conditions are triggered. Default is 20. Align it with the RSI length: shorter periods detect more potential runs but risk added noise, while longer ones provide better filtering yet might overlook emerging extrema.
BB StdDev: Controls the multiplier for the standard deviation in the bands, where wider settings reduce false out-of-bounds alerts. Default is 2.0. Narrow it to 1.5 for highly volatile assets to catch more signals, or broaden to 2.5 or higher to emphasize only major movements.
Show Price Forecast: Enables or disables the display of diagonal and target lines along with their updates. Default is true. Turn it off for simpler chart views, or keep it on to aid in trade planning.
History Length: Determines the number of recent pivot samples used for median-based statistics, where more history leads to smoother but potentially less current estimates. Default is 50. Start with a minimum of 5 to build data; limit to 100 to 200 to prevent outdated regimes from skewing results.
Max Lookahead: Limits the number of bars projected forward to avoid overly extended lines. Default is 500. Reduce to 100 to 200 for intraday focus, or increase for longer swing horizons.
Stat Method: Selects the aggregation technique for time and price deltas: Median for robustness against outliers, Trimmed Mean (20%) for a balanced trim of extremes, or 75th Percentile for a conservative upward tilt. Default is Median. Use Median for even distributions; switch to Percentile when emphasizing potential upside in trending conditions.
Tolerance Type: Chooses the approach for flexible hit detection: None for exact matches, Percentage for relative adjustments, Absolute for fixed point offsets, or ATR for scaling with volatility. Default is None. Begin with Percentage at 0.5 percent for currency pairs, or ATR for adapting to cryptocurrency swings.
Tolerance %: Provides the relative buffer when using Percentage mode, forgiving small deviations. Default is 0.5. Set between 0.2 and 1.0 percent; higher values accommodate gaps but can overstate hit counts.
Tolerance Points: Establishes a fixed offset in price units for Absolute mode. Default is 0.0010. Tailor to the asset, such as 0.0001 for forex pairs, and validate against past wick behavior.
ATR Length: Specifies the period for the Average True Range in dynamic tolerance calculations. Default is 14. This is the standard setting; shorten to 10 to reflect more recent volatility.
ATR Multiplier: Adjusts the ATR scale for tolerance width in ATR mode. Default is 0.5. Range from 0.3 for tighter precision to 0.8 for greater leniency.
Dashboard Location: Positions the summary table on the chart. Default is Bottom Right. Consider Top Left for better visibility on mobile devices.
Dashboard Size: Controls the text scaling for dashboard readability. Default is Normal. Choose Tiny for dense overlays or Large for detailed review sessions.
Text/Frame Color: Sets the color scheme for dashboard text and borders. Default is gray. Align with your chart theme, opting for lighter shades on dark backgrounds.
Reading & Interpretation
Forecast lines appear as dashed diagonals from confirmed pivots to projected targets, with solid horizontals at endpoints marking price levels. Open targets show a target symbol (🎯); achieved ones switch to a trophy symbol (🏆) in gray, with lines fading to gray. The dashboard summarizes median time/price deltas, sample counts, and hit rates—rising rates indicate improving forecast alignment. Colors differentiate highs (red) from lows (lime); frozen states signal validated projections.
Practical Workflows & Combinations
- Trend following: Enter long on low forecast hits during uptrends (higher highs/lower lows structure); filter with EMA crossovers to ignore counter-trend signals.
- Reversal setups: Short above high projections in overextended rallies; use volume spikes as confirmation to reduce false breaks.
- Exits/Stops: Trail stops to prior pivot lows; conservative on low hit rates (below 50%), aggressive above 70% with tight tolerance.
- Multi-TF: Apply on 1H for entries, 4H for time projections; combine with Ichimoku clouds for confluence on targets.
- Risk management: Position size inversely to delta uncertainty (wider history = smaller bets); avoid low-liquidity sessions.
Behavior, Constraints & Performance
Confirmation occurs on OOB exit, so live-bar pivots may adjust until close, but projections update only on events to minimize repaint. No security or HTF calls, so no external lookahead issues. Arrays cap at history length with shifts; forecasts limited to five active, pruning FIFO. Loops iterate over small fixed sizes (e.g., up to 50 for stats), efficient on most hardware. Max lines/labels at 500 prevent overflow.
Known limits: Sensitive to OOB parameter tuning—too tight misses runs; assumes stationary pivot stats, which may shift in regime changes like low vol. Gaps or holidays distort time deltas.
Sensible Defaults & Quick Tuning
Defaults suit forex/crypto on 1H–4H: RSI 32/BB 20 for balanced detection, Median stats over 50 samples, None tolerance for exactness.
- Too many false runs: Increase BB StdDev to 2.5 or RSI Length to 50 for filtering.
- Lagging forecasts: Shorten History Length to 20; switch to 75th Percentile for forward bias.
- Missed near-hits: Enable Percentage tolerance at 0.3% to capture wicks without overcounting.
- Cluttered charts: Reduce Max Lookahead to 200; disable dashboard on lower TFs.
What this indicator is—and isn’t
This is a forecasting visualization layer for pivot-based analysis, highlighting statistical projections from historical patterns. It is not a standalone system—pair with price action, volume, and risk rules. Not predictive of all turns; focuses on OOB-derived extrema, ignoring volume or news impacts.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
REMS Synergy OverlayThis 3rd generation REMS indicator builds upon the foundations assessing the relationships between RSI, EMAs, MACDs, and Stochastic RSI across multiple timeframes. Designed to help traders identify less frequent, but high probability entries across 2 time frames. Uses 3 levels of confluence indicators for both long and short moves.
Confluence Level 1 (Highest Conviction):
Evaluates selected criteria across both timeframes. All selected criteria must be in confluence to trigger signal.
Confluence Level 2 (Moderate Conviction):
Selected criteria can be selected by each timeframe individually. All selected criteria must be in confluence to trigger signal.
Confluence Level 3 (Lower/supportive confluence):
Of the selected criteria, this level can evaluate a set number of conditions that must be met. Number of conditions is user-defined.
Includes VWAP and 4 EMAs as optional visual representations.
Includes 'Enhanced Candles' than can colour code candlesticks for better visual identification. (off by default)
Originally designed with 5 minute and 2 minute timeframes in mind, and pairs well with REMS First Strike and/or REMS Snap Shot indicators.
Values coded below:
RSI
-Primary: Length = 14, Smoothing = 20 (via SMA)
-Secondary: Length = 7, Smoothing = 20 (via SMA)
Stochastic RSI
Primary:
-RSI Length = 14
-Stochastic Length = 8
-%K = 3, %D = 3
Secondary:
-RSI Length = 7
-Stochastic Length = 7
-%K = 3, %D = 2
MACD - applied to both timeframes
-Fast = 12, Slow = 26, Signal = 9