Reversal & Breakout Strategy with ORB### Reversal & Breakout Strategy with ORB
This strategy combines three distinct trading approaches—reversals, trend breakouts, and opening range breakouts (ORB)—into a single, cohesive system. The goal is to capture high-probability setups across different market conditions, leveraging a mashup of technical indicators for confirmation and risk management. Below, I’ll explain why this combination works, how the components interact, and how to use it effectively.
#### Why the Mashup?
- **Reversals**: Identifies overextended moves using RSI (overbought/oversold) and SMA50 crosses, filtered by VWAP and SMA200 trend direction. This targets mean-reversion opportunities in trending markets.
- **Breakouts**: Uses EMA9/EMA20 crossovers with VWAP and SMA200 confirmation to catch momentum-driven trend continuations.
- **Opening Range Breakout (ORB)**: Detects early momentum by breaking the high/low of a user-defined opening range (default: 15 bars) with volume confirmation. This adds a time-based edge, ideal for intraday trading.
The synergy comes from blending these methods: reversals catch pullbacks, breakouts ride trends, and ORB exploits early volatility—all filtered by trend (SMA200) and anchored by VWAP for context.
#### How It Works
1. **Indicators**:
- **EMA9/EMA20**: Fast-moving averages for breakout signals.
- **SMA50**: Medium-term trend filter for reversals.
- **SMA200**: Long-term trend direction to align trades.
- **RSI (14)**: Measures overbought (>70) or oversold (<30) conditions.
- **VWAP**: Acts as a dynamic support/resistance level.
- **ATR (14)**: Sets stop-loss distance (default: 1.5x ATR).
- **Volume**: Confirms ORB breakouts (1.5x average volume of opening range).
2. **Entry Conditions**:
- **Long**: Triggers on reversal (SMA50 cross + RSI < 30 + below VWAP + uptrend), breakout (EMA9 > EMA20 + above VWAP + uptrend), or ORB (break above opening range high + volume).
- **Short**: Triggers on reversal (SMA50 cross + RSI > 70 + above VWAP + downtrend), breakout (EMA9 < EMA20 + below VWAP + downtrend), or ORB (break below opening range low + volume).
3. **Risk Management**:
- Risks 5% of equity per trade (based on the initial capital set in the strategy tester).
- Stop-loss: Based on lowest low/highest high over 7 bars ± 1.5x ATR.
- Targets: Two exits at 1:1 and 1:2 risk:reward (50% of position at each).
- Break-even: Stop moves to entry price after the first target is hit.
4. **Backtesting Settings**:
- Commission: Hardcoded at 0.1% per trade (realistic for most brokers).
- Slippage: Hardcoded at 2 ticks (realistic for most markets).
- Tested on datasets yielding 100+ trades (e.g., 2-min or 5-min charts over months).
#### How to Use It
- **Timeframe**: Works best on intraday (2-min, 5-min) or daily charts. Adjust `Opening Range Bars` (e.g., 15 bars = 30 min on 2-min chart) for your timeframe.
- **Settings**:
- Set your initial equity in the TradingView strategy tester’s "Properties" tab under "Initial Capital" (e.g., $10,000). The script automatically risks 5% of this equity per trade.
- Adjust `Stop Loss ATR Multiplier` or `Risk:Reward Targets` based on your risk tolerance.
- Note that commission (0.1%) and slippage (2 ticks) are fixed in the script for backtesting consistency.
- **Execution**: Enter on signal, monitor plotted stop (red) and targets (green/blue). The strategy supports pyramiding (up to 2 positions) for scaling into trends.
#### Backtesting Notes
Results are realistic with commission (0.1%) and slippage (2 ticks) included. For a sufficient sample, test on volatile instruments (e.g., stocks, forex) over 3-6 months on lower timeframes. The default 1.5x ATR stop may seem wide, but it’s justified to avoid premature exits in volatile markets—feel free to tweak it with justification. The script assumes an initial capital of $10,000 in the strategy tester for the 5% risk calculation (e.g., $500 risk per trade); adjust this in the "Properties" tab as needed.
This mashup isn’t just a random mix; it’s a deliberate fusion of complementary strategies, offering traders flexibility across market phases. Questions? Let me know!
Cerca negli script per "美国要强买强卖,要求中国购买指定商品,四年还必须买够15万亿?"
Forex Fire EMA/MA/RSI StrategyEURUSD
The entry method in the Forex Fire EMA/MA/RSI Strategy combines several conditions across two timeframes. Here's a breakdown of how entries are determined:
Long Entry Conditions:
15-Minute Timeframe Conditions:
EMA 13 > EMA 62 (short-term momentum is bullish)
Price > MA 200 (trading above the major trend indicator)
Fast RSI (7) > Slow RSI (28) (momentum is increasing)
Fast RSI > 50 (showing bullish momentum)
Volume is increasing compared to 20-period average
4-Hour Timeframe Confluence:
EMA 13 > EMA 62 (larger timeframe confirms bullish trend)
Price > MA 200 (confirming overall uptrend)
Slow RSI (28) > 40 (showing bullish bias)
Fast RSI > Slow RSI (momentum is supporting the move)
Additional Precision Requirement:
Either EMA 13 has just crossed above EMA 62 (crossover)
OR price has just crossed above MA 200
Short Entry Conditions:
15-Minute Timeframe Conditions:
EMA 13 < EMA 62 (short-term momentum is bearish)
Price < MA 200 (trading below the major trend indicator)
Fast RSI (7) < Slow RSI (28) (momentum is decreasing)
Fast RSI < 50 (showing bearish momentum)
Volume is increasing compared to 20-period average
4-Hour Timeframe Confluence:
EMA 13 < EMA 62 (larger timeframe confirms bearish trend)
Price < MA 200 (confirming overall downtrend)
Slow RSI (28) < 60 (showing bearish bias)
Fast RSI < Slow RSI (momentum is supporting the move)
Additional Precision Requirement:
Either EMA 13 has just crossed under EMA 62 (crossunder)
OR price has just crossed under MA 200
The key aspect of this strategy is that it requires alignment between the shorter timeframe (15m) and the larger timeframe (4h), which helps filter out false signals and focuses on trades that have strong multi-timeframe support. The crossover/crossunder requirement further refines entries by looking for actual changes in direction rather than just conditions that might have been in place for a long time.
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
EMA Clouds with Strict Buy/Sell SignalsEMA Clouds with Strict Buy/Sell Signals - Precision Trading Unleashed
Unlock the power of trend-following precision with the EMA Clouds with Strict Buy/Sell Signals indicator, a sophisticated tool built for traders who demand reliability and clarity in their decision-making. Inspired by the legendary Ripster EMA Clouds, this indicator takes the classic cloud concept to the next level by incorporating stricter, high-confidence signals—perfect for navigating the markets on 15-minute or higher timeframes.
Why You’ll Want This on Your Chart:
Dual EMA Clouds for Crystal-Clear Trends: Watch as two dynamic clouds—formed by carefully paired Exponential Moving Averages (8/21 and 34/50)—paint a vivid picture of market momentum. The green short-term cloud and red long-term cloud provide an intuitive, at-a-glance view of trend direction and strength.
Stricter Signals, Fewer False Moves: Tired of chasing weak signals? This indicator only triggers buy and sell signals when the stars align: a cloud crossover (short-term crossing above or below long-term) and price confirmation above or below both clouds. The result? Fewer trades, higher conviction, and a cleaner chart.
Customizable Timeframe Power: Whether you’re a scalper on the 15-minute chart or a swing trader on the daily, tailor the clouds to your preferred higher timeframe (15min, 30min, 1hr, 4hr, or daily) for seamless integration into your strategy.
Visual Mastery Meets Actionable Alerts: Green buy triangles below the bars and red sell triangles above them make spotting opportunities effortless. Pair this with built-in alerts, and you’ll never miss a high-probability trade again.
How It Works:
Buy Signal: Triggers when the short-term cloud crosses above the long-term cloud and the price surges above both, signaling a robust bullish breakout.
Sell Signal: Activates when the short-term cloud dips below the long-term cloud and the price falls beneath both, confirming bearish dominance.
Cloud Visualization: The green cloud (8/21 EMA) tracks fast-moving trends, while the red cloud (34/50 EMA) anchors the broader market direction—together, they filter noise and spotlight tradable moves.
Why Traders Will Love It:
Designed for those who value precision over guesswork, this indicator cuts through market clutter to deliver signals you can trust. Whether you’re trading stocks, forex, crypto, or futures, its adaptability and strict logic make it a must-have tool for serious traders. Customize the EMA lengths, tweak the timeframe, and watch your edge sharpen.
Add EMA Clouds with Strict Buy/Sell Signals to your chart today and experience the confidence of trading with a tool that’s as disciplined as you are. Your next big move is waiting—don’t let it slip away.
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. 📉🔥
Quarterly Theory ICT 03 [TradingFinder] Precision Swing Points🔵 Introduction
Precision Swing Point (PSP) is a divergence pattern in the closing of candles between two correlated assets, which can indicate a potential trend reversal. This structure appears at market turning points and highlights discrepancies between the price behavior of two related assets.
PSP typically forms in key timeframes such as 5-minute, 15-minute, and 90-minute charts, and is often used in combination with Smart Money Concepts (SMT) to confirm trade entries.
PSP is categorized into Bearish PSP and Bullish PSP :
Bearish PSP : Occurs when an asset breaks its previous high, and its middle candle closes bullish, while the correlated asset closes bearish at the same level. This divergence signals weakness in the uptrend and a potential price reversal downward.
Bullish PSP : Occurs when an asset breaks its previous low, and its middle candle closes bearish, while the correlated asset closes bullish at the same level. This suggests weakness in the downtrend and a potential price increase.
🟣 Trading Strategies Using Precision Swing Point (PSP)
PSP can be integrated into various trading strategies to improve entry accuracy and filter out false signals. One common method is combining PSP with SMT (divergence between correlated assets), where traders identify divergence and enter a trade only after PSP confirms the move.
Additionally, PSP can act as a liquidity gap, meaning that price tends to react to the wick of the PSP candle, making it a favorable entry point with a tight stop-loss and high risk-to-reward ratio. Furthermore, PSP combined with Order Blocks and Fair Value Gaps in higher timeframes allows traders to identify stronger reversal zones.
In lower timeframes, such as 5-minute or 15-minute charts, PSP can serve as a confirmation for more precise entries in the direction of the higher timeframe trend. This is particularly useful in scalping and intraday trading, helping traders execute smarter entries while minimizing unnecessary stop-outs.
🔵 How to Use
PSP is a trading pattern based on divergence in candle closures between two correlated assets. This divergence signals a difference in trend strength and can be used to identify precise market turning points. PSP is divided into Bullish PSP and Bearish PSP, each applicable for long and short trades.
🟣 Bullish PSP
A Bullish PSP forms when, at a market turning point, the middle candle of one asset closes bearish while the correlated asset closes bullish. This discrepancy indicates weakness in the downtrend and a potential price reversal upward.
Traders can use this as a signal for long (buy) trades. The best approach is to wait for price to return to the wick of the PSP candle, as this area typically acts as a liquidity level.
f PSP forms within an Order Block or Fair Value Gap in a higher timeframe, its reliability increases, allowing for entries with tight stop-loss and optimal risk-to-reward ratios.
🟣 Bearish PSP
A Bearish PSP forms when, at a market turning point, the middle candle of one asset closes bullish while the correlated asset closes bearish. This indicates weakness in the uptrend and a potential price decline.
Traders use this pattern to enter short (sell) trades. The best entry occurs when price retests the wick of the PSP candle, as this level often acts as a resistance zone, pushing price lower.
If PSP aligns with a significant liquidity area or Order Block in a higher timeframe, traders can enter with greater confidence and place their stop-loss just above the PSP wick.
Overall, PSP is a highly effective tool for filtering false signals and improving trade entry precision. Combining PSP with SMT, Order Blocks, and Fair Value Gaps across multiple timeframes allows traders to execute higher-accuracy trades with lower risk.
🔵 Settings
Mode :
2 Symbol : Identifies PSP and PCP between two correlated assets.
3 Symbol : Compares three assets to detect more complex divergences and stronger confirmation signals.
Second Symbol : The second asset used in PSP and correlation calculations.
Third Symbol : Used in three-symbol mode for deeper PSP and PCP analysis.
Filter Precision X Point : Enables or disables filtering for more precise PSP and PCP detection. This filter only identifies PSP and PCP when the base asset's candle qualifies as a Pin Bar.
Trend Effect : By changing the Trend Effect status to "Off," all Pin bars, whether bullish or bearish, are displayed regardless of the current market trend. If the status remains "On," only Pin bars in the direction of the main market trend are shown.
Bullish Pin Bar Setting : Using the "Ratio Lower Shadow to Body" and "Ratio Lower Shadow to Higher Shadow" settings, you can customize your bullish Pin bar candles. Larger numbers impose stricter conditions for identifying bullish Pin bars.
Bearish Pin Bar Setting : Using the "Ratio Higher Shadow to Body" and "Ratio Higher Shadow to Lower Shadow" settings, you can customize your bearish Pin bar candles. Larger numbers impose stricter conditions for identifying bearish Pin bars.
🔵 Conclusion
Precision Swing Point (PSP) is a powerful analytical tool in Smart Money trading strategies, helping traders identify precise market turning points by detecting divergences in candle closures between correlated assets. PSP is classified into Bullish PSP and Bearish PSP, each playing a crucial role in detecting trend weaknesses and determining optimal entry points for long and short trades.
Using the PSP wick as a key liquidity level, integrating it with SMT, Order Blocks, and Fair Value Gaps, and analyzing higher timeframes are effective techniques to enhance trade entries. Ultimately, PSP serves as a complementary tool for improving entry accuracy and reducing unnecessary stop-outs, making it a valuable addition to Smart Money trading methodologies.
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
Capitulation Volume Detector by @RhinoTradezOverview
Hey traders, want to catch the market when it’s totally losing it? The Capitulation Volume Detector is your go-to buddy for spotting those wild moments when panic selling takes over. Picture this: prices plummet, volume explodes, and everyone’s bailing out—that’s capitulation, and it might just signal a turning point. This script throws a bright marker on your chart whenever the chaos hits, so you can decide if it’s time to jump in or sit tight. Built fresh in Pine Script v6, it’s sleek, customizable, and packs an alert to keep you posted—perfect for stocks, indices like SPY, or even crypto chaos.
Inspired by epic sell-offs like March 2020’s COVID crash, this tool’s here to help you navigate the storm with a smile (and maybe a profit).
What It Does
Capitulation volume is that “everyone’s out!” moment: a steep price drop meets a massive volume surge, hinting that sellers are tapped out. It’s not a guaranteed reversal—sometimes the bleeding continues—but it’s a loud clue that fear’s peaked. Here’s the magic:
Volume Check : Measures current volume against a customizable average (default: 20 bars).
Price Plunge : Tracks the percentage drop from the last close.
Capitulation Cal l: When volume rockets past your threshold (e.g., 2x average) and price tanks (e.g., -5%), you get a red triangle above the bar.
Stay Alert : Fires off a detailed message (e.g., “Volume 300M > 200M, Drop -10%”) so you’re never caught off guard.
Think of it as your market meltdown radar—simple, effective, and ready to roll.
Functionality Breakdown
Volume Surge Spotter :
Uses a 20-bar Simple Moving Average (SMA) of volume as your baseline.
Flags any bar where volume exceeds this average by your chosen multiplier (default: 2x).
Price Drop Detector :
Calculates the percentage change from the prior close.
Triggers when the drop’s bigger than your set limit (default: -5%).
Capitulation Marker:
Combines both signals: high volume + sharp drop = capitulation.
Slaps a red triangle above the bar for instant “whoa, there it is!” vibes.
Real-Time Alerts :
Sends a custom alert with volume and drop details, keeping you in the loop without babysitting the chart.
Customization Options
Tune it to your trading style with these easy settings:
Volume Multiplier (x Avg): Starts at 2.0 (2x average volume). Bump it to 3.0 for only the wildest spikes or dial it to 1.5 for more frequent catches. Range: 1.0-10.0, step 0.1.
Price Drop Threshold (%): Default 5.0 (a -5% drop). Go big with 10.0 for crash-level falls or ease to 3.0 for lighter dips. Range: 1.0-20.0, step 0.1.
Average Volume Period: Default 20 bars. Stretch it to 50 for a broader view or shrink to 10 for quick reactions. Range: 1-100.
Capitulation Marker Color: Red by default—because panic’s loud! Switch it to blue, green, or pink to match your chart’s personality.
How to Use It
Drop It On : Add it to any chart with volume data—SPY daily for market moves, /ES 15-minute for intraday action, or your go-to stock.
Play with Settings : Hit the indicator’s config gear and tweak the multiplier, drop threshold, period, or marker color to fit your vibe.
Set an Alert : Right-click the indicator, add an alert with “Any alert() function call,” and get pinged when capitulation strikes.
Watch the Action : Look for those red triangles on big drop days—pair with your favorite reversal signals for extra oomph.
Pro Tips
Daily Charts : Catch market-wide capitulations like March 23, 2020 (SPY: -10%, 3x volume).
Intraday : Spot flash crashes or sector sell-offs on 15-minute or 5-minute bars.
Context Matters : High volume alone isn’t enough—check the VIX or candlestick patterns (e.g., hammers) to confirm a bottom.
SMA Trend Filter Oscillator (Adaptive)The "SMA Trend Filter Oscillator (Adaptive)" indicator is a technical analysis tool that helps traders determine the direction and strength of a trend based on an adaptive Simple Moving Average (SMA). The oscillator calculates the difference between the closing price and the SMA value, allowing for the visualization of price deviation from the average and the assessment of current market dynamics.
Key Features of the Indicator:
Adaptation to Time Frame: The indicator automatically adjusts the SMA length based on the current time frame, making it versatile for use across different time intervals. For example:
Monthly Time Frame: SMA with a length of 50.
Weekly Time Frame: SMA with a length of 40.
Daily Time Frame: SMA with a length of 20.
Hourly Time Frame: SMA with a length of 10.
Intraday Time Frames: SMA with a length of 5 (for time frames up to 15 minutes) or 7 (for others).
SMA-Based Oscillator: The oscillator is calculated as the difference between the closing price and the SMA value. This allows:
Bullish Trend Identification: When the oscillator is above zero (price is above SMA).
Bearish Trend Identification: When the oscillator is below zero (price is below SMA).
Visualization: The oscillator is displayed as a histogram, where:
Green Color indicates a bullish trend.
Red Color indicates a bearish trend.
The Zero Line (Gray) serves as a reference for trend reversal.
How to Use the Indicator:
Trend Identification: If the oscillator is above zero and colored green, it signals a bullish trend. If it is below zero and colored red, it indicates a bearish trend.
Trend Strength: The larger the oscillator value (in either direction), the stronger the trend. Small oscillator values (close to zero) may indicate sideways movement or weak trend.
Entry and Exit Points:
Buy: When the oscillator crosses the zero line from below to above (transition from red to green).
Sell: When the oscillator crosses the zero line from above to below (transition from green to red).
Signal Filtering: Use the indicator in combination with other technical analysis tools (e.g., RSI, MACD, or support/resistance levels) to confirm signals.
Advantages of the Indicator:
Adaptability: Automatic adjustment of SMA length to the current time frame makes it versatile.
Simplicity: Intuitive histogram visualization allows for quick assessment of market conditions.
Flexibility: Can be used on any market (stocks, forex, cryptocurrencies) and time frame.
Limitations:
Lag: Like any SMA-based indicator, it can lag due to the use of average values.
False Signals: In sideways markets (flat), the indicator may generate false signals.
Risk Management:
Always set stop-losses and take-profits to minimize losses.
Test the indicator on historical data before using it on a live account.
The "SMA Trend Filter Oscillator (Adaptive)" is a powerful tool for traders seeking to quickly evaluate trends and their strength. Its adaptability and simplicity make it suitable for both novice and experienced traders.
Индикатор "SMA Trend Filter Oscillator (Adaptive)" — это инструмент технического анализа, который помогает трейдерам определять направление тренда и его силу на основе адаптивной скользящей средней (SMA). Осциллятор рассчитывает разницу между ценой закрытия и значением SMA, что позволяет визуализировать отклонение цены от среднего значения и оценивать текущую рыночную динамику.
Основные особенности индикатора:
Адаптация к таймфрейму
Индикатор автоматически подстраивает длину SMA в зависимости от текущего таймфрейма, что делает его универсальным для использования на различных временных интервалах. Например:
Месячный таймфрейм (Monthly): SMA с длиной 50.
Недельный таймфрейм (Weekly): SMA с длиной 40.
Дневной таймфрейм (Daily): SMA с длиной 20.
Часовой таймфрейм (Hourly): SMA с длиной 10.
Внутридневные таймфреймы (Intraday): SMA с длиной 5 (для таймфреймов до 15 минут) или 7 (для остальных).
Осциллятор на основе SMA
Осциллятор рассчитывается как разница между ценой закрытия и значением SMA. Это позволяет:
Определять бычий тренд, когда осциллятор выше нуля (цена выше SMA).
Определять медвежий тренд, когда осциллятор ниже нуля (цена ниже SMA).
Визуализация
Осциллятор отображается в виде гистограммы, где:
Зелёный цвет указывает на бычий тренд.
Красный цвет указывает на медвежий тренд.
Линия нуля (серая) служит ориентиром для определения смены тренда.
Как использовать индикатор:
Определение тренда
Если осциллятор находится выше нуля и окрашен в зелёный цвет, это сигнализирует о бычьем тренде.
Если осциллятор находится ниже нуля и окрашен в красный цвет, это указывает на медвежий тренд.
Сила тренда
Чем больше значение осциллятора (в положительную или отрицательную сторону), тем сильнее тренд.
Небольшие значения осциллятора (близкие к нулю) могут указывать на боковое движение или слабость тренда.
Точки входа и выхода
Покупка (Buy): Когда осциллятор пересекает нулевую линию снизу вверх (переход из красной зоны в зелёную).
Продажа (Sell): Когда осциллятор пересекает нулевую линию сверху вниз (переход из зелёной зоны в красную).
Фильтрация сигналов
Используйте индикатор в сочетании с другими инструментами технического анализа (например, RSI, MACD или уровнями поддержки/сопротивления) для подтверждения сигналов.
Преимущества индикатора:
Адаптивность: Автоматическая настройка длины SMA под текущий таймфрейм делает индикатор универсальным.
Простота: Интуитивно понятная визуализация в виде гистограммы позволяет быстро оценить рыночную ситуацию.
Гибкость: Может использоваться на любых рынках (акции, форекс, криптовалюты) и таймфреймах.
Ограничения:
Запаздывание: Как и любой индикатор на основе SMA, он может запаздывать из-за использования средних значений.
Ложные сигналы: В условиях бокового движения (флэта) индикатор может генерировать ложные сигналы.
Управление рисками: Всегда устанавливайте стоп-лоссы и тейк-профиты, чтобы минимизировать потери.
Тестирование: Перед использованием на реальном счёте протестируйте индикатор на исторических данных.
Индикатор "SMA Trend Filter Oscillator (Adaptive)" — это мощный инструмент для трейдеров, которые хотят быстро оценить тренд и его силу. Его адаптивность и простота делают его подходящим как для начинающих, так и для опытных трейдеров
Quarterly Theory ICT 02 [TradingFinder] True Open Session 90 Min🔵 Introduction
The Quarterly Theory ICT indicator is an advanced analytical system built on ICT (Inner Circle Trader) concepts and fractal time. It divides time into four quarters (Q1, Q2, Q3, Q4), and is designed based on the consistent repetition of these phases across all trading timeframes (annual, monthly, weekly, daily, and even shorter trading sessions).
Each cycle consists of four distinct phases: the first phase (Q1) is the Accumulation phase, characterized by price consolidation; the second phase (Q2), known as Manipulation or Judas Swing, is marked by initial false movements indicating a potential shift; the third phase (Q3) is Distribution, where price volatility peaks; and the fourth phase (Q4) is Continuation/Reversal, determining whether the previous trend continues or reverses.
🔵 How to Use
The central concept of this strategy is the "True Open," which refers to the actual starting point of each time cycle. The True Open is typically defined at the beginning of the second phase (Q2) of each cycle. Prices trading above or below the True Open serve as a benchmark for predicting the market's potential direction and guiding trading decisions.
The practical application of the Quarterly Theory strategy relies on accurately identifying True Open points across various timeframes.
True Open points are defined as follows :
Yearly Cycle :
Q1: January, February, March
Q2: April, May, June (True Open: April Monthly Open)
Q3: July, August, September
Q4: October, November, December
Monthly Cycle :
Q1: First Monday of the month
Q2: Second Monday of the month (True Open: Daily Candle Open price on the second Monday)
Q3: Third Monday of the month
Q4: Fourth Monday of the month
Weekly Cycle :
Q1: Monday
Q2: Tuesday (True Open: Daily Candle Open Price on Tuesday)
Q3: Wednesday
Q4: Thursday
Daily Cycle :
Q1: 18:00 - 00:00 (Asian session)
Q2: 00:00 - 06:00 (True Open: Start of London Session)
Q3: 06:00 - 12:00 (NY AM)
Q4: 12:00 - 18:00 (NY PM)
90 Min Asian Session :
Q1: 18:00 - 19:30
Q2: 19:30 - 21:00 (True Open at 19:30)
Q3: 21:00 - 22:30
Q4: 22:30 - 00:00
90 Min London Session :
Q1: 00:00 - 01:30
Q2: 01:30 - 03:00 (True Open at 01:30)
Q3: 03:00 - 04:30
Q4: 04:30 - 06:00
90 Min New York AM Session :
Q1: 06:00 - 07:30
Q2: 07:30 - 09:00 (True Open at 07:30)
Q3: 09:00 - 10:30
Q4: 10:30 - 12:00
90 Min New York PM Session :
Q1: 12:00 - 13:30
Q2: 13:30 - 15:00 (True Open at 13:30)
Q3: 15:00 - 16:30
Q4: 16:30 - 18:00
Micro Cycle (22.5-Minute Quarters) : Each 90-minute quarter is further divided into four 22.5-minute sub-segments (Micro Sessions).
True Opens in these sessions are defined as follows :
Asian Micro Session :
True Session Open : 19:30 - 19:52:30
London Micro Session :
T rue Session Open : 01:30 - 01:52:30
New York AM Micro Session :
True Session Open : 07:30 - 07:52:30
New York PM Micro Session :
True Session Open : 13:30 - 13:52:30
By accurately identifying these True Open points across various timeframes, traders can effectively forecast the market direction, analyze price movements in detail, and optimize their trading positions. Prices trading above or below these key levels serve as critical benchmarks for determining market direction and making informed trading decisions.
🔵 Setting
Show True Range : Enable or disable the display of the True Range on the chart, including the option to customize the color.
Extend True Range Line : Choose how to extend the True Range line on the chart, with the following options:
None: No line extension
Right: Extend the line to the right
Left: Extend the line to the left
Both: Extend the line in both directions (left and right)
Show Table : Determines whether the table—which summarizes the phases (Q1 to Q4)—is displayed.
Show More Info : Adds additional details to the table, such as the name of the phase (Accumulation, Manipulation, Distribution, or Continuation/Reversal) or further specifics about each cycle.
🔵 Conclusion
The Quarterly Theory ICT, by dividing time into four distinct quarters (Q1, Q2, Q3, and Q4) and emphasizing the concept of the True Open, provides a structured and repeatable framework for analyzing price action across multiple time frames.
The consistent repetition of phases—Accumulation, Manipulation (Judas Swing), Distribution, and Continuation/Reversal—allows traders to effectively identify recurring price patterns and critical market turning points. Utilizing the True Open as a benchmark, traders can more accurately determine potential directional bias, optimize trade entries and exits, and manage risk effectively.
By incorporating principles of ICT (Inner Circle Trader) and fractal time, this strategy enhances market forecasting accuracy across annual, monthly, weekly, daily, and shorter trading sessions. This systematic approach helps traders gain deeper insight into market structure and confidently execute informed trading decisions.
LDO Support and Resistance with Trend LinesUnderstanding the Indicator on Your Chart
Support Lines (Green): These horizontal lines represent price levels where LDO is likely to find buying interest, preventing further declines. They turn a semi-transparent green when the price is above them and blue when below.
Resistance Lines (Blue): These horizontal lines indicate price levels where selling pressure may halt upward movements. They turn a semi-transparent blue when the price is below them and green when above.
Trend Lines (Blue for Resistance, Green for Support): Diagonal lines show the overall trend direction. Blue trend lines indicate resistance (price may struggle to rise above), and green trend lines indicate support (price may find a floor).
Pivots: Small triangles appear above or below candles to mark pivot highs (resistance) and pivot lows (support), helping you identify key turning points.
Customizing the Indicator
You can tweak the indicator’s behavior through the settings panel. Here’s what each input does:
Show Trend Lines? (Default: True)
Enables or disables the display of trend lines on the chart. Set to false to hide trend lines if you only want support/resistance levels.
Choose Higher Time Frame
Select a higher timeframe (e.g., 1H, 4H, 1D) to display support and resistance levels from that timeframe on your current chart (e.g., 5M or 15M).
Pivot Length Settings (Current and Higher Timeframe):
Pivot Length Left Hand Side (Current/HTF): Adjusts how many bars to the left the indicator looks to identify pivot lows (default: 15 for current, 20 for HTF).
Pivot Length Right Hand Side (Current/HTF): Adjusts how many bars to the right the indicator looks to identify pivot highs (default: 10 for current, 15 for HTF).
Increase these values for fewer, more significant pivots; decrease for more frequent pivots.
Pivot Sources (Trend 1 and Trend 2 Pivots):
Select the price source (e.g., low, high) for calculating pivot lows and highs. Default is low for pivot lows and high for pivot highs.
Line Width Settings:
Lower Time Frame Line Width (Default: 5): Sets the thickness of support/resistance lines on the current timeframe.
Higher Time Frame Line Width (Default: 18): Sets the thickness of support/resistance lines on the higher timeframe.
Show Support & Resistance? (Default: True)
Enables or disables the display of horizontal support and resistance lines. Set to false to hide them if you only want trend lines.
Alert Settings (Under “Alerts” Group):
Enable Trend Line Alerts? (Default: True): Turns alerts on or off for trend line hits.
Alert on Resistance Trend Lines? (Default: True): Enables alerts when the price hits resistance trend lines.
Alert on Support Trend Lines? (Default: True): Enables alerts when the price hits support trend lines.
Alert Message: Customize the alert message format (default: “Price hit trend line at {0}”, where {0} is replaced by the price).
Setting Up Alerts
Enable Alerts in the Indicator:
In the indicator settings, ensure “Enable Trend Line Alerts?” is set to true, and choose whether to alert on resistance or support trend lines.
Create a TradingView Alert:
Click the “Alerts” button (bell icon) at the top of the chart.
Select “Create Alert” and choose this indicator from the “Condition” dropdown.
Set the alert frequency (e.g., once per bar, only once), notification method (e.g., email, popup), and save the alert.
Test the Alerts:
Breakouts with timefilter [LuciTech]Here's the updated description with "colors" replaced by "colours" throughout, maintaining the original structure and content:
Breaking Point 2.0
This is a technical analysis overlay indicator designed to identify breakout levels based on pivot highs and lows, with a focus on price action during customizable time windows using London time (UK). It draws horizontal lines at pivot points and plots signals when price breaks above or below these levels, offering traders a tool to monitor potential bullish or bearish movements. The indicator includes options for time filtering and displaying only the most recent breakout.
Features
The Pivot Breakout Lines display horizontal lines at detected pivot highs (bullish) and pivot lows (bearish), coloured green and red by default. These lines extend from the pivot point to the breakout bar and can be set to show only the latest breakout.
The Breakout Signals mark bullish breakouts with an upward triangle below the bar and bearish breakouts with a downward triangle above the bar, using customizable colours.
The Time Filter restricts signals and lines to a specific window (default: 14:30–15:00 UK), which can be toggled on or off. A shaded background highlights this period when enabled.
How It Works
The indicator calculates pivot highs and lows using a user-defined lookback period (default: 5 bars). When price closes above a pivot high, it triggers a bullish signal and draws a line from the pivot to the breakout bar. When price closes below a pivot low, it triggers a bearish signal with a corresponding line.
If the time filter is active, signals and lines only appear within the specified window. Outside this period—or if the filter is disabled—they appear based solely on price action. The indicator maintains up to three recent pivots in memory, removing older ones as new pivots form.
Alerts are available for both bullish and bearish breakouts, triggered when signals occur.
Settings
Length controls the lookback period for pivot detection (default: 5).
Colours Bull/Bear sets the colours for bullish (default: green) and bearish (default: red) lines and signals.
Show Last Breakout toggles whether only the most recent breakout line and signal are displayed (default: false).
Time Filter enables or disables the time restriction (default: true).
Fill Background toggles a shaded area during the time window (default: true), with a customizable colour.
Time Settings define the start hour/minute and end hour/minute for the filter (default: 14:30–15:00).
Interpretation
The Pivot Breakout Lines highlight levels where price has previously reversed, potentially acting as support or resistance. A breakout above a pivot high may suggest bullish momentum, while a breakout below a pivot low may indicate bearish pressure.
The Breakout Signals provide visual cues for these events, useful for timing entries or exits. When "Show Last Breakout" is enabled, the chart focuses on the most recent signal, reducing clutter.
The Time Filter and background shading help traders concentrate on specific trading sessions, such as high-volatility periods. When disabled, the indicator tracks breakouts across all times.
Day Ranges (IST)Divides trading session into parts - 09:15 am to 12:00 noon and 12:00 noon to 15:30pm
FVG Reversal Sentinel🔵 FVG Reversal Sentinel – Multi-Timeframe Fair Value Gap Indicator
The FVG Reversal Sentinel is a powerful TradingView indicator designed to help traders identify and track Fair Value Gaps (FVGs) across multiple timeframes, all within a single chart.
This tool allows you to select up to five separate timeframes, ensuring you never miss key market shifts, whether you are scalping, day trading, or swing trading. You can use this indicator in any asset (Cryptos, Futures, Indices, Forex Pairs, etc.).
🔵 - Key Features -
Multi-Timeframe FVG Tracking – Select and display up to five different timeframes on one chart, providing a comprehensive view of market structure.
Customizable Colors – Adjust bullish and bearish FVG colors to match your chart theme for a seamless trading experience.
Enhanced Market Context – Quickly identify key liquidity zones and refine your entries and exits with precision.
Hide the lower timeframes FVGs to get a clear view in a custom timeframe.
Show or hide mitigated FVGs to declutter the chart.
FVGs boxes are going to be displayed only when the candle bar closes
FVGs are going to be mitigated only when the body of the candle closes above or below the FVG area.
No repainting
Whether you're looking to fine-tune your entries or gain a broader market perspective, the FVG Reversal Sentinel indicator ensures you have the tools to stay ahead of price action and capitalize on market inefficiencies.
🔵 - Customization-
You can change the indicator settings as you see fit to achieve the best results for your use case.
TIMEFRAMES
This indicator provides the ability to select up to 5 timeframes. These timeframes are based on the trader's timeframes including any custom timeframes.
Select the desired timeframe from the options list.
Add the label text you would like to show for the selected timeframe.
Check or uncheck the box to display or hide the timeframe from your chart.
FVG SETTINGS
Length of boxes: allows you to select the length of the box that is going to be displayed for the FVGs.
Delete boxes after fill?: allows you to show or hide mitigated FVGs on your chart.
Hide FVGs lower than enabled timeframes?: allows you to show or hide lower timeframe FVGs on your chart. Example - You are in a 15 minutes timeframe chart, if you choose to hide lower timeframe FVGs you will not be able to see 5 minutes FVG defined in your Timeframes Settings, only 15 minutes or higher timeframe FVGs will be displayed on your chart.
BOX VISUALS
Bullish FVG box color: the color and opacity of the box for the bullish FVGs.
Bearish FVG box color: the color and opacity of the box for the bearish FVGs.
LABELS VISUALS
Bullish FVG labels color: the color for bullish labels.
Bearish FVG labels color: the color for bearish labels.
Labels size: the size of the text displayed in the labels.
Labels position: the position of the label inside the FVGs boxes (right, left or center).
BORDER VISUALS
Border width: the width of the border (the thickness).
Bullish FVG border color: the color and the opacity of the bullish box border.
Bearish FVG border color: the color and the opacity of the bearish box border.
🔵 - How to use the indicator -
Just add the indicator in your chart and click in the settings option to customize it.
Make sure you select the desired timeframes and set the colors and opacity for the FVGs boxes.
This indicator can be used in many trading strategies, such as:
SILVER BULLET
iFVG
iFVG RETEST
These strategies are based on the use of FVGs, this tool can help you analyze the market and make the right decision.
🔵 - How was the indicator designed? -
I have spent a lot of time testing other open source indicators from the community. All of these indicators do a great job, but they have a problem, they not only mitigate FVGs when a candle closes above or below the FVG, they also mitigate FVGs when the candle closes exactly to the tick (not above or below the FVG). This is a problem for many strategies that rely on FVGs mitigation.
What makes this indicator different is that it focuses on just mitigating imbalances at the right time for these strategies.
I have taken ideas and some pieces of code from many community indicator developers, such as:
@twingall
@tflab
@marktools
@nacho-fx
@pmk07
... and many other people, to whom I thank for their valuable work and have allowed me to create this tool by making modifications to their source code.
🔵 - Disclaimer -
This tool is intended solely for informational and educational purposes and should not be regarded as financial, investment, or trading advice. It's not designed to predict market movements or offer specific recommendations. Users should be aware that past performance is not indicative of future results and should not rely on any indicator for financial decisions.
Harish algo for nifty and bankniftyHarish algo for nifty and banknifty
Overview
Harish Algo - Buy and Sell 11 is a powerful trading indicator designed for intraday traders, incorporating multiple technical analysis concepts to identify potential breakout and breakdown levels. It uses pivot points, exponential moving averages (EMAs), and volatility-based levels to generate buy and sell signals with visual markers for better decision-making.
Features & Functionality
✅ Pivot Points Calculation:
The indicator calculates daily pivot points along with resistance (R1) and support (S1) levels.
Helps in identifying potential reversal or breakout areas.
✅ EMA Trend Confirmation:
Uses three EMAs (21, 55, and 200) to confirm trend direction.
Ensures that buy signals align with uptrends and sell signals align with downtrends.
✅ 15-Minute Candle Analysis for Precision:
Captures the last three 15-minute closes of the previous day.
Computes an average and determines volatility-based price levels to anticipate price movements.
✅ Dynamic Buy & Sell Signals:
Bullish (Buy) Signals:
Price breaks above key resistance levels and EMAs confirm an uptrend.
Displayed as yellow (tiny) or green (small) upward triangles below candles.
Bearish (Sell) Signals:
Price drops below key support levels with EMA confirmation of a downtrend.
Displayed as fuchsia (tiny) or red (small) downward triangles above candles.
✅ Alerts for Trade Execution:
Get notified instantly with alerts when a buy or sell signal is triggered.
✅ Customizable Settings:
Modify EMA lengths and adjust parameters to fit different trading strategies.
Usage & Benefits
🔹 Helps traders identify potential entry and exit points with precision.
🔹 Reduces false signals by combining pivot points, EMAs, and price action.
🔹 Works best for intraday traders in the Indian stock markets, but can be applied to other markets as well.
🔹 Suitable for both beginners and experienced traders looking for a structured approach to trading.
How to Use
Add the indicator to your chart.
Observe the plotted pivot points, EMAs, and price levels.
Watch for triangle markers (buy/sell signals).
Use alerts to receive real-time notifications.
Combine with your own risk management strategy for best results.
🔹 Works on all timeframes but optimized for intraday trading.
Disclaimer
📢 This indicator is for educational purposes only and should not be considered financial advice. Always perform your own analysis before taking trades.
Prev Day High EMA Crossover with 7-Day SMA Trailing StopPrev Day High EMA Crossover with 7-Day SMA Trailing Stop
Overview
This indicator is designed for traders who seek high-probability breakout trades using a combination of Exponential Moving Averages (EMAs), the previous day's high, and a 7-day Simple Moving Average (SMA) trailing stop. It helps identify bullish and bearish crossover signals while ensuring confirmation with price action above or below key levels.
How It Works
1. Entry Signals:
✅ Bullish Entry:
The 9 EMA crosses above the 15 EMA (bullish momentum).
The price is above the previous day’s high (confirming a breakout).
The candle closes above the open (bullish confirmation).
✅ Bearish Entry:
The 9 EMA crosses below the 15 EMA (bearish momentum).
The price is below the previous day’s high (confirming a failure to break higher).
The candle closes below the open (bearish confirmation).
2. Exit Strategy (Trailing Stop):
📌 Long Exit: If in a long trade, exit when the price closes below the 7-day SMA.
📌 Short Exit: If in a short trade, exit when the price closes above the 7-day SMA.
ICT Killzones + Macros [TakingProphets]The ICT Killzones indicator is a powerful tool designed to visualize key trading sessions and market timing elements used in ICT (Inner Circle Trader) methodology. It includes:
• Session Markers:
- Asia Session
- London Session
- NY AM Session
- NY Lunch Session
- NY PM Session
• Key Price Levels:
- Session high/low levels that extend until violated
- Midnight Open price level (dotted line)
- True Day Open price level (6 PM EST, dotted line)
• ICT Macro Timing:
- First Macro: 9:45 AM - 10:15 AM EST
- Second Macro: 10:45 AM - 11:15 AM EST
- Distinctive L-shaped brackets marking start and end times
Features:
• Fully customizable colors and styles for all elements
• Adjustable label positions and sizes
• Toggle options for each component
• Smart timeframe filtering
• Clean, uncluttered visual design
This indicator helps traders identify key market structure points, session transitions, and optimal trading windows based on ICT concepts.
Reversal rehersal v1This indicator was designed to identify potential market reversal zones using a combination of RSI thresholds (shooting range/falling range), candlestick patterns, and Fair Value Gaps (FVGs). By combining all these elements into one indicator, it allow for outputting high probability buy/sell signals for use by scalpers on low timeframes like 1-15 mins, for quick but small profits.
Note: that this has been mainly tested on DE40 index on the 1 min timeframe, and need to be adjusted to whichever timeframe and symbol you intend to use. Refer to the backtester feature for checking if this indicator may work for you.
The indicator use RSI ranges from two timeframes to highlight where momentum is building up. During these areas, it will look for certain candlestick patterns (Sweeps as the primary one) and check for existance of fair value gaps to further enhance the hitrate of the signal.
The logic for FVG detection was based on ©pmk07's work with MTF FVG tiny indicator. Several major changes was implemented though and incorporated into this indicator. Among these are:
Automatically adjustments of FVG boxes when mitigated partially and options to extend/cull boxes for performance and clarity.
Backtesting Table (Experimental):
This indicator also features an optional simplified table to review historical theoretical performance of signals, including win rate, profit/loss, and trade statistics. This does not take commision or slippage into consideration.
Usage Notes:
Setup:
1. Add the indicator to your chart.
2. Decide if you want to use Long or Short (or both).
3. If you're scalping on ie. 1 min time frame, make sure to set FVG's to higher timeframes (ie. 5, 15, 60).
4. Enable the 'Show backtest results' and adjust the 'Signals' og 'Take profit' and 'Stop loss' values until you are satisfied with the results.
Use:
1. Setup an alert based on either of the 'BullishShooting range' or 'BearishFalling range' alerts. This will draw your attention to watch for the possible setups.
2. Verify if there's a significant imbalance prior to the signal before taking the trade. Otherwise this may invalidate the setup.
3. Once a signal is shown on the graph (either Green arrow up for buys/Red arrow down for sells) - you should enter a trade with the given 'Take profit' and 'Stop loss' values.
4. (optional) Setup an alert for either the Strong/Weak signals. Which corresponds to when one of the arrows are printed.
Important: This is the way I use it myself, but use at own risk and remember to combine with other indicators for further confluence. Remember this is no crystal ball and I do not guarantee profitable results. The indicator merely show signals with high probability setups for scalping.
Multi-Timeframe Confluence IndicatorThe Multi-Timeframe Confluence Indicator strategically combines multiple timeframes with technical tools like EMA and RSI to provide robust, high-probability trading signals. This combination is grounded in the principles of technical analysis and market behavior, tailored for traders across all styles—whether intraday, swing, or positional.
1. The Power of Multi-Timeframe Confluence
Markets are influenced by participants operating on different time horizons:
• Intraday traders act on short-term price fluctuations.
• Swing traders focus on intermediate trends lasting days or weeks.
• Position traders aim to capture multi-month or long-term trends.
By aligning signals from a higher timeframe (macro trend) with a lower timeframe (micro trend), the indicator ensures that short-term entries are in harmony with the broader market direction. This multi-timeframe approach significantly reduces false signals caused by temporary market noise or counter-trend moves.
Example: A bullish trend on the daily chart (higher timeframe) combined with a bullish RSI and EMA alignment on the 15-minute chart (lower timeframe) provides a stronger confirmation than relying on the 15-minute chart alone.
2. Why EMA and RSI Are Essential
Each element of the indicator serves a unique role in ensuring accuracy and reliability:
• EMA (Exponential Moving Average):
• A dynamic trend filter that adjusts quickly to price changes.
• On the higher timeframe, it establishes the overall trend direction (e.g., bullish or bearish).
• On the lower timeframe, it identifies precise entry/exit zones within the trend.
• RSI (Relative Strength Index):
• Adds a momentum-based perspective, confirming whether a trend is backed by strong buying or selling pressure.
• Ensures that signals occur in areas of strength (RSI > 55 for bullish signals, RSI < 45 for bearish signals), filtering out weak or uncertain price movements.
By combining EMA (trend) and RSI (momentum), the indicator delivers confluence-based validation, where both trend and momentum align, making signals more reliable.
3. Cooldown Period for Signal Optimization
Trading in choppy or sideways markets often leads to overtrading and false signals. The cooldown period ensures that once a signal is generated, subsequent signals are suppressed for a defined number of bars. This prevents traders from entering low-probability trades during indecisive market phases, improving overall signal quality.
Example: After a bullish confluence signal, the cooldown period prevents a bearish signal from being triggered prematurely if the market enters a temporary retracement.
4. Use Cases Across Trading Styles
This indicator caters to various trading styles, each benefiting from the confluence of timeframes and technical elements:
• Intraday Trading:
• Use a 1-hour chart as the higher timeframe and a 5-minute chart as the lower timeframe.
• Benefit: Align intraday entries with the hourly trend for higher win rates.
• Swing Trading:
• Use a daily chart as the higher timeframe and a 1-hour chart as the lower timeframe.
• Benefit: Capture multi-day moves while avoiding counter-trend entries.
• Scalping:
• Use a 30-minute chart as the higher timeframe and a 1-minute chart as the lower timeframe.
• Benefit: Enhance scalping efficiency by ensuring short-term trades align with broader intraday trends.
• Position Trading:
• Use a weekly chart as the higher timeframe and a daily chart as the lower timeframe.
• Benefit: Time long-term entries more precisely, maximizing profit potential.
5. Robustness Through Customization
The indicator allows traders to customize:
• Timeframes for higher and lower analysis.
• EMA lengths for trend filtering.
• RSI settings for momentum confirmation.
• Cooldown periods to adapt to market volatility.
This flexibility ensures that the indicator can be tailored to suit individual trading preferences, market conditions, and asset classes, making it a comprehensive tool for any trading strategy.
Why This Mashup Stands Out
The Multi-Timeframe Confluence Indicator is more than a sum of its parts. It leverages:
• EMA’s ability to identify trends, combined with RSI’s insight into momentum, ensuring each signal is well-supported.
• A multi-timeframe perspective that incorporates both macro and micro trends, filtering out noise and improving reliability.
• A cooldown mechanism that prevents overtrading, a common pitfall for traders in volatile markets.
This integration results in a powerful, adaptable indicator that provides actionable, high-confidence signals, reducing uncertainty and enhancing trading performance across all styles.
Timeframe-Based Dynamic MA [odnac]
This code is a Timeframe-Based Dynamic MA indicator, written in Pine Script, that dynamically calculates and displays the Simple Moving Average (SMA), Exponential Moving Average (EMA), and Volume Weighted Moving Average (VWMA) based on a 24-hour period, according to the selected timeframe. It automatically adjusts the length of the moving averages for each timeframe, showing the appropriate value optimized for that specific timeframe.
Code Explanation:
Settings:
inputLength: A user input that allows setting the base time (24 hours by default). This value determines the reference for calculating the length of the moving averages according to the timeframe.
transp: A setting for the transparency of the moving average lines. It can accept values from 0 to 100 (0 is opaque, 100 is fully transparent).
Timeframe-Based Moving Average Calculation:
The length variable is dynamically calculated based on the current chart's timeframe.
For shorter timeframes like 1-minute, 2-minute, 3-minute, 5-minute, 10-minute, 15-minute, 30-minute, and 45-minute, the length is calculated by multiplying 60 / selected timeframe to obtain the moving average length based on a 24-hour period.
For longer timeframes like 1 hour, 4 hours, and 1 day, fixed values are used to set the moving average length.
Moving Average Calculation:
sma, ema, vwma: These are the Simple Moving Average, Exponential Moving Average, and Volume Weighted Moving Average calculated based on the length.
else_sma, else_ema, else_vwma: These represent the moving averages fetched from the 1-hour chart. For timeframes that are not calculated directly, the values are taken from the 1-hour chart.
Displaying the Moving Averages:
The moving averages are plotted according to the length calculated for the current timeframe.
If the length for the current timeframe is valid, the corresponding SMA, EMA, and VWMA values are displayed. Otherwise, the values fetched from the 1-hour chart are used.
The moving averages are displayed with the transparency (transp) value set by the user, controlling their opacity on the chart.
How to Use:
Base Time: The user sets a base time. For example, setting inputLength to 24 will calculate the moving average length based on a 24-hour period, which will be dynamically adjusted and displayed according to the selected timeframe.
Transparency Setting: The transparency of the moving average lines can be adjusted using the transp value.
Supported Timeframes:
For shorter timeframes (1-minute, 2-minute, 3-minute, 5-minute, 10-minute, 15-minute, 30-minute, 45-minute), the moving average lengths are dynamically calculated and displayed.
For longer timeframes (1 hour, 4 hours, 1 day), fixed length values are used.
This indicator allows you to dynamically calculate daily moving averages across different timeframes and visually check which moving average is the most appropriate for the selected timeframe.
Futures Engulfing Candle Size Strategy (Ticks, TP/SL)The Futures Candle Size Strategy is designed to identify and trade significant price movements in the futures market based on candle size. It is optimized for futures instruments like ES, NQ, or CL, where precise tick-level calculations are essential. The strategy includes a customizable take profit and stop loss in ticks and operates only within a specified time window (e.g., 7:00 AM to 9:15 AM CST).
Key Features:
Candle Size Threshold: Trades are triggered when the candle's high-to-low range exceeds the defined threshold in ticks.
Time Filter: Limits trades to the most active market hours, specifically between 7:00 AM and 9:15 AM CST.
Take Profit and Stop Loss: Customizable exit levels in ticks to manage risk and lock in profits.
Long and Short Trades: Automatically places buy or sell orders based on the candle's direction (bullish or bearish).
Alerts: Sends alerts whenever a trade is triggered, helping you stay informed in real-time.
How It Works:
The strategy calculates the size of each candle in ticks and compares it to the user-defined threshold.
If the candle size meets or exceeds the threshold within the specified time range, it triggers a long or short trade.
The trade automatically exits when the price hits the take profit or stop loss levels.
Sunil BB Blast Heikin Ashi StrategySunil BB Blast Heikin Ashi Strategy
The Sunil BB Blast Heikin Ashi Strategy is a trend-following trading strategy that combines Bollinger Bands with Heikin-Ashi candles for precise market entries and exits. It aims to capitalize on price volatility while ensuring controlled risk through dynamic stop-loss and take-profit levels based on a user-defined Risk-to-Reward Ratio (RRR).
Key Features:
Trading Window:
The strategy operates within a user-defined time window (e.g., from 09:20 to 15:00) to align with market hours or other preferred trading sessions.
Trade Direction:
Users can select between Long Only, Short Only, or Long/Short trade directions, allowing flexibility depending on market conditions.
Bollinger Bands:
Bollinger Bands are used to identify potential breakout or breakdown zones. The strategy enters trades when price breaks through the upper or lower Bollinger Band, indicating a possible trend continuation.
Heikin-Ashi Candles:
Heikin-Ashi candles help smooth price action and filter out market noise. The strategy uses these candles to confirm trend direction and improve entry accuracy.
Risk Management (Risk-to-Reward Ratio):
The strategy automatically adjusts the take-profit (TP) level and stop-loss (SL) based on the selected Risk-to-Reward Ratio (RRR). This ensures that trades are risk-managed effectively.
Automated Alerts and Webhooks:
The strategy includes automated alerts for trade entries and exits. Users can set up JSON webhooks for external execution or trading automation.
Active Position Tracking:
The strategy tracks whether there is an active position (long or short) and only exits when price hits the pre-defined SL or TP levels.
Exit Conditions:
The strategy exits positions when either the take-profit (TP) or stop-loss (SL) levels are hit, ensuring risk management is adhered to.
Default Settings:
Trading Window:
09:20-15:00
This setting confines the strategy to the specified hours, ensuring trading only occurs during active market hours.
Strategy Direction:
Default: Long/Short
This allows for both long and short trades depending on market conditions. You can select "Long Only" or "Short Only" if you prefer to trade in one direction.
Bollinger Band Length (bbLength):
Default: 19
Length of the moving average used to calculate the Bollinger Bands.
Bollinger Band Multiplier (bbMultiplier):
Default: 2.0
Multiplier used to calculate the upper and lower bands. A higher multiplier increases the width of the bands, leading to fewer but more significant trades.
Take Profit Multiplier (tpMultiplier):
Default: 2.0
Multiplier used to determine the take-profit level based on the calculated stop-loss. This ensures that the profit target aligns with the selected Risk-to-Reward Ratio.
Risk-to-Reward Ratio (RRR):
Default: 1.0
The ratio used to calculate the take-profit relative to the stop-loss. A higher RRR means larger profit targets.
Trade Automation (JSON Webhooks):
Allows for integration with external systems for automated execution:
Long Entry JSON: Customizable entry condition for long positions.
Long Exit JSON: Customizable exit condition for long positions.
Short Entry JSON: Customizable entry condition for short positions.
Short Exit JSON: Customizable exit condition for short positions.
Entry Logic:
Long Entry:
The strategy enters a long position when:
The Heikin-Ashi candle shows a bullish trend (green close > open).
The price is above the upper Bollinger Band, signaling a breakout.
The previous candle also closed higher than it opened.
Short Entry:
The strategy enters a short position when:
The Heikin-Ashi candle shows a bearish trend (red close < open).
The price is below the lower Bollinger Band, signaling a breakdown.
The previous candle also closed lower than it opened.
Exit Logic:
Take-Profit (TP):
The take-profit level is calculated as a multiple of the distance between the entry price and the stop-loss level, determined by the selected Risk-to-Reward Ratio (RRR).
Stop-Loss (SL):
The stop-loss is placed at the opposite Bollinger Band level (lower for long positions, upper for short positions).
Exit Trigger:
The strategy exits a trade when either the take-profit or stop-loss level is hit.
Plotting and Visuals:
The Heikin-Ashi candles are displayed on the chart, with green candles for uptrends and red candles for downtrends.
Bollinger Bands (upper, lower, and basis) are plotted for visual reference.
Entry points for long and short trades are marked with green and red labels below and above bars, respectively.
Strategy Alerts:
Alerts are triggered when:
A long entry condition is met.
A short entry condition is met.
A trade exits (either via take-profit or stop-loss).
These alerts can be used to trigger notifications or webhook events for automated trading systems.
Notes:
The strategy is designed for use on intraday charts but can be applied to any timeframe.
It is highly customizable, allowing for tailored risk management and trading windows.
The Sunil BB Blast Heikin Ashi Strategy combines two powerful technical analysis tools (Bollinger Bands and Heikin-Ashi candles) with strong risk management, making it suitable for both beginners and experienced traders.
Feebacks are welcome from the users.
random_values█ OVERVIEW
This library provides helper functions for generating random values of various types, including numbers, letters, words, booleans, and arrays. It simplifies the creation of random data within Pine Script™ for testing, simulations, or other applications.
█ HOW TO USE
Import the library into your script:
import kaigouthro/random_values/1 as rv
Then, use the functions provided:
// Get a random integer between 5 and 15
int randInt = rv.intVal(5, 15)
// Generate a random word with 8 characters
string randWord = rv.word(8)
// Create a boolean array with 5 elements
array randBoolArray = rv.boolArray(5)
// And other options! See below for details.
█ FEATURES
• num(float min, float max) : Returns a random float between *min* and *max*. (Internal helper function, not exported).
• letter() : Returns a random lowercase letter (a-z).
• word(int size = 0) : Returns a random word. *size* specifies the length (default: random length between 3 and 10).
• words(int size = 20) : Returns a string of random words separated by spaces, where *size* specifies the number of words.
• boolVal() : Returns a random boolean (true or false).
• floatVal(float min = 0, float max = 100, int precision = 2) : Returns a random float with specified *min*, *max*, and *precision*.
• intVal(int min = 1, int max = 100) : Returns a random integer between *min* and *max*.
• stringArray(int size = 0) : Returns an array of random words. *size* specifies the array length (default: random between 3 and 10).
• floatArray(int size = 0, float min = 0, float max = 100, int precision = 2) : Returns an array of random floats with specified parameters. *size* determines the array length.
• intArray(int size = 0, int min = 1, int max = 100) : Returns an array of random integers with specified parameters. *size* determines the array length.
• boolArray(int size = 0) : Returns an array of random booleans. *size* specifies the array length (default: random between 3 and 10).
█ NOTES
* This library uses the `kaigouthro/into/2` library for type conversions. Make sure it's available.
* Default values are provided for most function parameters, offering flexibility in usage.
█ LICENSE
This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
```
**Changes and Rationale:**
* **OVERVIEW:** Clearly states the library's purpose.
* **HOW TO USE:** Provides essential import and usage instructions with Pine Script™ examples.
* **FEATURES:** Details each function with its parameters, types, and descriptions. Emphasizes *size*, *min*, *max*, and *precision* as common input parameters using italics. Uses custom bulleted lists.
* **NOTES:** Includes important information about dependencies and defaults.
* **LICENSE:** Directly links to the license URL using the proper ` ` tag.
* **Formatting:** Uses full block and em space for section titles, consistent bolding, and improved spacing for readability. Removes unnecessary blank lines.
This format improves clarity, making the library documentation easy to understand for TradingView users. Remember to test the rendering on TradingView to catch any formatting issues.
Library "random_values"
A library containing Random value generating helper functions.
letter()
Random letter generator.
Returns: (string) A random lowercase letter.
word(size)
Random word generator.
Parameters:
size (int) : (int) The desired length of the word. If 0 or not provided, a random length between 3 and 10 is used.
Returns: (string) A random word.
words(size)
Random words generator.
Parameters:
size (int) : (int) The number of words to generate. If 0 or not provided, a random number between 3 and 10 is used.
Returns: (string) A string of random words separated by spaces.
boolVal()
Random boolean generator.
Returns: (bool) A random boolean value (true or false).
floatVal(min, max, precision)
Random float number generator.
Parameters:
min (float) : (float) The minimum float value. Defaults to 0.
max (float) : (float) The maximum float value. Defaults to 100.
precision (int) : (int) The number of decimal places. Defaults to 2.
Returns: (float) A random float number.
intVal(min, max)
Random integer number generator.
Parameters:
min (int) : (int) The minimum integer value. Defaults to 1.
max (int) : (int) The maximum integer value. Defaults to 100.
Returns: (int) A random integer number.
stringArray(size)
Random string array generator.
Parameters:
size (int) : (int) The desired size of the array. If 0 or not provided, a random size between 3 and 10 is used.
Returns: (array) An array of random words.
floatArray(size, min, max, precision)
Random float array generator.
Parameters:
size (int) : (int) The desired size of the array. If 0 or not provided, a random size between 3 and 10 is used.
min (float) : (float) The minimum float value. Defaults to 0.
max (float) : (float) The maximum float value. Defaults to 100.
precision (int) : (int) The number of decimal places. Defaults to 2.
Returns: (array) An array of random float numbers.
intArray(size, min, max)
Random integer array generator.
Parameters:
size (int) : (int) The desired size of the array. If 0 or not provided, a random size between 3 and 10 is used.
min (int) : (int) The minimum integer value. Defaults to 1.
max (int) : (int) The maximum integer value. Defaults to 100.
Returns: (array) An array of random integer numbers.
boolArray(size)
Random boolean array generator.
Parameters:
size (int) : (int) The desired size of the array. If 0 or not provided, a random size between 3 and 10 is used.
Returns: (array) An array of random boolean values.