ICT Order Blocks v2 (Debug)Josh has a very large PP xD
Understanding Order Blocks (OBs) - The ICT Perspective
This document delves into the concept of Order Blocks (OBs) from the perspective of the ICT methodology. It outlines what OBs are, their significance in trading, and how the "ICT Order Blocks v2 (Refined)" indicator functions to identify and visualize these critical price levels. By understanding OBs, traders can better navigate market movements and make informed decisions based on institutional trading behavior.
What is an Order Block (OB)?
Within ICT methodology, an Order Block represents a specific price candle where significant buying or selling interest from institutions (Smart Money) is believed to have occurred. They are potential areas where price might return and react.
Bullish Order Block: Typically the last down-closing candle before a strong, impulsive upward move (displacement). It suggests institutions may have absorbed selling pressure and initiated long positions here.
Bearish Order Block: Typically the last up-closing candle before a strong, impulsive downward move (displacement). It suggests institutions may have distributed long positions or initiated short positions here.
Why are OBs Significant (ICT View)?
Institutional Footprint: They mark potential zones of large order execution.
Support/Resistance: Unmitigated OBs can act as sensitive price levels where reactions are expected. Bullish OBs may provide support; Bearish OBs may provide resistance.
Origin of Moves: They often mark the origin point of significant price swings.
Liquidity Engineering: Institutions might drive price back to OBs to mitigate earlier positions or to engineer liquidity before continuing a move.
Common Refinements
ICT often emphasizes higher probability OBs that are associated with:
Displacement: The move away from the OB is sharp and decisive.
Fair Value Gaps (FVGs): An FVG forming immediately after the OB strengthens its validity.
OB Mitigation: This refers to price returning to the level of the Order Block after its formation. Price might react at the edge (proximal line) or the 50% level (mean threshold) of the OB. An OB is often considered fully mitigated or invalidated if price trades decisively through its entire range, especially with a candle body closing beyond it.
How the "ICT Order Blocks v2 (Refined)" Indicator Works
This indicator automates the detection and visualization of the most recent unmitigated Order Block of each type (Bullish/Bearish), incorporating optional filters.
Detection:
It looks at the relationship between the candle two bars ago ( ), the previous candle ( ), and potentially the current candle ( ).
Bullish OB: Identifies if candle was a down-close (close < open ) AND candle broke above the high of candle (high > high ).
Bearish OB: Identifies if candle was an up-close (close > open ) AND candle broke below the low of candle (low < low ).
Accuracy Filters (Optional Inputs):
These filters help identify potentially higher-probability OBs:
Require Fair Value Gap (FVG)?: If enabled, the indicator checks if an FVG formed immediately after the OB candle ( ). Specifically, it looks for a gap between candle and candle (low > high for Bullish OB confirmation, high < low for Bearish).
Require Strong Close Breakout?: If enabled, it requires the breakout candle ( ) to close beyond the range of the OB candle ( ). (close > high for Bullish, close < low for Bearish). This suggests stronger confirmation.
Storing the Most Recent OB:
When an OB is detected and passes any enabled filters, its details (high, low, formation bar index) are stored. Crucially, this indicator only tracks the single most recent valid unmitigated OB of each type (one Bullish, one Bearish) using var variables. If a newer valid OB forms, it replaces the previously stored one.
Drawing Boxes:
If a valid Bullish OB is being tracked (and Show Bullish OBs is enabled), it draws a box (box.new) using the high and low of the identified OB candle ( ). The same process applies to Bearish OBs (Show Bearish OBs enabled). The boxes automatically extend to the right (extend.right) and their right edge is updated on each new bar (box.set_right) until they are mitigated. Labels ("Bull OB" / "Bear OB") are displayed inside the boxes.
Mitigation & Box Deletion:
The indicator checks if the current closing price (close ) has moved entirely beyond the range of the tracked OB.
Mitigation Rule Used: A Bullish OB is considered mitigated if close < bull_ob_low. A Bearish OB is considered mitigated if close > bear_ob_high. Once an OB is marked as mitigated, the indicator stops tracking it and its corresponding box is automatically deleted (box.delete) from the chart.
This indicator provides a dynamic visualization of the most recent, potentially significant Order Blocks that meet the specified criteria, helping traders identify key areas of interest based on ICT principles.
Cari dalam skrip untuk "smart"
ICT & RTM Price Action IndicatorICT & RTM Price Action Indicator
Unlock the power of precision trading with this cutting-edge indicator blending ICT (Inner Circle Trader) concepts and RTM (Reversal Trend Momentum) strategies. Designed for traders who demand clarity in chaotic markets, this tool pinpoints high-probability buy and sell signals with surgical accuracy.
What It Offers:
Smart Supply & Demand Zones: Instantly spot key levels where the market is likely to reverse or consolidate, derived from a 50-period high/low analysis.
Filtered Reversal Signals: Say goodbye to fakeouts! Signals are confirmed with volume spikes (1.5x average) and a follow-through candle, ensuring you trade only the strongest moves.
Trend-Aware Logic: Built on a customizable SMA (default 14), it aligns reversals with momentum for trades that stick.
One-Signal Discipline: No clutter—only the first valid signal appears until an opposing setup triggers, keeping your chart clean and your focus sharp.
Combined Power: A unique "TRADE" signal merges ICT zones with RTM reversals for setups with double the conviction.
Why You’ll Love It:
Whether you’re scalping intraday or hunting swing trades, this indicator adapts to your style. It’s not just another tool—it’s your edge in decoding price action like a pro. Test it, tweak it, and watch your trading transform.
TR Buy/Sell Signal PanelI scripted this with chatgpt have fun guys
📊 TR Buy/Sell Signal Panel – Smart Trade Signals with Visual Clarity
The TR Buy/Sell Signal Panel is a standalone indicator inspired by the powerful Traders Reality (TR) methodology.
It detects potential long and short trade setups using classic market behavior patterns such as volume spikes, EMA crossovers, and session-based timing – all visualized cleanly and statically on your chart.
✅ Key Features
Buy Signals (LONG):
Green PVSRA candle (strong bullish candle with momentum)
EMA13 crossing above EMA50
Volume spike (current volume exceeds 20-period average × multiplier)
Triggered only during London or New York trading sessions (UTC)
Sell Signals (SHORT):
Red PVSRA candle (strong bearish move)
EMA13 crossing below EMA50
Volume spike
Also restricted to active session times
📌 Visual Components
Green/Red arrows on the chart indicate Buy/Sell entries
A static info panel in the bottom-right corner displays all signal conditions:
PVSRA active ✅
Volume Spike ✅
EMA Crossover ✅
Session Time ✅
Last Signal: 🟢 BUY / 🔴 SELL
Current Direction: 🟢 LONG / 🔴 SHORT / ❌ NONE
⚙️ Fully Customizable
Adjustable volume spike multiplier
Optional toggle for showing/hiding short signals
Extremely user-friendly layout – ideal for both beginners & experienced traders
📦 Best For:
Scalpers & Intraday Traders
Traders who follow the Traders Reality / Market Maker Method
Anyone who values clean, rule-based trade entries
Note: Works across all timeframes with sufficient volume (e.g., 5min – 4hr). Sessions are based on UTC time – adjust if needed based on your timezone or trading hours.
Supply & Demand Zones + Order Block (Pro Fusion) - Auto Order Strategy Title:
Smart Supply & Demand Zones + Order Block Auto Strategy with ScalpPro (Buy-Focused)
📄 Strategy Description:
This strategy combines the power of Supply & Demand Zone analysis, Order Block detection, and an enhanced Scalp Pro momentum filter, specifically designed for automated decision-making based on high-volume breakouts.
✅ Key Features:
Auto Entry (Buy Only) Based on Breakouts
Automatically enters a Buy position when the price breaks out of a valid demand zone, confirmed by EMA 50 trend and volume spike.
Order Block Logic
Identifies bullish and bearish order blocks using consecutive candle structures and significant price movement.
Dynamic Stop Loss & Trailing Stop
Implements a trailing stop once price moves in profit, along with static initial stop loss for risk management.
Clear Visual Labels & Alerts
Displays BUY/SELL, Demand/Supply, and Order Block labels directly on the chart. Alerts trigger on valid breakout signals.
Scalp Pro Momentum Filter (Optimized)
Uses a modified MACD-style momentum indicator to confirm trend strength and filter out weak signals.
Ranked Parabolic Curve Detector (Adaptive + Reversion Aware)The Parabolic Curve Detector is a smart, adaptable trading signal engine designed to help you spot true momentum — not the flashy head-fakes, but sustained, accelerating moves that have the potential to go parabolic. Whether you’re new to trading or looking to sharpen your edge, this tool combines a suite of time-tested and modern techniques into one unified signal, all while adjusting to changing market conditions.
The core idea is simple: detect when price is not just rising, but accelerating, like a curve bending upward. To do that, the script analyzes the log of price and calculates both:
Slope1: how fast the price is moving (momentum)
Slope2: how fast that momentum is changing (acceleration)
Over a user-defined number of bars (which amounts to sensitivity ), the script checks for consistency. So, for example, if both slope1 and slope2 have been positive for 4 bars, that’s a strong signal.
But it doesn’t stop there.
The key is weighted Intelligence
What makes this tool uniquely customizable is that each layer of signal logic is weighted:
Slope1 and Slope2: You can assign how much these matter (e.g., 60% for slope1, 20% for slope2)
Ichimoku Trend Filter: A bullish setup (Tenkan > Kijun) can contribute to the total score
RSI Context: The indicator checks for overextension (RSI > 70 and falling) and mean-reversion potential (RSI < 45 and rising), adjusting scores accordingly
You can fine-tune these weights to match your trading style — whether you prefer to catch early momentum, ride mature trends, or fade reversals.
Finally, there is adaptive Intelligence . This isn’t a static signal. The indicator auto-adjusts its strictness using:
Slope Flip Rate: If price changes direction frequently, the required bar count increases
Volatility (ATR): In volatile markets, the threshold for signal confirmation tightens to avoid noise
You can turn this adaptive behavior on or off. When enabled, it makes the script self-tuning across timeframes — more reactive on clean moves, more skeptical in chop.
How to Use It
Start on a log-scaled daily chart
Enable the indicator and optionally turn on Adaptive Sensitivity
Look for:
Green Circles = bullish signal with favorable RSI + trend
Orange Circles = still bullish, but possibly overextended
For bearish setups, enable Parabolic Drops in settings
I am still experimenting with it, so if you find a better way to use it, let us know!
My suggested tweaks :
sensitivity: 3–5 for normal, higher for stricter
signalThreshold: 0.7–0.85 depending on how picky you want to be
Weights for slope1/slope2/trend
RSI boost/penalty levels
[COG]Adaptive Volatility Bands# Adaptive Volatility Bands (AVB) Indicator Guide for Traders
## Special Acknowledgment 🙌
This script is inspired by and builds upon the foundational work of **DonovanWall**, a respected contributor to the trading community. His innovative approach to adaptive indicators has been instrumental in developing this advanced trading tool.
## What is the Adaptive Volatility Bands Indicator?
The Adaptive Volatility Bands (AVB) is a sophisticated technical analysis tool designed to help traders understand market dynamics by creating dynamic, responsive price channels that adapt to changing market conditions. Unlike traditional static indicators, this script uses advanced mathematical techniques to create flexible bands that adjust to market volatility in real-time.
## Key Features and Inputs
### 1. Price and Filtering Options
- **Price Source**: Determines the base price used for calculations (default is HLC3 - Average of High, Low, and Close)
- **Filter Poles**: Controls the smoothness of the indicator (1-9 poles)
- Lower values: More responsive, more noise
- Higher values: Smoother, but slower to react
### 2. Volatility and Band Settings
- **Sample Length**: Determines how many bars are used to calculate volatility (default 144)
- **Volatility Multiplier**: Adjusts the width of the main bands (default 1.414)
- **Outer Band Multiplier**: Controls the width of the outer bands (default 2.5)
- **Inner Band Ratio**: Positions the inner bands between the center and outer bands (default 0.25)
### 3. Advanced Processing Options
- **Lag Reduction Mode**: Helps reduce indicator delay
- **Fast Response Mode**: Makes the indicator more responsive to recent price changes
### 4. Signal and Visualization Options
- **Show Entry Signals**: Displays buy and sell signals
- **Signal Display Style**: Choose between labels or shapes
- **Range Filter**: Adds an additional filter for signal validation
## How the Indicator Works
The Adaptive Volatility Bands create a dynamic price channel with three key components:
1. **Center Line**: Represents the core trend direction
2. **Inner Bands**: Closer to the center line
3. **Outer Bands**: Wider bands that show broader price potential
### Color Dynamics
- The indicator uses a smart color gradient system
- Colors change based on price position within the bands
- Helps visualize bullish (green/blue) and bearish (red) market conditions
## Trading Strategies for Beginners
### Basic Entry Signals
- **Buy Signal**:
- Price touches the center line from below
- Candle is bullish (closes higher than it opens)
- Price is above the center line
- Trend is upward
- **Sell Signal**:
- Price touches the center line from above
- Candle is bearish (closes lower than it opens)
- Price is below the center line
- Trend is downward
### Risk Management Tips
1. Use the bands to identify:
- Potential trend changes
- Volatility levels
- Support and resistance areas
2. Combine with other indicators for confirmation
3. Always use stop-loss orders
4. Adjust parameters to match your trading style and asset
## When to Use This Indicator
Best suited for:
- Trending markets
- Swing trading
- Identifying potential entry and exit points
- Understanding market volatility
### Recommended Markets
- Stocks
- Forex
- Cryptocurrencies
- Futures
## Customization
The script offers extensive customization:
- Adjust smoothness
- Change band multipliers
- Modify color schemes
- Enable/disable features like lag reduction
## Important Considerations for Beginners
🚨 **Disclaimer**:
- No indicator guarantees profits
- Always practice with a demo account first
- Learn and understand the indicator before live trading
- Market conditions change, so continually adapt your strategy
## Getting Started
1. Add the script to your TradingView chart
2. Experiment with different settings
3. Backtest on historical data
4. Start with small positions
5. Continuously learn and improve
Happy Trading! 📈🔍
VWAP + Fib + Candlestick Pattern Strategy### **VWAP + Fibonacci + Candlestick Pattern Strategy (v6)**
This indicator is designed to identify high-quality trading setups using a combination of **Anchored VWAP, Fibonacci Retracement Levels, and Candlestick Patterns**. It helps traders find optimal entry points where multiple confluences align, enhancing trade accuracy.
### **Key Features:**
✅ **Anchored VWAP** – Starts from the last pivot low (bullish) or pivot high (bearish) to determine trend strength.
✅ **Fibonacci Levels** – Uses key retracement levels (0.382, 0.5, 0.618, 0.786) for added confluence.
✅ **Candlestick Patterns** – Detects Pin Bars, Engulfing Candles, and Hammer Candles for potential reversals.
✅ **High-Quality Setups** – Highlights strong signals where price aligns with VWAP & Fib zones.
✅ **Alerts** – Get notified when a bullish or bearish setup is detected.
✅ **Risk Management** – Includes Take Profit (TP1, TP2, Final TP) & Stop Loss based on ATR.
✅ **Position Sizing** – Calculates position size based on a fixed dollar risk per trade.
### **How to Use:**
1. Apply the indicator to your chart.
2. Look for signals near Fibonacci retracement levels and VWAP.
3. Use alerts for real-time trade notifications.
4. Manage risk with built-in TP/SL and position sizing.
Perfect for traders who use **Price Action & Smart Money Concepts** to refine their entries! 🚀
TR FVG Finder 1.0TR FVG Finder 1.0 - Identify High-Probability Trading Zones
Unlock the power of Fair Value Gaps (FVGs) with this advanced TradingView indicator! Designed for traders seeking high-probability setups, the Fair Value Gap Detector identifies key price imbalances on your chart, helping you spot potential reversal and continuation zones with precision.
Key Features:
Accurate FVG Detection: Automatically detects bullish and bearish Fair Value Gaps based on a proven 3-candle pattern, highlighting areas where price is likely to return.
Customizable Display: Shows the most recent 3 FVGs by default (combined bullish and bearish), with an option to adjust the number of FVGs displayed.
Visual Clarity: Draws semi-transparent boxes (green for bullish FVGs, red for bearish FVGs) that extend 15 candles to the right, making it easy to track key levels.
Versatile for All Markets: Works on any timeframe and instrument—perfect for forex, stocks, crypto, and commodities like XAU/USD (gold).
User-Friendly: Simple to use with customizable settings, ideal for both beginner and experienced traders.
How It Works:
The indicator identifies FVGs by analyzing a 3-candle pattern:
- Bullish FVG: When the high of the candle two bars back is below the low of the current candle.
- Bearish FVG: When the low of the candle two bars back is above the high of the current candle. These gaps often act as magnets for price, making them powerful zones for trading strategies like breakouts, pullbacks, or reversals.
Why Use This Indicator?
- Enhance your technical analysis with a proven concept used by institutional traders.
- Spot high-probability trading opportunities with clear visual cues.
- Save time by automating FVG detection—no manual drawing required.
Best Practices:
- Use on lower timeframes (e.g., 15-minute or 1-hour) for more frequent FVGs, especially in volatile markets like forex or crypto.
- Combine with other indicators (e.g., support/resistance, volume) for confirmation.
- Ideal for strategies like ICT (Inner Circle Trader) concepts, Smart Money trading, and price action analysis.
Regards,
Trader Riaz
Session Profile AnalyzerWhat’s This Thing Do?
Hey there, trader! Meet the Session Profile Analyzer (SPA) your new go-to pal for breaking down market action within your favorite trading sessions. It’s an overlay indicator that mixes Rotation Factor (RF), Average Subperiod Range (ASPR), Volume Value Area Range (VOLVAR), and TPO Value Area Range (TPOVAR) into one tidy little toolkit. Think of it as your market vibe checker momentum, volatility, and key levels, all served up with a grin.
The Cool Stuff It Does:
Rotation Factor (RF) : Keeps tabs on whether the market’s feeling bullish, bearish, or just chilling. It’s like a mood ring for price action shows “UP ↑,” “DOWN ↓,” or “NONE ↔.”
ASPR : Averages out the range of your chosen blocks. Big swings? Tiny wiggles? This tells you the session’s energy level.
VOLVAR : Dives into volume to find where the action’s at, with a smart twist it adjusts price levels based on the session’s size and tiny timeframe moves (capped at 128 so your chart doesn’t cry).
TPOVAR : Grabs lower timeframe data to spot where price hung out the most, TPO-style. Value zones, anyone?
Dynamic Precision : No ugly decimal overload SPA matches your asset’s style (2 decimals for BTC, 5 for TRX, you get it).
How to Play With It:
Session Start/End : Pick your trading window (say, 0930-2200) and a timezone (America/New_York, or wherever you’re at).
Block Size : Set the chunk size for RF and ASPR like 30M if you’re into half-hour vibes.
Value Area Timeframe : Go micro with something like 1S for VOLVAR and TPOVAR precision.
Label : Size it (small to huge), color it (white, neon pink, whatever), and slap it where you want (start, mid, end).
How It All Works (No PhD Required):
RF : Imagine breaking your session into blocks (via Block Size). For each block, SPA checks if the high beats the last high (+1) or not (0), and if the low dips below the last low (-1) or not (0). Add those up, and boom positive RF means upward vibes, negative means downward, near zero is “meh.” Use it to catch trends or spot when the market’s napping.
ASPR : Takes those same blocks, measures high-to-low range each time, and averages them. It’s your volatility pulse big ASPR = wild ride, small ASPR = snooze fest. Great for sizing up session action.
VOLVAR : Here’s the fun part. It takes the session’s full range (high minus low), divides it by the average range of your tiny Value Area Timeframe bars (e.g., 1S), and picks a sensible number of price levels capped at 128 so it doesn’t overthink. Then it bins volume into those levels, finds the busiest price (POC), and grows a 70% value area around it. Perfect for spotting where the big players parked their cash.
TPOVAR : Grabs midpoints from those tiny timeframe bars, sorts them, and snips off the top and bottom 15% to find the 70% “value zone” where price chilled the most. Think of it as the market’s comfort zone great for support/resistance hunting.
Why You’ll Like It:
Whether you’re scalping crypto, swinging forex, or dissecting stocks, SPA’s got your back. Use RF to catch momentum shifts like jumping on an “UP ↑” trend or fading a “DOWN ↓” exhaustion. ASPR’s your secret weapon for sizing up trades: a big ASPR (say, 100 on BTC) means you can aim for juicy targets (like 1-2x ASPR) or set invalidations tight when it’s tiny (e.g., 0.001 on TRX) to dodge chop. VOLVAR and TPOVAR are your level-finders nail those key zones where price loves to bounce or break, perfect for entries, stops, or profit grabs. It’s like having a trading co-pilot who’s chill but knows their stuff.
Heads-Up:
Load enough history for those micro timeframes to shine (1S needs some bars to work with).
Keeps things light won’t bog down your chart even with decent-sized sessions.
Let’s Roll:
Slap SPA on your chart, tweak it to your style, and watch it spill the beans on your session. Happy trading, fam may your pips be plenty and your losses few!
Dynamic Candle Range Point IndicatorThe "Dynamic Candle Range Point Indicator" (DCRPI) does two important jobs at once. For each candle on your chart, it shows you exactly how many points the price moved in two different ways:
1. At the top of each candle, you'll see how many points the price moved from open to close (the body range)
2. At the bottom, you'll see the total movement from the highest to lowest point (the full range)
The really smart part is how it colors the borders of candles based on how much the price moved. This gives you a quick visual way to spot significant price movements:
- Small movements keep the standard green/red colors
- Medium movements (25-30 points) show as yellow
- Larger movements get more unique colors (orange, purple, blue, etc.)
This makes it easy to instantly identify which candles had the most significant price movement without having to read all the numbers. You can quickly spot the most volatile candles across your chart by their distinctive border colors.
The indicator is lightweight and should run smoothly on most charts without causing performance issues.
ICT Bread and Butter Sell-SetupICT Bread and Butter Sell-Setup – TradingView Strategy
Overview:
The ICT Bread and Butter Sell-Setup is an intraday trading strategy designed to capitalize on bearish market conditions. It follows institutional order flow and exploits liquidity patterns within key trading sessions—London, New York, and Asia—to identify high-probability short entries.
Key Components of the Strategy:
🔹 London Open Setup (2:00 AM – 8:20 AM NY Time)
The London session typically sets the initial directional move of the day.
A short-term high often forms before a downward push, establishing the daily high.
🔹 New York Open Kill Zone (8:20 AM – 10:00 AM NY Time)
The New York Judas Swing (a temporary rally above London’s high) creates an opportunity for short entries.
Traders fade this move, anticipating a sell-off targeting liquidity below previous lows.
🔹 London Close Buy Setup (10:30 AM – 1:00 PM NY Time)
If price reaches a higher timeframe discount array, a retracement higher is expected.
A bullish order block or failure swing signals a possible reversal.
The risk is set just below the day’s low, targeting a 20-30% retracement of the daily range.
🔹 Asia Open Sell Setup (7:00 PM – 2:00 AM NY Time)
If institutional order flow remains bearish, a short entry is taken around the 0-GMT Open.
Expect a 15-20 pip decline as the Asian range forms.
Strategy Rules:
📉 Short Entry Conditions:
✅ New York Judas Swing occurs (price moves above London’s high before reversing).
✅ Short entry is triggered when price closes below the open.
✅ Stop-loss is set 10 pips above the session high.
✅ Take-profit targets liquidity zones on higher timeframes.
📈 Long Entry (London Close Reversal):
✅ Price reaches a higher timeframe discount array between 10:30 AM – 1:00 PM NY Time.
✅ A bullish order block confirms the reversal.
✅ Stop-loss is set 10 pips below the day’s low.
✅ Take-profit targets 20-30% of the daily range retracement.
📉 Asia Open Sell Entry:
✅ Price trades slightly above the 0-GMT Open.
✅ Short entry is taken at resistance, targeting a quick 15-20 pip move.
Why Use This Strategy?
🚀 Institutional Order Flow Tracking – Aligns with smart money concepts.
📊 Precise Session Timing – Uses market structure across London, New York, and Asia.
🎯 High-Probability Entries – Focuses on liquidity grabs and engineered stop hunts.
📉 Optimized Risk Management – Defined stop-loss and take-profit levels.
This strategy is ideal for traders looking to trade with institutions, fade liquidity grabs, and capture high-probability short setups during the trading day. 📉🔥
CCT Pi Cycle Top/BottomPi Cycle Top/bottom: The Ultimate Market Cycle Indicator
Introduction
The Pi Cycle Top/bottom Indicator is one of the most reliable tools for identifying Bitcoin market cycle peaks and bottoms. Its effectiveness lies in the strategic combination of moving averages that historically align with major market cycle reversals. Unlike traditional moving average crossovers, this indicator applies an advanced iterative approach to pinpoint price extremes with higher accuracy.
This version, built entirely with Pine Script™ v6, introduces unprecedented precision in detecting both the Pi Cycle Top and Pi Cycle Bottom, eliminating redundant labels, optimizing visual clarity, and ensuring the indicator adapts dynamically to evolving market conditions.
What is the Pi Cycle Theory?
The Pi Cycle Top and Pi Cycle Bottom were originally introduced based on a simple yet profound discovery: key moving average crossovers consistently align with macro market tops and bottoms.
Pi Cycle Top: The crossover of the 111-day Simple Moving Average (SMA) and the 350-day SMA multiplied by 2 has historically signaled market tops with astonishing accuracy.
Pi Cycle Bottom: The intersection of the 150-day Exponential Moving Average (EMA) and the 471-day SMA has repeatedly marked significant market bottoms.
While traditional moving average strategies often suffer from lag and false signals, the Pi Cycle Indicator enhances accuracy by applying a range-based scanning methodology, ensuring that only the most critical reversals are detected.
How This Indicator Works
Unlike basic moving average crossovers, this script introduces a unique iteration process to refine the detection of Pi Cycle points. Here’s how it works:
Detecting Crossovers:
Identifies the Golden Cross (bullish crossover) and Death Cross (bearish crossover) for both the Pi Cycle Top and Pi Cycle Bottom.
Iterating Through the Cycle:
Instead of plotting a simple crossover point, this script scans the range between each Golden and Death Cross to identify the absolute lowest price (Pi Cycle Bottom) and highest price (Pi Cycle Top) within that cycle.
Precision Labeling:
The indicator dynamically adjusts label positioning:
If the price at the crossover is below the fast moving average → the label is placed on the moving average with a downward pointer.
If the price is above the fast moving average → the label is placed below the candle with an upward pointer.
This ensures optimal visibility and prevents misleading signal placement.
Advanced Pine Script v6 Features:
Labels and moving average names are only shown on the last candle, reducing chart noise while maintaining clarity.
Offers full user customization, allowing traders to toggle:
Pi Cycle Top & Bottom visibility
Moving average labels
Crossover labels
Why This Indicator is Superior
This script is not just another moving average crossover tool—it is a market cycle tracker designed for long-term investors and analysts who seek:
✔ High-accuracy macro cycle identification
✔ Elimination of false signals using an iterative range-based scan
✔ Automatic detection of market extremes without manual adjustments
✔ Optimized visuals with smart label positioning
✔ First-of-its-kind implementation using Pine Script™ v6 capabilities
How to Use It?
Bull Market Tops:
When the Pi Cycle Top indicator flashes, consider the potential for a market cycle peak.
Historically, Bitcoin has corrected significantly after these signals.
Bear Market Bottoms:
When the Pi Cycle Bottom appears, it suggests a macro accumulation phase.
These signals have aligned perfectly with historical cycle bottoms.
Final Thoughts
The Pi Cycle Top/bottom Indicator is a must-have tool for traders, investors, and analysts looking to anticipate long-term trend reversals with precision. With its refined methodology, superior label positioning, and cutting-edge Pine Script™ v6 optimizations, this is the most reliable version ever created.
real_time_candlesIntroduction
The Real-Time Candles Library provides comprehensive tools for creating, manipulating, and visualizing custom timeframe candles in Pine Script. Unlike standard indicators that only update at bar close, this library enables real-time visualization of price action and indicators within the current bar, offering traders unprecedented insight into market dynamics as they unfold.
This library addresses a fundamental limitation in traditional technical analysis: the inability to see how indicators evolve between bar closes. By implementing sophisticated real-time data processing techniques, traders can now observe indicator movements, divergences, and trend changes as they develop, potentially identifying trading opportunities much earlier than with conventional approaches.
Key Features
The library supports two primary candle generation approaches:
Chart-Time Candles: Generate real-time OHLC data for any variable (like RSI, MACD, etc.) while maintaining synchronization with chart bars.
Custom Timeframe (CTF) Candles: Create candles with custom time intervals or tick counts completely independent of the chart's native timeframe.
Both approaches support traditional candlestick and Heikin-Ashi visualization styles, with options for moving average overlays to smooth the data.
Configuration Requirements
For optimal performance with this library:
Set max_bars_back = 5000 in your script settings
When using CTF drawing functions, set max_lines_count = 500, max_boxes_count = 500, and max_labels_count = 500
These settings ensure that you will be able to draw correctly and will avoid any runtime errors.
Usage Examples
Basic Chart-Time Candle Visualization
// Create real-time candles for RSI
float rsi = ta.rsi(close, 14)
Candle rsi_candle = candle_series(rsi, CandleType.candlestick)
// Plot the candles using Pine's built-in function
plotcandle(rsi_candle.Open, rsi_candle.High, rsi_candle.Low, rsi_candle.Close,
"RSI Candles", rsi_candle.candle_color, rsi_candle.candle_color)
Multiple Access Patterns
The library provides three ways to access candle data, accommodating different programming styles:
// 1. Array-based access for collection operations
Candle candles = candle_array(source)
// 2. Object-oriented access for single entity manipulation
Candle candle = candle_series(source)
float value = candle.source(Source.HLC3)
// 3. Tuple-based access for functional programming styles
= candle_tuple(source)
Custom Timeframe Examples
// Create 20-second candles with EMA overlay
plot_ctf_candles(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 20,
timezone = -5,
tied_open = true,
ema_period = 9,
enable_ema = true
)
// Create tick-based candles (new candle every 15 ticks)
plot_ctf_tick_candles(
source = close,
candle_type = CandleType.heikin_ashi,
number_of_ticks = 15,
timezone = -5,
tied_open = true
)
Advanced Usage with Custom Visualization
// Get custom timeframe candles without automatic plotting
CandleCTF my_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 30
)
// Apply custom logic to the candles
float ema_values = my_candles.ctf_ema(14)
// Draw candles and EMA using time-based coordinates
my_candles.draw_ctf_candles_time()
ema_values.draw_ctf_line_time(line_color = #FF6D00)
Library Components
Data Types
Candle: Structure representing chart-time candles with OHLC, polarity, and visualization properties
CandleCTF: Extended candle structure with additional time metadata for custom timeframes
TickData: Structure for individual price updates with time deltas
Enumerations
CandleType: Specifies visualization style (candlestick or Heikin-Ashi)
Source: Defines price components for calculations (Open, High, Low, Close, HL2, etc.)
SampleType: Sets sampling method (Time-based or Tick-based)
Core Functions
get_tick(): Captures current price as a tick data point
candle_array(): Creates an array of candles from price updates
candle_series(): Provides a single candle based on latest data
candle_tuple(): Returns OHLC values as a tuple
ctf_candles_array(): Creates custom timeframe candles without rendering
Visualization Functions
source(): Extracts specific price components from candles
candle_ctf_to_float(): Converts candle data to float arrays
ctf_ema(): Calculates exponential moving averages for candle arrays
draw_ctf_candles_time(): Renders candles using time coordinates
draw_ctf_candles_index(): Renders candles using bar index coordinates
draw_ctf_line_time(): Renders lines using time coordinates
draw_ctf_line_index(): Renders lines using bar index coordinates
Technical Implementation Notes
This library leverages Pine Script's varip variables for state management, creating a sophisticated real-time data processing system. The implementation includes:
Efficient tick capturing: Samples price at every execution, maintaining temporal tracking with time deltas
Smart state management: Uses a hybrid approach with mutable updates at index 0 and historical preservation at index 1+
Temporal synchronization: Manages two time domains (chart time and custom timeframe)
The tooltip implementation provides crucial temporal context for custom timeframe visualizations, allowing users to understand exactly when each candle formed regardless of chart timeframe.
Limitations
Custom timeframe candles cannot be backtested due to Pine Script's limitations with historical tick data
Real-time visualization is only available during live chart updates
Maximum history is constrained by Pine Script's array size limits
Applications
Indicator visualization: See how RSI, MACD, or other indicators evolve in real-time
Volume analysis: Create custom volume profiles independent of chart timeframe
Scalping strategies: Identify short-term patterns with precisely defined time windows
Volatility measurement: Track price movement characteristics within bars
Custom signal generation: Create entry/exit signals based on custom timeframe patterns
Conclusion
The Real-Time Candles Library bridges the gap between traditional technical analysis (based on discrete OHLC bars) and the continuous nature of market movement. By making indicators more responsive to real-time price action, it gives traders a significant edge in timing and decision-making, particularly in fast-moving markets where waiting for bar close could mean missing important opportunities.
Whether you're building custom indicators, researching price patterns, or developing trading strategies, this library provides the foundation for sophisticated real-time analysis in Pine Script.
Implementation Details & Advanced Guide
Core Implementation Concepts
The Real-Time Candles Library implements a sophisticated event-driven architecture within Pine Script's constraints. At its heart, the library creates what's essentially a reactive programming framework handling continuous data streams.
Tick Processing System
The foundation of the library is the get_tick() function, which captures price updates as they occur:
export get_tick(series float source = close, series float na_replace = na)=>
varip float price = na
varip int series_index = -1
varip int old_time = 0
varip int new_time = na
varip float time_delta = 0
// ...
This function:
Samples the current price
Calculates time elapsed since last update
Maintains a sequential index to track updates
The resulting TickData structure serves as the fundamental building block for all candle generation.
State Management Architecture
The library employs a sophisticated state management system using varip variables, which persist across executions within the same bar. This creates a hybrid programming paradigm that's different from standard Pine Script's bar-by-bar model.
For chart-time candles, the core state transition logic is:
// Real-time update of current candle
candle_data := Candle.new(Open, High, Low, Close, polarity, series_index, candle_color)
candles.set(0, candle_data)
// When a new bar starts, preserve the previous candle
if clear_state
candles.insert(1, candle_data)
price.clear()
// Reset state for new candle
Open := Close
price.push(Open)
series_index += 1
This pattern of updating index 0 in real-time while inserting completed candles at index 1 creates an elegant solution for maintaining both current state and historical data.
Custom Timeframe Implementation
The custom timeframe system manages its own time boundaries independent of chart bars:
bool clear_state = switch settings.sample_type
SampleType.Ticks => cumulative_series_idx >= settings.number_of_ticks
SampleType.Time => cumulative_time_delta >= settings.number_of_seconds
This dual-clock system synchronizes two time domains:
Pine's execution clock (bar-by-bar processing)
The custom timeframe clock (tick or time-based)
The library carefully handles temporal discontinuities, ensuring candle formation remains accurate despite irregular tick arrival or market gaps.
Advanced Usage Techniques
1. Creating Custom Indicators with Real-Time Candles
To develop indicators that process real-time data within the current bar:
// Get real-time candles for your data
Candle rsi_candles = candle_array(ta.rsi(close, 14))
// Calculate indicator values based on candle properties
float signal = ta.ema(rsi_candles.first().source(Source.Close), 9)
// Detect patterns that occur within the bar
bool divergence = close > close and rsi_candles.first().Close < rsi_candles.get(1).Close
2. Working with Custom Timeframes and Plotting
For maximum flexibility when visualizing custom timeframe data:
// Create custom timeframe candles
CandleCTF volume_candles = ctf_candles_array(
source = volume,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 60
)
// Convert specific candle properties to float arrays
float volume_closes = volume_candles.candle_ctf_to_float(Source.Close)
// Calculate derived values
float volume_ema = volume_candles.ctf_ema(14)
// Create custom visualization
volume_candles.draw_ctf_candles_time()
volume_ema.draw_ctf_line_time(line_color = color.orange)
3. Creating Hybrid Timeframe Analysis
One powerful application is comparing indicators across multiple timeframes:
// Standard chart timeframe RSI
float chart_rsi = ta.rsi(close, 14)
// Custom 5-second timeframe RSI
CandleCTF ctf_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 5
)
float fast_rsi_array = ctf_candles.candle_ctf_to_float(Source.Close)
float fast_rsi = fast_rsi_array.first()
// Generate signals based on divergence between timeframes
bool entry_signal = chart_rsi < 30 and fast_rsi > fast_rsi_array.get(1)
Final Notes
This library represents an advanced implementation of real-time data processing within Pine Script's constraints. By creating a reactive programming framework for handling continuous data streams, it enables sophisticated analysis typically only available in dedicated trading platforms.
The design principles employed—including state management, temporal processing, and object-oriented architecture—can serve as patterns for other advanced Pine Script development beyond this specific application.
------------------------
Library "real_time_candles"
A comprehensive library for creating real-time candles with customizable timeframes and sampling methods.
Supports both chart-time and custom-time candles with options for candlestick and Heikin-Ashi visualization.
Allows for tick-based or time-based sampling with moving average overlay capabilities.
get_tick(source, na_replace)
Captures the current price as a tick data point
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
na_replace (float) : Optional - Value to use when source is na
Returns: TickData structure containing price, time since last update, and sequential index
candle_array(source, candle_type, sync_start, bullish_color, bearish_color)
Creates an array of candles based on price updates
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
sync_start (simple bool) : Optional - Whether to synchronize with the start of a new bar
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of Candle objects ordered with most recent at index 0
candle_series(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides a single candle based on the latest price data
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: A single Candle object representing the current state
candle_tuple(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides candle data as a tuple of OHLC values
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Tuple representing current candle values
method source(self, source, na_replace)
Extracts a specific price component from a Candle
Namespace types: Candle
Parameters:
self (Candle)
source (series Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
na_replace (float) : Optional - Value to use when source value is na
Returns: The requested price value from the candle
method source(self, source)
Extracts a specific price component from a CandleCTF
Namespace types: CandleCTF
Parameters:
self (CandleCTF)
source (simple Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
Returns: The requested price value from the candle as a varip
method candle_ctf_to_float(self, source)
Converts a specific price component from each CandleCTF to a float array
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
Returns: Array of float values extracted from the candles, ordered with most recent at index 0
method ctf_ema(self, ema_period)
Calculates an Exponential Moving Average for a CandleCTF array
Namespace types: array
Parameters:
self (array)
ema_period (simple float) : Period for the EMA calculation
Returns: Array of float values representing the EMA of the candle data, ordered with most recent at index 0
method draw_ctf_candles_time(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar time coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using time-based x-coordinates
method draw_ctf_candles_index(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar index coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using index-based x-coordinates
method draw_ctf_line_time(self, source, line_size, line_color)
Renders a line representing a price component from the candles using time coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_time(self, line_size, line_color)
Renders a line from a varip float array using time coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_index(self, source, line_size, line_color)
Renders a line representing a price component from the candles using index coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
method draw_ctf_line_index(self, line_size, line_color)
Renders a line from a varip float array using index coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots tick-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots tick-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots time-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots time-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_candles(source, candle_type, sample_type, number_of_ticks, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, enable_ema, line_width, ema_color, use_time_indexing)
Unified function for plotting candles with comprehensive options
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Optional - Type of candle chart to display
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
ema_period (simple float) : Optional - Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
enable_ema (bool) : Optional - Whether to display the EMA overlay
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with optional EMA overlay
ctf_candles_array(source, candle_type, sample_type, number_of_ticks, number_of_seconds, tied_open, bullish_color, bearish_color)
Creates an array of custom timeframe candles without rendering them
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to create (candlestick or Heikin-Ashi)
sample_type (simple SampleType) : Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of CandleCTF objects ordered with most recent at index 0
Candle
Structure representing a complete candle with price data and display properties
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
candle_color (series color) : Color to use when rendering the candle
ready (series bool) : Boolean indicating if candle data is valid and ready for use
TickData
Structure for storing individual price updates
Fields:
price (series float) : The price value at this tick
time_delta (series float) : Time elapsed since the previous tick in milliseconds
series_index (series int) : Sequential index identifying this tick
CandleCTF
Structure representing a custom timeframe candle with additional time metadata
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
open_time (series int) : Timestamp marking when the candle was opened (in Unix time)
time_delta (series float) : Duration of the candle in milliseconds
candle_color (series color) : Color to use when rendering the candle
Pipstocrat Market Participant AnalysisPipstocrat Market Participant Analysis (PMPA) , analyzes the behavior of different types of traders in the market: Hot Money (short-term traders), Smart Money (institutional or professional traders), and Retail Traders . It uses RSI-based calculations to measure their activity and displays the results as colored bars on a chart.
Customizable Colors: Users can change the colors for each type of trader and other visual elements like reference lines.
Reference Lines: Horizontal lines at levels 5 (Support), 10 (Neutral), and 15 (Resistance) help interpret the data.
Focus on RSI: The script simplifies analysis by focusing solely on RSI-based signals.
This tool helps traders quickly identify trends and sentiment in the market, making it easier to spot potential opportunities.
Bull Flag (9:30-12:00 Only) [One-Liner Fix]🚀 Bull Flag Breakout Strategy | Intraday Momentum (9:30-12:00) 🔥📈
💡 Designed for Intraday Traders who love momentum breakouts and want to automate Bull Flag setups with volume confirmation! This strategy detects strong bullish moves, measures pullbacks, and triggers trades when the first candle makes a new high—ensuring maximum momentum.
⸻
🏆 Why This Strategy?
✅ Bull Flag Pattern Automation – No need to manually spot pullbacks! 🎯
✅ Smart Volume Confirmation – Only enter trades when breakout volume is strong! 📊
✅ Morning Session Focused (9:30 - 12:00 EST) – Trade when momentum is at its peak! ⏰
✅ Customizable ATR & Risk Settings – Adjust pullback %, stop-loss, and take-profit! 🛠️
✅ Backtest-Friendly – See how the strategy performs over time! 🔍
⸻
🎯 How It Works
📌 Step 1: Detects a Bullish Impulse Bar
🔹 Large green candle 🚀
🔹 Candle range > ATR multiplier
🔹 Volume > Average volume threshold
📌 Step 2: Confirms a Valid Pullback
🔸 Pullback must stay within % range of the impulse move 📉
🔸 If the pullback is too deep or takes too long, the setup is ignored ⛔
📌 Step 3: First Candle to Make a New High 📈
🔹 When a candle breaks the previous high and volume confirms, go long! 💰
🔹 Stop-Loss set at pullback low
🔹 Take-Profit at Risk:Reward (R:R) Target 🎯
⸻
🔥 Best For
💎 Scalpers & Day Traders – Capture short-term breakout momentum! ⚡
📊 Backtesters – Optimize ATR, volume, and pullback rules for best performance! 🧪
⏳ Morning Momentum Traders – Focus on 9:30-12:00 AM EST for higher probability setups!
⸻
🚨 Important Notes
🔹 This strategy is not financial advice! 📜
🔹 Always backtest & paper trade before using real money! 📉📈
🔹 Volatility varies – Customize settings based on your trading style! 🔧
🚀 Like this script? Give it a try & let us know how it works for you! 🔥👊
⸻
AO Smart Scalper – 5M Dynamic SL Edition📈 AO Signals with Fixed and Dynamic SL – Optimized for 5-Minute Charts 📉
This indicator is built for 5-minute timeframe trading, combining powerful momentum signals from the Awesome Oscillator (AO) with both Fixed and Dynamic Stop Loss (SL) levels to enhance trade management and risk control.
✅ Buy/Sell Signals:
The indicator generates clear BUY and SELL signals based on the AO crossing above or below the zero line, helping traders capture momentum shifts early.
🛑 Fixed Stop Loss:
Each trade signal comes with a Fixed SL, calculated based on the high (for shorts) or low (for longs) of the previous candle, with a customizable percentage offset. This SL is plotted with a red line, providing a clear initial risk level.
⚡ Dynamic Stop Loss: Continuous Presence, Strategic Use:
A secondary Dynamic SL line is plotted, which is continuously present on the chart. This dynamic level responds to market conditions and can serve as a trailing stop or key decision point.
💡 Recommended Use: It is recommended to actively start using the Dynamic SL once the trade has moved into profit. This allows protecting obtained profits and minimizing the risk of losses in case of a market reversal.
🛡️ Enhanced Dynamic Stop-Loss Strategy:
🔒 Initial Protection: Utilize the Fixed SL as the initial stop-loss, placed below relevant lows (for longs) or above relevant highs (for shorts), or as provided by the fixed SL indicator.
🛤️ Dynamic Tracking:
🟢 Long Trades: Once in profit, the Dynamic SL will dynamically adjust, moving upwards as higher lows are formed, effectively trailing the price and securing profits.
🔴 Short Trades: Conversely, in short trades, once in profit, the Dynamic SL will move downwards as lower highs are formed, protecting gains.
🔄 Alternatively the dynamic stop loss will follow the dynamic SL line provided by the indicator.
🚪 Exiting Trades: When the price crosses below the Dynamic SL line in a LONG trade, or above it in a SHORT trade, the recommended action is to exit the trade.
↩️ Re-entry Consideration: You may consider re-entering only if the price clearly returns above the Dynamic SL (for longs) or below it (for shorts).
⚠️ IMPORTANT - 5-Minute Strategy Guidance ⏱️
This tool is specifically optimized for the 5-minute timeframe. This approach helps filter out weak setups and maintain discipline in volatile market conditions.
✨ Additional Features:
👁️ Visual and editable SL levels
📊 200-period SMA for trend context
💻 Simple and effective interface for intraday trading setups
🎯 Ideal for traders seeking a clean, rule-based system that combines momentum entry signals with layered stop loss protection.
🔑 Key Changes:
It was emphasized that the Dynamic SL is always present, but its active use is recommended once the trade is in profit.
It was clarified the use of the Fixed SL, giving the option to use the one provided by the indicator, or to place it according to the price action.
Panic Drop Stock Market Bull/Bear Market Panic Drop Bull/Bear
What It Does:
This indicator identifies bull and bear markets for the S&P 500 (or any stock/index) using the 50-period and 150-period Simple Moving Averages (SMAs). A green background signals a confirmed bull market when the 50 SMA is above the 150 SMA and the 150 SMA slope is flat or upward. A red background signals a confirmed bear market when the 50 SMA is below the 150 SMA and the 150 SMA slope is downward. The background color persists until a new confirmed state is detected, ensuring no gaps—perfect for spotting long-term market trends whether you’re a beginner, trend trader, or long-term investor.
Key Features:
Plots 50 SMA (default: blue line) and 150 SMA (default: orange line).
Background highlights: green for bull markets, red for bear markets.
Persistent background color—no gaps during unconfirmed periods.
Alerts for confirmed bull and bear market transitions.
Fully adjustable: MA periods, slope lookback, and more.
How to Use It:
Add to your S&P 500 chart (e.g., SPX or SPY) on a daily or weekly timeframe (daily default recommended for long-term trends).
Watch for background color changes:
Green background: Confirmed bull market—consider long positions or holding.
Red background: Confirmed bear market—consider shorting or exiting longs.
Customize via settings:
Adjust MA periods (default: 50 and 150).
Set slope lookback (default: 5 bars) to control slope sensitivity.
Change MA colors if desired.
Set alerts: Right-click on the chart > "Add Alert" > Select "Bull Market Confirmed" or "Bear Market Confirmed."
Trade smart: Use the background to confirm market regimes—e.g., go long during green (bull) phases above key support levels, or protect capital during red (bear) phases.
Why It’s Great:
Beginners: Simple background colors make market trends easy to spot.
Trend Traders: 50/150 SMA crossover with slope confirmation catches major market shifts.
Long-Term Investors: Persistent background ensures you stay in the trend without noise.
Created by Timothy Assi (Panic Drop), eToro’s elite investor. Test it, tweak it, and trade with confidence!
FTB Smart Trader System — Market Maker Levels, EMAs & VectorsThe FTB Trade Engine is an indicator suite I built for myself as a crypto trader. It's designed specifically for trading Institution levels, EMAs, PVSRA Volume Candles, and Session Timings. It helps me spot high probability trade setups without overcomplicating things.
🔑 Features of this Indicator
📌 🔥 Key Session Levels (extend lines in settings as needed)
✅ Weekly High & Low (HOW/LOW) — Automatically plots the previous week's high and low
✅ Daily High & Low (HOD/LOD) — Marks the prior day's range
✅ Asia Session High & Low — Plots the Asian session’s high and low, helping you detect potential breakouts or fakeouts, as Asia often sets the initial high and low of the day.
✅ 50% Asia Level — Automatically calculates and displays the midpoint between Asia’s high and low, an important level for intraday trading.
📌 🔥 Advanced EMA Suite
✅ Includes 10, 20, 50, 200, and 800 EMAs — providing key zones of support, resistance, and trend direction.
👀 Good to know: the break of the 50EMA WITH a vector candle is significant for reversals.
📌 🔥 PVSRA Candles
(👀 IMPORTANT: To properly view PVSRA candles, make sure to UNCHECK all default candle settings — Color Bars, Body, Borders, and Wick — in your chart's candle settings.)
✅ Price, Volume, Support & Resistance Analysis (PVSRA) Candles — These special candles combine price action with volume analysis, color-coded to highlight areas potentially influenced by market makers, institutions, and large players. Perfect for identifying key volume zones and quickly analyzing any coin or pair without switching tools.
Candle Colors Explained:
Bullish Candles:
🟢 Green — 200% increase in volume on bullish moves (strong buyer presence).
🔵 Blue — 150% increase in bullish volume, but may also indicate fatigue or possible reversal.
⚪ White — Normal bullish volume (standard green candles).
Bearish Candles:
🔴 Red — 200% increase in bearish volume compared to the last 10 candles (strong selling).
🟣 Magenta — 150% increase in bearish volume, signaling possible continuation or exhaustion.
⚫ Gray — Normal bearish volume (standard red candles).
EMA Sniper – Precision Trading with EMA 21/50Title: EMA Sniper – Precision Trading with EMA 21/50
Description:
🚀 EMA Sniper is a powerful trading tool designed to identify trend shifts with precision using the EMA 21/50 crossover, while also displaying Stop Loss (SL) and Take Profit (TP) levels directly on the chart.
🔹 Features:
✅ EMA 21/50 Crossover Signals – Buy signals appear when EMA 21 crosses above EMA 50, and sell signals appear when EMA 21 crosses below EMA 50.
✅ Smart Stop Loss & Take Profit – SL is dynamically placed below/above EMA 50 for optimized risk management, while TP follows a 2:1 risk/reward ratio.
✅ Clear Visual Alerts – The indicator plots SL and TP levels as lines on the chart, along with buy and sell markers for quick decision-making.
✅ Multi-Market & Multi-Timeframe – Works across forex, crypto, stocks, and indices on any timeframe.
🚀 Perfect for traders looking for a structured approach to trend-based trading!
Let me know if you’d like any modifications! 🔥
Panic Drop Bitcoin 5 EMA Buy & Sell SignalPanic Drop BTC 5 EMA
What It Does:
This indicator tracks Bitcoin’s price against a 5-period Exponential Moving Average (EMA) to deliver simple buy and sell signals. A green arrow below the candle signals a buy when Bitcoin closes above the 5-EMA, while a red arrow above signals a sell when it closes below. Perfect for spotting Bitcoin’s momentum shifts—whether you’re a newbie, crypto trader, or short on time.
Key Features:
Plots a customizable 5-EMA (default: blue line).
Buy () and Sell () signals on crossovers/crossunders.
Optional background highlight: green (above EMA), red (below).
Alerts for buy/sell triggers.
Fully adjustable: timeframe, colors, signal toggles.
How to Use It:
Add to your BTC/USD chart (works on any timeframe—daily default recommended).
Watch for green arrows (buy) below candles and red arrows (sell) above.
Customize via settings:
Adjust EMA period (default: 5).
Set timeframe (e.g., "D" for daily, "1H" for hourly).
Change colors or toggle signals/background off.
Set alerts: Right-click a signal > "Add Alert" > Select "Buy Signal" or "Sell Signal."
Trade smart: Use signals to catch Bitcoin dips (e.g., buy below $100K) or exits.
Why It’s Great:
Beginners: Clear arrows simplify decisions.
Crypto Traders: 5-EMA catches Bitcoin’s fast moves.
Busy Investors: Signals save time—no deep analysis needed.
Created by Timothy Assi (Panic Drop), eToro’s elite investor. Test it, tweak it, and trade with confidence!
[COW] Day Percent LevelsThis indicator plots on your chart 2 levels, the daily percentage changes required to know by most prop firms and other exchanges. 5% is often a cutoff point for prop firm day traders and can get you banned if you trade past these levels. This indicator allows you to adjust the percentage as well as the lines and labels to your liking.
This is key when using prop firms as it is a level you must be aware of when trading. This can help you avoid being banned, your account being closed, or other disciplinary action based on trading past these levels.
Enjoy!
MTF Fractals [RunRox]🔽 MTF Fractals is a powerful indicator designed to visualize fractals from multiple timeframes directly on your chart, highlight liquidity sweeps at these fractal levels, and provide several additional features we’ll cover in detail below.
We created this indicator because we couldn’t find a suitable tool that met our specific needs on TradingView. Therefore, we decided to develop a valuable indicator for the entire TradingView community, combining simplicity and versatility.
⁉️ WHAT IS A FRACTALS?
In trading, a fractal is a technical analysis pattern composed of five consecutive candles, typically highlighting local market turning points. Specifically, a fractal high is formed when a candle’s high is higher than the highs of the two candles on either side, whereas a fractal low occurs when a candle’s low is lower than the lows of the two adjacent candles on both sides.
Traders use fractals as reference points for identifying significant support and resistance levels, potential reversal areas, and liquidity zones within price action analysis. Below is a screenshot illustrating clearly formed fractals on the chart.
📙 FRACTAL FORMATION
Here’s how fractals form depending on your chosen setting (3, 5, 7, or 9):
▶️ 3-bar fractal – forms when the central candle is higher (for highs) or lower (for lows) than one candle on each side.
▶️ 5-bar fractal – forms when the central candle is higher or lower than two candles on both sides.
▶️ 7-bar fractal – forms when the central candle is higher or lower compared to the three candles on each side.
▶️ 9-bar fractal – forms similarly but requires four candles on each side, making the fractal significantly more reliable and robust.
A higher number of bars ensures stronger fractal levels, highlighting more significant potential reversal points on the chart.
Now that we’ve covered the theory behind fractal formation, let’s explore the indicator’s functionality in more detail.
Below, I’ll explain each feature clearly and illustrate how you can effectively utilize this indicator in your trading.
🕐 MULTI-TIMEFRAME FRACTALS
We realized that displaying fractals only from the current timeframe isn’t always convenient, so we’ve introduced Multi-Timeframe Fractals into this indicator.
Now you can easily display fractals from higher timeframes directly on your current chart, providing you with broader market context and clearer trading signals.
Fractals from Current Timeframe – Fractals identified directly on the chart’s current timeframe.
Fractals from Higher Timeframes – Fractals sourced from higher timeframes and displayed clearly on your current chart for enhanced market perspective.
📈 FRACTAL LINES
Since fractals represent areas of high liquidity, we’ve added an option to extend fractal levels horizontally as Fractal Lines across your chart.
This feature allows you to clearly visualize critical liquidity areas from higher timeframes, directly on your current timeframe chart, as demonstrated in the screenshot below.
With this approach, you can clearly visualize significant fractal levels from higher timeframes directly on your current chart - for example, projecting fractals from the 1-hour (1H) timeframe onto a 3-minute (3m) chart. ✅ This helps you easily identify critical liquidity areas and potential reversal zones without the need to switch between multiple timeframes.
💰 LIQUDITY SWEEP (LIQUDITY GRAB)
To enhance your trading experience, we’ve introduced a feature that clearly identifies liquidity sweeps of fractal levels.
A Liquidity Sweep occurs when a candle closes beyond a fractal line, leaving a wick that pierces through it, signaling that liquidity has been collected at this level.
Below, you’ll find two examples illustrating this functionality:
▶️ Fractal lines from the current timeframe
▶️ Fractal lines projected from higher timeframes
The first example illustrates liquidity being swept from fractals on the current timeframe .
Here, the candle clearly closes beyond the fractal line, leaving a wick through it. This indicates a liquidity sweep at the fractal level, visually highlighting a potential reversal or continuation opportunity directly on your chart.
In the second example, fractals from the higher timeframe are projected onto your current chart.
When a candle on your current timeframe closes beyond an HTF fractal line - leaving a wick through this level - the indicator highlights it clearly. This signals to traders a potential reversal zone, indicating that liquidity has been swept, and price may reverse or significantly react from this area.
You can also enable the display of additional labels on the chart. These labels clearly mark liquidity sweeps at fractal levels, making it easier to visually identify potential reversal points directly on your chart.
⚙️ SETTINGS
Below are the indicator settings with detailed explanations for each parameter.
🔷 Bars in Fractal – Number of candles to the right and left required to form a fractal.
🔷 Fractal Timeframe – Select the timeframe from which you want to display fractals on the current chart.
🔷 Max Age, bars – Number of bars during which the fractal will remain active.
🔷 Show Fractal Line – Display or hide fractal lines.
🔷 Line Style – Choose the style of the line displayed on the chart.
🔷 Line Width – Thickness of the fractal line.
🔷 High Fractal – Style and color of bearish fractals.
🔷 Low Fractal – Style and color of bullish fractals.
🔷 Fractal Label Size – Select the size of fractal labels.
🔷 Show Sweep Labels – Option to display labels when a liquidity sweep occurs.
🔷 Label Color – Color and transparency of the area marked on the chart during a sweep.
🔷 Shade Sweep Area – Show or hide the sweep area shading.
🔷 Area Color – Color and transparency settings for the sweep area.
🔶 We’d love to hear your feedback and any suggestions for additional features you’d like to see in this indicator. We’ll be happy to consider your ideas and continue improving the indicator!
TJR SEEK AND DESTROYTJR SEEK AND DESTROY – Intraday ICT Trading Tool
Built for day traders, TJR SEEK AND DESTROY combines Smart Money concepts like order blocks, fair value gaps, and liquidity sweeps with structure breaks and daily bias to pinpoint high-probability trades during US market hours (9:30–16:00). Ideal for scalping or intraday strategies on stocks, futures, or forex.
What Makes It Unique?
Unlike standalone ICT indicators, this script integrates:
Order Blocks with volume and range filters for precise support/resistance zones.
Fair Value Gaps (FVG) to spot pre-market price imbalances.
Break of Structure (BOS) and Liquidity Sweeps for trend and reversal signals.
A 1H MA-based Bias to align trades with the day’s direction.
BUY/SELL Labels triggered only when bias, BOS, and sweeps align, reducing noise.
How Does It Work?
Order Blocks: Marks zones with high volume (>1.5x 20-period SMA) and low range (<0.5x ATR20) as teal boxes—potential reversal points.
Fair Value Gap: Compares the prior day’s close to the current open (pre- or post-9:30), shown as a purple line and label (e.g., "FVG: 0.005").
Pivot Point: Calculates (prevHigh + prevLow + prevClose) / 3 from the prior day, plotted as an orange line for equilibrium.
Break of Structure: Detects crossovers of 5-bar highs/lows (gray lines), marked with red triangles.
Liquidity Sweeps: Tracks breaches of the prior day’s high/low (yellow lines), marked with yellow triangles.
Daily Bias: Uses 1H close vs. 20-period MA (blue line) for bullish (green background), bearish (red), or neutral (gray) context.
Signals: BUY (green label) when bias is bullish, price breaks up, and sweeps the prior high; SELL (red label) when bias is bearish, price breaks down, and sweeps the prior low.
How to Use It
Setup: Apply to 1M–15M charts for US session trading (9:30–16:00 EST).
Trading:
Wait for a BUY label after a yellow sweep triangle above the prior day’s high in a green (bullish) background.
Wait for a SELL label after a yellow sweep triangle below the prior day’s low in a red (bearish) background.
Use order blocks (teal boxes) as support/resistance for stop-loss or take-profit.
Markets: Best for SPY, ES futures, or forex pairs with US session volatility.
Underlying Concepts
Order Blocks: High-volume, low-range bars suggest institutional activity.
FVG: Gaps between close and open indicate imbalance to be filled.
BOS & Sweeps: Price breaking key levels signals momentum or stop-hunting.
Bias: 1H MA filters trades by broader trend.
Chart Setup
Displays order blocks (teal boxes), pivot (orange), open (purple), bias (colored background), BOS/sweeps (triangles), and signals (labels). Keep other indicators off for clarity.