Fibonacci Sequence Moving Average [BackQuant]Fibonacci Sequence Moving Average with Adaptive Oscillator
1. Overview
The Fibonacci Sequence Moving Average indicator is a two‑part trading framework that combines a custom moving average built from the famous Fibonacci number set with a fully featured oscillator, normalisation engine and divergence suite. The moving average half delivers an adaptive trend line that respects natural market rhythms, while the oscillator half translates that trend information into a bounded momentum stream that is easy to read, easy to compare across assets and rich in confluence signals. Everything from weighting logic to colour palettes can be customised, so the tool comfortably fits scalpers zooming into one‑minute candles as well as position traders running multi‑month trend following campaigns.
2. Core Calculation
Fibonacci periods – The default length array is 5, 8, 13, 21, 34. A single multiplier input lets you scale the whole family up or down without breaking the golden‑ratio spacing. For example a multiplier of 3 yields 15, 24, 39, 63, 102.
Component averages – Each period is passed through Simple Moving Average logic to produce five baseline curves (ma1 through ma5).
Weighting methods – You decide how those five values are blended:
• Equal weighting treats every curve the same.
• Linear weighting applies factors 1‑to‑5 so the slowest curve counts five times as much as the fastest.
• Exponential weighting doubles each step for a fast‑reacting yet still smooth line.
• Fibonacci weighting multiplies each curve by its own period value, honouring the spirit of ratio mathematics.
Smoothing engine – The blended average is then smoothed a second time with your choice of SMA, EMA, DEMA, TEMA, RMA, WMA or HMA. A short smoothing length keeps the result lively, while longer lengths create institution‑grade glide paths that act like dynamic support and resistance.
3. Oscillator Construction
Once the smoothed Fib MA is in place, the script generates a raw oscillator value in one of three flavours:
• Distance – Percentage distance between price and the average. Great for mean‑reversion.
• Momentum – Percentage change of the average itself. Ideal for trend acceleration studies.
• Relative – Distance divided by Average True Range for volatility‑aware scaling.
That raw series is pushed through a look‑back normaliser that rescales every reading into a fixed −100 to +100 window. The normalisation window defaults to 100 bars but can be tightened for fast markets or expanded to capture long regimes.
4. Visual Layer
The oscillator line is gradient‑coloured from deep red through sky blue into bright green, so you can spot subtle momentum shifts with peripheral vision alone. There are four horizontal guide lines: Extreme Bear at −50, Bear Threshold at −20, Bull Threshold at +20 and Extreme Bull at +50. Soft fills above and below the thresholds reinforce the zones without cluttering the chart.
The smoothed Fib MA can be plotted directly on price for immediate trend context, and each of the five component averages can be revealed for educational or research purposes. Optional bar‑painting mirrors oscillator polarity, tinting candles green when momentum is bullish and red when momentum is bearish.
5. Divergence Detection
The script automatically looks for four classes of divergences between price pivots and oscillator pivots:
Regular Bullish, signalling a possible bottom when price prints a lower low but the oscillator prints a higher low.
Hidden Bullish, often a trend‑continuation cue when price makes a higher low while the oscillator slips to a lower low.
Regular Bearish, marking potential tops when price carves a higher high yet the oscillator steps down.
Hidden Bearish, hinting at ongoing downside when price posts a lower high while the oscillator pushes to a higher high.
Each event is tagged with an ℝ or ℍ label at the oscillator pivot, colour‑coded for clarity. Look‑back distances for left and right pivots are fully adjustable so you can fine‑tune sensitivity.
6. Alerts
Five ready‑to‑use alert conditions are included:
• Bullish when the oscillator crosses above +20.
• Bearish when it crosses below −20.
• Extreme Bullish when it pops above +50.
• Extreme Bearish when it dives below −50.
• Zero Cross for momentum inflection.
Attach any of these to TradingView notifications and stay updated without staring at charts.
7. Practical Applications
Swing trading trend filter – Plot the smoothed Fib MA on daily candles and only trade in its direction. Enter on oscillator retracements to the 0 line.
Intraday reversal scouting – On short‑term charts let Distance mode highlight overshoots beyond ±40, then fade those moves back to mean.
Volatility breakout timing – Use Relative mode during earnings season or crypto news cycles to spot momentum surges that adjust for changing ATR.
Divergence confirmation – Layer the oscillator beneath price structure to validate double bottoms, double tops and head‑and‑shoulders patterns.
8. Input Summary
• Source, Fibonacci multiplier, weighting method, smoothing length and type
• Oscillator calculation mode and normalisation look‑back
• Divergence look‑back settings and signal length
• Show or hide options for every visual element
• Full colour and line width customisation
9. Best Practices
Avoid using tiny multipliers on illiquid assets where the shortest Fibonacci window may drop under three bars. In strong trends reduce divergence sensitivity or you may see false counter‑trend flags. For portfolio scanning set oscillator to Momentum mode, hide thresholds and colour bars only, which turns the indicator into a heat‑map that quickly highlights leaders and laggards.
10. Final Notes
The Fibonacci Sequence Moving Average indicator seeks to fuse the mathematical elegance of the golden ratio with modern signal‑processing techniques. It is not a standalone trading system, rather a multi‑purpose information layer that shines when combined with market structure, volume analysis and disciplined risk management. Always test parameters on historical data, be mindful of slippage and remember that past performance is never a guarantee of future results. Trade wisely and enjoy the harmony of Fibonacci mathematics in your technical toolkit.
Cari skrip untuk "bear"
Multi SMA AnalyzerMulti SMA Analyzer with Custom SMA Table & Advanced Session Logic
A feature-rich SMA analysis suite for traders, offering up to 7 configurable SMAs, in-depth trend detection, real-time table, and true session-aware calculations.
Ideal for those who want to combine intraday, swing, and higher-timeframe trend analysis with maximum chart flexibility.
Key Features
📊 Multi-SMA Overlay
- 7 SMAs (default: 5, 20, 50, 100, 200, 21, 34)—individually configurable (period, source, color, line style)
- Show/hide each SMA, custom line style (solid, stepline, circles), and color logic
- Dynamic color: full opacity above SMA, reduced when below
⏰ Session-Aware SMAs
- Each SMA can be calculated using only user-defined session hours/days/timezone
- “Ignore extended hours” option for accurate intraday trend
📋 Smart Data Table
- Live SMA values, % distance from price, and directional arrows (↑/↓/→)
- Bull/Bear/Sideways trend classification
- Custom table position, size, colors, transparency
- Table can run on chart or custom (higher) timeframe for multi-TF analysis
🎯 Golden/Death Cross Detection
- Flexible crossover engine: select any two from (5, 10, 20, 50, 100, 200) for fast/slow SMA cross signals
- Plots icons (★ Golden, 💀 Death), optional crossover labels with custom size/colors
🏷️ SMA Labels
- Optional on-chart SMA period labels
- Custom placement (above/below/on line), size, color, offset
🚨 Signal & Trend Engine
- Bull/Bear/Sideways logic: price vs. multiple SMAs (not just one pair)
- Volume spike detection (2x 20-period SMA)
- Bullish engulfing candlestick detection
- All signals can use chart or custom table timeframe
🎨 Visual Customization
- Dynamic background color (Bull: green, Bear: red, Neutral: gray)
- Every visual aspect is customizable: label/table colors, transparency, size, position
🔔 Built-in Alerts
- Crossovers (SMA20/50, Golden/Death)
- Bull trend, volume spikes, engulfing pattern—all alert-ready
How It Works
- Session Filtering:
- SMAs can be set to count only bars from your chosen market session, for true intraday/trading-hour signals
Dynamic Table & Signals:
- Table and all signal logic run on your selected chart or custom timeframe
Flexible Crossover:
- Choose any pair (5, 10, 20, 50, 100, 200) for cross detection—SMA 10 is available for crossover even if not shown as an SMA line
Everything is modular:
- Toggle features, set visuals, and alerts to your workflow
🚨 How to Use Alerts
- All key signals (crossovers, trend shifts, volume spikes, engulfing patterns) are available as alert conditions.
To enable:
- Click the “Alerts” (clock) icon at the top of TradingView.
- Select your desired signal (e.g., “Golden Cross”) from the condition dropdown.
- Set your alert preferences and create the alert.
- Now, you’ll get notified automatically whenever a signal occurs!
Perfect For
- Multi-timeframe and swing traders seeking higher timeframe SMA confirmation
- Intraday traders who want to ignore pre/post-market data
- Anyone wanting a modern, powerful, fully customizable multi-SMA overlay
// P.S: Experiment with Golden Cross where Fast SMA is 5 and Slow SMA is 20.
// Set custom timeframe for 4 hr while monitoring your chart on 15 min time frame.
// Enable Background Color and Use Table Timeframe for Background.
// Uncheck Pine labels in Style tab.
Clean, open-source, and loaded with pro features—enjoy!
Like, share, and let me know if you'd like any new features added.
Market Pulse ProMarket Pulse Pro (Pulse‑X) — User Guide
Market Pulse Pro, also known as Pulse‑X, is an advanced momentum indicator that combines SMI, Stochastic RSI, and a smoothed signal line to identify zones of buying and selling strength in the market. It is designed to assess the balance of power between bulls and bears with clear visualizations.
How It Works
The indicator calculates three main components:
SMI (Stochastic Momentum Index) – measures price position relative to its recent range.
Stochastic RSI – captures overbought/oversold extremes of the RSI.
Smoothed Signal Line – based on closing price, smoothed using various methods (such as HMA, EMA, etc.).
Each component is normalized to create two final values:
Bull Herd (Buying Strength) – green line.
Bear Winter (Selling Strength) – red line.
Interpretation
Bull Herd (high green values): Bulls dominate the market. May indicate the start or continuation of an uptrend.
Bear Winter (high red values): Bears dominate. May indicate reversal or continuation of a downtrend.
Convergence around 50%: Market is balanced. Signals are weaker or indecisive.
Tip: Combine with price action analysis or support/resistance levels to confirm entries.
Customizable Settings
You can adjust:
SMI Period, Smooth K, and D – control the sensitivity of the SMI.
RSI Period – sets the RSI calculation window.
Signal Period – period for the price-based signal line.
Smoothing Methods – choose between HMA, EMA, WMA, JMA, SMMA, etc.
Line Width – thickness of the plotted lines.
Note: The JMA (Jurik Moving Average) used in this script is not the original proprietary version.
It is a custom public version, based on open-source code shared by the TradingView community.
The original JMA is copyrighted and owned by Jurik Research.
How to Use It in Practice
Buy Entries
When the green Bull Herd line crosses above 60 and the red Bear Winter line falls below 40.
Entry is more reliable if the green line is rising steadily.
Sell Entries
When the red Bear Winter line crosses above 60 and the green Bull Herd line falls.
Signals are stronger when there is a clear crossover and divergence between the two lines.
Avoid trading near the neutral zone (~50%), where the market shows indecision.
Additional Tips
Combine with volume analysis or reversal candlestick patterns for higher accuracy.
Test different smoothing methods: HMA is more responsive, SMMA is smoother and slower.
Canuck Trading Projection IndicatorCanuck Trading Projection Indicator
Overview
The Canuck Trading Projection Indicator is a powerful PineScript v6 tool designed for TradingView to project potential bullish and bearish price trajectories based on historical price and volume movements. It provides traders with actionable insights by estimating future price targets and assigning confidence levels to each outlook, helping to identify probable market directions across any timeframe. Ideal for both short-term and long-term traders, this indicator combines momentum analysis, RSI filtering, support/resistance detection, and time-weighted trend analysis to deliver robust projections.
Features
Bullish and Bearish Projections: Forecasts price targets for upward (bullish) and downward (bearish) movements over a user-defined projection period (default 20 bars).
Confidence Levels: Assigns percentage confidence scores to each outlook, reflecting the likelihood of the projected price based on historical trends, volatility, and volume.
RSI Filter: Incorporates a 14-period Relative Strength Index (RSI) to validate trends, requiring RSI > 50 for bullish and RSI < 50 for bearish signals.
Support/Resistance Detection: Adjusts confidence levels when projections are near key swing highs/lows (within 2% of average price), boosting confidence by 5% for alignments.
Time-Based Weighting: Prioritizes recent price movements in trend analysis, giving more weight to newer bars for improved relevance.
Customizable Inputs: Allows users to tailor lookback period, projection bars, RSI period, confidence threshold, colors, and label positioning.
Forced Label Spacing: Prevents overlap of bullish and bearish text labels, even for tight projections, using fixed vertical slots when price differences are small (<2% of average price).
Timeframe Flexibility: Works seamlessly across all TradingView timeframes (e.g., 30-minute, hourly, daily, weekly, monthly), adapting projections to the chart’s resolution.
Clean Visualization: Displays projections as green (bullish) and red (bearish) dashed lines, with non-overlapping text labels at the projection endpoints showing price targets and confidence levels.
How It Works
The indicator analyzes historical price and volume data over a user-defined lookback period (default 50 bars) to calculate:
Momentum: Combines price changes and volume to assess trend strength, using a weighted moving average (WMA) for directional bias.
Trend Analysis: Counts bullish (price up, volume above average, RSI > 50) and bearish (price down, volume above average, RSI < 50) trends, weighting recent bars more heavily.
Projections:
Bullish Slope: Positive or flat when momentum is upward, scaled by price change and momentum intensity.
Bearish Slope: Negative or flat when momentum is downward, amplified by bearish confidence for stronger projections.
Projects prices forward by 20 bars (default) using current close plus slope times projection bars.
Confidence Levels:
Base confidence derived from the proportion of bullish/bearish trends, with a 5% minimum to avoid zero confidence.
Adjusted by volatility (lower volatility increases confidence), volume trends, and proximity to support/resistance levels.
Visualization:
Draws projection lines from the current close to the 20-bar future target.
Places text labels at line endpoints, showing price targets and confidence percentages, with forced spacing for readability.
Input Parameters
Lookback Period (default: 50): Number of bars for historical analysis (minimum 10).
Projection Bars (default: 20): Number of bars to project forward (minimum 5).
Confidence Threshold (default: 0.6): Minimum confidence for strong trend indication (0.1 to 1.0).
Bullish Projection Line Color (default: Green): Color for bullish projection line and label.
Bearish Projection Line Color (default: Red): Color for bearish projection line and label.
RSI Period (default: 14): Period for RSI momentum filter (minimum 5).
Label Vertical Offset (%) (default: 1.0): Base offset for labels as a percentage of price range (0.1% to 5.0%).
Minimum Label Spacing (%) (default: 2.0): Minimum vertical spacing between labels for tight projections (0.5% to 10.0%).
Usage Instructions
Add to Chart: Copy the script into TradingView’s Pine Editor, save, and add the indicator to your chart.
Select Timeframe: Apply to any timeframe (e.g., 30-minute, hourly, daily, weekly, monthly) to match your trading strategy.
Interpret Outputs:
Green Line/Label: Bullish price target and confidence (e.g., "Bullish: 414.37, Confidence: 35%").
Red Line/Label: Bearish price target and confidence (e.g., "Bearish: 279.08, Confidence: 41.3%").
Higher confidence indicates a stronger likelihood of the projected outcome.
Adjust Inputs:
Modify Lookback Period to focus on shorter/longer historical trends (e.g., 20 for short-term, 100 for long-term).
Change Projection Bars to adjust forecast horizon (e.g., 10 for shorter, 50 for longer).
Tweak RSI Period or Confidence Threshold for sensitivity to momentum or trend strength.
Customize Colors for visual preference.
Increase Minimum Label Spacing if labels overlap in volatile markets.
Combine with Analysis: Use alongside other indicators (e.g., moving averages, Bollinger Bands) or fundamental analysis to confirm signals, as projections are probabilistic.
Example: TSLA Across Timeframes
Using live TSLA data (close ~346.46 USD, May 31, 2025), the indicator produces:
30-Minute: Bullish 341.93 (13.3%), Bearish 327.96 (86.7%) – Strong bearish sentiment due to intraday volatility.
1-Hour: Bullish 342.00 (33.9%), Bearish 327.50 (62.3%) – Bearish but less intense, reflecting hourly swings.
4-Hour: Bullish 345.52 (73.4%), Bearish 344.44 (19.0%) – Flat outlook, indicating consolidation.
Daily: Bullish 391.26 (68.8%), Bearish 302.22 (31.2%) – Bullish bias from recent uptrend, bearish tempered by longer lookback.
Weekly: Bullish 414.37 (35.0%), Bearish 279.08 (41.3%) – Wide range, reflecting annual volatility.
Monthly: Bullish 396.70 (54.9%), Bearish 296.93 (10.2%) – Long-term bullish optimism.
These results align with market dynamics: short-term intervals capture volatility, while longer intervals smooth trends, providing balanced outlooks.
Notes
Accuracy: Projections are estimates based on historical data and should be used with other analysis tools. Confidence levels indicate likelihood, not certainty.
Timeframe Sensitivity: Short-term intervals (e.g., 30-minute) show larger price swings and higher confidence due to volatility, while longer intervals (e.g., monthly) are more stable.
Customization: Adjust inputs to match your trading style (e.g., shorter lookback for day trading, longer for swing trading).
Performance: Tested on volatile stocks like TSLA, NVIDIA, and others, ensuring robust performance across markets.
Limitations: May produce conservative bearish projections in strong uptrends due to momentum weighting. Adjust lookback or projection_bars for sensitivity.
Feedback
If you encounter issues (e.g., label overlap, projection mismatches), please share your timeframe, settings, or a screenshot. Suggestions for enhancements (e.g., additional filters, visual tweaks) are welcome!
Disclaimer
The Canuck Trading Projection Indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves significant risks, and past performance is not indicative of future results. Always perform your own due diligence and consult a qualified financial advisor before making trading decisions.
Market Sentiment Index US Top 40 [Pt]▮Overview
Market Sentiment Index US Top 40 [Pt} shows how the largest US stocks behave together. You pick one simple measure—High Low breakouts, Above Below moving average, or RSI overbought/oversold—and see how many of your chosen top 10/20/30/40 NYSE or NASDAQ names are bullish, neutral, or bearish.
This tool gives you a quick view of broad-market strength or weakness so you can time trades, confirm trends, and spot hidden shifts in market sentiment.
▮Key Features
► Three Simple Modes
High Low Index: counts stocks making new highs or lows over your lookback period
Above Below MA: flags stocks trading above or below their moving average
RSI Sentiment: marks overbought or oversold stocks and plots a small histogram
► Universe Selection
Top 10, 20, 30, or 40 symbols from NYSE or NASDAQ
Option to weight by market cap or treat all symbols equally
► Timeframe Choice
Use your chart’s timeframe or any intraday, daily, weekly, or monthly resolution
► Histogram Smoothing
Two optional moving averages on the sentiment bars
Markers show when the faster average crosses above or below the slower one
► Ticker Table
Optional on-chart table showing each ticker’s state in color
Grid or single-row layout with adjustable text size and color settings
▮Inputs
► Mode and Lookback
Pick High Low, Above Below MA, or RSI Sentiment
Set lookback length (for example 10 bars)
If using Above Below MA, choose the moving average type (EMA, SMA, etc.)
► Universe Setup
Market: NYSE or NASDAQ
Number of symbols: 10, 20, 30, or 40
Weights: on or off
Timeframe: blank to match chart or pick any other
► Moving Averages on Histogram
Enable fast and slow averages
Set their lengths and types
Choose colors for averages and markers
► Table Options
Show or hide the symbol table
Select text size: tiny, small, or normal
Choose layout: grid or one-row
Pick colors for bullish, neutral, and bearish cells
Show or hide exchange prefixes
▮How to Read It
► Sentiment Bars
Green means bullish
Red means bearish
Near zero means neutral
► Zero Line
Separates bullish from bearish readings
► High Low Line (High Low mode only)
Smooth ratio of highs versus lows over your lookback
► MA Crosses
Fast MA above slow MA hints rising breadth
Fast MA below slow MA hints falling breadth
► Ticker Table
Each cell colored green, gray, or red for bull, neutral, or bear
▮Use Cases
► Confirm Market Trends
Early warning when price makes highs but breadth is weak
Catch rallies when breadth turns strong while price is flat
► Spot Sector Rotation
Switch between NYSE and NASDAQ to see which group leads
Watch tech versus industrial breadth to track money flow
► Filter Trade Signals
Enter longs only when breadth is bullish
Consider shorts when breadth turns negative
► Combine with Other Indicators
Use RSI Sentiment with trend tools to spot overextended moves
Add volume indicators in High Low mode for breakout confirmation
► Timeframe Analysis
Daily for big-picture bias
Intraday (15-min) for precise entries and exits
Constance Brown RSI with Composite IndexConstance Brown RSI with Composite Index
Overview
This indicator combines Constance Brown's RSI interpretation methodology with a Composite Index and ATR Distance to VWAP measurement to provide a comprehensive trading tool. It helps identify trends, momentum shifts, overbought/oversold conditions, and potential reversal points.
Key Features
Color-coded RSI zones for immediate trend identification
Composite Index for momentum analysis and divergence detection
ATR Distance to VWAP for identifying extreme price deviations
Automatic divergence detection for early reversal warnings
Pre-configured alerts for key trading signals
How to Use This Indicator
Trend Identification
The RSI line changes color based on its position:
Blue zone (RSI > 50): Bullish trend - look for buying opportunities
Purple zone (RSI < 50): Bearish trend - look for selling opportunities
Gray zone (RSI 40-60): Neutral/transitional market - prepare for potential breakout
The 40-50 area (light blue fill) acts as support during uptrends, while the 50-60 area (light purple fill) acts as resistance during downtrends.
// From the code:
upTrendZone = rsiValue > 50 and rsiValue <= 90
downTrendZone = rsiValue < 50 and rsiValue >= 10
neutralZone = rsiValue > 40 and rsiValue < 60
rsiColor = neutralZone ? neutralRSI : upTrendZone ? upTrendRSI : downTrendRSI
Momentum Analysis
The Composite Index (fuchsia line) provides momentum confirmation:
Values above 50 indicate positive momentum
Values below 40 indicate negative momentum
Crossing above/below these thresholds signals potential momentum shifts
// From the code:
compositeIndexRaw = rsiChange / ta.stdev(rsiValue, rsiLength)
compositeIndex = ta.sma(compositeIndexRaw, compositeSmoothing)
compositeScaled = compositeIndex * 10 + 50 // Scaled to fit 0-100 range
Overbought/Oversold Detection
The ATR Distance to VWAP table in the top-right corner shows how far price has moved from VWAP in terms of ATR units:
Extreme positive values (orange/red): Potentially overbought
Extreme negative values (purple/red): Potentially oversold
Near zero (gray): Price near average value
// From the code:
priceDistance = (close - vwapValue) / ta.atr(atrPeriod)
// Color coding based on distance value
Divergence Trading
The indicator automatically detects divergences between the Composite Index and price:
Bullish divergence: Price makes lower low but Composite Index makes higher low
Bearish divergence: Price makes higher high but Composite Index makes lower high
// From the code:
divergenceBullish = ta.lowest(compositeIndex, rsiLength) > ta.lowest(close, rsiLength)
divergenceBearish = ta.highest(compositeIndex, rsiLength) < ta.highest(close, rsiLength)
Trading Strategies
Trend Following
1. Identify the trend using RSI color:
Blue = Uptrend, Purple = Downtrend
2. Wait for pullbacks to support/resistance zones:
In uptrends: Buy when RSI pulls back to 40-50 zone and bounces
In downtrends: Sell when RSI rallies to 50-60 zone and rejects
3. Confirm with Composite Index:
Uptrends: Composite Index stays above 50 or quickly returns above it
Downtrends: Composite Index stays below 50 or quickly returns below it
4. Manage risk using ATR Distance:
Take profits when ATR Distance reaches extreme values
Place stops beyond recent swing points
Reversal Trading
1. Look for divergences
Bullish: Price makes lower low but Composite Index makes higher low
Bearish: Price makes higher high but Composite Index makes lower high
2. Confirm with ATR Distance:
Extreme readings suggest potential reversals
3. Wait for RSI zone transition:
Bullish: RSI crosses above 40 (purple to neutral/blue)
Bearish: RSI crosses below 60 (blue to neutral/purple)
4. Enter after confirmation:
Use candlestick patterns for precise entry
Place stops beyond the divergence point
Four pre-configured alerts are available:
Momentum High: Composite Index above 50
Momentum Low: Composite Index below 40
Bullish Divergence: Composite Index higher low
Bearish Divergence: Composite Index lower high
Customization
Adjust these parameters to optimize for your trading style:
RSI Length: Default 14, lower for more sensitivity, higher for fewer signals
Composite Index Smoothing: Default 10, lower for quicker signals, higher for less noise
ATR Period: Default 14, affects the ATR Distance to VWAP calculation
This indicator works well across various markets and timeframes, though the default settings are optimized for daily charts. Adjust parameters for shorter or longer timeframes as needed.
Happy trading!
EMA 9/21/50 + VWAP + MACD + RSI Pro [v6]Overview:
A powerful multi-indicator tool combining Exponential Moving Averages (EMA 9, 21, 50), Volume-Weighted Average Price (VWAP), Moving Average Convergence Divergence (MACD), and Relative Strength Index (RSI) into a single, easy-to-read system. Designed for traders who want a clean, all-in-one dashboard for trend analysis, momentum confirmation, and overbought/oversold conditions.
Key Features:
1. Triple EMA System (9, 21, 50)
Identifies short-term and medium-term trends.
Bullish Signal: EMA 9 > EMA 21 > EMA 50 (Green Highlight)
Bearish Signal: EMA 9 < EMA 21 < EMA 50 (Red Highlight)
Helps confirm trend direction and potential reversals.
2. VWAP (Volume-Weighted Average Price)
Tracks intraday fair value price based on volume.
Bullish: Price above VWAP (Green)
Bearish: Price below VWAP (Red)
3. MACD (Standard 12, 26, 9 Settings)
Shows momentum shifts.
Bullish: MACD line > Signal line (Green)
Bearish: MACD line < Signal line (Red)
Histogram confirms strength of momentum.
4. RSI (14-Period Default)
Identifies overbought (>70) and oversold (<30) conditions.
Red: Overbought (Potential Reversal)
Green: Oversold (Potential Bounce)
5. Signal Dashboard (Top-Right Table)
Real-time summary of all indicators in one place.
Color-coded for quick interpretation (Green = Bullish, Red = Bearish).
How to Use This Indicator?
✅ Trend Confirmation:
Trade in the direction of EMA alignment (9 > 21 > 50 for uptrends).
Use VWAP as dynamic support/resistance.
✅ Momentum Entries:
Look for MACD crossovers while RSI is not extreme.
Avoid buying when RSI > 70 or selling when RSI < 30 (unless strong trend).
✅ Mean Reversion:
Fade extreme RSI readings (overbought/oversold) when price is at key levels.
Who Is This For?
✔ Swing Traders – EMA + MACD combo for trend-following.
✔ Day Traders – VWAP + EMA for intraday bias.
✔ RSI Traders – Clear overbought/oversold signals.
Settings Customization:
Adjust EMA lengths, RSI periods, and MACD settings as needed.
Toggle VWAP visibility on/off.
Why Use This Script?
📌 All-in-One: No need for multiple indicators cluttering your chart.
📌 Visual Clarity: Color-coded signals for quick decision-making.
📌 Flexible: Works on any timeframe (1M, 5M, 1H, Daily, etc.).
Install now and enhance your trading strategy with a professional-grade multi-indicator system!
Not a financial advice. Use at your own discretion and always apply risk management
Stochastic Overlay - Regression Channel (Zeiierman)█ Overview
The Stochastic Overlay – Regression Channel (Zeiierman) is a next-generation visualization tool that transforms the traditional Stochastic Oscillator into a dynamic price-based overlay.
Instead of leaving momentum trapped in a lower subwindow, this indicator projects the Stochastic oscialltor directly onto price itself — allowing traders to visually interpret momentum, overbought/oversold conditions, and market strength without ever taking their eyes off price action.
⚪ In simple terms:
▸ The Bands = The Stochastic Oscillator — but on price.
▸ The Midline = Stochastic 50 level
▸ Upper Band = Stochastic Overbought Threshold
▸ Lower Band = Stochastic Oversold Threshold
When the price moves above the midline → it’s the same as the oscillator moving above 50
When the price breaks above the upper band → it’s the same as Stochastic entering overbought.
When the price reaches the lower band →, think of it like Stochastic being oversold.
This makes market conditions visually intuitive. You’re literally watching the oscillator live on the price chart.
█ How It Works
The indicator layers 3 distinct technical elements into one clean view:
⚪ Stochastic Momentum Engine
Tracks overbought/oversold conditions and directional strength using:
%K Line → Momentum of price
%D Line → Smoothing filter of %K
Overbought/Oversold Bands → Highlight potential reversal zones
⚪ Volatility Adaptive Bands
Dynamic bands plotted above and below price using:
ATR * Stochastic Scaling → Creates wider bands during volatile periods & tighter bands in calm conditions
Basis → Moving average centerline (EMA, SMA, WMA, HMA, RMA selectable)
This means:
→ In strong trends: Bands expand
→ In consolidations: Bands contract
⚪ Regression Channel
Projects trend direction with different models:
Logarithmic → Captures non-linear growth (perfect for crypto or exponential stocks)
Linear → Classic regression fit
Adaptive → Dynamically adjusts sensitivity
Leading → Projects trend further ahead (aggressive mode)
Channels include:
Midline → Fair value trend
Upper/Lower Bounds → Deviation-based support/resistance
⚪ Heatmap - Bull & Bear Power Strength
Visual heatmeter showing:
% dominance of bulls vs bears (based on close > or < Band Basis)
Automatic normalization regardless of timeframe
Table display on-chart for quick visual insight
Dynamic highlighting when extreme levels are reached
⚪ Trend Candlestick Coloring
Bars auto-color based on trend filter:
Above Basis → Bullish Color
Below Basis → Bearish Color
█ How to Use
⚪ Trend Trading
→ Use Band direction + Regression Channel to identify trend alignment
→ Longs favored when price holds above the Basis
→ Shorts favored when price stays below the Basis
→ Use the Bull & Bear heatmap to asses if the bulls or the bears are in control.
⚪ Mean Reversion
→ Look for price to interact with Upper or Lower Band extremes
→ Stochastic reaching OB/OS zones further supports reversals
⚪ Momentum Confirmation
→ Crossovers between %K and %D can confirm continuation or divergence signals
→ Especially powerful when happening at band boundaries
⚪ Strength Heatmap
→ Quickly visualize current buyer vs seller control
→ Sharp spikes in Bull Power = Aggressive buying
→ Sharp spikes in Bear Power = Heavy selling pressure
█ Why It Useful
This is not a typical Stochastic or regression tool. The tool is designed for traders who want to:
React dynamically to price volatility
Map momentum into volatility context
Use adaptive regression channels across trend styles
Visualize bull vs bear power in real-time
Follow trends with built-in reversal logic
█ Settings
Stochastic Settings
Stochastic Length → Period of calculation. Higher = smoother, Lower = faster signals.
%K Smoothing → Smooths the Stochastic line itself.
%D Smoothing → Smooths the moving average of %K for slower signals.
Stochastic Band
Band Length → Length of the Moving Average Basis.
Volatility Multiplier → Controls band width via ATR scaling.
Band Type → Choose MA type (EMA, SMA, WMA, HMA, RMA).
Regression Channel
Regression Type → Logarithmic / Linear / Adaptive / Leading.
Regression Length → Number of bars for regression calculation.
Heatmap Settings
Heatmap Length → Number of bars to calculate bull/bear dominance.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Larry Williams POIV A/D [tradeviZion]Larry Williams' POIV A/D - Release Notes v1.0
=================================================
Release Date: 01 April 2025
OVERVIEW
--------
The Larry Williams POIV A/D (Price, Open Interest, Volume Accumulation/Distribution) indicator implements Williams' original formula while adding advanced divergence detection capabilities. This powerful tool combines price movement, open interest, and volume data to identify potential trend reversals and continuations.
FEATURES
--------
- Implements Larry Williams' original POIV A/D formula
- Divergence detection system:
* Regular divergences for trend reversal signals
* Hidden divergences for trend continuation signals
- Fast Mode option for earlier pivot detection
- Customizable sensitivity for divergence filtering
- Dynamic color visualization based on indicator direction
- Adjustable smoothing to reduce noise
- Automatic fallback to OBV when Open Interest is unavailable
FORMULA
-------
POIV A/D = CumulativeSum(Open Interest * (Close - Close ) / (True High - True Low)) + OBV
Where:
- Open Interest: Current period's open interest
- Close - Close : Price change from previous period
- True High - True Low: True Range
- OBV: On Balance Volume
DIVERGENCE TYPES
---------------
1. Regular Divergences (Reversal Signals):
- Bullish: Price makes lower lows while indicator makes higher lows
- Bearish: Price makes higher highs while indicator makes lower highs
2. Hidden Divergences (Continuation Signals):
- Bullish: Price makes higher lows while indicator makes lower lows
- Bearish: Price makes lower highs while indicator makes higher highs
REQUIREMENTS
-----------
- Works best with futures and other instruments that provide Open Interest data
- Automatically adapts to work with any instrument by using OBV when OI is unavailable
USAGE GUIDE
-----------
1. Apply the indicator to any chart
2. Configure settings:
- Adjust sensitivity for divergence detection
- Enable/disable Fast Mode for earlier signals
- Customize visual settings as needed
3. Look for divergence signals:
- Regular divergences for potential trend reversals
- Hidden divergences for trend continuation opportunities
4. Use the alerts system for automated divergence detection
KNOWN LIMITATIONS
----------------
- Requires Open Interest data for full functionality
- Fast Mode may generate more signals but with lower reliability
ACKNOWLEDGEMENTS
---------------
This indicator is based on Larry Williams' work on Open Interest analysis. The implementation includes additional features for divergence detection while maintaining the integrity of the original formula.
Psych Level ScreenerThis Script is intended for Pine Screener and is not designed as a indicator!!!
Pine Screener is something TradingView has recently added and is still only a Beta version.
Pine Screener itself is currently only available to members that are Premium and above.
What it does:
This screener will actively look for tickers that are close to Pysch level in your watchlist.
Psych level here refers to price levels that are round numbers such as 50,100,1000.
Users can specify the offset from a psych level (in %) and scanner will scan for tickers that are within the offset. For example if offset is set at 5% then it will scan for tickers that are within +/-5% of a ticker. (for $100 psych level it will scan for ticker in $95-105 range)
Once scan is completed you will be able to see:
- Current price of ticker
- Closest psych level for that ticker
- % and $ move required for it to hit that psych level
- Ticker's day range and Average range (with % of average range completed for the day)
- Ticker volume and average volume
Setting up:
www.tradingview.com
Above link will help you guide how to setup Pine screener.
Use steps below to guide you the setup for this specific screener:
1. Open Pine Screener (open new tab, select screener the "Pine")
2. At the top, click on "Choose Indicator" and select "Psych Level Screener"
3. At the top again, click "Indicator Psych Level Screener" and select settings.
4. Change setting to your needs. Hit Apply when done.
a)"% offset from Psych Level" will scan for any stocks in your watchlist which are +/- from the offset you chose for any given psych level. Default is 5. (e.g. If offset is 5%, it will scan for stocks that are between $95-$105 vs $100 psych level, $190-$210 for $200 psych level and so on)
b) ATR length is number of previous trading days you want to include in your calculation. Moving Average Type is calculation method.
c) Rvol length is number of previous trading days you want to include in your calculation.
5. On top left, click "Price within specified offset of Psych. Level" and select true. Then select "Scan" which is located at the top next to "Indicator Psych Level Screener". This will filter out all the stock that meets the condition.
6. At the end of the column on the right there is a "+" symbol. From there you can add/remove columns. 30min/1hr/4hr/1D Trend are disabled by default so if this is needed please enable them.
7. You can change the order of ticker by ascending and descending order of each column label if needed. Just click on the arrow that comes up when you move the cursor to any of the column items.
8. You can specify advanced filter settings based on the variables in the column. (e.g., set price range of stock to filter out further) To do so, click on the column variable name in interest, located above the screener table (or right below "scan") and select "manual setup".
How to read the column:
Current Price: Shows current price of the ticker when scan was done. Currently Pine Screener does NOT support pre/post-hours data so no PM and AH price.
Psych Level: Psych level the current price is near to.
% to Psych Level: Price movement in % necessary to get to the Psych level.
$ to Psych Level: Price movement in $ necessary to get to the Psych level.
DTR: Daily True Range of the stock. i.e. High - Low of the ticker on the day.
ATR: Average True Range of stock in the last x days, where x is a value selected in the setting. (See step 3 in Previous section)
DTR vs ATR: Amount of DTR a ticker has done in % with respect to ATR. (e.g., 90% means DTR is 90% of ATR)
Vol.: Volume of a ticker for the day. Currently Pine Screener does NOT support pre/post-hours data so no PM and AH volume.
Avg. Vol: Average volume of a ticker in the last x days, where x is a value selected in the setting. (See step 3 in Previous section)
Rvol: Relative volume in percentage, measured by the ratio of day's volume and average volume.
30min/1hr/4hr/1D Trend: Trend status to see if the chart is Bullish or Bearish on each of the time frame. Bullishness or Bearishness is defined by the price being over or under the 34/50 cloud on each of the time frame. Output of 1 is Bullish, -1 is Bearish. 0 means price is sitting inside the 34/50 cloud. Currently Pine Screener does NOT support pre/post-hours data so 34/50 cloud is based on regular trading hours data ONLY.
Some things user should be aware of:
- Pine Screener itself is currently only available to TradingView members with Premium Subscription and above. (I can't to anything about this as this is NOT set by me, I have no control) For more info: www.tradingview.com
- The Pine Screener itself is a Beta version and this screener can stop working anytime depending on changes made by TradingView themselves. (Again I cannot control this)
- Pine Screener can only run on Watchlists for now. (as of 03/31/2025) You will have to prepare your own watchlists. In a Watchlist no more than 1000 tickers may be added. (This is TradingView rules)
- Psych level included are currently 50 to 1500 in steps of 50. If you need a specific number please let me know. Will add accordingly.
- Unfortunately this screener does not update automatically, so please hit "scan" to get latest screener result.
- I cannot add 10min trend to the column as Pine Screener does NOT support 10min timeframe as of now. (03/31/2025)
- This code is only meant for Pine Screener. I do NOT recommend using this as an indicator.
- Currently Pine Screener does NOT support pre/post-hours data. So data such as Price, Volume and EMA values are based on market hours data ONLY! (If I'm wrong about this please correct me / let me know and will make look into and make changes to the code)
Other useful links about Pine Screener:
Quick overview of the Screener’s functionality: www.tradingview.com
what do you need to know before you start working? : www.tradingview.com
These links will go over the setting up with GIFs so is easier to understand.
-----------------------------------------------------------------------------------------------------------------
If there are other column variables that you think is worth adding please let me know! Will try add it to the screener!
If you have any questions let me know as well, will reply soon as I can!
Have a good trading day and hope it helps!
zone trading stratThis only works for DOGEUSD , I made it for the 8cap chart so only use it for that.
If you want this for other symbols/charts you need to comment below or msg me.
# Price Zone Trading System: Technical Explanation
## Core Concept
The Price Zone Tracker is built on the concept that price tends to respect certain key levels or "zones" on the chart. These zones act as support and resistance areas where price may bounce or break through. The system combines zone analysis with multiple technical indicators to generate high-probability trading signals.
## Zone Analysis
The system tracks 9 predefined price zones. Each zone has both a high and low boundary, except for Zone 5 which is represented by a single line. When price enters a zone, the system monitors whether it stays within the zone, breaks above it (bullish), or breaks below it (bearish).
This zone behavior establishes the foundational bias of the system:
- When price closes above its previous zone: Zone State = Bullish
- When price closes below its previous zone: Zone State = Bearish
- When price remains within a zone: Zone State = Neutral
## Trend Analysis Components
The system performs multi-timeframe analysis using several technical components:
1. **Higher Timeframe Analysis** (±3 points in scoring)
- Uses 15-minute charts for sub-5-minute timeframes
- Uses 30-minute charts for 5-minute timeframes
- Uses 60-minute charts for timeframes above 5 minutes
- Evaluates candlestick patterns and EMA crossovers on the higher timeframe
2. **EMA Direction** (±1 point in scoring)
- Compares 12-period and 26-period EMAs
- Bullish when fast EMA > slow EMA
- Bearish when fast EMA < slow EMA
3. **MACD Analysis** (±1 point in scoring)
- Uses standard 12/26/9 MACD settings
- Bullish when MACD line crosses above signal line with positive histogram
- Bearish when MACD line crosses below signal line with negative histogram
4. **Price Action** (±2 points in scoring)
- Evaluates whether price is making higher highs/higher lows (uptrend)
- Or lower highs/lower lows (downtrend)
- Also considers ATR-based volatility and strength of movements
## Trend Score Calculation
All these components are weighted and combined into a trend score:
- Higher timeframe components have stronger weights (±2-3 points)
- Current timeframe components have moderate weights (±1 point)
- Price action components have varied weights (±0.5-2 points)
The final trend state is determined by thresholds:
- Score > +3: Trend Analysis State = Bullish
- Score < -3: Trend Analysis State = Bearish
- Score between -3 and +3: Trend Analysis State = Neutral
## Signal Generation Logic
The system combines the Zone State with the Trend Analysis State:
1. If Zone State and Trend Analysis State are both bullish:
- Combined State = Bullish
- Line Color = Green
2. If Zone State and Trend Analysis State are both bearish:
- Combined State = Bearish
- Line Color = Red
3. If Zone State and Trend Analysis State contradict each other:
- Combined State = Neutral
- Line Color = Black
This implements a safety mechanism requiring both zone analysis and technical indicators to agree before generating a directional signal.
## Trading Signals
Trading signals are generated based on changes in the Combined State:
- When Combined State changes from neutral/bearish to bullish:
- Trading Signal = LONG (green triangle appears on chart)
- When Combined State changes from neutral/bullish to bearish:
- Trading Signal = SHORT (red triangle appears on chart)
- When Combined State changes from bullish/bearish to neutral:
- Trading Signal = EXIT (yellow X appears on chart)
- When Combined State remains unchanged:
- Trading Signal = NONE (no new marker appears)
## Reversal Warning
The system also monitors for potential reversal conditions:
- When Combined State is bullish but both RSI and MFI are overbought (>70)
- When Combined State is bearish but both RSI and MFI are oversold (<30)
In these cases, a yellow diamond appears on the chart as a warning that a reversal might be imminent.
## Visual Elements
The indicator provides multiple visual elements:
1. Zone boundaries as translucent orange areas
2. A single colored line below price (green/red/black) showing the current signal
3. Trading signals as shapes on the chart
4. An information panel showing all relevant indicator values and signals
## Usage Limitations
The indicator is designed to work optimally on timeframes below 30 minutes. On higher timeframes, a warning appears and analysis is disabled.
Trapped Traders Order BlocksHow It Works
The Trapped Traders Order Blocks indicator identifies specific price action patterns that suggest large market participants ("big money") have been trapped in losing positions after significant price sweeps, creating potential opportunities for reversals. The indicator detects both "bullish trap blocks" (where bearish traders are trapped) and "bearish trap blocks" (where bullish traders are trapped). Here’s the step-by-step process for each:
Bullish Trap Block (Bears Trapped):
A bearish candle (Candle A) must sweep the high of the previous candle (Candle B), meaning its high exceeds the high of the prior candle.
This bearish candle must have a longer upper wick than its lower wick, indicating rejection of higher prices.
The candle must not be a doji (i.e., it must have a significant body, defined as the body being at least 10% of the candle's range).
The next candle (Candle C) must close above the body of the bearish candle (Candle A), suggesting that price has immediately moved against the bearish sweep, potentially trapping bearish traders who entered short positions expecting a downward move.
The body of the bearish candle (Candle A) is marked as a "bullish trap block." A box is drawn around this candle's body, and a label ("Bullish Trap") is placed below it.
Bearish Trap Block (Bulls Trapped):
A bullish candle (Candle A) must sweep the low of the previous candle (Candle B), meaning its low is below the low of the prior candle.
This bullish candle must have a longer lower wick than its upper wick, indicating rejection of lower prices.
The candle must not be a doji.
The next candle (Candle C) must close below the body of the bullish candle (Candle A), suggesting that price has immediately moved against the bullish sweep, potentially trapping bullish traders who entered long positions expecting an upward move.
The body of the bullish candle (Candle A) is marked as a "bearish trap block." A box is drawn around this candle's body, and a label ("Bearish Trap") is placed above it.
Dynamic Box Extension:
For both bullish and bearish trap blocks, the box extends dynamically to the current bar unless it exceeds a user-defined age (default is 52 bars), at which point it stops at the maximum age.
Sweep Detection:
Bullish Sweep (of any trap block, bullish or bearish):
The current candle's open is above the top of the box.
The low is below the top of the box.
The close is above the top of the box.
The lower wick is longer than the upper wick (indicating rejection of lower prices).
The close is above 50% of the candle's range (ensuring a strong bullish bias).
When a bullish sweep occurs, a label ("Bullish Sweep") is placed at the low of the candle, pointing upward, and an alert is triggered.
Bearish Sweep (of any trap block, bullish or bearish):
The current candle's open is below the bottom of the box.
The high is above the bottom of the box.
The close is below the bottom of the box.
The upper wick is longer than the lower wick (indicating rejection of higher prices).
The close is below 50% of the candle's range (ensuring a strong bearish bias).
When a bearish sweep occurs, a label ("Bearish Sweep") is placed at the high of the candle, pointing downward, and an alert is triggered.
When to Be Used
The Trapped Traders Order Blocks indicator is best used in the following scenarios:
Reversal Trading:
Use this indicator to identify potential reversal points in the market. Bullish trap blocks suggest that trapped bears may unwind their short positions, leading to a potential bullish move. Bearish trap blocks suggest that trapped bulls may unwind their long positions, leading to a potential bearish move.
Look for sweeps of these blocks as confirmation of a directional move. A bullish sweep indicates a potential upward move, while a bearish sweep indicates a potential downward move.
Range-Bound Markets:
In sideways or ranging markets, trapped blocks can highlight key levels where large players have been caught off-guard. These levels often act as support or resistance, and a sweep of the block can signal a breakout or continuation in the direction of the sweep.
Confluence with Other Indicators:
Combine the trapped blocks with other technical analysis tools, such as support/resistance levels, Fibonacci retracements, or volume analysis, to increase the probability of a successful trade. For example, a bullish trap block near a strong support level with a bullish sweep can provide a high-probability setup for a long position, while a bearish trap block near a strong resistance level with a bearish sweep can signal a short opportunity.
Timeframes:
The indicator is most effective on higher timeframes such as 1-day (1D), 1-week (1W), and 1-month (1M) charts. These timeframes are more likely to capture significant moves involving large market participants, reducing noise and false signals compared to lower timeframes. While it can be used on lower timeframes (e.g., 1-hour or 4-hour), the signals may be less reliable due to increased market noise.
Logic Behind It
The logic behind the Trapped Traders Order Blocks indicator is rooted in market psychology and the behavior of large market participants ("big money"). When a large sweep candle occurs where price spikes in one direction but then quickly reverses it often indicates that traders have entered positions in the direction of the sweep, expecting a continuation. However, if the price immediately moves against them, these traders are now trapped in losing positions.
Bullish Trap Block (Bears Trapped):
A large bearish sweep candle (spiking upward but closing lower) suggests that bearish traders (bears) have entered short positions at the top of the move, expecting a downward continuation. If the next candle closes above the bearish candle's body, these bears are trapped in losing positions.
The body of the bearish candle becomes a "bullish trap block" because the trapped bears are likely to have placed their stop-loss orders or break-even exit orders just above the high of the sweep candle or within the body of the candle. As price revisits this level in the future, these trapped traders may attempt to unwind their positions by buying back their shorts, which can drive the price higher. This unwinding process often attracts new buyers, leading to a potential bullish reversal or continuation.
The bullish sweep conditions (e.g., close > box top, longer lower wick, and close above 50% of the range) ensure that the price action at the block level shows strong bullish momentum and rejection of lower prices, confirming the potential for a move higher.
Bearish Trap Block (Bulls Trapped):
A large bullish sweep candle (spiking downward but closing higher) suggests that bullish traders (bulls) have entered long positions at the bottom of the move, expecting an upward continuation. If the next candle closes below the bullish candle's body, these bulls are trapped in losing positions.
The body of the bullish candle becomes a "bearish trap block" because the trapped bulls are likely to have placed their stop-loss orders or break-even exit orders just below the low of the sweep candle or within the body of the candle. As price revisits this level in the future, these trapped traders may attempt to unwind their positions by selling their longs, which can drive the price lower. This unwinding process often attracts new sellers, leading to a potential bearish reversal or continuation.
The bearish sweep conditions (e.g., close < box bottom, longer upper wick, and close below 50% of the range) ensure that the price action at the block level shows strong bearish momentum and rejection of higher prices, confirming the potential for a move lower.
Summary
Bullish Trap Block: Occurs when bears get trapped after a bearish sweep candle is immediately followed by a bullish candle, indicating a potential reversal as trapped bears may unwind their positions.
Bearish Trap Block: Occurs when bulls get trapped after a bullish sweep candle is immediately followed by a bearish candle, indicating a potential bearish reversal.
Use Case: Ideal for identifying reversal opportunities, especially in range-bound markets or at key support/resistance levels on higher timeframes like 1D, 1W, and 1M, and can be combined with other indicators for confluence.
Logic: Large sweep candles followed by an immediate reversal suggest that big money has been trapped, and these traders may unwind their positions at break-even in the near future, driving price in the opposite direction of their initial trade.
This indicator provides a visual and actionable way to identify these trapped trader scenarios, with customizable settings for box display, sweep visuals, and alerts to help traders capitalize on these opportunities, particularly on higher timeframes where the signals are most reliable.
Enhanced Order Flow Pressure GaugeShort Description:
Estimates bullish/bearish pressure by analyzing each candle’s close position within its range, then weighting that by volume. Detects potential trend shifts and provides real-time signals.
Full Description:
1. Purpose
The Enhanced Order Flow Pressure Gauge (OFPG+) is designed to approximate buy vs. sell pressure within each bar, even if you don’t have full Level II / order flow data. By measuring the candle’s close relative to its high-low range and multiplying by volume, OFPG+ provides insights into which side of the market (bulls or bears) is more aggressive in a given interval.
2. Key Components
Pressure Score (Histogram):
Raw measure of each bar’s close position (rangePos) minus midpoint, multiplied by volume. If the bar closes near its high with decent volume, the score is positive (bullish). Conversely, a close near its low yields a negative (bearish) reading.
Cumulative Pressure:
Sum of all pressure readings over time (similar to cumulative delta), reflecting the overall market bias.
Pressure Delta:
The change in cumulative pressure from one bar to the next, plotted as a line. Rising values suggest increasing bullish momentum, while falling values show growing bearish influence.
3. Visual Cues & Signals
Histogram (Pressure Profile): A color-coded bar for each candle, indicating net bullish (blue) or bearish (gray) intrabar pressure.
Pressure Delta Line: Plotted over the histogram. Turns bullish (blue) when net buy pressure is increasing, or bearish (gray) when net selling accelerates.
Background Highlights:
Turns lightly blue if the smoothed pressure line exceeds the positive threshold, or lightly gray if it goes below the negative threshold.
Bullish / Bearish Signals:
Bullish Signal occurs when the smoothed pressure line crosses above the positive threshold, combined with a positive Delta.
Bearish Signal occurs when the smoothed pressure line crosses below the negative threshold, combined with a negative Delta.
Confirmed Signals:
After a bullish/bearish signal, OFPG+ checks the highest or lowest smoothed pressure values over a user-defined number of bars (signalLookback) to confirm momentum.
Plotshapes (diamond icons) appear on the chart to mark these confirmed reversals.
4. Usage Scenarios
Trend-Following / Momentum: Watch for transitions from negative to positive net pressure or vice versa. Helps identify potential turning points.
Reversal Confirmation: The threshold-based signals plus the “confirmed” checks can help filter choppy conditions.
Volume-Weighted Insights: By factoring in volume, strong closes near the highs or lows are weighted more heavily, capturing sentiment shifts.
5. Inputs & Parameters
Smoothing Length (length): The EMA period for smoothing the raw pressure score.
Volume Weight (volWeight): Scales the volume impact on pressure calculations.
Pressure Threshold (threshold): Defines when pressure is considered significantly bullish or bearish.
Signal Lookback (signalLookback): Number of bars to confirm momentum after a signal.
6. Alerts
Bullish Signal & Confirmed Bullish
Bearish Signal & Confirmed Bearish
These alerts can notify you in real-time about potential shifts in the market’s buying or selling pressure.
7. Disclaimer
This script provides an approximation of order flow by analyzing candle structure and volume. It does not represent actual exchange-level order data.
Past performance is not necessarily indicative of future results. Always conduct thorough analysis and use proper risk management.
Not financial advice. Use at your own discretion.
WIG20 Total Value-Weighted VolumeThis Pine Script creates a custom indicator for TradingView that calculates and visualizes the total "value-weighted volume" of the 20 stocks in the WIG20 index (a major Polish stock market index). Here's a breakdown of what it does:
Functionality:
Stock Selection:
The script allows you to input the ticker symbols for the 20 stocks that make up the WIG20 index (e.g., "PKO" for PKO Bank Polski, "PKN" for PKN Orlen, etc.). These are customizable via input fields, so you can adjust them to match the current WIG20 constituents.
Data Retrieval:
For each of the 20 stocks, it fetches two pieces of data from the current chart timeframe (e.g., daily, hourly):
Volume: The number of shares traded (e.g., v01 for the first stock).
Average Price: The midpoint price of the candle, calculated as (open + close) / 2 (e.g., p01 for the first stock). This represents a typical price for that period.
Value-Weighted Volume Calculation:
For each stock, it multiplies the volume by its average price (e.g., vw01 = v01 * p01). This converts the raw volume (in shares) into a monetary value (e.g., in Polish złoty, PLN, assuming the prices are in PLN).
The result, called "value-weighted volume," reflects the total monetary amount traded for each stock rather than just the number of shares.
Total Value-Weighted Volume:
It sums the value-weighted volumes of all 20 stocks into a single value, totalValueVolume. This represents the combined monetary trading activity across the WIG20 index for each time period (e.g., each candle on the chart).
Statistical Analysis:
The script calculates a rolling mean and standard deviation of the totalValueVolume over a user-defined lookback period (default is 20 bars, adjustable via input).
It then computes a "3-sigma" threshold, which is the mean plus three times the standard deviation. This threshold identifies unusually high trading activity (statistically significant outliers).
Candle Direction:
It checks whether the current candle on the chart (e.g., the WIG20 index itself) is bullish or bearish:
Bullish: If the close price is higher than the open price (close > open).
Bearish: If the close price is lower than the open price (close < open).
Color-Coded Visualization:
The totalValueVolume is plotted as a histogram on the chart with dynamic colors:
Blue: If the value-weighted volume is below the 3-sigma threshold (normal trading activity).
Green: If the value-weighted volume exceeds the 3-sigma threshold and the candle is bullish (indicating unusually high buying activity).
Red: If the value-weighted volume exceeds the 3-sigma threshold and the candle is bearish (indicating unusually high selling activity).
Purpose:
What It Shows: The indicator highlights the total monetary trading volume across the WIG20 stocks, adjusted for each stock’s price, and flags periods of exceptional activity (above 3 sigma) with colors that indicate market direction (bullish or bearish).
Use Case: Traders or analysts might use this to:
Identify significant market events where trading volume spikes (e.g., news-driven moves).
Assess whether those spikes align with bullish (green) or bearish (red) sentiment, based on the WIG20 index’s price movement.
Compare monetary trading activity across different periods, rather than just share volume, which gives more weight to higher-priced stocks.
Key Features:
Customizable: You can tweak the stock symbols and lookback period to fit your needs.
Statistical Insight: The 3-sigma rule helps spot outliers in trading activity.
Visual Clarity: The histogram’s color changes make it easy to see when volume spikes occur and whether they’re tied to upward or downward price moves.
Example Output:
On a daily WIG20 chart, if one day’s total value-weighted volume is exceptionally high (above 3 sigma) and the WIG20 closes higher than it opened, the histogram bar for that day turns green. If it closes lower, it turns red. Otherwise, it stays blue.
In essence, this script transforms raw volume data into a price-adjusted, statistically informed indicator that visually emphasizes significant trading events with directional context!
Tri-Fold BB(Trend-Strength)*indicator isn't preset to look as displayed, do so accordingly*
"Tri-Fold BB" is an indicator that utilizes three Bollinger Bands, each of different length as a way to represent trend strength. This allows one to see the trend strength relative to multiple timeframes: short, mid, and long term trend strength. This is helpful because it provides the user with a holistic view of the asset.
How it Works
The indicator is preset to utilizing three different Bollinger Bands with length: 20, 50, and 100. This indicator simply plots the price of an asset relative to its specified Bollinger Band. For an example, if the price of the asset were to surpass its 20BB standard deviations, it would display so accordingly, though from the perspective of lets say... the 100, it may have looked like it barely moved up a standard deviation relative to 100BB because the standard deviations of a 100BB are more spread out.
Its important to view the trend strength from multiple lengths because it allows one to gauge whether the short term trend strength is likely to hold or not. A better way to speculate on asset behavior.
Another way to view this indicator is similar to that of the BB% indicator, except this indicator allows us to view price relative to standard deviations, across multiple timeframes. More holistic, more utility provided.
Basic Understanding:
Each line = Standard Deviation (3 upper, 3 lower)
Mid-Line = Basis relative to BB(20sma, 50sma, 100sma)
If price goes under Basis, that means it crossed below their specified sma(significant bull or bear signal)
I've also added HMA's relative to each BB incase one were to decide in creating some sort of trading strategy with it. I personally don't use them but I understand that it could be helpful to some so I left it in there. If you don't like them then simply deselect them and then save your desired setup as default.
In regard to regular indications of bullish or bearishness, i'd like to add that I use this indicator for the sole purpose of providing an idea of trend strength. I personally am unsure to state that cross overs directly indicate that there is a bull or bear move because I've seen instances where the price of an asset went in a direction contrary to what it 'should' have if we were to use that cross over strategy. Though of course, feel free to use this indicator as desired.
Uptrick: FRAMA Matrix RSIUptrick: FRAMA Matrix RSI
Introduction
The Uptrick: FRAMA Matrix RSI is a momentum-based indicator that integrates the Relative Strength Index (RSI) with the Fractal Adaptive Moving Average (FRAMA). By applying FRAMA's adaptive smoothing to RSI—and further refining it with a Zero-Lag Moving Average (ZLMA)—this script creates a refined and reliable momentum oscillator. The indicator now includes enhanced divergence detection, potential reversal signals, customizable buy/sell signal options, an internal stats table, and a fully customizable bar coloring system for an enhanced visual trading experience.
Why Combine RSI with FRAMA
Traditional RSI is a well-known momentum indicator but has several limitations. It is highly sensitive to price fluctuations, often generating false signals in choppy or volatile markets. FRAMA, in contrast, adapts dynamically to price changes by adjusting its smoothing factor based on market conditions.
By integrating FRAMA into RSI calculations, this indicator reduces noise while preserving RSI's ability to track momentum, adapts to volatility by reducing lag in trending markets and smoothing out choppiness in ranging conditions, enhances trend-following capability for more reliable momentum shifts, and refines overbought and oversold signals by adjusting to the current market structure.
With the new enhancements, such as a manual alpha input, noise filtering, divergence detection, and multiple buy/sell signal options, the indicator offers even greater flexibility and precision for traders. This combination improves the standard RSI by making it more adaptive and responsive to market changes.
Originality
This indicator is unique because it applies FRAMA's adaptive smoothing technique to RSI, creating a dynamic momentum oscillator that adjusts to different market conditions. Many traditional RSI-based indicators either use fixed smoothing methods like exponential moving averages or employ basic RSI calculations without adjusting for volatility.
This script stands out by integrating several elements, including the fractal dimension-based smoothing of FRAMA to reduce noise while retaining responsiveness, the use of Zero-Lag Moving Average smoothing to enhance trend sensitivity and reduce lag, divergence detection to highlight mismatches between price action and RSI momentum, a noise filter and manual alpha option to prevent minor fluctuations from generating false signals, customizable buy/sell signal options that let traders choose between ZLMA-based or FRAMA RSI-based signals, an internal stats table displaying real-time FRAMA calculations such as fractal dimension and the adaptive alpha factor, and a fully customizable bar coloring system to visually distinguish bullish, bearish, and neutral conditions.
Features
Adaptive FRAMA RSI
The indicator applies FRAMA to RSI values, making the momentum oscillator adaptive to volatility while filtering out noise. Unlike a traditional RSI that reacts equally to all price movements, FRAMA RSI adjusts its smoothing factor based on market structure, making it more effective for identifying true momentum shifts.
Zero-Lag Moving Average (ZLMA)
A smoothing technique that minimizes lag while preserving the responsiveness of price movements. It is applied to the FRAMA RSI to further refine signals and ensure smoother trend detection.
Bullish and Bearish Threshold Crossovers
This system compares FRAMA RSI to a user-defined threshold (default is 50). When FRAMA RSI moves above the threshold, it indicates bullish momentum, while movement below signals bearish conditions. The enhanced noise filter ensures that only significant moves trigger signals.
Noise Filter and Manual Alpha
A new noise filter input prevents tiny fluctuations from triggering false signals. In addition, a manual alpha option allows traders to override the automatically computed smoothing factor with a custom value, providing extra control over the indicator’s sensitivity.
Divergence Detection
The indicator identifies divergence patterns by comparing FRAMA RSI pivots to price action. Bullish divergence occurs when price makes a lower low while FRAMA RSI makes a higher low, and bearish divergence occurs when price makes a higher high while FRAMA RSI makes a lower high. These signals can help traders anticipate potential reversals.
Reversal Signals
Labels appear on the chart when FRAMA RSI confirms classic RSI overbought (70) or oversold (30) conditions, providing visual cues for potential trend reversals.
Buy and Sell Signal Options
Traders can now choose between two signal-generation methods. ZLMA-based signals trigger when the ZLMA of FRAMA RSI crosses key overbought (70) or oversold (30) levels, while FRAMA RSI-based signals trigger when FRAMA RSI itself crosses these levels. This added flexibility allows users to tailor the indicator to their preferred trading style.
ZLMA:
FRAMA:
Customizable Alerts
Alerts notify traders when FRAMA RSI crosses key levels, divergence signals occur, reversal conditions are met, or buy/sell signals trigger. This ensures that important trading events are not missed.
Fully Customizable Bar Coloring System
Users can color bars based on different conditions, enhancing visual clarity. Bar coloring modes include: FRAMA RSI threshold (bars change color based on whether FRAMA RSI is above or below the threshold), ZLMA crossover (bars change when ZLMA crosses overbought or oversold levels), buy/sell signals (bars change when official signals trigger), divergence (bars highlight when bullish or bearish divergence is detected), and reversals (bars indicate when RSI reaches overbought or oversold conditions confirmed by FRAMA RSI). The system also remembers the last applied bar color, ensuring a smooth visual transition.
Input Parameters and Features
Core Inputs
RSI Length (default: 14) defines the period for RSI calculations.
FRAMA Lookback (default: 16) determines the length for the FRAMA smoothing function.
RSI Bull Threshold (default: 50) sets the level above which the market is considered bullish and below which it is bearish.
Noise Filter (default: 1.0) ensures that small fluctuations do not trigger false bullish or bearish signals.
Additional Features
Show Bull and Bear Alerts (default: true) enables notifications when FRAMA RSI crosses the threshold.
Enable Divergence Detection (default: false) highlights bullish and bearish divergences based on price and FRAMA RSI pivots.
Show Potential Reversal Signals (default: false) identifies overbought (70) and oversold (30) levels as possible trend reversal points.
Buy and Sell Signal Option (default: ZLMA) allows traders to choose between ZLMA-based signals or FRAMA RSI-based signals for trade entry.
ZLMA Enhancements
ZLMA Length (default: 14) determines the period for the Zero-Lag Moving Average applied to FRAMA RSI.
Visualization Options
Show Internal Stats Table (default: false) displays real-time FRAMA calculations, including fractal dimension and the adaptive alpha smoothing factor.
Show Threshold FRAMA Signals (default: false) plots buy and sell labels when FRAMA RSI crosses the threshold level.
How It Works
FRAMA Calculation
FRAMA dynamically adjusts smoothing based on the price fractal dimension. The alpha smoothing factor is derived from the fractal dimension or can be set manually to maintain responsiveness.
RSI with FRAMA Smoothing
RSI is calculated using the user-defined lookback period. FRAMA is then applied to the RSI to make it more adaptive to volatility. Optionally, ZLMA is applied to further refine the signals and reduce lag.
Bullish and Bearish Threshold Crosses
A bullish condition occurs when FRAMA RSI crosses above the threshold, while a bearish condition occurs when it falls below. The noise filter ensures that only significant trend shifts generate signals.
Buy and Sell Signal Options
Traders can choose between ZLMA crossovers or FRAMA RSI crossovers as the basis for buy and sell signals, offering flexibility in trade entry timing.
Divergence Detection
The indicator identifies divergences where price action and FRAMA RSI momentum do not align, potentially signaling upcoming reversals.
Reversal Signal Labels
When classic RSI overbought or oversold levels are confirmed by FRAMA RSI conditions, reversal labels are added on the chart to highlight potential exhaustion points.
Bar Coloring System
Bars are dynamically colored based on various conditions such as RSI thresholds, ZLMA crossovers, buy/sell signals, divergence, and reversals, allowing traders to quickly interpret market sentiment.
Alerts and Internal Stats
Customizable alerts notify traders of key events, and an optional internal stats table displays real-time calculations (fractal dimension, alpha value, and RSI values) to help users understand the underlying dynamics of the indicator.
Summary
The Uptrick: FRAMA Matrix RSI offers an enhanced approach to momentum analysis by combining RSI with adaptive FRAMA smoothing and additional layers of signal refinement. The indicator now includes adaptive RSI smoothing to reduce noise and improve responsiveness, Zero-Lag Moving Average filtering to minimize lag, divergence and reversal detection to identify potential turning points, customizable buy/sell signal options that let traders choose between different signal methodologies, a fully customizable bar coloring system to visually distinguish market conditions, and an internal stats table for real-time insight into FRAMA calculation parameters.
Whether used for trend confirmation, divergence detection, or momentum-based strategies, this indicator provides a powerful and adaptive approach to trading.
Disclaimer
This script is for informational and educational purposes only. Trading involves risk, and past performance does not guarantee future results. Always conduct proper research and consult with a financial advisor before making trading decisions.
BullBear with Volume-Percentile TP - Strategy [presentTrading] Happy New Year, everyone! I hope we have a fantastic year ahead.
It's been a while since I published an open script, but it's time to return.
This strategy introduces an indicator called Bull Bear Power, combined with an advanced take-profit system, which is the main innovative and educational aspect of this script. I hope all of you find some useful insights here. Welcome to engage in meaningful exchanges. This is a versatile tool suitable for both novice and experienced traders.
█ Introduction and How it is Different
Unlike traditional strategies that rely solely on price or volume indicators, this approach combines Bull Bear Power (BBP) with volume percentile analysis to identify optimal entry and exit points. It features a dynamic take-profit mechanism based on ATR (Average True Range) multipliers adjusted by volume and percentile factors, ensuring adaptability to diverse market conditions. This multifaceted strategy not only improves signal accuracy but also optimizes risk management, distinguishing it from conventional trading methods.
BTCUSD 6hr performance
Disable the visualization of Bull Bear Power (BBP) to clearly view the Z-Score.
█ Strategy, How it Works: Detailed Explanation
The BBP Strategy with Volume-Percentile TP utilizes several interconnected components to analyze market data and generate trading signals. Here's an overview with essential equations:
🔶 Core Indicators and Calculations
1. Exponential Moving Average (EMA):
- **Purpose:** Smoothens price data to identify trends.
- **Formula:**
EMA_t = (Close_t * (2 / (lengthInput + 1))) + (EMA_(t-1) * (1 - (2 / (lengthInput + 1))))
- Usage: Baseline for Bull and Bear Power.
2. Bull and Bear Power:
- Bull Power: `BullPower = High_t - EMA_t`
- Bear Power: `BearPower = Low_t - EMA_t`
- BBP:** `BBP = BullPower + BearPower`
- Interpretation: Positive BBP indicates bullish strength, negative indicates bearish.
3. Z-Score Calculation:
- Purpose: Normalizes BBP to assess deviation from the mean.
- Formula:
Z-Score = (BBP_t - bbp_mean) / bbp_std
- Components:
- `bbp_mean` = SMA of BBP over `zLength` periods.
- `bbp_std` = Standard deviation of BBP over `zLength` periods.
- Usage: Identifies overbought or oversold conditions based on thresholds.
🔶 Volume Analysis
1. Volume Moving Average (`vol_sma`):
vol_sma = (Volume_1 + Volume_2 + ... + Volume_vol_period) / vol_period
2. Volume Multiplier (`vol_mult`):
vol_mult = Current Volume / vol_sma
- Thresholds:
- High Volume: `vol_mult > 2.0`
- Medium Volume: `1.5 < vol_mult ≤ 2.0`
- Low Volume: `1.0 < vol_mult ≤ 1.5`
🔶 Percentile Analysis
1. Percentile Calculation (`calcPercentile`):
Percentile = (Number of values ≤ Current Value / perc_period) * 100
2. Thresholds:
- High Percentile: >90%
- Medium Percentile: >80%
- Low Percentile: >70%
🔶 Dynamic Take-Profit Mechanism
1. ATR-Based Targets:
TP1 Price = Entry Price ± (ATR * atrMult1 * TP_Factor)
TP2 Price = Entry Price ± (ATR * atrMult2 * TP_Factor)
TP3 Price = Entry Price ± (ATR * atrMult3 * TP_Factor)
- ATR Calculation:
ATR_t = (True Range_1 + True Range_2 + ... + True Range_baseAtrLength) / baseAtrLength
2. Adjustment Factors:
TP_Factor = (vol_score + price_score) / 2
- **vol_score** and **price_score** are based on current volume and price percentiles.
Local performance
🔶 Entry and Exit Logic
1. Long Entry: If Z-Score crosses above 1.618, then Enter Long.
2. Short Entry: If Z-Score crosses below -1.618, then Enter Short.
3. Exiting Positions:
If Long and Z-Score crosses below 0:
Exit Long
If Short and Z-Score crosses above 0:
Exit Short
4. Take-Profit Execution:
- Set multiple exit orders at dynamically calculated TP levels based on ATR and adjusted by `TP_Factor`.
█ Trade Direction
The strategy determines trade direction using the Z-Score from the BBP indicator:
- Long Positions:
- Condition: Z-Score crosses above 1.618.
- Short Positions:
- Condition: Z-Score crosses below -1.618.
- Exiting Trades:
- Long Exit: Z-Score drops below 0.
- Short Exit: Z-Score rises above 0.
This approach aligns trades with prevailing market trends, increasing the likelihood of successful outcomes.
█ Usage
Implementing the BBP Strategy with Volume-Percentile TP in TradingView involves:
1. Adding the Strategy:
- Copy the Pine Script code.
- Paste it into TradingView's Pine Editor.
- Save and apply the strategy to your chart.
2. Configuring Settings:
- Adjust parameters like EMA length, Z-Score thresholds, ATR multipliers, volume periods, and percentile settings to match your trading preferences and asset behavior.
3. Backtesting:
- Use TradingView’s backtesting tools to evaluate historical performance.
- Analyze metrics such as profit factor, drawdown, and win rate.
4. Optimization:
- Fine-tune parameters based on backtesting results.
- Test across different assets and timeframes to enhance adaptability.
5. Deployment:
- Apply the strategy in a live trading environment.
- Continuously monitor and adjust settings as market conditions change.
█ Default Settings
The BBP Strategy with Volume-Percentile TP includes default parameters designed for balanced performance across various markets. Understanding these settings and their impact is essential for optimizing strategy performance:
Bull Bear Power Settings:
- EMA Length (`lengthInput`): 21
- **Effect:** Balances sensitivity and trend identification; shorter lengths respond quicker but may generate false signals.
- Z-Score Length (`zLength`): 252
- **Effect:** Long period for stable mean and standard deviation, reducing false signals but less responsive to recent changes.
- Z-Score Threshold (`zThreshold`): 1.618
- **Effect:** Higher threshold filters out weaker signals, focusing on significant market moves.
Take Profit Settings:
- Use Take Profit (`useTP`): Enabled (`true`)
- **Effect:** Activates dynamic profit-taking, enhancing profitability and risk management.
- ATR Period (`baseAtrLength`): 20
- **Effect:** Shorter period for sensitive volatility measurement, allowing tighter profit targets.
- ATR Multipliers:
- **Effect:** Define conservative to aggressive profit targets based on volatility.
- Position Sizes:
- **Effect:** Diversifies profit-taking across multiple levels, balancing risk and reward.
Volume Analysis Settings:
- Volume MA Period (`vol_period`): 100
- **Effect:** Longer period for stable volume average, reducing the impact of short-term spikes.
- Volume Multipliers:
- **Effect:** Determines volume conditions affecting take-profit adjustments.
- Volume Factors:
- **Effect:** Adjusts ATR multipliers based on volume strength.
Percentile Analysis Settings:
- Percentile Period (`perc_period`): 100
- **Effect:** Balances historical context with responsiveness to recent data.
- Percentile Thresholds:
- **Effect:** Defines price and volume percentile levels influencing take-profit adjustments.
- Percentile Factors:
- **Effect:** Modulates ATR multipliers based on price percentile strength.
Impact on Performance:
- EMA Length: Shorter EMAs increase sensitivity but may cause more false signals; longer EMAs provide stability but react slower to market changes.
- Z-Score Parameters:*Longer Z-Score periods create more stable signals, while higher thresholds reduce trade frequency but increase signal reliability.
- ATR Multipliers and Position Sizes: Higher multipliers allow for larger profit targets with increased risk, while diversified position sizes help in securing profits at multiple levels.
- Volume and Percentile Settings: These adjustments ensure that take-profit targets adapt to current market conditions, enhancing flexibility and performance across different volatility environments.
- Commission and Slippage: Accurate settings prevent overestimation of profitability and ensure the strategy remains viable after accounting for trading costs.
Conclusion
The BBP Strategy with Volume-Percentile TP offers a robust framework by combining BBP indicators with volume and percentile analyses. Its dynamic take-profit mechanism, tailored through ATR adjustments, ensures that traders can effectively capture profits while managing risks in varying market conditions.
CVD OscillatorCVD Delta Oscillator
A momentum oscillator that measures buying and selling pressure through volume analysis, based on the principle that volume precedes price (cause and effect).
How It Works
Volume Analysis
Measures the force of buying and selling by analyzing how volume interacts with price movement within each bar
When price closes higher in a bar's range with strong volume, this indicates stronger buying pressure
When price closes lower in a bar's range with strong volume, this indicates stronger selling pressure
Momentum Measurement
Uses two EMAs (fast and slow) to smooth the volume delta
The difference between these EMAs creates an oscillator that shows:
Rising values = Buying pressure increasing
Falling values = Selling pressure increasing
Zero line crossovers = Potential shift in control between buyers and sellers
Signal Generation
Divergences
Bullish: Price falls to new lows while buying pressure increases (potential reversal up)
Bearish: Price rises to new highs while selling pressure increases (potential reversal down)
Zero-Line Crossovers
Bullish: Buying pressure overtakes selling pressure
Bearish: Selling pressure overtakes buying pressure
Practical Application
Reading the Indicator
Green columns above zero = Net buying pressure
Red columns below zero = Net selling pressure
Larger columns = Stronger pressure
Divergences and crossovers = Potential turning points
Trading Context
Helps identify when price movement has strong or weak volume support
Shows potential exhaustion points through divergences
Confirms trend changes through zero-line crossovers
Customization
Adjustable EMA periods for different trading styles
Toggle-able visual signals
Automatic alerts for all signals
Trading IQ - ICT LibraryLibrary "ICTlibrary"
Used to calculate various ICT related price levels and strategies. An ongoing project.
Hello Coders!
This library is meant for sourcing ICT related concepts. While some functions might generate more output than you require, you can specify "Lite Mode" as "true" in applicable functions to slim down necessary inputs.
isLastBar(userTF)
Identifies the last bar on the chart before a timeframe change
Parameters:
userTF (simple int) : the timeframe you wish to calculate the last bar for, must be converted to integer using 'timeframe.in_seconds()'
Returns: bool true if bar on chart is last bar of higher TF, dalse if bar on chart is not last bar of higher TF
necessaryData(atrTF)
returns necessaryData UDT for historical data access
Parameters:
atrTF (float) : user-selected timeframe ATR value.
Returns: logZ. log return Z score, used for calculating order blocks.
method gradBoxes(gradientBoxes, idColor, timeStart, bottom, top, rightCoordinate)
creates neon like effect for box drawings
Namespace types: array
Parameters:
gradientBoxes (array) : an array.new() to store the gradient boxes
idColor (color)
timeStart (int) : left point of box
bottom (float) : bottom of box price point
top (float) : top of box price point
rightCoordinate (int) : right point of box
Returns: void
checkIfTraded(tradeName)
checks if recent trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent trade id matches target name, false otherwise
checkIfClosed(tradeName)
checks if recent closed trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent closed trade id matches target name, false otherwise
IQZZ(atrMult, finalTF)
custom ZZ to quickly determine market direction.
Parameters:
atrMult (float) : an atr multiplier used to determine the required price move for a ZZ direction change
finalTF (string) : the timeframe used for the atr calcuation
Returns: dir market direction. Up => 1, down => -1
method drawBos(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showBOS, isUp)
calculates and draws Break Of Structure
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the BoS line / label
showBOS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether BoS happened during price increase or price decrease.
Returns: void
method drawMSS(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showMSS, isUp, upRejections, dnRejections, highArr, lowArr, timeArr, closeArr, openArr, atrTFarr, upRejectionsPrices, dnRejectionsPrices)
calculates and draws Market Structure Shift. This data is also used to calculate Rejection Blocks.
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the MSS line / label
showMSS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether MSS happened during price increase or price decrease.
upRejections (array)
dnRejections (array)
highArr (array) : array containing historical highs, should be taken from the UDT "necessaryData" defined above
lowArr (array) : array containing historical lows, should be taken from the UDT "necessaryData" defined above
timeArr (array) : array containing historical times, should be taken from the UDT "necessaryData" defined above
closeArr (array) : array containing historical closes, should be taken from the UDT "necessaryData" defined above
openArr (array) : array containing historical opens, should be taken from the UDT "necessaryData" defined above
atrTFarr (array) : array containing historical atr values (of user-selected TF), should be taken from the UDT "necessaryData" defined above
upRejectionsPrices (array) : array containing up rejections prices. Is sorted and used to determine selective looping for invalidations.
dnRejectionsPrices (array) : array containing down rejections prices. Is sorted and used to determine selective looping for invalidations.
Returns: void
method getTime(id, compare, timeArr)
gets time of inputted price (compare) in an array of data
this is useful when the user-selected timeframe for ICT concepts is greater than the chart's timeframe
Namespace types: array
Parameters:
id (array) : the array of data to search through, to find which index has the same value as "compare"
compare (float) : the target data point to find in the array
timeArr (array) : array of historical times
Returns: the time that the data point in the array was recorded
method OB(id, highArr, signArr, lowArr, timeArr, sign)
store bullish orderblock data
Namespace types: array
Parameters:
id (array)
highArr (array) : array of historical highs
signArr (array) : array of historical price direction "math.sign(close - open)"
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
sign (int) : orderblock direction, -1 => bullish, 1 => bearish
Returns: void
OTEstrat(OTEstart, future, closeArr, highArr, lowArr, timeArr, longOTEPT, longOTESL, longOTElevel, shortOTEPT, shortOTESL, shortOTElevel, structureDirection, oteLongs, atrTF, oteShorts)
executes the OTE strategy
Parameters:
OTEstart (chart.point)
future (int) : future time point for drawings
closeArr (array) : array of historical closes
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
longOTEPT (string) : user-selected long OTE profit target, please create an input.string() for this using the example below
longOTESL (int) : user-selected long OTE stop loss, please create an input.string() for this using the example below
longOTElevel (float) : long entry price of selected retracement ratio for OTE
shortOTEPT (string) : user-selected short OTE profit target, please create an input.string() for this using the example below
shortOTESL (int) : user-selected short OTE stop loss, please create an input.string() for this using the example below
shortOTElevel (float) : short entry price of selected retracement ratio for OTE
structureDirection (string) : current market structure direction, this should be "Up" or "Down". This is used to cancel pending orders if market structure changes
oteLongs (bool) : input.bool() for whether OTE longs can be executed
atrTF (float) : atr of the user-seleceted TF
oteShorts (bool) : input.bool() for whether OTE shorts can be executed
@exampleInputs
oteLongs = input.bool(defval = false, title = "OTE Longs", group = "Optimal Trade Entry")
longOTElevel = input.float(defval = 0.79, title = "Long Entry Retracement Level", options = , group = "Optimal Trade Entry")
longOTEPT = input.string(defval = "-0.5", title = "Long TP", options = , group = "Optimal Trade Entry")
longOTESL = input.int(defval = 0, title = "How Many Ticks Below Swing Low For Stop Loss", group = "Optimal Trade Entry")
oteShorts = input.bool(defval = false, title = "OTE Shorts", group = "Optimal Trade Entry")
shortOTElevel = input.float(defval = 0.79, title = "Short Entry Retracement Level", options = , group = "Optimal Trade Entry")
shortOTEPT = input.string(defval = "-0.5", title = "Short TP", options = , group = "Optimal Trade Entry")
shortOTESL = input.int(defval = 0, title = "How Many Ticks Above Swing Low For Stop Loss", group = "Optimal Trade Entry")
Returns: void (0)
displacement(logZ, atrTFreg, highArr, timeArr, lowArr, upDispShow, dnDispShow, masterCoords, labelLevels, dispUpcol, rightCoordinate, dispDncol, noBorders)
calculates and draws dispacements
Parameters:
logZ (float) : log return of current price, used to determine a "significant price move" for a displacement
atrTFreg (float) : atr of user-seleceted timeframe
highArr (array) : array of historical highs
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
upDispShow (int) : amount of historical upside displacements to show
dnDispShow (int) : amount of historical downside displacements to show
masterCoords (map) : a map to push the most recent displacement prices into, useful for having key levels in one data structure
labelLevels (string) : used to determine label placement for the displacement, can be inside box, outside box, or none, example below
dispUpcol (color) : upside displacement color
rightCoordinate (int) : future time for displacement drawing, best is "last_bar_time"
dispDncol (color) : downside displacement color
noBorders (bool) : input.bool() to remove box borders, example below
@exampleInputs
labelLevels = input.string(defval = "Inside" , title = "Box Label Placement", options = )
noBorders = input.bool(defval = false, title = "No Borders On Levels")
Returns: void
method getStrongLow(id, startIndex, timeArr, lowArr, strongLowPoints)
unshift strong low data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the low before an upside BoS
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
strongLowPoints (array) : array of strong low prices. Used to retrieve highest strong low price and see if need for
removal of invalidated strong lows
Returns: void
method getStrongHigh(id, startIndex, timeArr, highArr, strongHighPoints)
unshift strong high data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the high before a downside BoS
timeArr (array) : array of historical times
highArr (array) : array of historical highs
strongHighPoints (array)
Returns: void
equalLevels(highArr, lowArr, timeArr, rightCoordinate, equalHighsCol, equalLowsCol, liteMode)
used to calculate recent equal highs or equal lows
Parameters:
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
rightCoordinate (int) : a future time (right for boxes, x2 for lines)
equalHighsCol (color) : user-selected color for equal highs drawings
equalLowsCol (color) : user-selected color for equal lows drawings
liteMode (bool) : optional for a lite mode version of an ICT strategy. For more control over drawings leave as "True", "False" will apply neon effects
Returns: void
quickTime(timeString)
used to quickly determine if a user-inputted time range is currently active in NYT time
Parameters:
timeString (string) : a time range
Returns: true if session is active, false if session is inactive
macros(showMacros, noBorders)
used to calculate and draw session macros
Parameters:
showMacros (bool) : an input.bool() or simple bool to determine whether to activate the function
noBorders (bool) : an input.bool() to determine whether the box anchored to the session should have borders
Returns: void
po3(tf, left, right, show)
use to calculate HTF po3 candle
@tip only call this function on "barstate.islast"
Parameters:
tf (simple string)
left (int) : the left point of the candle, calculated as bar_index + left,
right (int) : :the right point of the candle, calculated as bar_index + right,
show (bool) : input.bool() whether to show the po3 candle or not
Returns: void
silverBullet(silverBulletStratLong, silverBulletStratShort, future, userTF, H, L, H2, L2, noBorders, silverBulletLongTP, historicalPoints, historicalData, silverBulletLongSL, silverBulletShortTP, silverBulletShortSL)
used to execute the Silver Bullet Strategy
Parameters:
silverBulletStratLong (simple bool)
silverBulletStratShort (simple bool)
future (int) : a future time, used for drawings, example "last_bar_time"
userTF (simple int)
H (float) : the high price of the user-selected TF
L (float) : the low price of the user-selected TF
H2 (float) : the high price of the user-selected TF
L2 (float) : the low price of the user-selected TF
noBorders (bool) : an input.bool() used to remove the borders from box drawings
silverBulletLongTP (series silverBulletLevels)
historicalPoints (array)
historicalData (necessaryData)
silverBulletLongSL (series silverBulletLevels)
silverBulletShortTP (series silverBulletLevels)
silverBulletShortSL (series silverBulletLevels)
Returns: void
method invalidFVGcheck(FVGarr, upFVGpricesSorted, dnFVGpricesSorted)
check if existing FVGs are still valid
Namespace types: array
Parameters:
FVGarr (array)
upFVGpricesSorted (array) : an array of bullish FVG prices, used to selective search through FVG array to remove invalidated levels
dnFVGpricesSorted (array) : an array of bearish FVG prices, used to selective search through FVG array to remove invalidated levels
Returns: void (0)
method drawFVG(counter, FVGshow, FVGname, FVGcol, data, masterCoords, labelLevels, borderTransp, liteMode, rightCoordinate)
draws FVGs on last bar
Namespace types: map
Parameters:
counter (map) : a counter, as map, keeping count of the number of FVGs drawn, makes sure that there aren't more FVGs drawn
than int FVGshow
FVGshow (int) : the number of FVGs to show. There should be a bullish FVG show and bearish FVG show. This function "drawFVG" is used separately
for bearish FVG and bullish FVG.
FVGname (string) : the name of the FVG, "FVG Up" or "FVG Down"
FVGcol (color) : desired FVG color
data (FVG)
masterCoords (map) : a map containing the names and price points of key levels. Used to define price ranges.
labelLevels (string) : an input.string with options "Inside", "Outside", "Remove". Determines whether FVG labels should be inside box, outside,
or na.
borderTransp (int)
liteMode (bool)
rightCoordinate (int) : the right coordinate of any drawings. Must be a time point.
Returns: void
invalidBlockCheck(bullishOBbox, bearishOBbox, userTF)
check if existing order blocks are still valid
Parameters:
bullishOBbox (array) : an array declared using the UDT orderBlock that contains bullish order block related data
bearishOBbox (array) : an array declared using the UDT orderBlock that contains bearish order block related data
userTF (simple int)
Returns: void (0)
method lastBarRejections(id, rejectionColor, idShow, rejectionString, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws rejectionBlocks on last bar
Namespace types: array
Parameters:
id (array) : the array, an array of rejection block data declared using the UDT rejection block
rejectionColor (color) : the desired color of the rejection box
idShow (int)
rejectionString (string) : the desired name of the rejection blocks
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
method OBdraw(id, OBshow, BBshow, OBcol, BBcol, bullishString, bearishString, isBullish, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws orderblocks and breaker blocks for data stored in UDT array()
Namespace types: array
Parameters:
id (array) : the array, an array of order block data declared using the UDT orderblock
OBshow (int) : the number of order blocks to show
BBshow (int) : the number of breaker blocks to show
OBcol (color) : color of order blocks
BBcol (color) : color of breaker blocks
bullishString (string) : the title of bullish blocks, which is a regular bullish orderblock or a bearish orderblock that's converted to breakerblock
bearishString (string) : the title of bearish blocks, which is a regular bearish orderblock or a bullish orderblock that's converted to breakerblock
isBullish (bool) : whether the array contains bullish orderblocks or bearish orderblocks. If bullish orderblocks,
the array will naturally contain bearish BB, and if bearish OB, the array will naturally contain bullish BB
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
FVG
UDT for FVG calcualtions
Fields:
H (series float) : high price of user-selected timeframe
L (series float) : low price of user-selected timeframe
direction (series string) : FVG direction => "Up" or "Down"
T (series int) : => time of bar on user-selected timeframe where FVG was created
fvgLabel (series label) : optional label for FVG
fvgLineTop (series line) : optional line for top of FVG
fvgLineBot (series line) : optional line for bottom of FVG
fvgBox (series box) : optional box for FVG
labelLine
quickly pair a line and label together as UDT
Fields:
lin (series line) : Line you wish to pair with label
lab (series label) : Label you wish to pair with line
orderBlock
UDT for order block calculations
Fields:
orderBlockData (array) : array containing order block x and y points
orderBlockBox (series box) : optional order block box
vioCount (series int) : = 0 violation count of the order block. 0 = Order Block, 1 = Breaker Block
traded (series bool)
status (series string) : = "OB" status == "OB" => Level is order block. status == "BB" => Level is breaker block.
orderBlockLab (series label) : options label for the order block / breaker block.
strongPoints
UDT for strong highs and strong lows
Fields:
price (series float) : price of the strong high or strong low
timeAtprice (series int) : time of the strong high or strong low
strongPointLabel (series label) : optional label for strong point
strongPointLine (series line) : optional line for strong point
overlayLine (series line) : optional lines for strong point to enhance visibility
overlayLine2 (series line) : optional lines for strong point to enhance visibility
displacement
UDT for dispacements
Fields:
highPrice (series float) : high price of displacement
lowPrice (series float) : low price of displacement
timeAtPrice (series int) : time of bar where displacement occurred
displacementBox (series box) : optional box to draw displacement
displacementLab (series label) : optional label for displacement
po3data
UDT for po3 calculations
Fields:
dHigh (series float) : higher timeframe high price
dLow (series float) : higher timeframe low price
dOpen (series float) : higher timeframe open price
dClose (series float) : higher timeframe close price
po3box (series box) : box to draw po3 candle body
po3line (array) : line array to draw po3 wicks
po3Labels (array) : label array to label price points of po3 candle
macros
UDT for session macros
Fields:
sessions (array) : Array of sessions, you can populate this array using the "quickTime" function located above "export macros".
prices (matrix) : Matrix of session data -> open, high, low, close, time
sessionTimes (array) : Array of session names. Pairs with array sessions.
sessionLines (matrix) : Optional array for sesion drawings.
OTEtimes
UDT for data storage and drawings associated with OTE strategy
Fields:
upTimes (array) : time of highest point before trade is taken
dnTimes (array) : time of lowest point before trade is taken
tpLineLong (series line) : line to mark tp level long
tpLabelLong (series label) : label to mark tp level long
slLineLong (series line) : line to mark sl level long
slLabelLong (series label) : label to mark sl level long
tpLineShort (series line) : line to mark tp level short
tpLabelShort (series label) : label to mark tp level short
slLineShort (series line) : line to mark sl level short
slLabelShort (series label) : label to mark sl level short
sweeps
UDT for data storage and drawings associated with liquidity sweeps
Fields:
upSweeps (matrix) : matrix containing liquidity sweep price points and time points for up sweeps
dnSweeps (matrix) : matrix containing liquidity sweep price points and time points for down sweeps
upSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
dnSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
raidExitDrawings
UDT for drawings associated with the Liquidity Raid Strategy
Fields:
tpLine (series line) : tp line for the liquidity raid entry
tpLabel (series label) : tp label for the liquidity raid entry
slLine (series line) : sl line for the liquidity raid entry
slLabel (series label) : sl label for the liquidity raid entry
m2022
UDT for data storage and drawings associated with the Model 2022 Strategy
Fields:
mTime (series int) : time of the FVG where entry limit order is placed
mIndex (series int) : array index of FVG where entry limit order is placed. This requires an array of FVG data, which is defined above.
mEntryDistance (series float) : the distance of the FVG to the 50% range. M2022 looks for the fvg closest to 50% mark of range.
mEntry (series float) : the entry price for the most eligible fvg
fvgHigh (series float) : the high point of the eligible fvg
fvgLow (series float) : the low point of the eligible fvg
longFVGentryBox (series box) : long FVG box, used to draw the eligible FVG
shortFVGentryBox (series box) : short FVG box, used to draw the eligible FVG
line50P (series line) : line used to mark 50% of the range
line100P (series line) : line used to mark 100% (top) of the range
line0P (series line) : line used to mark 0% (bottom) of the range
label50P (series label) : label used to mark 50% of the range
label100P (series label) : label used to mark 100% (top) of the range
label0P (series label) : label used to mark 0% (bottom) of the range
sweepData (array)
silverBullet
UDT for data storage and drawings associated with the Silver Bullet Strategy
Fields:
session (series bool)
sessionStr (series string) : name of the session for silver bullet
sessionBias (series string)
sessionHigh (series float) : = high high of session // use math.max(silverBullet.sessionHigh, high)
sessionLow (series float) : = low low of session // use math.min(silverBullet.sessionLow, low)
sessionFVG (series float) : if applicable, the FVG created during the session
sessionFVGdraw (series box) : if applicable, draw the FVG created during the session
traded (series bool)
tp (series float) : tp of trade entered at the session FVG
sl (series float) : sl of trade entered at the session FVG
sessionDraw (series box) : optional draw session with box
sessionDrawLabel (series label) : optional label session with label
silverBulletDrawings
UDT for trade exit drawings associated with the Silver Bullet Strategy
Fields:
tpLine (series line) : tp line drawing for strategy
tpLabel (series label) : tp label drawing for strategy
slLine (series line) : sl line drawing for strategy
slLabel (series label) : sl label drawing for strategy
unicornModel
UDT for data storage and drawings associated with the Unicorn Model Strategy
Fields:
hPoint (chart.point)
hPoint2 (chart.point)
hPoint3 (chart.point)
breakerBlock (series box) : used to draw the breaker block required for the Unicorn Model
FVG (series box) : used to draw the FVG required for the Unicorn model
topBlock (series float) : price of top of breaker block, can be used to detail trade entry
botBlock (series float) : price of bottom of breaker block, can be used to detail trade entry
startBlock (series int) : start time of the breaker block, used to set the "left = " param for the box
includes (array) : used to store the time of the breaker block, or FVG, or the chart point sequence that setup the Unicorn Model.
entry (series float) : // eligible entry price, for longs"math.max(topBlock, FVG.get_top())",
tpLine (series line) : optional line to mark PT
tpLabel (series label) : optional label to mark PT
slLine (series line) : optional line to mark SL
slLabel (series label) : optional label to mark SL
rejectionBlocks
UDT for data storage and drawings associated with rejection blocks
Fields:
rejectionPoint (chart.point)
bodyPrice (series float) : candle body price closest to the rejection point, for "Up" rejections => math.max(open, close),
rejectionBox (series box) : optional box drawing of the rejection block
rejectionLabel (series label) : optional label for the rejection block
equalLevelsDraw
UDT for data storage and drawings associated with equal highs / equal lows
Fields:
connector (series line) : single line placed at the first high or low, y = avgerage of distinguished equal highs/lows
connectorLab (series label) : optional label to be placed at the highs or lows
levels (array) : array containing the equal highs or lows prices
times (array) : array containing the equal highs or lows individual times
startTime (series int) : the time of the first high or low that forms a sequence of equal highs or lows
radiate (array) : options label to "radiate" the label in connector lab. Can be used for anything
necessaryData
UDT for data storage of historical price points.
Fields:
highArr (array) : array containing historical high points
lowArr (array) : array containing historical low points
timeArr (array) : array containing historical time points
logArr (array) : array containing historical log returns
signArr (array) : array containing historical price directions
closeArr (array) : array containing historical close points
binaryTimeArr (array) : array containing historical time points, uses "push" instead of "unshift" to allow for binary search
binaryCloseArr (array) : array containing historical close points, uses "push" instead of "unshift" to allow the correct
binaryOpenArr (array) : array containing historical optn points, uses "push" instead of "unshift" to allow the correct
atrTFarr (array) : array containing historical user-selected TF atr points
openArr (array) : array containing historical open points
Prometheus Topological Persistent EntropyPersistence Entropy falls under the branch of math topology. Topology is a study of shapes as they twist and contort. It can be useful in the context of markets to determine how volatile they may be and different from the past.
The key idea is to create a persistence diagram from these log return segments. The persistence diagram tracks the "birth" and "death" of price features:
A birth occurs when a new price pattern or feature emerges in the data.
A death occurs when that pattern disappears.
By comparing prices within each segment, the script tracks how long specific price features persist before they die out. The lifetime of each feature (difference between death and birth) represents how robust or fleeting the pattern is. Persistent price features tend to reflect stable trends, while shorter-lived features indicate volatility.
Entropy Calculation: The lifetimes of these patterns are then used to compute the entropy of the system. Entropy, in this case, measures the amount of disorder or randomness in the price movements. The more varied the lifetimes, the higher the entropy, indicating a more volatile market. If the price patterns exhibit longer, more consistent lifetimes, the entropy is lower, signaling a more stable market.
Calculation:
We start by getting log returns for a user defined look back value. In the compute_persistent_entropy function we separate the overall log returns into windows. We then compute persistence diagrams of the windows. It tracks the birth and death of price patterns to see how persistent they are. Then we calculate the entropy of the windows.
After we go through that process we get an array of entropies, we then smooth it by taking the sum of all of them and dividing it by how many we have so the indicator can function better.
// Calculate log returns
log_returns = array.new()
for i = 1 to lgr_lkb
array.push(log_returns, math.log(close / close ))
// Function to compute a simplified persistence diagram
compute_persistence_diagram(segment) =>
n = array.size(segment)
lifetimes = array.new()
for i = 0 to n - 1
for j = i + 1 to n - 1
birth = array.get(segment, i)
death = array.get(segment, j-1)
if birth != death
array.push(lifetimes, math.abs(death - birth))
lifetimes
// Function to compute entropy of a list of values
compute_entropy(values) =>
n = array.size(values)
if n == 0
0.0
else
freq_map = map.new()
total_sum = 0.0
for i = 0 to n - 1
value = array.get(values, i)
//freq_map := freq_map.get(value, 0.0) + 1
map.put(freq_map, value, value + 1)
total_sum += 1
entropy = 0.0
for in freq_map
p = count / total_sum
entropy -= p * math.log(p)
entropy
compute_persistent_entropy(log_returns, window_size) =>
n = (lgr_lkb) - (2 * window_size) + 1
entropies = array.new()
for i = 0 to n - 1
segment1 = array.new()
segment2 = array.new()
for j = 0 to window_size - 1
array.push(segment1, array.get(log_returns, i + j))
array.push(segment2, array.get(log_returns, i + window_size + j))
dgm1 = compute_persistence_diagram(segment1)
dgm2 = compute_persistence_diagram(segment2)
combined_diagram = array.concat(dgm1, dgm2)
entropy = compute_entropy(combined_diagram)
array.push(entropies, entropy)
entropies
//---------------------------------------------
//---------------PE----------------------------
//---------------------------------------------
// Calculate Persistent Entropy
entropies = compute_persistent_entropy(log_returns, window_size)
smooth_pe = array.sum(entropies) / array.size(entropies)
This image illustrates how the indicator works for traders. The purple line is the actual indicator value. The line that changes from green to red is a SMA of the indicator value, we use this to determine bullish or bearish. When the smoothed persistence entropy is above it’s SMA that signals bearishness.
The indicator tends to look prettier on higher time frames, we see NASDAQ:TSLA on a 4 hour here and below we see it on the 5 minute.
On a lower time frame it looks a little weird but still functions the same way.
Prometheus encourages users to use indicators as tools along with their own discretion. No indicator is 100% accurate. We encourage comments about requested features and criticism.
Options Series - MTF 1 and 3 Minute
Objective:
The indicator is named "Options Series - MTF 1 and 3 Minute", suggesting it's designed to analyze options series with multiple time frames (MTF), particularly focusing on 1-minute and 3-minute intervals.
OHLC Values Of Candle:
The code fetches the Open, High, Low, and Close (OHLC) values of the current candle for the specified ticker and timeframes (current, 1 minute, and 3 minutes). Additionally, it calculates the 200-period Simple Moving Average (SMA) of the closing prices for each timeframe.
Bull vs. Bear Condition:
It defines conditions for Bullish and Bearish scenarios based on comparing the current close price with the previous 200-period SMA close price for both 1-minute and 3-minute timeframes. If the current close price is higher than the previous 200-period SMA close price, it's considered Bullish, and if it's lower, it's considered Bearish.
Final Color Condition and Plot:
It determines the color of the candlestick based on the Bullish or Bearish condition. If the conditions for a Bullish scenario are met, the candlestick color is set to green (GreenColorCandle). If the conditions for a Bearish scenario are met, the candlestick color is set to red (RedColorCandle). If neither condition is met (i.e., the candle is neither Bullish nor Bearish), the color remains gray.
The code then plots the 200-period SMA values for both 1-minute and 3-minute timeframes and colors them based on the candlestick color. It also colors the bars based on the candlestick color.
Insights:
This indicator focuses on comparing current close prices with the 200-period SMA close prices to determine market sentiment (Bullish or Bearish).
It utilizes multiple time frames (1 minute and 3 minutes) to provide a broader perspective on market movements.
The color-coded candlesticks and bars make it visually easy to identify Bullish and Bearish trends.
This indicator can be used as part trading based on the identified market sentiment.
Swiss Knife [MERT]Introduction
The Swiss Knife indicator is a comprehensive trading tool designed to provide a multi-dimensional analysis of the market. By integrating a wide array of technical indicators across multiple timeframes, it offers traders a holistic view of market sentiment, momentum, and potential reversal points. This indicator is particularly useful for traders looking to combine trend analysis, momentum indicators, volume data, and price action into a single, easy-to-read format.
---
Key Features
Multi-Timeframe Analysis : Evaluates indicators on Daily , 4-Hour , 1-Hour , and 15-Minute timeframes.
Comprehensive Indicator Suite : Incorporates MACD , Awesome Oscillator (AO) , Parabolic SAR , SuperTrend , DPO , RSI , Stochastic Oscillator , Bollinger Bands , Ichimoku Cloud , Chande Momentum Oscillator (CMO) , Donchian Channels , ADX , volume-based momentum indicators, Fractals , and divergence detection.
Market Sentiment Scoring : Aggregates signals from multiple indicators to provide an overall sentiment score.
Visual Aids : Displays EMA lines, trendlines, divergence signals, and a sentiment table directly on the chart.
Super Trend Reversal Signals : Identifies potential market reversal points by assessing the momentum of automated trading bots.
---
Explanation of Each Indicator
Moving Average Convergence Divergence (MACD)
- Purpose : Measures the relationship between two moving averages of price.
- Interpretation : A positive histogram suggests bullish momentum; a negative histogram indicates bearish momentum.
Awesome Oscillator (AO)
- Purpose : Gauges market momentum by comparing recent market movements to historic ones.
- Interpretation : Above zero indicates bullish momentum; below zero indicates bearish momentum.
Parabolic SAR (SAR)
- Purpose : Identifies potential reversal points in price direction.
- Interpretation : Dots below price suggest an uptrend; dots above price suggest a downtrend.
SuperTrend
- Purpose : Determines the prevailing market trend.
- Interpretation : Provides buy or sell signals based on price movements relative to the SuperTrend line.
Detrended Price Oscillator (DPO)
- Purpose : Removes trend from price to identify cycles.
- Interpretation : Values above zero suggest price is above the moving average; values below zero indicate it is below.
Relative Strength Index (RSI)
- Purpose : Measures the speed and change of price movements.
- Interpretation : Values above 50 indicate bullish momentum; values below 50 indicate bearish momentum.
Stochastic Oscillator
- Purpose : Compares a particular closing price to a range of its prices over a certain period.
- Interpretation : Values above 50 indicate bullish conditions; values below 50 indicate bearish conditions.
Bollinger Bands (BB)
- Purpose : Measures market volatility and provides relative price levels.
- Interpretation : Price above the middle band suggests bullishness; below the middle band suggests bearishness.
Ichimoku Cloud
- Purpose : Provides support and resistance levels, trend direction, and momentum.
- Interpretation : Bullish signals when price is above the cloud; bearish signals when price is below the cloud.
Chande Momentum Oscillator (CMO)
- Purpose : Measures momentum on both up and down days.
- Interpretation : Values above 50 indicate strong upward momentum; values below -50 indicate strong downward momentum.
Donchian Channels
- Purpose : Identifies volatility and potential breakouts.
- Interpretation : Price above the upper band suggests bullish breakout; below the lower band suggests bearish breakout.
Average Directional Index (ADX)
- Purpose : Measures the strength of a trend.
- Interpretation : DI+ above DI- indicates bullish trend; DI- above DI+ indicates bearish trend.
Volume Momentum Indicators (VolMom, CumVolMom, POCMom)
- Purpose : Analyze volume to assess buying and selling pressure.
- Interpretation : Positive values suggest bullish volume momentum; negative values indicate bearish volume momentum.
Fractals
- Purpose : Identify potential reversal points in the market.
- Interpretation : Up fractals may indicate a future downtrend; down fractals may indicate a future uptrend.
Divergence Detection
- Purpose : Identifies divergences between price and various indicators (RSI, MACD, Stochastic, OBV, MFI, A/D Line).
- Interpretation : Bullish divergences suggest potential upward reversal; bearish divergences suggest potential downward reversal.
- Note : This functionality utilizes the library from Divergence Indicator .
---
Coloring Scheme
Background Color
- Purpose : Reflects the overall market sentiment by combining sentiment scores from all indicators across different timeframes.
- Interpretation :
- Green Shades : Indicate bullish market sentiment.
- Red Shades : Indicate bearish market sentiment.
- Intensity : The strength of the color corresponds to the strength of the sentiment score.
Sentiment Table
- Purpose : Displays the status of each indicator across different timeframes.
- Interpretation :
- Green Cell : The indicator suggests a bullish signal.
- Red Cell : The indicator suggests a bearish signal.
- Percentage Score : Indicates the overall bullish or bearish sentiment on that timeframe.
Exponential Moving Averages (EMAs)
- Purpose : Provide dynamic support and resistance levels.
- Colors :
- EMA 10 : Lime
- EMA 20 : Yellow
- EMA 50 : Orange
- EMA 100 : Red
- EMA 200 : Purple
Trendlines
- Purpose : Visual representation of support and resistance levels based on pivot points.
- Interpretation :
- Upward Trendlines : Colored green , indicating support levels.
- Downward Trendlines : Colored red , indicating resistance levels.
- Note : Trendlines are drawn using the library from Simple Trendlines .
---
Utility of Market Sentiment
The indicator aggregates signals from multiple technical indicators across various timeframes to compute an overall market sentiment score . This comprehensive approach helps traders understand the prevailing market conditions by:
Confirming Trends : Multiple indicators pointing in the same direction can confirm the strength of a trend.
Identifying Reversals : Divergences and fractals can signal potential turning points.
Timeframe Alignment : Aligning signals across different timeframes can enhance the probability of successful trades.
---
Divergences
Divergence occurs when the price of an asset moves in the opposite direction of a technical indicator, suggesting a potential reversal.
- Bullish Divergence : Price makes a lower low, but the indicator makes a higher low.
- Bearish Divergence : Price makes a higher high, but the indicator makes a lower high.
The indicator detects divergences for:
RSI
MACD
Stochastic Oscillator
On-Balance Volume (OBV)
Money Flow Index (MFI)
Accumulation/Distribution Line (A/D Line)
By identifying these divergences, traders can spot early signs of trend reversals and adjust their strategies accordingly.
---
Trendlines
Trendlines are essential tools for identifying support and resistance levels. The indicator automatically draws trendlines based on pivot points:
- Upward Trendlines (Support) : Connect higher lows, indicating an uptrend.
- Downward Trendlines (Resistance) : Connect lower highs, indicating a downtrend.
These trendlines help traders visualize the trend direction and potential breakout or reversal points.
---
Super Trend Reversals (ST Reversal)
The core idea behind the Super Trend Reversals indicator is to assess the momentum of automated trading bots (often referred to as 'Supertrend bots') that enter the market during critical turning points. Specifically, the indicator is tuned to identify when the market is nearing bottoms or peaks, just before it shifts direction based on the triggered Supertrend signals. This approach helps traders:
Engage Early : Enter the market as reversal momentum builds up.
Optimize Entries and Exits : Enter under favorable conditions and exit before momentum wanes.
By capturing these reversal points, traders can enhance their trading performance.
---
Conclusion
The Swiss Knife indicator serves as a versatile tool that combines multiple technical analysis methods into a single, comprehensive indicator. By assessing various aspects of the market—including trend direction, momentum, volume, and price action—it provides traders with valuable insights to make informed trading decisions.
---
Citations
- Divergence Detection Library : Divergence Indicator by DevLucem
- Trendline Drawing Library : Simple Trendlines by HoanGhetti
---
Note : This indicator is intended for informational purposes and should be used in conjunction with other analysis techniques. Always perform due diligence before making trading decisions.
---
Uptrick: RSI Histogram
1. **Introduction to the RSI and Moving Averages**
2. **Detailed Breakdown of the Uptrick: RSI Histogram**
3. **Calculation and Formula**
4. **Visual Representation**
5. **Customization and User Settings**
6. **Trading Strategies and Applications**
7. **Risk Management**
8. **Case Studies and Examples**
9. **Comparison with Other Indicators**
10. **Advanced Usage and Tips**
---
## 1. Introduction to the RSI and Moving Averages
### **1.1 Relative Strength Index (RSI)**
The Relative Strength Index (RSI) is a momentum oscillator developed by J. Welles Wilder and introduced in his 1978 book "New Concepts in Technical Trading Systems." It is widely used in technical analysis to measure the speed and change of price movements.
**Purpose of RSI:**
- **Identify Overbought/Oversold Conditions:** RSI values range from 0 to 100. Traditionally, values above 70 are considered overbought, while values below 30 are considered oversold. These thresholds help traders identify potential reversal points in the market.
- **Trend Strength Measurement:** RSI also indicates the strength of a trend. High RSI values suggest strong bullish momentum, while low values indicate bearish momentum.
**Calculation of RSI:**
1. **Calculate the Average Gain and Loss:** Over a specified period (e.g., 14 days), calculate the average gain and loss.
2. **Compute the Relative Strength (RS):** RS is the ratio of average gain to average loss.
3. **RSI Formula:** RSI = 100 - (100 / (1 + RS))
### **1.2 Moving Averages (MA)**
Moving Averages are used to smooth out price data and identify trends by filtering out short-term fluctuations. Two common types are:
**Simple Moving Average (SMA):** The average of prices over a specified number of periods.
**Exponential Moving Average (EMA):** A type of moving average that gives more weight to recent prices, making it more responsive to recent price changes.
**Smoothed Moving Average (SMA):** Used to reduce the impact of volatility and provide a clearer view of the underlying trend. The RMA, or Running Moving Average, used in the USH script is similar to an EMA but based on the average of RSI values.
## 2. Detailed Breakdown of the Uptrick: RSI Histogram
### **2.1 Indicator Overview**
The Uptrick: RSI Histogram (USH) is a technical analysis tool that combines the RSI with a moving average to create a histogram that reflects momentum and trend strength.
**Key Components:**
- **RSI Calculation:** Determines the relative strength of price movements.
- **Moving Average Application:** Smooths the RSI values to provide a clearer trend indication.
- **Histogram Plotting:** Visualizes the deviation of the smoothed RSI from a neutral level.
### **2.2 Indicator Purpose**
The primary purpose of the USH is to provide a clear visual representation of the market's momentum and trend strength. It helps traders identify:
- **Bullish and Bearish Trends:** By showing how far the smoothed RSI is from the neutral 50 level.
- **Potential Reversal Points:** By highlighting changes in momentum.
### **2.3 Indicator Design**
**RSI Moving Average (RSI MA):** The RSI MA is a smoothed version of the RSI, calculated using a running moving average. This smooths out short-term fluctuations and provides a clearer indication of the underlying trend.
**Histogram Calculation:**
- **Neutral Level:** The histogram is plotted relative to the neutral level of 50. This level represents a balanced market where neither bulls nor bears have dominance.
- **Histogram Values:** The histogram bars show the difference between the RSI MA and the neutral level. Positive values indicate bullish momentum, while negative values indicate bearish momentum.
## 3. Calculation and Formula
### **3.1 RSI Calculation**
The RSI calculation involves:
1. **Average Gain and Loss:** Calculated over the specified length (e.g., 14 periods).
2. **Relative Strength (RS):** RS = Average Gain / Average Loss.
3. **RSI Formula:** RSI = 100 - (100 / (1 + RS)).
### **3.2 Moving Average Calculation**
For the USH indicator, the RSI is smoothed using a running moving average (RMA). The RMA formula is similar to that of the EMA but is based on averaging RSI values over the specified length.
### **3.3 Histogram Calculation**
The histogram value is calculated as:
- **Histogram Value = RSI MA - 50**
**Plotting the Histogram:**
- **Positive Histogram Values:** Indicate that the RSI MA is above the neutral level, suggesting bullish momentum.
- **Negative Histogram Values:** Indicate that the RSI MA is below the neutral level, suggesting bearish momentum.
## 4. Visual Representation
### **4.1 Histogram Bars**
The histogram is plotted as bars on the chart:
- **Bullish Bars:** Colored green when the RSI MA is above 50.
- **Bearish Bars:** Colored red when the RSI MA is below 50.
### **4.2 Customization Options**
Traders can customize:
- **RSI Length:** Adjust the length of the RSI calculation to match their trading style.
- **Bull and Bear Colors:** Choose colors for histogram bars to enhance visual clarity.
### **4.3 Interpretation**
**Bullish Signal:** A histogram bar that moves from red to green indicates a potential shift to a bullish trend.
**Bearish Signal:** A histogram bar that moves from green to red indicates a potential shift to a bearish trend.
## 5. Customization and User Settings
### **5.1 Adjusting RSI Length**
The length parameter determines the number of periods over which the RSI is calculated and smoothed. Shorter lengths make the RSI more sensitive to price changes, while longer lengths provide a smoother view of trends.
### **5.2 Color Settings**
Traders can adjust:
- **Bull Color:** Color of histogram bars indicating bullish momentum.
- **Bear Color:** Color of histogram bars indicating bearish momentum.
**Customization Benefits:**
- **Visual Clarity:** Traders can choose colors that stand out against their chart’s background.
- **Personal Preference:** Adjust settings to match individual trading styles and preferences.
## 6. Trading Strategies and Applications
### **6.1 Trend Following**
**Identifying Entry Points:**
- **Bullish Entry:** When the histogram changes from red to green, it signals a potential entry point for long positions.
- **Bearish Entry:** When the histogram changes from green to red, it signals a potential entry point for short positions.
**Trend Confirmation:** The histogram helps confirm the strength of a trend. Strong, consistent green bars indicate robust bullish momentum, while strong, consistent red bars indicate robust bearish momentum.
### **6.2 Swing Trading**
**Momentum Analysis:**
- **Entry Signals:** Look for significant shifts in the histogram to time entries. A shift from bearish to bullish (red to green) indicates potential for upward movement.
- **Exit Signals:** A shift from bullish to bearish (green to red) suggests a potential weakening of the trend, signaling an exit or reversal point.
### **6.3 Range Trading**
**Market Conditions:**
- **Consolidation:** The histogram close to zero suggests a range-bound market. Traders can use this information to identify support and resistance levels.
- **Breakout Potential:** A significant move away from the neutral level may indicate a potential breakout from the range.
### **6.4 Risk Management**
**Stop-Loss Placement:**
- **Bullish Positions:** Place stop-loss orders below recent support levels when the histogram is green.
- **Bearish Positions:** Place stop-loss orders above recent resistance levels when the histogram is red.
**Position Sizing:** Adjust position sizes based on the strength of the histogram signals. Strong trends (indicated by larger histogram bars) may warrant larger positions, while weaker signals suggest smaller positions.
## 7. Risk Management
### **7.1 Importance of Risk Management**
Effective risk management is crucial for long-term trading success. It involves protecting capital, managing losses, and optimizing trade setups.
### **7.2 Using USH for Risk Management**
**Stop-Loss and Take-Profit Levels:**
- **Stop-Loss Orders:** Use the histogram to set stop-loss levels based on trend strength. For instance, place stops below support levels in bullish trends and above resistance levels in bearish trends.
- **Take-Profit Targets:** Adjust take-profit levels based on histogram changes. For example, lock in profits as the histogram starts to shift from green to red.
**Position Sizing:**
- **Trend Strength:** Scale position sizes based on the strength of histogram signals. Larger histogram bars indicate stronger trends, which may justify larger positions.
- **Volatility:** Consider market volatility and adjust position sizes to mitigate risk.
## 8. Case Studies and Examples
### **8.1 Example 1: Bullish Trend**
**Scenario:** A trader notices a transition from red to green histogram bars.
**Analysis:**
- **Entry Point:** The transition indicates a potential bullish trend. The trader decides to enter a long position.
- **Stop-Loss:** Set stop-loss below recent support levels.
- **Take-Profit:** Consider taking profits as the histogram moves back towards zero or turns red.
**Outcome:** The bullish trend continues, and the histogram remains green, providing a profitable trade setup.
### **8.2 Example 2: Bearish Trend**
**Scenario:** A trader observes a transition from green to red histogram bars.
**Analysis:**
- **Entry Point:** The transition suggests a potential
bearish trend. The trader decides to enter a short position.
- **Stop-Loss:** Set stop-loss above recent resistance levels.
- **Take-Profit:** Consider taking profits as the histogram approaches zero or shifts to green.
**Outcome:** The bearish trend continues, and the histogram remains red, resulting in a successful trade.
## 9. Comparison with Other Indicators
### **9.1 RSI vs. USH**
**RSI:** Measures momentum and identifies overbought/oversold conditions.
**USH:** Builds on RSI by incorporating a moving average and histogram to provide a clearer view of trend strength and momentum.
### **9.2 RSI vs. MACD**
**MACD (Moving Average Convergence Divergence):** A trend-following momentum indicator that uses moving averages to identify changes in trend direction.
**Comparison:**
- **USH:** Provides a smoothed RSI perspective and visual histogram for trend strength.
- **MACD:** Offers signals based on the convergence and divergence of moving averages.
### **9.3 RSI vs. Stochastic Oscillator**
**Stochastic Oscillator:** Measures the level of the closing price relative to the high-low range over a specified period.
**Comparison:**
- **USH:** Focuses on smoothed RSI values and histogram representation.
- **Stochastic Oscillator:** Provides overbought/oversold signals and potential reversals based on price levels.
## 10. Advanced Usage and Tips
### **10.1 Combining Indicators**
**Multi-Indicator Strategies:** Combine the USH with other technical indicators (e.g., Moving Averages, Bollinger Bands) for a comprehensive trading strategy.
**Confirmation Signals:** Use the USH to confirm signals from other indicators. For instance, a bullish histogram combined with a moving average crossover may provide a stronger buy signal.
### **10.2 Customization Tips**
**Adjust RSI Length:** Experiment with different RSI lengths to match various market conditions and trading styles.
**Color Preferences:** Choose histogram colors that enhance visibility and align with personal preferences.
### **10.3 Continuous Learning**
**Backtesting:** Regularly backtest the USH with historical data to refine strategies and improve accuracy.
**Education:** Stay updated with trading education and adapt strategies based on market changes and personal experiences.