Multi-Timeframe SFP (Swing Failure Pattern)How to Use
1. Set Pivot Timeframe: Choose the timeframe for identifying major swing points (e.g., 'D' for Daily pivots).
2. Set SFP Timeframe: Choose the timeframe to find the SFP candle (e.g., '240' for the 4-Hour chart).
3. Set Confirmation Bars: Set how many SFP Timeframe bars must pass without invalidating the level. A value of '0' confirms immediately on the SFP bar's close. A value of '1' waits for one more bar to close.
4. Adjust Filters (Optional): Enable the 'Wick % Filter' to add a quality check for strong rejections.
5. Watch & Wait: The indicator will draw lines and labels and fire alerts for fully confirmed signals.
In-Depth Explanation
1. Overview
The Dynamic Pivot SFP Engine is a multi-timeframe tool designed to identify and validate Swing Failure Patterns (SFPs) at significant price levels.
An SFP is a common price action pattern where price briefly trades beyond a previous swing high or low (sweeping liquidity) but then fails to hold those new prices, closing back inside the previous range. This "failure" often signals a reversal.
This indicator enhances SFP detection by separating the Pivot (Liquidity) from the SFP (Rejection), allowing you to monitor them on different timeframes.
2. The Core Multi-Timeframe Logic
The indicator's power comes from two key inputs:
• Pivot Timeframe (Pivot Timeframe)
This is the "high timeframe" used to establish significant support and resistance levels. The script finds standard pivots (swing highs and lows) on this timeframe based on the Pivot Left Strength and Pivot Right Strength inputs. These pivots are the "liquidity" levels the SFP will target. The Pivot Lookback input controls how long (in Pivot Timeframe bars) a pivot remains active and monitored.
• SFP Timeframe (SFP Timeframe)
This is the "execution timeframe" where the script looks for the actual SFP. On every new bar of this timeframe, the script checks if price has swept and rejected any of the active pivots.
Example Setup:
You might set Pivot Timeframe to 'D' (Daily) to find major daily swing points. You then set SFP Timeframe to '240' (4-Hour) to find a 4-hour candle that sweeps a daily pivot and closes back below/above it.
3. The SFP Confirmation Process
An SFP is not confirmed instantly. It must pass a rigorous, multi-step validation process.
Step 1: The SFP Candle (The Sweep)
A potential SFP is identified when an SFP Timeframe bar does the following:
• Bearish SFP: The bar's high trades above an active pivot high, but the bar closes below that same pivot high.
• Bullish SFP: The bar's low trades below an active pivot low, but the bar closes above that same pivot low.
Step 2: The Wick Filter (Optional Quality Check)
If Enable Wick % Filter is checked, the SFP candle from Step 1 is also measured.
• For a bearish SFP, the upper wick (from the high to the open/close) must be at least Min. Wick % of the entire candle's range (high-to-low).
• For a bullish SFP, the lower wick (from the low to the open/close) must meet the same percentage requirement.
If the SFP candle fails this test, it is discarded, even if it met the sweep/close criteria.
Step 3: The Validation Window (The Confirmation)
This is the most critical feature, controlled by Confirmation Bars.
• If Confirmation Bars = 0: The SFP is confirmed immediately on the SFP candle's close (assuming it passed the optional wick check). The label, line, and alert are triggered at this moment.
• If Confirmation Bars > 0: The SFP enters a "pending" state. The script will wait for $N$ more SFP Timeframe bars to close.
o Invalidation: If, during this waiting period, any bar closes back across the pivot (e.g., a close above the pivot for a bearish SFP), the SFP is considered failed and invalidated. All pending plots are deleted.
o Confirmation: If the $N$ confirmation bars all complete without invalidating the level, the SFP is finally confirmed. The label, line, and alert are only triggered after this entire process is complete. This adds a significant layer of robustness, ensuring the rejection holds for a period of time.
4. Visuals & Alerts
• Lines: A horizontal line is drawn from the original pivot to the SFP bar, showing which level was targeted. Note: These lines will only be drawn on chart timeframes equal to or lower than the 'SFP Timeframe'.
• Labels: A label is placed at the SFP's extreme (the high/low of the SFP bar). The label text conveniently includes the Ticker, Pivot TF, SFP TF, and Confirmation bar settings (e.g., "Bearish SFP BTCUSD / Pivot: 1D / SFP: 4H | Conf: 1").
• MTF Boxes (Show SFP Box, Show Conf. Boxes): These boxes highlight the SFP and confirmation bars. Crucially, they are only visible when your chart timeframe is lower than the SFP Timeframe. For example, if your SFP Timeframe is '240' (4H), you will only see these boxes on the 1H, 15M, 5M, etc., charts. This allows you to see the higher-timeframe SFP unfolding on your lower-timeframe chart.
• Alerts (Enable Alerts): An alert is fired only when an SFP is fully confirmed (i.e., after the Confirmation Bars have passed successfully). For efficient, real-time monitoring, it is highly recommended to run this indicator server-side by creating an alert on TradingView set to trigger on "Any alert() function call".
Search in scripts for "high low"
Experimental Supertrend [CHE]Experimental Supertrend — Combines EMA crossovers for trend regime detection with an adaptive ATR-based hull that selects the narrowest band to contain recent highs and lows, minimizing false breaks in varying volatility.
Summary
This indicator overlays a dynamic supertrend boundary around a midline derived from dual EMAs, using EMA crossovers to switch between bullish and bearish regimes. The hull adapts by evaluating multiple ATR periods and selecting the tightest one that fully encloses price action over a specified window, which helps in creating more stable trend lines that hug price without excessive gaps or breaches. Fills between the midline and hull provide visual cues for trend strength, darkening temporarily after regime changes to highlight transitions. Alerts trigger on crossovers, and markers label entry points, making it suitable for trend-following setups where standard supertrends might whipsaw. Overall, it offers robustness through auto-adjustment, reducing sensitivity to noise while maintaining responsiveness to genuine shifts.
Motivation: Why this design?
Standard supertrend indicators often flip prematurely in choppy markets due to fixed multipliers that do not account for localized volatility patterns, leading to frequent false signals and eroded confidence in trends. This design addresses that by incorporating an EMA-based regime filter for directional bias and an auto-adaptive hull that dynamically tunes the band width based on recent price containment needs. By prioritizing the narrowest effective enclosure, it avoids over-wide bands in calm periods that cause lag or under-wide ones in volatility spikes that invite breaks, providing a more consistent trailing reference without manual tweaking.
What’s different vs. standard approaches?
- Reference baseline: Diverges from the classic ATR-multiplier supertrend, which uses a single fixed period and constant factor applied to close or high/low deviations.
- Architecture differences:
- Auto-selection from candidate ATR lengths to find the optimal period for current conditions.
- Dynamic multiplier clamped between floor and cap values, adjusted by padding to ensure reliable containment.
- Regime-gated rendering, where hull position flips based on EMA relative positioning.
- Post-transition visual fading to emphasize change points without altering core logic.
- Practical effect: Charts show tighter, more reactive bands that rarely breach during trends, reducing visual clutter from flips; the adaptive nature means less intervention across assets, as the hull self-adjusts to volatility clusters rather than applying a one-size-fits-all scale.
How it works (technical)
The indicator first computes two EMAs from close prices using lengths derived from a preset pair or manual inputs, establishing a midline as their average. This midline serves as the central reference for the hull. True range values are then smoothed into multiple ATR candidates using exponential weighting over the specified lengths. For each candidate, deviations of recent highs and lows from the midline are ratioed against the ATR to determine a required multiplier that would enclose all extremes in the containment window—the highest ratio plus padding sets the base, clamped to user-defined bounds. Among valid candidates (those with sufficient history), the one yielding the narrowest overall band width is selected. The hull boundaries are then offset from the midline by this multiplier times the chosen ATR, and further smoothed with a fixed EMA to reduce jitter. Regime direction from EMA comparison gates which boundary acts as support or resistance, with initialization seeding arrays on the first bar to handle state persistence. No higher timeframe data is used, so all logic runs on the chart's native bars without lookahead.
Parameter Guide
EMA Pair — Selects preset lengths for fast and slow EMAs, influencing regime sensitivity and midline stability. Default: "21/55". Trade-offs/Tips: Faster pairs like "9/21" increase cross frequency for scalping but raise false signals; slower like "50/200" smooths for swings, potentially missing early turns. Use Manual for fine control.
Manual Fast — Sets fast EMA length when Manual mode is active; shorter values make regime switches quicker. Default: 21. Trade-offs/Tips: Lower than 10 risks over-reactivity; pair with slow at least double for clear separation.
Manual Slow — Sets slow EMA length when Manual mode is active; longer values anchor the midline more firmly. Default: 55. Trade-offs/Tips: Above 100 adds lag in trends; balance with fast to avoid perpetual neutrality.
ATR Lengths (comma-separated) — Defines candidate periods for ATR smoothing; more options allow finer auto-selection. Default: "7,10,14,21,28,35". Trade-offs/Tips: Fewer candidates speed computation but may miss optimal fits; keep under 10 for efficiency.
Containment Window — Number of recent bars the hull must fully enclose highs/lows of; larger windows favor stability. Default: 50. Trade-offs/Tips: Shorter (under 20) adapts faster to breaks but increases breach risk; longer smooths but delays response.
Min Multiplier Floor — Lowest allowed multiplier for hull width; prevents overly tight bands in low volatility. Default: 0.5. Trade-offs/Tips: Raise to 0.75 for conservative enclosures; too low allows pinches that flip easily.
Max Multiplier Cap — Highest allowed multiplier; caps expansion in spikes to avoid wide, lagging bands. Default: 1.0. Trade-offs/Tips: Lower to 0.75 tightens overall; higher permits more room but risks detachment from price.
Padding (+) — Adds buffer to the auto-multiplier for safer containment without exact touches. Default: 0.05. Trade-offs/Tips: Increase to 0.10 in gappy markets; minimal values hug closer but may still breach on outliers.
Fill Between (Mid ↔ Supertrend) — Toggles shaded area between midline and active hull for trend visualization. Default: true. Trade-offs/Tips: Disable for cleaner charts; pairs well with transparency tweaks.
Base Fill Transparency (0..100) — Sets default opacity of fills; higher values make them subtler. Default: 80. Trade-offs/Tips: Under 50 overwhelms price action; adjust with darken boost for emphasis.
Darken on Trend Change — Enables temporary opacity increase after regime shifts to spotlight transitions. Default: true. Trade-offs/Tips: Off for steady visuals; on aids spotting reversals in real-time.
Darken Fade Bars — Duration in bars for the darken effect to ramp back to base; longer prolongs highlight. Default: 8. Trade-offs/Tips: Shorter (4-6) for fast-paced charts; longer holds attention on changes.
Darken Boost at Change (Δ transp) — Intensity of opacity reduction at crossover; higher values make shifts more prominent. Default: 50. Trade-offs/Tips: Cap at 70 to avoid blackout; tune down if fades obscure details.
Show Supertrend Line — Displays the active hull boundary as a line. Default: true. Trade-offs/Tips: Hide for fill-only views; linewidth fixed at 3 for visibility.
Show EMA Cross Markers — Places circles and labels at crossover points for entry cues. Default: true. Trade-offs/Tips: Disable in clutter; labels show "Buy"/"Sell" at absolute positions.
Alert: EMA Cross Up (Long) — Triggers notification on bullish crossover. Default: true. Trade-offs/Tips: Pair with filters; once-per-bar frequency.
Alert: EMA Cross Down (Short) — Triggers notification on bearish crossover. Default: true. Trade-offs/Tips: Use for exits; ensure broker integration.
Show Debug — Reveals internal diagnostics like selected ATR details (if implemented). Default: false. Trade-offs/Tips: Enable for troubleshooting selections; minimal overhead.
Reading & Interpretation
Bullish regime shows a green line below price as support, with upward fill from midline; bearish uses red line above as resistance, downward fill. Crossovers flip the active boundary, marked by tiny green/red circles and "Buy"/"Sell" labels at the hull level. Fills start at base transparency but darken sharply at changes, fading over the specified bars to signal fresh momentum. If the hull rarely breaches during trends, containment is effective; frequent touches without flips indicate tight adaptation. Debug mode (when enabled) overlays text or plots for selected length and multiplier, helping verify auto-choices.
Practical Workflows & Combinations
- Trend following: Enter long on green "Buy" label above prior low structure; confirm with higher high. Trail stops along the green hull line, tightening as fills stabilize post-fade.
- Exits/Stops: Conservative exit on opposite crossover or hull breach; aggressive hold until fade completes if volume supports. Use darken boost as a volatility cue—high delta suggests waiting for confirmation.
- Multi-asset/Multi-TF: Defaults suit forex/stocks on 15m-4h; for crypto, widen containment to 75 for gaps. Layer on volume oscillator for cross filters; avoid on low-liquidity assets where ATR candidates skew.
Behavior, Constraints & Performance
Closed-bar logic ensures signals confirm at bar end, with live bars updating hull adaptively but no repaints since no future data or security calls are used. Arrays persist ATR states across bars, initialized once with candidates parsed from string. Small fixed loops (over 6 lengths max, inner up to 50) run per bar, capped by max_bars_back=500 for history needs. Resources stay low with 500 labels/lines limits, but dense charts may hit on markers. Known limits include initial lag until containment history builds (50+ bars), potential wide bands on gaps, and suboptimal selections if candidates omit ideal lengths.
Sensible Defaults & Quick Tuning
Start with "21/55" pair, 50-window, 0.5-1.0 multipliers, and 80% transparency for balanced responsiveness on daily charts. For too many flips, raise min floor to 0.75 or add lengths like "42"; for sluggishness, shorten window to 30 or pick faster pair. In high-vol environments, boost padding to 0.10; for smoother visuals, extend fade bars to 12.
What this indicator is—and isn’t
This is a visualization and signal layer for trend regime and adaptive boundaries, aiding entry/exit timing in directional markets. It is not a standalone system—pair with price structure, risk sizing, and broader context. Not predictive of turns, just reactive to containment and crosses.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Happy trading
Chervolino
Orderflow Label with OffsetThis Pine Script automatically displays orderflow labels on the chart to visualize the current market structure and potential breakout or reversal zones.
It compares the current candle’s high and low with those of the previous cycle (e.g., 90 minutes) and places descriptive labels that highlight possible bullish or bearish behavior.
Functionality & Logic (Step-by-step explanation)
Inputs:
cycleLength: Defines the duration of one “cycle” in minutes (for example, 90 minutes).
labelXOffset: Moves the label a few bars to the right, so it doesn’t overlap the current candle.
labelStyleOffset: Controls whether labels appear pointing to the right or left side of the chart.
Previous Cycle:
The script uses request.security to retrieve the high and low from the previous cycle timeframe.
These act as reference points (similar to key levels or market structure highs/lows).
Current Candle:
The script reads the current bar’s high, low, and close values for comparison.
Orderflow Conditions:
bullSupport: The current high and close are both above the previous high → bullish breakout (strong continuation).
bullReject: The high breaks above the previous high but closes below → bullish rejection / possible top.
bearRes: The low and close are both below the previous low → bearish breakdown (continuation to downside).
bearReclaim: The low goes below the previous low but closes above → bearish reclaim / possible reversal.
Label Logic:
Before creating a new label, the previous one is deleted (label.delete(flowLbl)) to avoid clutter.
The label’s X position is shifted using xPos = bar_index + labelXOffset.
The style (left/right) is set based on the user’s preference.
Displayed Labels:
🟢 Bullish Breakout → price closes above the previous cycle high.
🟠 Bullish Rejection → fake breakout or possible top.
🔴 Bearish Breakdown → price closes below the previous cycle low.
🟡 Bearish Reclaim → failed breakdown or potential trend reversal.
⚪ Neutral (Wait) → no clear signal, advises patience and watching for setups (like CHoCH or FVGs).
Visual Behavior:
The labels appear slightly to the right of the bar for better visibility.
The color and text alignment dynamically adjust depending on whether the label is pointing left or right.
PubLibPivotLibrary "PubLibPivot"
Pivot detection library for harmonic pattern analysis - Fractal and ZigZag methods with validation and utility functions
fractalPivotHigh(depth)
Fractal pivot high condition
Parameters:
depth (int)
Returns: bool
fractalPivotLow(depth)
Fractal pivot low condition
Parameters:
depth (int)
Returns: bool
fractalPivotHighPrice(depth, occurrence)
Get fractal pivot high price
Parameters:
depth (int)
occurrence (simple int)
Returns: float
fractalPivotLowPrice(depth, occurrence)
Get fractal pivot low price
Parameters:
depth (int)
occurrence (simple int)
Returns: float
fractalPivotHighBarIndex(depth, occurrence)
Get fractal pivot high bar index
Parameters:
depth (int)
occurrence (simple int)
Returns: int
fractalPivotLowBarIndex(depth, occurrence)
Get fractal pivot low bar index
Parameters:
depth (int)
occurrence (simple int)
Returns: int
zigzagPivotHigh(deviation, backstep, useATR, atrLength)
ZigZag pivot high condition
Parameters:
deviation (float)
backstep (int)
useATR (bool)
atrLength (simple int)
Returns: bool
zigzagPivotLow(deviation, backstep, useATR, atrLength)
ZigZag pivot low condition
Parameters:
deviation (float)
backstep (int)
useATR (bool)
atrLength (simple int)
Returns: bool
zigzagPivotHighPrice(deviation, backstep, useATR, atrLength, occurrence)
Get ZigZag pivot high price
Parameters:
deviation (float)
backstep (int)
useATR (bool)
atrLength (simple int)
occurrence (simple int)
Returns: float
zigzagPivotLowPrice(deviation, backstep, useATR, atrLength, occurrence)
Get ZigZag pivot low price
Parameters:
deviation (float)
backstep (int)
useATR (bool)
atrLength (simple int)
occurrence (simple int)
Returns: float
zigzagPivotHighBarIndex(deviation, backstep, useATR, atrLength, occurrence)
Get ZigZag pivot high bar index
Parameters:
deviation (float)
backstep (int)
useATR (bool)
atrLength (simple int)
occurrence (simple int)
Returns: int
zigzagPivotLowBarIndex(deviation, backstep, useATR, atrLength, occurrence)
Get ZigZag pivot low bar index
Parameters:
deviation (float)
backstep (int)
useATR (bool)
atrLength (simple int)
occurrence (simple int)
Returns: int
isValidPivotVolume(pivotPrice, pivotBarIndex, minVolumeRatio, volumeLength)
Validate pivot quality based on volume
Parameters:
pivotPrice (float)
pivotBarIndex (int)
minVolumeRatio (float)
volumeLength (int)
Returns: bool
isValidPivotATR(pivotPrice, lastPivotPrice, minATRMultiplier, atrLength)
Validate pivot based on minimum ATR movement
Parameters:
pivotPrice (float)
lastPivotPrice (float)
minATRMultiplier (float)
atrLength (simple int)
Returns: bool
isValidPivotTime(pivotBarIndex, lastPivotBarIndex, minBars)
Validate pivot based on minimum time between pivots
Parameters:
pivotBarIndex (int)
lastPivotBarIndex (int)
minBars (int)
Returns: bool
isPivotConfirmed(pivotBarIndex, depth)
Check if pivot is not repainting (confirmed)
Parameters:
pivotBarIndex (int)
depth (int)
Returns: bool
addPivotToArray(pivotArray, barArray, pivotPrice, pivotBarIndex, maxSize)
Add pivot to array with validation
Parameters:
pivotArray (array)
barArray (array)
pivotPrice (float)
pivotBarIndex (int)
maxSize (int)
Returns: array - updated pivot array
getPivotFromArray(pivotArray, barArray, index)
Get pivot from array by index
Parameters:
pivotArray (array)
barArray (array)
index (int)
Returns: tuple - (price, bar_index)
getPivotsInRange(pivotArray, barArray, startIndex, count)
Get all pivots in range
Parameters:
pivotArray (array)
barArray (array)
startIndex (int)
count (int)
Returns: tuple, array> - (prices, bar_indices)
pivotDistance(barIndex1, barIndex2)
Calculate distance between two pivots in bars
Parameters:
barIndex1 (int)
barIndex2 (int)
Returns: int - distance in bars
pivotPriceRatio(price1, price2)
Calculate price ratio between two pivots
Parameters:
price1 (float)
price2 (float)
Returns: float - price ratio
pivotRetracementRatio(startPrice, endPrice, currentPrice)
Calculate retracement ratio
Parameters:
startPrice (float)
endPrice (float)
currentPrice (float)
Returns: float - retracement ratio (0-1)
pivotExtensionRatio(startPrice, endPrice, currentPrice)
Calculate extension ratio
Parameters:
startPrice (float)
endPrice (float)
currentPrice (float)
Returns: float - extension ratio (>1 for extension)
isInFibZone(startPrice, endPrice, currentPrice, fibLevel, tolerance)
Check if price is in Fibonacci retracement zone
Parameters:
startPrice (float)
endPrice (float)
currentPrice (float)
fibLevel (float)
tolerance (float)
Returns: bool - true if in zone
getPivotType(pivotPrice, pivotBarIndex, lookback)
Get pivot type (high/low) based on surrounding prices
Parameters:
pivotPrice (float)
pivotBarIndex (int)
lookback (int)
Returns: string - "high", "low", or "unknown"
calculatePivotStrength(pivotPrice, pivotBarIndex, lookback)
Calculate pivot strength based on volume and price action
Parameters:
pivotPrice (float)
pivotBarIndex (int)
lookback (int)
Returns: float - strength score (0-100)
Trend Bars with Okuninushi Line Filter# Trend Bars with Okuninushi Line Filter: A Powerful Trading Indicator
## Introduction
The **Trend Bars with Okuninushi Line Filter** is an innovative technical indicator that combines two powerful concepts: trend bar analysis and the Okuninushi Line filter. This indicator helps traders identify high-quality trending moves by analyzing candle body strength relative to the overall price range while ensuring the price action aligns with the dominant market structure.
## What Are Trend Bars?
Trend bars are candles where the body (distance between open and close) represents a significant portion of the total price range (high to low). These bars indicate strong directional momentum with minimal indecision, making them valuable signals for trend continuation.
### Key Characteristics:
- **Strong directional movement**: Large body relative to total range
- **Minimal upper/lower shadows**: Shows sustained pressure in one direction
- **High conviction**: Represents decisive market action
## The Okuninushi Line Filter
The Okuninushi Line, also known as the Kijun Line in Ichimoku analysis, is calculated as the midpoint of the highest high and lowest low over a specified period (default: 52 periods).
**Formula**: `(Highest High + Lowest Low) / 2`
This line acts as a dynamic support/resistance level and trend filter, helping to:
- Identify the overall market bias
- Filter out counter-trend signals
- Provide confluence for trade entries
## How the Indicator Works
The indicator combines these two concepts with the following logic:
### Bull Trend Bars (Green)
A candle is colored **green** when ALL conditions are met:
1. **Bullish candle**: Close > Open
2. **Strong body**: |Close - Open| ≥ Threshold × (High - Low)
3. **Above trend filter**: Close > Okuninushi Line
### Bear Trend Bars (Red)
A candle is colored **red** when ALL conditions are met:
1. **Bearish candle**: Close < Open
2. **Strong body**: |Close - Open| ≥ Threshold × (High - Low)
3. **Below trend filter**: Close < Okuninushi Line
### Neutral Bars (Gray)
All other candles that don't meet the complete criteria are colored **gray**.
## Customizable Parameters
### Trend Bar Threshold
- **Range**: 10% to 100%
- **Default**: 75%
- **Purpose**: Controls how "strong" a candle must be to qualify as a trend bar
**Threshold Effects:**
- **Low (10-30%)**: More sensitive, catches smaller trending moves
- **Medium (50-75%)**: Balanced approach, filters out most noise
- **High (80-100%)**: Very selective, only captures the strongest moves
### Okuninushi Line Length
- **Default**: 52 periods
- **Purpose**: Determines the lookback period for calculating the midpoint
- **Common Settings**:
- 26 periods: More responsive to recent price action
- 52 periods: Standard setting, good balance
- 104 periods: Longer-term trend perspective
## Trading Applications
### 1. Trend Continuation Signals
- **Green bars**: Look for bullish continuation opportunities
- **Red bars**: Consider bearish continuation setups
- **Gray bars**: Exercise caution, mixed signals
### 2. Market Structure Analysis
- Clusters of same-colored bars indicate strong trends
- Alternating colors suggest choppy, indecisive markets
- Transition from red to green (or vice versa) may signal trend changes
### 3. Entry Timing
- Use colored bars as confirmation for existing trade setups
- Wait for color alignment with your market bias
- Avoid trading during predominantly gray periods
### 4. Risk Management
- Gray bars can serve as early warning signs of weakening trends
- Color changes might indicate appropriate exit points
- Use in conjunction with other risk management tools
## Advantages
1. **Dual Filtering**: Combines momentum (trend bars) with trend direction (Okuninushi Line)
2. **Visual Clarity**: Immediate visual feedback through candle coloring
3. **Customizable**: Adjustable parameters for different trading styles
4. **Versatile**: Works across multiple timeframes and instruments
5. **Objective**: Rule-based system reduces subjective interpretation
## Limitations
1. **Lagging Nature**: Based on historical price data
2. **False Signals**: Can produce whipsaws in choppy markets
3. **Parameter Sensitivity**: Requires optimization for different instruments
4. **Market Conditions**: May be less effective in ranging markets
## Best Practices
### Optimization Tips:
- **Volatile Markets**: Use higher thresholds (80-90%)
- **Steady Trends**: Use moderate thresholds (60-75%)
- **Short-term Trading**: Shorter Okuninushi Line periods (26)
- **Long-term Analysis**: Longer Okuninushi Line periods (104+)
### Combination Strategies:
- Pair with volume indicators for confirmation
- Use alongside support/resistance levels
- Combine with other trend-following indicators
- Consider market context and overall trend direction
## Conclusion
The Trend Bars with Okuninushi Line Filter offers traders a sophisticated yet intuitive way to identify high-quality trending moves. By combining the momentum characteristics of trend bars with the directional filter of the Okuninushi Line, this indicator helps traders focus on the most promising opportunities while avoiding low-probability setups.
Remember that no single indicator should be used in isolation. Always consider market context, risk management, and other technical factors when making trading decisions. The true power of this indicator lies in its ability to quickly highlight periods of strong, aligned price action – exactly what trend traders are looking for.
---
*Disclaimer: This article is for educational purposes only and should not be considered as financial advice. Always conduct your own research and consider your risk tolerance before making any trading decisions.*
Trend FriendTrend Friend — What it is and how to use it
I built Trend Friend to stop redrawing the same trendlines all day. It automatically connects confirmed swing points (fractals) and keeps the most relevant lines in front of you. The goal: give you clean, actionable structure without the guesswork.
What it does (in plain English)
Finds swing highs/lows using a Fractal Period you choose.
Draws auto-trendlines between the two most recent confirmed highs and the two most recent confirmed lows.
Colours by intent:
Lines drawn from highs (potential resistance / bearish) = Red
Lines drawn from lows (potential support / bullish) = Green
Keeps the chart tidy: The newest lines are styled as “recent,” older lines are dimmed as “historical,” and it prunes anything beyond your chosen limit.
Optional crosses & alerts: You can highlight when price closes across the most recent line and set alerts for new lines formed and upper/lower line crosses.
Structure labels: It tags HH, LH, HL, LL at the swing points, so you can quickly read trend/rotation.
How it works (under the hood)
A “fractal” here is a confirmed pivot: the highest high (or lowest low) with n bars on each side. That means pivots only confirm after n bars, so signals are cleaner and less noisy.
When a new pivot prints, the script connects it to the prior pivot of the same type (high→high, low→low). That gives you one “bearish” line from highs and one “bullish” line from lows.
The newest line is marked as recent (brighter), and the previous recent line becomes historical (dimmed). You can keep as many pairs as you want, but I usually keep it tight.
Inputs you’ll actually use
Fractal Period (n): this is the big one. It controls how swingy/strict the pivots are.
Lower n → more swings, more lines (faster, noisier)
Higher n → fewer swings, cleaner lines (slower, swing-trade friendly)
Max pair of lines: how many pairs (up+down) to keep on the chart. 1–3 is a sweet spot.
Extend: extend lines Right (my default) or Both ways if you like the context.
Line widths & colours: recent vs. historical are separate so you can make the active lines pop.
Show crosses: toggle the X markers when price crosses a line. I turn this on when I’m actively hunting breakouts/retests.
Reading the chart
Red lines (from highs): I treat these as potential resistance. A clean break + hold above a red line often flips me from “fade” to “follow.”
Green lines (from lows): Potential support. Same idea in reverse: break + hold below and I stop buying dips until I see structure reclaim.
HH / LH / HL / LL dots: quick read on structure.
HH/HL bias = uptrend continuation potential
LH/LL bias = downtrend continuation potential
Mixed prints = rotation/chop—tighten risk or wait for clarity.
My H1 guidance (fine-tuning Fractal Period)
If you’re mainly on H1 (my use case), tune like this:
Fast / aggressive: n = 6–8 (lots of signals, good for momentum days; more chop risk)
Balanced (recommended): n = 9–12 (keeps lines meaningful but responsive)
Slow / swing focus: n = 13–21 (filters noise; better for trend days and higher-TF confluence)
Rule of thumb: if you’re getting too many touches and whipsaws, increase n. If you’re late to obvious breaks, decrease n.
How I trade it (example workflow)
Pick your n for the session (H1: start at 9–12).
Mark the recent red & green lines. That’s your immediate structure.
Look for interaction:
Rejections from a line = fade potential back into the range.
Break + close across a line = watch the retest for continuation.
Confirm with context: session bias, HTF structure, and your own tools (VWAP, RSI, volume, FVG/OB, etc.).
Plan the trade: enter on retest or reclaim, stop beyond the line/last swing, target the opposite side or next structure.
Alerts (set and forget)
“New trendline formed” — fires when a new high/low pivot confirms and a fresh line is drawn.
“Upper/lower trendline crossed” — fires when price crosses the most recent red/green line.
Use these to track structure shifts without staring at the screen.
Good to know (honest limitations)
Confirmation lag: pivots need n bars on both sides, so signals arrive after the swing confirms. That’s by design—less noise, fewer fake lines.
Lines update as structure evolves: when a new pivot forms, the previous “recent” line becomes “historical,” and older ones can be removed based on your max setting.
Not an auto trendline crystal ball: it won’t predict which line holds or breaks—it just keeps the most relevant structure clean and up to date.
Final notes
Works on any timeframe; I built it with H1 in mind and scale to H4/D1 by increasing n.
Pairs nicely with session tools and VWAP for intraday, or with supply/demand / FVGs for swing planning.
Risk first: lines are structure, not guarantees. Manage position size and stops as usual.
Not financial advice. Trade your plan. Stay nimble.
4-Hour Range HighlighterThe 4-Hour Range Highlighter is a powerful visual analysis tool designed for traders operating on lower timeframes (like 5m, 15m, or 1H). It overlays the critical price range of the 4-hour (4H) candlestick onto your chart, providing immediate context from a higher timeframe. This helps you align your intraday trades with the dominant higher-timeframe structure, identifying key support and resistance zones, breakouts, and market volatility at a glance.
Key Features:
Visual Range Overlay: Draws a semi-transparent colored background spanning the entire High and Low of each 4-hour period.
Trend-Based Coloring: Automatically colors the range based on the 4H candle's direction:
Green: Bullish 4H candle (Close > Open)
Red: Bearish 4H candle (Close < Open)
Blue: Neutral 4H candle (Close = Open)
Customizable High/Low Lines: Optional, subtle lines plot the exact high and low of the 4H bar, acting as dynamic support/resistance levels.
Fully Customizable: Easily change colors and toggle visual elements on/off in the settings to match your chart's theme.
How to Use It:
Identify Key Levels: The top and bottom of the shaded area represent significant intraday support and resistance. Watch for price reactions at these levels.
Trade in Context: Use the trend color to gauge sentiment. For example, look for buy opportunities near the low of a bullish (green) 4H range.
Spot Breakouts: A strong candle closing above the high or below the low of the current 4H range can signal a continuation or the start of a new strong move.
Gauge Volatility: A large shaded area indicates a high-volatility 4H period. A small area suggests consolidation or low volatility.
Settings:
Visual Settings: Toggle the background and choose colors for Bullish, Bearish, and Neutral ranges.
Line Settings: Toggle the high/low lines and customize their colors.
Note: This is a visual aid, not a standalone trading system. It provides context but does not generate buy/sell signals. Always use it in conjunction with your own analysis and risk management.
Perfect for Day Traders, Swing Traders, and anyone who needs higher-timeframe context on their chart!
How to Use / Instructions:
After adding the script to your chart, open the settings menu (click on the indicator's name and then the gear icon).
In the "Inputs" tab, you will find two groups: "Visual Settings" and "Line Settings".
In Visual Settings, you can:
Toggle Show 4H Range Background on/off.
Change the Bullish Color, Bearish Color, and Neutral Color for the transparent background.
In Line Settings, you can:
Toggle Show High/Low Lines on/off.
Change the line colors for each trend type.
Adjust the colors to your preference. The default settings use transparency for a clean look that doesn't clutter the chart.
BTC/USD 3-Min Binary Prediction [v7.2 EN]BTC/USD 3-Minute Binary Prediction Indicator v7.2 - Complete Guide
Overview
This is an advanced technical analysis indicator designed for Bitcoin/USD binary options trading with 3-minute expiration times. The system aims for an 83% win rate by combining multiple analysis layers and pattern recognition.
How It Works
Core Prediction Logic
- Timeframe: Predicts whether BTC price will be ±$25 higher (HIGH) or lower (LOW) after 3 minutes
- Entry Signals: Generates HIGH/LOW signals when confidence exceeds threshold (default 75%)
- Verification: Automatically tracks and displays win/loss statistics in real-time
5-Layer Filter System
The indicator uses a sophisticated scoring system (0-100 points):
1. Trend Filter (25 points) - Analyzes EMA alignments and price momentum
2. Leading Indicators (25 points) - RSI and MACD divergence analysis
3. Volume Confirmation (20 points) - Detects unusual volume patterns
4. Support/Resistance (15 points) - Identifies key price levels
5. Momentum Alignment (15 points) - Measures acceleration and deceleration
Pattern Recognition
Automatically detects and visualizes:
- Double Tops/Bottoms - Reversal patterns
- Triangles - Ascending, descending, symmetrical
- Channels - Trending price channels
- Candlestick Patterns - Engulfing, hammer, hanging man
Multi-Timeframe Analysis
- Uses 1-minute and 5-minute data for confirmation
- Aligns multiple timeframes for higher probability trades
- Monitors trend consistency across timeframes
Key Features
Display Panels
1. Statistics Panel (Top Right)
- Overall win rate percentage
- Hourly performance (wins/losses)
- Daily performance
- Current system status
2. Analysis Panel (Left Side)
- Market trend analysis
- RSI status (overbought/oversold)
- Volume conditions
- Filter scores for each component
- Final HIGH/LOW/WAIT decision
Visual Signals
- Green Triangle (↑) = HIGH prediction
- Red Triangle (↓) = LOW prediction
- Yellow Background = Entry opportunity
- Blue Background = Waiting for result
Configuration Options
Basic Settings
- Range Width: Target price movement (default $50 = ±$25)
- Min Confidence: Minimum confidence to enter (default 75%)
- Max Daily Trades: Risk management limit (default 5)
Filters (Can be toggled on/off)
- Trend Filter
- Volume Confirmation
- Support/Resistance Filter
- Momentum Alignment
Display Options
- Show/hide signals, statistics, analysis
- Minimal Mode for cleaner charts
- EMA line visibility
Important Risk Warnings
Binary Options Trading Risks:
1. High Risk Product - Binary options are extremely risky and banned in many countries
2. Not Investment Advice - This tool is for educational/analytical purposes only
3. No Guaranteed Returns - Past performance doesn't predict future results
4. Capital at Risk - You can lose your entire investment in seconds
Technical Limitations:
- Requires stable internet connection
- Performance varies with market conditions
- High volatility can reduce accuracy
- Not suitable for news events or low liquidity periods
Best Practices
1. Paper Trade First - Test thoroughly on demo accounts
2. Risk Management - Never risk more than 1-2% per trade
3. Market Conditions - Works best in normal volatility conditions
4. Avoid Major Events - Don't trade during major news releases
5. Monitor Performance - Track your actual results vs displayed statistics
Setup Instructions
1. Add to TradingView chart (BTC/USD preferred)
2. Use 30-second or 1-minute chart timeframe
3. Adjust settings based on your risk tolerance
4. Monitor F-Score (should be >65 for entries)
5. Wait for clear HIGH/LOW signals with high confidence
Alert Configuration
The indicator provides three alert types:
- HIGH Signal alerts
- LOW Signal alerts
- General entry opportunity alerts
Legal Disclaimer
Binary options trading may not be legal in your jurisdiction. Many countries including the USA, Canada, and EU nations have restrictions or outright bans on binary options. Always check local regulations and consult with financial advisors before trading.
Remember: This is a technical analysis tool, not a money-printing machine. Successful trading requires discipline, risk management, and continuous learning. The displayed statistics are historical and don't guarantee future performance.
Fibo Swing MFI by julzALGOOVERVIEW
Fibo Swing MFI by julzALGO blends MFI → RSI → Least-Squares smoothing to flag overbought/oversold swings and continuously plot Fibonacci retracements from the rolling high/low of the last 200 bars. It’s built to spot momentum shifts while giving you a clean, always-current fib map of the recent market range.
CORE PRINCIPLES
Hybrid Momentum Signal
- Uses MFI to integrate price and volume.
- Applies RSI to MFI for momentum clarity.
- Smooths the result with Least Squares regression to reduce noise.
Swing Identification
- Marks potential swing highs when momentum is overbought.
- Marks potential swing lows when momentum is oversold.
Fixed-Window Fibonacci Mapping
- Always calculates fib levels from the highest high and lowest low of the last 200 bars.
- This keeps fib zones consistent, independent of swing point detection.
Visual Clarity & Non-Repainting Logic
- Clean labels for OB/OS zones.
- Lines and levels update only as new bars confirm changes.
Adaptability
- Works on any market and timeframe.
- Adjustable momentum length, OB/OS thresholds, and smoothing.
HOW IT WORKS
- Computes Money Flow Index (MFI) from price & volume.
- Applies RSI to the MFI for clearer OB/OS momentum.
- Smooths the hybrid with a Least Squares (linear regression) filter.
- Swing labels appear when OB/OS conditions are met (green = swing low, red = swing high).
- Fibonacci retracements are always drawn from the highest high and lowest low of the last 200 bars (rolling window), independent of swing labels.
HOW TO USE
- Watch for OB/OS flips to mark potential swing highs/lows.
- Use the 200-bar fib grid as your active map of pullback levels and reaction zones.
- Combine fib reactions with your price action/volume cues for confirmation.
- Works across markets and timeframes.
SETTINGS
- Length – Period for both MFI and RSI.
- OB/OS Levels – Overbought/oversold thresholds (default 70/30).
- Smooth – Least-Squares smoothing length.
- Fibonacci Window – Fixed at 200 bars in this version (changeable in code via fibLen).
NOTES
- Logic is non-repainting aside from standard bar/label confirmation.
- Increase Length on very low timeframes to reduce noise.
- Swing labels help context; fibs are always based on the most recent 200-bar high/low range.
SUMMARY
Fibo Swing MFI by julzALGO is a momentum-plus-price action tool that merges MFI → RSI → smoothing to identify overbought/oversold swings and automatically plot Fibonacci retracements based on the rolling high/low of the last 200 bars. It’s designed to help traders quickly see potential reversal points and pullback zones, offering visual confluence between momentum shifts and fixed-window price structure.
DISCLAIMER
For educational purposes only. Not financial advice. Trade responsibly with proper risk management.
Game Theory Trading StrategyGame Theory Trading Strategy: Explanation and Working Logic
This Pine Script (version 5) code implements a trading strategy named "Game Theory Trading Strategy" in TradingView. Unlike the previous indicator, this is a full-fledged strategy with automated entry/exit rules, risk management, and backtesting capabilities. It uses Game Theory principles to analyze market behavior, focusing on herd behavior, institutional flows, liquidity traps, and Nash equilibrium to generate buy (long) and sell (short) signals. Below, I'll explain the strategy's purpose, working logic, key components, and usage tips in detail.
1. General Description
Purpose: The strategy identifies high-probability trading opportunities by combining Game Theory concepts (herd behavior, contrarian signals, Nash equilibrium) with technical analysis (RSI, volume, momentum). It aims to exploit market inefficiencies caused by retail herd behavior, institutional flows, and liquidity traps. The strategy is designed for automated trading with defined risk management (stop-loss/take-profit) and position sizing based on market conditions.
Key Features:
Herd Behavior Detection: Identifies retail panic buying/selling using RSI and volume spikes.
Liquidity Traps: Detects stop-loss hunting zones where price breaks recent highs/lows but reverses.
Institutional Flow Analysis: Tracks high-volume institutional activity via Accumulation/Distribution and volume spikes.
Nash Equilibrium: Uses statistical price bands to assess whether the market is in equilibrium or deviated (overbought/oversold).
Risk Management: Configurable stop-loss (SL) and take-profit (TP) percentages, dynamic position sizing based on Game Theory (minimax principle).
Visualization: Displays Nash bands, signals, background colors, and two tables (Game Theory status and backtest results).
Backtesting: Tracks performance metrics like win rate, profit factor, max drawdown, and Sharpe ratio.
Strategy Settings:
Initial capital: $10,000.
Pyramiding: Up to 3 positions.
Position size: 10% of equity (default_qty_value=10).
Configurable inputs for RSI, volume, liquidity, institutional flow, Nash equilibrium, and risk management.
Warning: This is a strategy, not just an indicator. It executes trades automatically in TradingView's Strategy Tester. Always backtest thoroughly and use proper risk management before live trading.
2. Working Logic (Step by Step)
The strategy processes each bar (candle) to generate signals, manage positions, and update performance metrics. Here's how it works:
a. Input Parameters
The inputs are grouped for clarity:
Herd Behavior (🐑):
RSI Period (14): For overbought/oversold detection.
Volume MA Period (20): To calculate average volume for spike detection.
Herd Threshold (2.0): Volume multiplier for detecting herd activity.
Liquidity Analysis (💧):
Liquidity Lookback (50): Bars to check for recent highs/lows.
Liquidity Sensitivity (1.5): Volume multiplier for trap detection.
Institutional Flow (🏦):
Institutional Volume Multiplier (2.5): For detecting large volume spikes.
Institutional MA Period (21): For Accumulation/Distribution smoothing.
Nash Equilibrium (⚖️):
Nash Period (100): For calculating price mean and standard deviation.
Nash Deviation (0.02): Multiplier for equilibrium bands.
Risk Management (🛡️):
Use Stop-Loss (true): Enables SL at 2% below/above entry price.
Use Take-Profit (true): Enables TP at 5% above/below entry price.
b. Herd Behavior Detection
RSI (14): Checks for extreme conditions:
Overbought: RSI > 70 (potential herd buying).
Oversold: RSI < 30 (potential herd selling).
Volume Spike: Volume > SMA(20) x 2.0 (herd_threshold).
Momentum: Price change over 10 bars (close - close ) compared to its SMA(20).
Herd Signals:
Herd Buying: RSI > 70 + volume spike + positive momentum = Retail buying frenzy (red background).
Herd Selling: RSI < 30 + volume spike + negative momentum = Retail selling panic (green background).
c. Liquidity Trap Detection
Recent Highs/Lows: Calculated over 50 bars (liquidity_lookback).
Psychological Levels: Nearest round numbers (e.g., $100, $110) as potential stop-loss zones.
Trap Conditions:
Up Trap: Price breaks recent high, closes below it, with a volume spike (volume > SMA x 1.5).
Down Trap: Price breaks recent low, closes above it, with a volume spike.
Visualization: Traps are marked with small red/green crosses above/below bars.
d. Institutional Flow Analysis
Volume Check: Volume > SMA(20) x 2.5 (inst_volume_mult) = Institutional activity.
Accumulation/Distribution (AD):
Formula: ((close - low) - (high - close)) / (high - low) * volume, cumulated over time.
Smoothed with SMA(21) (inst_ma_length).
Accumulation: AD > MA + high volume = Institutions buying.
Distribution: AD < MA + high volume = Institutions selling.
Smart Money Index: (close - open) / (high - low) * volume, smoothed with SMA(20). Positive = Smart money buying.
e. Nash Equilibrium
Calculation:
Price mean: SMA(100) (nash_period).
Standard deviation: stdev(100).
Upper Nash: Mean + StdDev x 0.02 (nash_deviation).
Lower Nash: Mean - StdDev x 0.02.
Conditions:
Near Equilibrium: Price between upper and lower Nash bands (stable market).
Above Nash: Price > upper band (overbought, sell potential).
Below Nash: Price < lower band (oversold, buy potential).
Visualization: Orange line (mean), red/green lines (upper/lower bands).
f. Game Theory Signals
The strategy generates three types of signals, combined into long/short triggers:
Contrarian Signals:
Buy: Herd selling + (accumulation or down trap) = Go against retail panic.
Sell: Herd buying + (distribution or up trap).
Momentum Signals:
Buy: Below Nash + positive smart money + no herd buying.
Sell: Above Nash + negative smart money + no herd selling.
Nash Reversion Signals:
Buy: Below Nash + rising close (close > close ) + volume > MA.
Sell: Above Nash + falling close + volume > MA.
Final Signals:
Long Signal: Contrarian buy OR momentum buy OR Nash reversion buy.
Short Signal: Contrarian sell OR momentum sell OR Nash reversion sell.
g. Position Management
Position Sizing (Minimax Principle):
Default: 1.0 (10% of equity).
In Nash equilibrium: Reduced to 0.5 (conservative).
During institutional volume: Increased to 1.5 (aggressive).
Entries:
Long: If long_signal is true and no existing long position (strategy.position_size <= 0).
Short: If short_signal is true and no existing short position (strategy.position_size >= 0).
Exits:
Stop-Loss: If use_sl=true, set at 2% below/above entry price.
Take-Profit: If use_tp=true, set at 5% above/below entry price.
Pyramiding: Up to 3 concurrent positions allowed.
h. Visualization
Nash Bands: Orange (mean), red (upper), green (lower).
Background Colors:
Herd buying: Red (90% transparency).
Herd selling: Green.
Institutional volume: Blue.
Signals:
Contrarian buy/sell: Green/red triangles below/above bars.
Liquidity traps: Red/green crosses above/below bars.
Tables:
Game Theory Table (Top-Right):
Herd Behavior: Buying frenzy, selling panic, or normal.
Institutional Flow: Accumulation, distribution, or neutral.
Nash Equilibrium: In equilibrium, above, or below.
Liquidity Status: Trap detected or safe.
Position Suggestion: Long (green), Short (red), or Wait (gray).
Backtest Table (Bottom-Right):
Total Trades: Number of closed trades.
Win Rate: Percentage of winning trades.
Net Profit/Loss: In USD, colored green/red.
Profit Factor: Gross profit / gross loss.
Max Drawdown: Peak-to-trough equity drop (%).
Win/Loss Trades: Number of winning/losing trades.
Risk/Reward Ratio: Simplified Sharpe ratio (returns / drawdown).
Avg Win/Loss Ratio: Average win per trade / average loss per trade.
Last Update: Current time.
i. Backtesting Metrics
Tracks:
Total trades, winning/losing trades.
Win rate (%).
Net profit ($).
Profit factor (gross profit / gross loss).
Max drawdown (%).
Simplified Sharpe ratio (returns / drawdown).
Average win/loss ratio.
Updates metrics on each closed trade.
Displays a label on the last bar with backtest period, total trades, win rate, and net profit.
j. Alerts
No explicit alertconditions defined, but you can add them for long_signal and short_signal (e.g., alertcondition(long_signal, "GT Long Entry", "Long Signal Detected!")).
Use TradingView's alert system with Strategy Tester outputs.
3. Usage Tips
Timeframe: Best for H1-D1 timeframes. Shorter frames (M1-M15) may produce noisy signals.
Settings:
Risk Management: Adjust sl_percent (e.g., 1% for volatile markets) and tp_percent (e.g., 3% for scalping).
Herd Threshold: Increase to 2.5 for stricter herd detection in choppy markets.
Liquidity Lookback: Reduce to 20 for faster markets (e.g., crypto).
Nash Period: Increase to 200 for longer-term analysis.
Backtesting:
Use TradingView's Strategy Tester to evaluate performance.
Check win rate (>50%), profit factor (>1.5), and max drawdown (<20%) for viability.
Test on different assets/timeframes to ensure robustness.
Live Trading:
Start with a demo account.
Combine with other indicators (e.g., EMAs, support/resistance) for confirmation.
Monitor liquidity traps and institutional flow for context.
Risk Management:
Always use SL/TP to limit losses.
Adjust position_size for risk tolerance (e.g., 5% of equity for conservative trading).
Avoid over-leveraging (pyramiding=3 can amplify risk).
Troubleshooting:
If no trades are executed, check signal conditions (e.g., lower herd_threshold or liquidity_sensitivity).
Ensure sufficient historical data for Nash and liquidity calculations.
If tables overlap, adjust position.top_right/bottom_right coordinates.
4. Key Differences from the Previous Indicator
Indicator vs. Strategy: The previous code was an indicator (VP + Game Theory Integrated Strategy) focused on visualization and alerts. This is a strategy with automated entries/exits and backtesting.
Volume Profile: Absent in this strategy, making it lighter but less focused on high-volume zones.
Wick Analysis: Not included here, unlike the previous indicator's heavy reliance on wick patterns.
Backtesting: This strategy includes detailed performance metrics and a backtest table, absent in the indicator.
Simpler Signals: Focuses on Game Theory signals (contrarian, momentum, Nash reversion) without the "Power/Ultra Power" hierarchy.
Risk Management: Explicit SL/TP and dynamic position sizing, not present in the indicator.
5. Conclusion
The "Game Theory Trading Strategy" is a sophisticated system leveraging herd behavior, institutional flows, liquidity traps, and Nash equilibrium to trade market inefficiencies. It’s designed for traders who understand Game Theory principles and want automated execution with robust risk management. However, it requires thorough backtesting and parameter optimization for specific markets (e.g., forex, crypto, stocks). The backtest table and visual aids make it easy to monitor performance, but always combine with other analysis tools and proper capital management.
If you need help with backtesting, adding alerts, or optimizing parameters, let me know!
BARTRADINGPREDV4Please note, that all of the indicators on the chart are working together. I am showing all of the indicators so that you might see the benefits of these indicators working as one. Do your own research. Trade smart. I code tools not advice. So please make decisions based on your trading style and knowledge. Use my scripts freely but please note they are protected by Mozilla.
Script Summary: BARTRADINGPREDV4
This Pine Script indicator is a comprehensive trading tool that overlays on your TradingView chart. It combines moving averages, regression channels, volume analysis, RSI filtering, and pattern recognition to assist in making trading decisions. It also provides a forward-looking projection to help anticipate future price movement.
Key Features & Logic
1. Moving Averages
HMA (High Moving Average): Simple moving average of the high price over a user-defined lookback period.
LMA (Low Moving Average): Simple moving average of the low price over the same period.
HLMA (High-Low Moving Average): The average of HMA and LMA, providing a midline reference.
2. RSI Filtering
Optionally enables a Relative Strength Index (RSI) filter to help avoid trades when the market is not trending strongly.
Only allows buy signals if RSI is above 50, and sell signals if RSI is below 50 (if enabled).
3. Signal Generation
BUY Signal: Triggered when HL2 (average of OHLC) crosses over LMA and (optionally) RSI > 50.
SELL Signal: Triggered when HL2 crosses under HMA and (optionally) RSI < 50.
XSB (Extra Strong Buy): HL2 crosses over HMA, is above HLMA, up volume is greater than down volume, and (optionally) RSI > 50.
XBS (Extra Strong Sell): HL2 crosses under LMA, is below HLMA, down volume is greater than up volume, and (optionally) RSI < 50.
Enable/Disable XSB/XBS: You can turn these signals on or off via script inputs.
4. Take Profit (TP) and Stop Loss (SL) Levels
TP and SL are dynamically calculated based on the difference between HMA and LMA, providing contextually relevant exit levels.
5. Regression Channel and Prediction
Linear Regression Line: Plots a regression line over the lookback period to show the underlying trend.
ATR Channel: Adds an upper and lower channel around the regression line using ATR (Average True Range) for a realistic prediction envelope.
Forward Projection: Projects the regression line forward by a user-defined number of bars, visually showing where the trend could extend if current momentum persists.
6. Pattern Recognition
Higher Highs/Lows and Lower Highs/Lows: Marks bars where new higher highs/lows or lower highs/lows are set, helping you spot trend continuation or reversal points.
7. Status Table
A table shows the current price’s relationship to HMA, HLMA, and LMA, color-coded for quick visual interpretation.
User Instructions
Inputs
Number of Lookback Bars: Sets the period for all moving averages and regression calculations.
Prediction Length: (Legacy; not used in current logic.)
TURN ON OR OFF XSB/XBS Signal: Toggle extra strong buy/sell signals.
Enable RSI Filter: Only allow signals when RSI is in the correct zone.
RSI Period: Sets the sensitivity of the RSI filter.
Table Position: Choose where the status table appears on your chart.
ATR Length & Multiplier: Control the width of the regression prediction channel.
Bars Forward (Projection): Number of bars to project the regression line into the future.
How to Use
Add the script to your TradingView chart.
Adjust inputs to suit your asset and timeframe.
Interpret signals:
BUY (B) and SELL (S): Appear as green/red labels below/above bars.
XSB (blue) and XBS (orange): Indicate extra strong buy/sell conditions.
HH/HL (green triangles): New higher highs/lows.
LH/LL (red triangles): New lower highs/lows.
Watch the regression channel: The yellow regression line shows the trend; the shaded band indicates expected volatility.
Check the projection: The dashed magenta line projects the regression trend forward, giving a visual target for price continuation.
Use the table: Quickly see if price is above or below each moving average.
Interpreting the Prediction Aspects
Regression Line & Channel
Regression Line (Yellow): Represents the best-fit line of price over the lookback period, showing overall trend direction.
ATR Channel: The upper and lower bands (yellow, semi-transparent) account for typical volatility, suggesting a range where price is likely to stay if the trend continues.
Forward Projection
Dashed Magenta Line: Projects the regression line forward by the specified number of bars, using the current slope. This is a trend continuation forecast—not a guarantee, but a statistically reasonable path if current conditions persist.
How to use: If price is respecting the regression trend and within the channel, the projection provides a visual target for where price might go in the near future.
TP/SL Levels
TP (Take Profit): Suggests a price target above the current HL2, based on recent volatility.
SL (Stop Loss): Suggests a protective stop below HL2.
Best Practices & Warnings
No indicator is perfect! Always combine signals with your own analysis and risk management.
Regression projection is not a crystal ball: It simply extends the current trend, which can and will change, especially after big news or at support/resistance.
Use on liquid, trending assets for best results.
Adjust lookback and ATR settings for your market and timeframe.
Summary Table Example
Price vs HMA vs HLMA vs LMA
43000 +100 +50 -20
Green: Price is above average (bullish).
Red: Price is below average (bearish).
Yellow: Price is very close to the average (neutral).
Final Notes
This script is designed to be a multi-tool for trend trading and prediction, combining classic and modern techniques. The forward projection helps visualize possible future price action, while signals and overlays keep you informed of trend shifts and trade opportunities.
OBV ATR Strategy (OBV Breakout Channel) bas20230503ผมแก้ไขจาก OBV+SMA อันเดิม ของเดิม ดูที่เส้น SMA สองเส้นตัดกันมั่นห่วยแตกสำหรับที่ผมลองเทรดจริง และหลักการเบรค ได้แรงบันดาลใจ ATR จาก เทพคอย ที่ใช้กับราคา แต่นี้ใช้กับ OBV แทน
และผมใช้เจมินี้ เพื่อแก้ ให้ เป็น strategy เพื่อเช็คย้อนหลังได้ง่ายกว่าเดิม
หลักการง่ายคือถ้ามันขึ้น มันจะขึ้นเรื่อยๆ
เขียน แบบสุภาพ (น่าจะอ่านได้ง่ายกว่าผมเขียน)
สคริปต์นี้ได้รับการพัฒนาต่อยอดจากแนวคิด OBV+SMA Crossover แบบดั้งเดิม ซึ่งจากการทดสอบส่วนตัวพบว่าประสิทธิภาพยังไม่น่าพอใจ กลยุทธ์ใหม่นี้จึงเปลี่ยนมาใช้หลักการ "Breakout" ซึ่งได้รับแรงบันดาลใจมาจากการใช้ ATR สร้างกรอบของราคา แต่เราได้นำมาประยุกต์ใช้กับ On-Balance Volume (OBV) แทน นอกจากนี้ สคริปต์ได้ถูกแปลงเป็น Strategy เต็มรูปแบบ (โดยความช่วยเหลือจาก Gemini AI) เพื่อให้สามารถทดสอบย้อนหลัง (Backtest) และประเมินประสิทธิภาพได้อย่างแม่นยำ
หลักการของกลยุทธ์: กลยุทธ์นี้ทำงานบนแนวคิดโมเมนตัมที่ว่า "เมื่อแนวโน้มได้เกิดขึ้นแล้ว มีโอกาสที่มันจะดำเนินต่อไป" โดยจะมองหาการทะลุของพลังซื้อ-ขาย (OBV) ที่แข็งแกร่งเป็นพิเศษเป็นสัญญาณเข้าเทร
----
สคริปต์นี้เป็นกลยุทธ์ (Strategy) ที่ใช้ On-Balance Volume (OBV) ซึ่งเป็นอินดิเคเตอร์ที่วัดแรงซื้อและแรงขายสะสม แทนที่จะใช้การตัดกันของเส้นค่าเฉลี่ย (SMA Crossover) ที่เป็นแบบพื้นฐาน กลยุทธ์นี้จะมองหาการ "ทะลุ" (Breakout) ของพลัง OBV ออกจากกรอบสูงสุด-ต่ำสุดของตัวเองในรอบที่ผ่านมา
สัญญาณกระทิง (Bull Signal): เกิดขึ้นเมื่อพลังการซื้อ (OBV) แข็งแกร่งจนสามารถทะลุจุดสูงสุดของตัวเองในอดีตได้ บ่งบอกถึงโอกาสที่แนวโน้มจะเปลี่ยนเป็นขาขึ้น
สัญญาณหมี (Bear Signal): เกิดขึ้นเมื่อพลังการขาย (OBV) รุนแรงจนสามารถกดดันให้ OBV ทะลุจุดต่ำสุดของตัวเองในอดีตได้ บ่งบอกถึงโอกาสที่แนวโน้มจะเปลี่ยนเป็นขาลง
ส่วนประกอบบนกราฟ (Indicator Components)
เส้น OBV
เส้นหลัก ที่เปลี่ยนเขียวเป็นแดง เป็นทั้งแนวรับและแนวต้าน และ จุด stop loss
เส้นนี้คือหัวใจของอินดิเคเตอร์ ที่แสดงถึงพลังสะสมของ Volume
เมื่อเส้นเป็นสีเขียว (แนวรับ): จะปรากฏขึ้นเมื่อกลยุทธ์เข้าสู่ "โหมดกระทิง" เส้นนี้คือระดับต่ำสุดของ OBV ในอดีต และทำหน้าที่เป็นแนวรับไดนามิก
เมื่อเส้นกลายเป็นสีแดงสีแดง (แนวต้าน): จะปรากฏขึ้นเมื่อกลยุทธ์เข้าสู่ "โหมดหมี" เส้นนี้คือระดับสูงสุดของ OBV ในอดีต และทำหน้าที่เป็นแนวต้านไดนามิก
สัญลักษณ์สัญญาณ (Signal Markers):
Bull 🔼 (สามเหลี่ยมขึ้นสีเขียว): คือสัญญาณ "เข้าซื้อ" (Long) จะปรากฏขึ้น ณ จุดที่ OBV ทะลุขึ้นไปเหนือกรอบด้านบนเป็นครั้งแรก
Bear 🔽 (สามเหลี่ยมลงสีแดง): คือสัญญาณ "เข้าขาย" (Short) จะปรากฏขึ้น ณ จุดที่ OBV ทะลุลงไปต่ำกว่ากรอบด้านล่างเป็นครั้งแรก
วิธีการใช้งาน (How to Use)
เพิ่มสคริปต์นี้ลงบนกราฟราคาที่คุณสนใจ
ไปที่แท็บ "Strategy Tester" ด้านล่างของ TradingView เพื่อดูผลการทดสอบย้อนหลัง (Backtest) ของกลยุทธ์บนสินทรัพย์และไทม์เฟรมต่างๆ
ใช้สัญลักษณ์ "Bull" และ "Bear" เป็นตัวช่วยในการตัดสินใจเข้าเทรด
ข้อควรจำ: ไม่มีกลยุทธ์ใดที่สมบูรณ์แบบ 100% ควรใช้สคริปต์นี้ร่วมกับการวิเคราะห์ปัจจัยอื่นๆ เช่น โครงสร้างราคา, แนวรับ-แนวต้านของราคา และการบริหารความเสี่ยง (Risk Management) ของตัวคุณเองเสมอ
การตั้งค่า (Inputs)
SMA Length 1 / SMA Length 2: ใช้สำหรับพล็อตเส้นค่าเฉลี่ยของ OBV เพื่อดูเป็นภาพอ้างอิง ไม่มีผลต่อตรรกะการเข้า-ออกของ Strategy อันใหม่ แต่มันเป็นของเก่า ถ้าชอบ ก็ใช้ได้ เมื่อ SMA สองเส้นตัดกัน หรือตัดกับเส้น OBV
High/Low Lookback Length: (ค่าพื้นฐาน30/แก้ตรงนี้ให้เหมาะสมกับ coin หรือหุ้น ตามความผันผวน ) คือระยะเวลาที่ใช้ในการคำนวณกรอบสูงสุด-ต่ำสุดของ OBV
ค่าน้อย: ทำให้กรอบแคบลง สัญญาณจะเกิดไวและบ่อยขึ้น แต่อาจมีสัญญาณหลอก (False Signal) เยอะขึ้น
ค่ามาก: ทำให้กรอบกว้างขึ้น สัญญาณจะเกิดช้าลงและน้อยลง แต่มีแนวโน้มที่จะเป็นสัญญาณที่แข็งแกร่งกว่า
แน่นอนครับ นี่คือคำแปลฉบับภาษาอังกฤษที่สรุปใจความสำคัญ กระชับ และสุภาพ เหมาะสำหรับนำไปใช้ในคำอธิบายสคริปต์ (Description) ของ TradingView ครับ
---Translate to English---
OBV Breakout Channel Strategy
This script is an evolution of a traditional OBV+SMA Crossover concept. Through personal testing, the original crossover method was found to have unsatisfactory performance. This new strategy, therefore, uses a "Breakout" principle. The inspiration comes from using ATR to create price channels, but this concept has been adapted and applied to On-Balance Volume (OBV) instead.
Furthermore, the script has been converted into a full Strategy (with assistance from Gemini AI) to enable precise backtesting and performance evaluation.
The strategy's core principle is momentum-based: "once a trend is established, it is likely to continue." It seeks to enter trades on exceptionally strong breakouts of buying or selling pressure as measured by OBV.
Core Concept
This is a Strategy that uses On-Balance Volume (OBV), an indicator that measures cumulative buying and selling pressure. Instead of relying on a basic Simple Moving Average (SMA) Crossover, this strategy identifies a "Breakout" of the OBV from its own highest-high and lowest-low channel over a recent period.
Bull Signal: Occurs when the buying pressure (OBV) is strong enough to break above its own recent highest high, indicating a potential shift to an upward trend.
Bear Signal: Occurs when the selling pressure (OBV) is intense enough to push the OBV below its own recent lowest low, indicating a potential shift to a downward trend.
On-Screen Components
1. OBV Line
This is the main indicator line, representing the cumulative volume. Its color changes to green when OBV is rising and red when it is falling.
2. Dynamic Support & Resistance Line
This is the thick Green or Red line that appears based on the strategy's current "mode." This line serves as a dynamic support/resistance level and can be used as a reference for stop-loss placement.
Green Line (Support): Appears when the strategy enters "Bull Mode." This line represents the lowest low of the OBV in the recent past and acts as dynamic support.
Red Line (Resistance): Appears when the strategy enters "Bear Mode." This line represents the highest high of the OBV in the recent past and acts as dynamic resistance.
3. Signal Markers
Bull 🔼 (Green Up Triangle): This is the "Long Entry" signal. It appears at the moment the OBV first breaks out above its high-low channel.
Bear 🔽 (Red Down Triangle): This is the "Short Entry" signal. It appears at the moment the OBV first breaks down below its high-low channel.
How to Use
Add this script to the price chart of your choice.
Navigate to the "Strategy Tester" panel at the bottom of TradingView to view the backtesting results for the strategy on different assets and timeframes.
Use the "Bull" and "Bear" signals as aids in your trading decisions.
Disclaimer: No strategy is 100% perfect. This script should always be used in conjunction with other forms of analysis, such as price structure, key price-based support/resistance levels, and your own personal risk management rules.
Inputs
SMA Length 1 / SMA Length 2: These are used to plot moving averages on the OBV for visual reference. They are part of the legacy logic and do not affect the new breakout strategy. However, they are kept for traders who may wish to observe their crossovers for additional confirmation.
High/Low Lookback Length: (Most Important Setting) This determines the period used to calculate the highest-high and lowest-low OBV channel. (Default is 30; adjust this to suit the asset's volatility).
A smaller value: Creates a narrower channel, leading to more frequent and faster signals, but potentially more false signals.
A larger value: Creates a wider channel, leading to fewer and slower signals, which are likely to be more significant.
Opening Range 15 minThis indicator highlights the Opening Range (OR) for the first 15 minutes (9:30–9:45 AM EST). It visually plots high/low lines and a shaded box to define this range, helping traders identify key intraday levels for potential breakout or rejection scenarios. The script also provides optional overlays for the Previous Day’s High/Low and the Extended Hours High/Low, offering a complete context for day trading setups.
Main Features:
Opening Range Detection – Automatically calculates and draws the high/low of the 9:30–9:45 AM session.
Visual Enhancements – Includes customizable lines, shaded boxes, and labels to mark the OR high (ORH) and low (ORL) levels.
Previous Day High/Low (Optional) – Plots and labels the previous day's high and low for reference during current day trading.
Extended Hours High/Low (Optional, when ETH enabled) – Displays overnight session levels for added insight into early volatility (4:00 AM to 9:30 AM EST).
User Customization – Easily adjust colors, label styles, and visibility for all plotted levels and regions.
Algo Structure [ValiantTrader_]Explanation of the "Algo Structure" Trading Indicator
This Pine Script indicator, created by ValiantTrader_, is a multi-timeframe swing analysis tool that helps traders identify key price levels and market structure across different timeframes. Here's how it works and how traders can use it:
Core Components
1. Multi-Timeframe Swing Analysis
The indicator tracks swing highs and lows across:
The current chart timeframe
A higher timeframe (weekly by default)
An even higher timeframe (monthly by default)
2. Swing Detection Logic
Current timeframe swings: Identified when price makes a 3-bar high/low pattern
Higher timeframe swings: Uses the highest high/lowest low of the last 3 bars on those timeframes
3. Visual Elements
Horizontal lines marking swing points
Labels showing the timeframe and percentage distance from current price
An information table summarizing key levels
How Traders Use This Indicator
1. Identifying Key Levels
The indicator draws recent swing highs (red) and swing lows (green)
These levels act as potential support/resistance areas
Traders watch for price reactions at these levels
2. Multi-Timeframe Analysis
By seeing swings from higher timeframes (weekly, monthly), traders can:
Identify more significant support/resistance zones
Understand the broader market context
Spot confluence areas where multiple timeframes align
3. Measuring Price Distance
The percentage display shows how far current price is from each swing level
Helps assess potential reward/risk at current levels
Shows volatility between swings (wider % = more volatile moves)
4. Table Summary
The info table provides a quick reference for:
Exact price levels of swings
Percentage ranges between highs and lows
Comparison across timeframes
5. Trading Applications
Breakout trading: When price moves beyond a swing high/low
Mean reversion: Trading bounces between swing levels
Trend confirmation: Higher highs/lows in multiple timeframes confirm trends
Support/resistance trading: Entering trades at swing levels with other confirmation
Customization Options
Traders can adjust:
The higher timeframes analyzed
Whether to show the timeframe labels
Whether to display swing levels
Whether to show the info table
The indicator also includes price alerts for new swing highs/lows on the current timeframe, allowing traders to get notifications when market structure changes.
This tool is particularly valuable for traders who incorporate multi-timeframe analysis into their strategy, helping them visualize important price levels across different time perspectives
cd_respect2_EQ_Cx🔹 Overview:
Many traders form a bias or look for trade setups by analyzing the high (H) and low (L) of previous higher timeframe candles. For example: a close above the previous daily high, a failure to close after breaking the high, or approaching the level without making a new high. As we’ve been taught to focus on these key levels, I wanted to draw attention to what's happening at the mid-levels (Equilibrium) of the current and higher timeframe candles.
We’ve all heard the phrase “Strong price reacts from equilibrium,” yet most of us wait at the extremes.
While working on equilibrium levels of both higher timeframes and the current timeframe, I noticed that when a current candle closes above/below the previous HTF candle's high/low, price often respects the part of the candle that caused the break — which I refer to as the Last Block. When respected, price tends to continue with momentum; when lost, a pullback or reversal often follows.
________________________________________
🔹 About the Indicator:
This tool analyzes four different higher timeframes and shows:
• Current candle equilibrium levels
• Previous candle equilibrium levels (2 display options):
1. On Box – classic display
2. On Candle – equilibrium is linked to the last candle that includes the level, making those candles more meaningful or "strengthened"
• Alerts (standard) and on-screen warnings when price approaches previous equilibrium levels
• High/Low levels of previous HTF candles
• High/Low levels of live HTF candles
• Last Block: the upper or lower part of the candle that caused the breakout when price closes above/below the previous HTF high/low
• Countdown timer until the close of selected HTFs
________________________________________
🔹 Menus & Usage:
🔸 Show/Hide Tab:
• Toggle Previous Equilibrium display (On Candle / On Box)
• Toggle Live Equilibrium levels, color selection, and left extension
• Toggle Current Candle Equilibrium and colors
• Alert on Chart: flashing on-screen visual alert
• Approach Limit: sets how close price must be to trigger alert
• Remaining Time (RT): toggle countdown display for selected timeframes
________________________________________
🔸 HTF H/L Levels Tab:
• Show previous and live HTF candle highs/lows
• Customize colors, starting points, and left extension options
________________________________________
🔸 Timeframes & Options Tab:
• Select which timeframes to display
• Choose level colors
• Enable price alerts
• Control visibility in the time chart
• Toggle Last Block display (close-to-high/low)
________________________________________
🔸 Look Back HTF Candles Tab:
• Delete filled levels: removes invalidated zones; only unmitigated remain
• Back Control: set how many candles to look back per timeframe (unlimited if not set)
________________________________________
🔸 HTF Boxes Tab:
• Display HTF candles in boxes
• Set colors (single color or per timeframe)
• Adjust font sizes across the chart
________________________________________
🔹 Usage & Last Blocks:
The core idea behind both equilibrium levels and last blocks is:
Price should “gain” and respect them to validate continuation.
Viewing multiple timeframes together strengthens bias.
Each level is treated as part of the candle it's associated with — defining the “area to be gained.”
“Did price respect the level because of that candle, or did the candle gain significance because it aligned with the level? That’s open for debate.”
(In my opinion, the candle gains significance because it aligns with the level.)
When respected, these levels/blocks act as support; when lost, they act as resistance.
In suitable timeframes, reclaiming previous equilibrium levels may be interpreted as CHoCH / CISD / IDM depending on the context.
________________________________________
🔹 Usage Example – Last Blocks:
I personally trade on 1-minute and use Daily / H4 / H1 / 15m as selected timeframes.
For example, if price reclaims the previous 15m level, I view it as a Change of Character. I then expect the next candle to show respect in that direction.
Choose timeframes based on your trading style.
Sometimes, HTF levels (past and live) cluster tightly — these areas are key watch zones for me.
That’s the reason I decided to share this indicator.
________________________________________
🔹 Chart Examples:
🔸 Example 1:
Price closes above both the 12:45 15m candle and the 12:00 H1 equilibrium levels.
Last Block forms. After retracing, price mitigates the block and respects live equilibrium levels (H4/H1/15m).
🔸 Example 2:
Explained on chart – Levels that pushed price down in the bearish trend later acted as support.
🔸 Example 3 – CHoCH/CISD/IDM Alternative:
Explained on chart – Replacing structural signals with equilibrium levels.
I see this pattern often — very effective.
🔸 Example 4:
Many levels are clustered in a narrow range; price shows respect across the board.
________________________________________
🔹 Final Note:
Hope you like the tool. I’d love to hear your thoughts and suggestions.
"Keep in mind, strong price reverses from equilibrium."
Happy trading!
Ultimate Scalping Tool[BullByte]Overview
The Ultimate Scalping Tool is an open-source TradingView indicator built for scalpers and short-term traders released under the Mozilla Public License 2.0. It uses a custom Quantum Flux Candle (QFC) oscillator to combine multiple market forces into one visual signal. In plain terms, the script reads momentum, trend strength, volatility, and volume together and plots a special “candlestick” each bar (the QFC) that reflects the overall market bias. This unified view makes it easier to spot entries and exits: the tool labels signals as Strong Buy/Sell, Pullback (a brief retracement in a trend), Early Entry, or Exit Warning . It also provides color-coded alerts and a small dashboard of metrics. In practice, traders see green/red oscillator bars and symbols on the chart when conditions align, helping them scalp or trend-follow without reading multiple separate indicators.
Core Components
Quantum Flux Candle (QFC) Construction
The QFC is the heart of the indicator. Rather than using raw price, it creates a candlestick-like bar from the underlying oscillator values. Each QFC bar has an “open,” “high/low,” and “close” derived from calculated momentum and volatility inputs for that period . In effect, this turns the oscillator into intuitive candle patterns so traders can recognize momentum shifts visually. (For comparison, note that Heikin-Ashi candles “have a smoother look because take an average of the movement”. The QFC instead represents exact oscillator readings, so it reflects true momentum changes without hiding price action.) Colors of QFC bars change dynamically (e.g. green for bullish momentum, red for bearish) to highlight shifts. This is the first open-source QFC oscillator that dynamically weights four non-correlated indicators with moving thresholds, which makes it a unique indicator on its own.
Oscillator Normalization & Adaptive Weights
The script normalizes its oscillator to a fixed scale (for example, a 0–100 range much like the RSI) so that various inputs can be compared fairly. It then applies adaptive weighting: the relative influence of trend, momentum, volatility or volume signals is automatically adjusted based on current market conditions. For instance, in very volatile markets the script might weight volatility more heavily, or in a strong trend it might give extra weight to trend direction. Normalizing data and adjusting weights helps keep the QFC sensitive but stable (normalization ensures all inputs fit a common scale).
Trend/Momentum/Volume/Volatility Fusion
Unlike a typical single-factor oscillator, the QFC oscillator fuses four aspects at once. It may compute, for example, a trend indicator (such as an ADX or moving average slope), a momentum measure (like RSI or Rate-of-Change), a volume-based pressure (similar to MFI/OBV), and a volatility measure (like ATR) . These different values are combined into one composite oscillator. This “multi-dimensional” approach follows best practices of using non-correlated indicators (trend, momentum, volume, volatility) for confirmation. By encoding all these signals in one line, a high QFC reading means that trend, momentum, and volume are all aligned, whereas a neutral reading might mean mixed conditions. This gives traders a comprehensive picture of market strength.
Signal Classification
The script interprets the QFC oscillator to label trades. For example:
• Strong Buy/Sell : Triggered when the oscillator crosses a high-confidence threshold (e.g. breaks clearly above zero with strong slope), indicating a well-confirmed move. This is like seeing a big green/red QFC candle aligned with the trend.
• Pullbacks : Identified when the trend is up but momentum dips briefly. A Pullback Buy appears if the overall trend is bullish but the oscillator has a short retracement – a typical buying opportunity in an uptrend. (A pullback is “a brief decline or pause in a generally upward price trend”.)
• Early Buy/Sell : Marks an initial swing in the oscillator suggesting a possible new trend, before it is fully confirmed. It’s a hint of momentum building (an early-warning signal), not as strong as the confirmed “Strong” signal.
• Exit Warnings : Issued when momentum peaks or reverses. For instance, if the QFC bars reach a high and start turning red/green opposite, the indicator warns that the move may be ending. In other words, a Momentum Peak is the point of maximum strength after which weakness may follow.
These categories correspond to typical trading concepts: Pullback (temporary reversal in an uptrend), Early Buy (an initial bullish cross), Strong Buy (confirmed bullish momentum), and Momentum Peak (peak oscillator value suggesting exhaustion).
Filters (DI Reversal, Dynamic Thresholds, HTF EMA/ADX)
Extra filters help avoid bad trades. A DI Reversal filter uses the +DI/–DI lines (from the ADX system) to require that the trend direction confirms the signal . For example, it might ignore a buy signal if the +DI is still below –DI. Dynamic Thresholds adjust signal levels on-the-fly: rather than fixed “overbought” lines, they move with volatility so signals happen under appropriate market stress. An optional High-Timeframe EMA or ADX filter adds a check against a larger timeframe trend: for instance, only taking a trade if price is above the weekly EMA or if weekly ADX shows a strong trend. (Notably, the ADX is “a technical indicator used by traders to determine the strength of a price trend”, so requiring a high-timeframe ADX avoids trading against the bigger trend.)
Dashboard Metrics & Color Logic
The Dashboard in the Ultimate Scalping Tool (UST) serves as a centralized information hub, providing traders with real-time insights into market conditions, trend strength, momentum, volume pressure, and trade signals. It is highly customizable, allowing users to adjust its appearance and content based on their preferences.
1. Dashboard Layout & Customization
Short vs. Extended Mode : Users can toggle between a compact view (9 rows) and an extended view (13 rows) via the `Short Dashboard` input.
Text Size Options : The dashboard supports three text sizes— Tiny, Small, and Normal —adjustable via the `Dashboard Text Size` input.
Positioning : The dashboard is positioned in the top-right corner by default but can be moved if modified in the script.
2. Key Metrics Displayed
The dashboard presents critical trading metrics in a structured table format:
Trend (TF) : Indicates the current trend direction (Strong Bullish, Moderate Bullish, Sideways, Moderate Bearish, Strong Bearish) based on normalized trend strength (normTrend) .
Momentum (TF) : Displays momentum status (Strong Bullish/Bearish or Neutral) derived from the oscillator's position relative to dynamic thresholds.
Volume (CMF) : Shows buying/selling pressure levels (Very High Buying, High Selling, Neutral, etc.) based on the Chaikin Money Flow (CMF) indicator.
Basic & Advanced Signals:
Basic Signal : Provides simple trade signals (Strong Buy, Strong Sell, Pullback Buy, Pullback Sell, No Trade).
Advanced Signal : Offers nuanced signals (Early Buy/Sell, Momentum Peak, Weakening Momentum, etc.) with color-coded alerts.
RSI : Displays the Relative Strength Index (RSI) value, colored based on overbought (>70), oversold (<30), or neutral conditions.
HTF Filter : Indicates the higher timeframe trend status (Bullish, Bearish, Neutral) when using the Leading HTF Filter.
VWAP : Shows the V olume-Weighted Average Price and whether the current price is above (bullish) or below (bearish) it.
ADX : Displays the Average Directional Index (ADX) value, with color highlighting whether it is rising (green) or falling (red).
Market Mode : Shows the selected market type (Crypto, Stocks, Options, Forex, Custom).
Regime : Indicates volatility conditions (High, Low, Moderate) based on the **ATR ratio**.
3. Filters Status Panel
A secondary panel displays the status of active filters, helping traders quickly assess which conditions are influencing signals:
- DI Reversal Filter: On/Off (confirms reversals before generating signals).
- Dynamic Thresholds: On/Off (adjusts buy/sell thresholds based on volatility).
- Adaptive Weighting: On/Off (auto-adjusts oscillator weights for trend/momentum/volatility).
- Early Signal: On/Off (enables early momentum-based signals).
- Leading HTF Filter: On/Off (applies higher timeframe trend confirmation).
4. Visual Enhancements
Color-Coded Cells : Each metric is color-coded (green for bullish, red for bearish, gray for neutral) for quick interpretation.
Dynamic Background : The dashboard background adapts to market conditions (bullish/bearish/neutral) based on ADX and DI trends.
Customizable Reference Lines : Users can enable/disable fixed reference lines for the oscillator.
How It(QFC) Differs from Traditional Indicators
Quantum Flux Candle (QFC) Versus Heikin-Ashi
Heikin-Ashi candles smooth price by averaging (HA’s open/close use averages) so they show trend clearly but hide true price (the current HA bar’s close is not the real price). QFC candles are different: they are oscillator values, not price averages . A Heikin-Ashi chart “has a smoother look because it is essentially taking an average of the movement”, which can cause lag. The QFC instead shows the raw combined momentum each bar, allowing faster recognition of shifts. In short, HA is a smoothed price chart; QFC is a momentum-based chart.
Versus Standard Oscillators
Common oscillators like RSI or MACD use fixed formulas on price (or price+volume). For example, RSI “compares gains and losses and normalizes this value on a scale from 0 to 100”, reflecting pure price momentum. MFI is similar but adds volume. These indicators each show one dimension: momentum or volume. The Ultimate Scalping Tool’s QFC goes further by integrating trend strength and volatility too. In practice, this means a move that looks strong on RSI might be downplayed by low volume or weak trend in QFC. As one source notes, using multiple non-correlated indicators (trend, momentum, volume, volatility) provides a more complete market picture. The QFC’s multi-factor fusion is unique – it is effectively a multi-dimensional oscillator rather than a traditional single-input one.
Signal Style
Traditional oscillators often use crossovers (RSI crossing 50) or fixed zones (MACD above zero) for signals. The Ultimate Scalping Tool’s signals are custom-classified: it explicitly labels pullbacks, early entries, and strong moves. These terms go beyond a typical indicator’s generic “buy”/“sell.” In other words, it packages a strategy around the oscillator, which traders can backtest or observe without reading code.
Key Term Definitions
• Pullback : A short-term dip or consolidation in an uptrend. In this script, a Pullback Buy appears when price is generally rising but shows a brief retracement. (As defined by Investopedia, a pullback is “a brief decline or pause in a generally upward price trend”.)
• Early Buy/Sell : An initial or tentative entry signal. It means the oscillator first starts turning positive (or negative) before a full trend has developed. It’s an early indication that a trend might be starting.
• Strong Buy/Sell : A confident entry signal when multiple conditions align. This label is used when momentum is already strong and confirmed by trend/volume filters, offering a higher-probability trade.
• Momentum Peak : The point where bullish (or bearish) momentum reaches its maximum before weakening. When the oscillator value stops rising (or falling) and begins to reverse, the script flags it as a peak – signaling that the current move could be overextended.
What is the Flux MA?
The Flux MA (Moving Average) is an Exponential Moving Average (EMA) applied to a normalized oscillator, referred to as FM . Its purpose is to smooth out the fluctuations of the oscillator, providing a clearer picture of the underlying trend direction and strength. Think of it as a dynamic baseline that the oscillator moves above or below, helping you determine whether the market is trending bullish or bearish.
How it’s calculated (Flux MA):
1.The oscillator is normalized (scaled to a range, typically between 0 and 1, using a default scale factor of 100.0).
2.An EMA is applied to this normalized value (FM) over a user-defined period (default is 10 periods).
3.The result is rescaled back to the oscillator’s original range for plotting.
Why it matters : The Flux MA acts like a support or resistance level for the oscillator, making it easier to spot trend shifts.
Color of the Flux Candle
The Quantum Flux Candle visualizes the normalized oscillator (FM) as candlesticks, with colors that indicate specific market conditions based on the relationship between the FM and the Flux MA. Here’s what each color means:
• Green : The FM is above the Flux MA, signaling bullish momentum. This suggests the market is trending upward.
• Red : The FM is below the Flux MA, signaling bearish momentum. This suggests the market is trending downward.
• Yellow : Indicates strong buy conditions (e.g., a "Strong Buy" signal combined with a positive trend). This is a high-confidence signal to go long.
• Purple : Indicates strong sell conditions (e.g., a "Strong Sell" signal combined with a negative trend). This is a high-confidence signal to go short.
The candle mode shows the oscillator’s open, high, low, and close values for each period, similar to price candlesticks, but it’s the color that provides the quick visual cue for trading decisions.
How to Trade the Flux MA with Respect to the Candle
Trading with the Flux MA and Quantum Flux Candle involves using the MA as a trend indicator and the candle colors as entry and exit signals. Here’s a step-by-step guide:
1. Identify the Trend Direction
• Bullish Trend : The Flux Candle is green and positioned above the Flux MA. This indicates upward momentum.
• Bearish Trend : The Flux Candle is red and positioned below the Flux MA. This indicates downward momentum.
The Flux MA serves as the reference line—candles above it suggest buying pressure, while candles below it suggest selling pressure.
2. Interpret Candle Colors for Trade Signals
• Green Candle : General bullish momentum. Consider entering or holding a long position.
• Red Candle : General bearish momentum. Consider entering or holding a short position.
• Yellow Candle : A strong buy signal. This is an ideal time to enter a long trade.
• Purple Candle : A strong sell signal. This is an ideal time to enter a short trade.
3. Enter Trades Based on Crossovers and Colors
• Long Entry : Enter a buy position when the Flux Candle turns green and crosses above the Flux MA. If it turns yellow, this is an even stronger signal to go long.
• Short Entry : Enter a sell position when the Flux Candle turns red and crosses below the Flux MA. If it turns purple, this is an even stronger signal to go short.
4. Exit Trades
• Exit Long : Close your buy position when the Flux Candle turns red or crosses below the Flux MA, indicating the bullish trend may be reversing.
• Exit Short : Close your sell position when the Flux Candle turns green or crosses above the Flux MA, indicating the bearish trend may be reversing.
•You might also exit a long trade if the candle changes from yellow to green (weakening strong buy signal) or a short trade from purple to red (weakening strong sell signal).
5. Use Additional Confirmation
To avoid false signals, combine the Flux MA and candle signals with other indicators or dashboard metrics (e.g., trend strength, momentum, or volume pressure). For example:
•A yellow candle with a " Strong Bullish " trend and high buying volume is a robust long signal.
•A red candle with a " Moderate Bearish " trend and neutral momentum might need more confirmation before shorting.
Practical Example
Imagine you’re scalping a cryptocurrency:
• Long Trade : The Flux Candle turns yellow and is above the Flux MA, with the dashboard showing "Strong Buy" and high buying volume. You enter a long position. You exit when the candle turns red and dips below the Flux MA.
• Short Trade : The Flux Candle turns purple and crosses below the Flux MA, with a "Strong Sell" signal on the dashboard. You enter a short position. You exit when the candle turns green and crosses above the Flux MA.
Market Presets and Adaptation
This indicator is designed to work on any market with candlestick price data (stocks, crypto, forex, indices, etc.). To handle different behavior, it provides presets for major asset classes. Selecting a “Stocks,” “Crypto,” “Forex,” or “Options” preset automatically loads a set of parameter values optimized for that market . For example, a crypto preset might use a shorter lookback or higher sensitivity to account for crypto’s high volatility, while a stocks preset might use slightly longer smoothing since stocks often trend more slowly. In practice, this means the same core QFC logic applies across markets, but the thresholds and smoothing adjust so signals remain relevant for each asset type.
Usage Guidelines
• Recommended Timeframes : Optimized for 1 minute to 15 minute intraday charts. Can also be used on higher timeframes for short term swings.
• Market Types : Select “Crypto,” “Stocks,” “Forex,” or “Options” to auto tune periods, thresholds and weights. Use “Custom” to manually adjust all inputs.
• Interpreting Signals : Always confirm a signal by checking that trend, volume, and VWAP agree on the dashboard. A green “Strong Buy” arrow with green trend, green volume, and price > VWAP is highest probability.
• Adjusting Sensitivity : To reduce false signals in fast markets, enable DI Reversal Confirmation and Dynamic Thresholds. For more frequent entries in trending environments, enable Early Entry Trigger.
• Risk Management : This tool does not plot stop loss or take profit levels. Users should define their own risk parameters based on support/resistance or volatility bands.
Background Shading
To give you an at-a-glance sense of market regime without reading numbers, the indicator automatically tints the chart background in three modes—neutral, bullish and bearish—with two levels of intensity (light vs. dark):
Neutral (Gray)
When ADX is below 20 the market is considered “no trend” or too weak to trade. The background fills with a light gray (high transparency) so you know to sit on your hands.
Bullish (Green)
As soon as ADX rises above 20 and +DI exceeds –DI, the background turns a semi-transparent green, signaling an emerging uptrend. When ADX climbs above 30 (strong trend), the green becomes more opaque—reminding you that trend-following signals (Strong Buy, Pullback) carry extra weight.
Bearish (Red)
Similarly, if –DI exceeds +DI with ADX >20, you get a light red tint for a developing downtrend, and a darker, more solid red once ADX surpasses 30.
By dynamically varying both hue (green vs. red vs. gray) and opacity (light vs. dark), the background instantly communicates trend strength and direction—so you always know whether to favor breakout-style entries (in a strong trend) or stay flat during choppy, low-ADX conditions.
The setup shown in the above chart snapshot is BTCUSD 15 min chart : Binance for reference.
Disclaimer
No indicator guarantees profits. Backtest or paper trade this tool to understand its behavior in your market. Always use proper position sizing and stop loss orders.
Good luck!
- BullByte
Forex Session + Volume Profile [RunRox]📊 Forex Session + Volume Profile is built especially for traders who work with intra-session liquidity concepts or any strategy that needs a clear visual of trading sessions and the liquidity inside them.
Our team created this indicator to give you better session visibility, flexible session styling, and extra tools that help you navigate the market more easily.
📌 Features:
6 fully customizable sessions
Kill Zone (the high-impact trading window)
Volume Profile for each session
POC / VAL / VAH / LVN levels (Point of Control, Value Area Low, Value Area High, Low Volume Node)
PDH / PDL levels (Previous Day High / Low)
PWH / PWL levels (Previous Week High / Low)
NYM level (New York Market level)
Active sessions table
5 style options for each session
All of this gives you the flexibility to set up exactly the layout you need for your trading. Below, you’ll find a more detailed look at each feature.
🗓️ 6 CUSTOMIZABLE SESSION
The indicator includes six sessions that you can fully customize to fit your needs—everything from naming each session and choosing line colors to adjusting opacity, showing the volume profile, or even turning off a session entirely if you don’t need it.
Plus, you can pick different display styles for each session. As shown in the screenshot below, there are five style options you can apply individually to every session.
5 Style Options for Sessions
BOX
AREA
ZONES
LINES
CURVED
These styles can be customized for each session individually to help you highlight the sessions you care about on your chart. Example below
📢 VOLUME PROFILE
We’ve also integrated a Volume Profile into the indicator to pinpoint important levels on the chart. On top of that, we’ve added extra volume-based levels. Below, you’ll find the settings and a visual demo of how it appears on your chart.
To identify optimal entry points, you can use the following key reference levels:
POC (Point of Control)
VAL (Value Area Low)
VAH (Value Area High)
LVN (Low Volume Node)
You can also customize colors and line styles, or hide any levels you don’t need on your chart.
📐 ADDITIONAL LEVELS
You can display the following levels on your chart:
NYM (New York Market)
PDH (Previous Day High)
PDL (Previous Day Low)
PWH (Previous Week High)
PWL (Previous Week Low)
All of these are fully customizable with color selection and the option to extend lines into the next period.
💹 ACTIVE SESSION TABLE
The active sessions table helps you quickly identify the trading times for the sessions you care about. It’s fully customizable, with options to choose border and background colors for the table itself.
🟠 USAGE
This indicator is highly versatile: use it to simply mark trading sessions on your chart, set up the Kill Zone at your chosen time, or identify the context of the previous session by its most traded range levels. All of this makes the indicator an invaluable tool for any trader!
SMT SwiftEdge PowerhouseSMT SwiftEdge Powerhouse: Precision Trading with Divergence, Liquidity Grabs, and OTE Zones
The SMT SwiftEdge Powerhouse is a powerful trading tool designed to help traders identify high-probability entry points during the most active market sessions—London and New York. By combining Smart Money Technique (SMT) Divergence, Liquidity Grabs, and Optimal Trade Entry (OTE) Zones, this script provides a unique and cohesive strategy for capturing market reversals with precision. Whether you're a scalper or a swing trader, this indicator offers clear visual signals to enhance your trading decisions on any timeframe.
What Does This Script Do?
This script integrates three key concepts to identify potential trading opportunities:
SMT Divergence:
SMT Divergence compares the price action of two correlated assets (e.g., Nasdaq and S&P 500 futures) to detect hidden market reversals. When one asset makes a higher high while the other makes a lower high (bearish divergence), or one makes a lower low while the other makes a higher low (bullish divergence), it signals a potential reversal. This technique leverages institutional "smart money" behavior to anticipate market shifts.
Liquidity Grabs:
Liquidity Grabs occur when price breaks above recent highs or below recent lows on higher timeframes (5m and 15m), often triggering stop-loss orders from retail traders. These breakouts are identified using pivot points and confirm institutional activity, setting the stage for a reversal. The script focuses on liquidity grabs during the London and New York sessions for maximum market activity.
Optimal Trade Entry (OTE) Zones:
OTE Zones are Fibonacci-based retracement areas (e.g., 61.8%) calculated after a liquidity grab. These zones highlight where price is likely to retrace before continuing in the direction of the reversal, offering a high-probability entry point. The script adjusts the width of these zones using the Average True Range (ATR) to adapt to market volatility.
By combining these components, the script identifies when institutional activity (liquidity grabs) aligns with market reversals (SMT divergence) and pinpoints precise entry points (OTE zones) during high-liquidity sessions.
Why Combine These Components?
The integration of SMT Divergence, Liquidity Grabs, and OTE Zones creates a robust trading system for several reasons:
Synergy of Institutional Signals: SMT Divergence and Liquidity Grabs both reflect "smart money" behavior—divergence shows hidden reversals, while liquidity grabs confirm institutional intent to trap retail traders. Together, they provide a strong foundation for identifying high-probability setups.
Session-Based Precision: Focusing on the London and New York sessions ensures signals occur during periods of high volatility and liquidity, increasing their reliability.
Precision Entries with OTE: After confirming a setup with divergence and liquidity grabs, OTE zones provide a clear entry area, reducing guesswork and improving trade accuracy.
Adaptability: The script works on any timeframe, with adjustable settings for signal sensitivity, session times, and Fibonacci levels, making it versatile for different trading styles.
This combination makes the script unique by aligning institutional insights with actionable entry points, tailored to the most active market hours.
How to Use the Script
Setup:
Add the script to your chart (works on any timeframe, e.g., 1m, 5m, 15m).
Configure the settings in the indicator's inputs:
Session Settings: Adjust the start/end times for London and New York sessions (default: London 8-11 UTC, New York 13-16 UTC). You can disable session restrictions if desired.
Asset Settings: Set the primary and secondary assets for SMT Divergence (default: NQ1! and ES1!). Ensure the assets are correlated.
Signal Settings: Adjust the lookback period, ATR period, and signal sensitivity (Low/Medium/High) to control the frequency of signals.
OTE Settings: Choose the Fibonacci level for OTE zones (default: 61.8%).
Visual Settings: Enable/disable OTE zones, SMT labels, and debug labels for troubleshooting.
Interpreting Signals:
Blue Circles: Indicate a liquidity grab (price breaking a 5m or 15m pivot high/low), marking the start of a potential setup.
Blue OTE Zones: Appear after a liquidity grab, showing the retracement area (e.g., 61.8% Fibonacci level) where price is likely to enter for a reversal trade. The label "OTE Trigger 5m/15m" confirms the direction (Short/Long) and session.
Green/Red Entry Boxes: Mark precise entry points when price enters the OTE zone and confirms the SMT Divergence. Green boxes indicate a long entry, red boxes a short entry.
Trading Example:
On a 1m chart, a blue circle appears when price breaks a 5m pivot high during the London session.
A blue OTE zone forms, showing a retracement area (e.g., 61.8% Fibonacci level) with the label "OTE Trigger 5m/15m (Short, London)".
Price retraces into the OTE zone, and a red "Short Entry" box appears, confirming a bearish SMT Divergence.
Enter a short trade at the red box, with a stop-loss above the OTE zone and a take-profit at the next support level.
Originality and Utility
The SMT SwiftEdge Powerhouse stands out by merging SMT Divergence, Liquidity Grabs, and OTE Zones into a single, session-focused indicator. Unlike traditional indicators that focus on one aspect of price action, this script combines institutional reversal signals with precise entry zones, tailored to the most active market hours. Its adaptability across timeframes, customizable settings, and clear visual cues make it a versatile tool for traders seeking to capitalize on smart money movements with confidence.
Tips for Best Results
Use on correlated assets like NQ1! (Nasdaq futures) and ES1! (S&P 500 futures) for accurate SMT Divergence.
Test on lower timeframes (1m, 5m) for scalping or higher timeframes (15m, 1H) for swing trading.
Adjust the "Signal Sensitivity" to "High" for more signals or "Low" for fewer, high-quality setups.
Enable "Show Debug Labels" if signals are not appearing as expected, to troubleshoot pivot points and liquidity grabs.
Daily LevelsOverview:
The Daily Levels indicator plots key price levels from the previous trading day, including the high, low, median (pivot), and projected extensions. These levels help traders identify potential support/resistance zones and anticipate breakout or reversal opportunities.
Key Features:
✅ Previous Day High & Low – Visualizes the prior day’s high and low as dynamic support/resistance levels.
✅ Median (Pivot) Line – Calculates the midpoint between the previous day’s high and low, acting as a key intraday reference.
✅ Projected Levels – Extends the high/low range symmetrically above and below the median, highlighting potential breakout zones.
✅ Customizable Display – Toggle visibility, adjust colors, and modify line styles (solid, dotted, dashed).
✅ Price Labels – Clear on-chart labels showing exact price values for quick reference.
✅ Built-in Alerts – Get notified when price crosses any of the key levels.
How to Use:
Trend Identification: If price holds above the median, the bias is bullish; below suggests bearish momentum.
Breakout Trading: Watch for moves beyond the projected levels for potential continuation.
Mean Reversion: Fade moves toward the previous day’s high/low if the median holds as support/resistance.
Ideal For:
Day Traders – Intraday support/resistance levels.
Swing Traders – Context for multi-day trends.
Breakout/Reversal Strategies – Clear levels for trade triggers.
Settings Recommendations:
High/Low Lines: Use semi-transparent colors (e.g., green/red) for clarity.
Projections: Helpful for anticipating extended moves (e.g., teal for upper, orange for lower).
Alerts: Enable notifications for key crosses (e.g., median or high/low breaks).
Chonky ATR Levels 2.0Show ATR based high/low projections.
Choose a custom ATR calculation in the indicator's settings.
The default is a 20day RMA based ATR.
----------How projections are calculated----------
To project the ATR High, the ATR value is added to the low of the current candle that matches the ATR's timeframe.
To project the ATR Low, the ATR value is subtracted from the high of the current candle that matches the ATR's timeframe.
Example:
If a 20day RMA ATR is used:
- the ATR High will be the current day's low + the ATR value.
- the ATR Low will be the current day's high - the ATR value.
*However*, if the price action exceeds either ATR projection, the opposite ATR level will be fixed to the extreme of the period.
See the AUDUSD screenshot above for an example.
The ATR Low was exceeded, so the ATR High projection is capped at the high of day.
If the ATR High is exceeded, the ATR Low would be capped at the low of day.
ICT Order Blocks v2 (Debug)Josh has a very large PP xD
Understanding Order Blocks (OBs) - The ICT Perspective
This document delves into the concept of Order Blocks (OBs) from the perspective of the ICT methodology. It outlines what OBs are, their significance in trading, and how the "ICT Order Blocks v2 (Refined)" indicator functions to identify and visualize these critical price levels. By understanding OBs, traders can better navigate market movements and make informed decisions based on institutional trading behavior.
What is an Order Block (OB)?
Within ICT methodology, an Order Block represents a specific price candle where significant buying or selling interest from institutions (Smart Money) is believed to have occurred. They are potential areas where price might return and react.
Bullish Order Block: Typically the last down-closing candle before a strong, impulsive upward move (displacement). It suggests institutions may have absorbed selling pressure and initiated long positions here.
Bearish Order Block: Typically the last up-closing candle before a strong, impulsive downward move (displacement). It suggests institutions may have distributed long positions or initiated short positions here.
Why are OBs Significant (ICT View)?
Institutional Footprint: They mark potential zones of large order execution.
Support/Resistance: Unmitigated OBs can act as sensitive price levels where reactions are expected. Bullish OBs may provide support; Bearish OBs may provide resistance.
Origin of Moves: They often mark the origin point of significant price swings.
Liquidity Engineering: Institutions might drive price back to OBs to mitigate earlier positions or to engineer liquidity before continuing a move.
Common Refinements
ICT often emphasizes higher probability OBs that are associated with:
Displacement: The move away from the OB is sharp and decisive.
Fair Value Gaps (FVGs): An FVG forming immediately after the OB strengthens its validity.
OB Mitigation: This refers to price returning to the level of the Order Block after its formation. Price might react at the edge (proximal line) or the 50% level (mean threshold) of the OB. An OB is often considered fully mitigated or invalidated if price trades decisively through its entire range, especially with a candle body closing beyond it.
How the "ICT Order Blocks v2 (Refined)" Indicator Works
This indicator automates the detection and visualization of the most recent unmitigated Order Block of each type (Bullish/Bearish), incorporating optional filters.
Detection:
It looks at the relationship between the candle two bars ago ( ), the previous candle ( ), and potentially the current candle ( ).
Bullish OB: Identifies if candle was a down-close (close < open ) AND candle broke above the high of candle (high > high ).
Bearish OB: Identifies if candle was an up-close (close > open ) AND candle broke below the low of candle (low < low ).
Accuracy Filters (Optional Inputs):
These filters help identify potentially higher-probability OBs:
Require Fair Value Gap (FVG)?: If enabled, the indicator checks if an FVG formed immediately after the OB candle ( ). Specifically, it looks for a gap between candle and candle (low > high for Bullish OB confirmation, high < low for Bearish).
Require Strong Close Breakout?: If enabled, it requires the breakout candle ( ) to close beyond the range of the OB candle ( ). (close > high for Bullish, close < low for Bearish). This suggests stronger confirmation.
Storing the Most Recent OB:
When an OB is detected and passes any enabled filters, its details (high, low, formation bar index) are stored. Crucially, this indicator only tracks the single most recent valid unmitigated OB of each type (one Bullish, one Bearish) using var variables. If a newer valid OB forms, it replaces the previously stored one.
Drawing Boxes:
If a valid Bullish OB is being tracked (and Show Bullish OBs is enabled), it draws a box (box.new) using the high and low of the identified OB candle ( ). The same process applies to Bearish OBs (Show Bearish OBs enabled). The boxes automatically extend to the right (extend.right) and their right edge is updated on each new bar (box.set_right) until they are mitigated. Labels ("Bull OB" / "Bear OB") are displayed inside the boxes.
Mitigation & Box Deletion:
The indicator checks if the current closing price (close ) has moved entirely beyond the range of the tracked OB.
Mitigation Rule Used: A Bullish OB is considered mitigated if close < bull_ob_low. A Bearish OB is considered mitigated if close > bear_ob_high. Once an OB is marked as mitigated, the indicator stops tracking it and its corresponding box is automatically deleted (box.delete) from the chart.
This indicator provides a dynamic visualization of the most recent, potentially significant Order Blocks that meet the specified criteria, helping traders identify key areas of interest based on ICT principles.
PowerZone Trading StrategyExplanation of the PowerZone Trading Strategy for Your Users
The PowerZone Trading Strategy is an automated trading strategy that detects strong price movements (called "PowerZones") and generates signals to enter a long (buy) or short (sell) position, complete with predefined take profit and stop loss levels. Here’s how it works, step by step:
1. What is a PowerZone?
A "PowerZone" (PZ) is a zone on the chart where the price has shown a significant and consistent movement over a specific number of candles (bars). There are two types:
Bullish PowerZone (Bullish PZ): Occurs when the price rises consistently over several candles after an initial bearish candle.
Bearish PowerZone (Bearish PZ): Occurs when the price falls consistently over several candles after an initial bullish candle.
The code analyzes:
A set number of candles (e.g., 5, adjustable via "Periods").
A minimum percentage move (adjustable via "Min % Move for PowerZone") to qualify as a strong zone.
Whether to use the full candle range (highs and lows) or just open/close prices (toggle with "Use Full Range ").
2. How Does It Detect PowerZones?
Bullish PowerZone:
Looks for an initial bearish candle (close below open).
Checks that the next candles (e.g., 5) are all bullish (close above open).
Ensures the total price movement exceeds the minimum percentage set.
Defines a range: from the high (or open) to the low of the initial candle.
Bearish PowerZone:
Looks for an initial bullish candle (close above open).
Checks that the next candles are all bearish (close below open).
Ensures the total price movement exceeds the minimum percentage.
Defines a range: from the high to the low (or close) of the initial candle.
These zones are drawn on the chart with lines: green or white for bullish, red or blue for bearish, depending on the color scheme ("DARK" or "BRIGHT").
3. When Does It Enter a Trade?
The strategy waits for a breakout from the PowerZone range to enter a trade:
Buy (Long): When the price breaks above the high of a Bullish PowerZone.
Sell (Short): When the price breaks below the low of a Bearish PowerZone.
The position size is set to 100% of available equity (adjustable in the code).
4. Take Profit and Stop Loss
Take Profit (TP): Calculated as a multiple (adjustable via "Take Profit Factor," default 1.5) of the PowerZone height. For example:
For a buy, TP = Entry price + (PZ height × 1.5).
For a sell, TP = Entry price - (PZ height × 1.5).
Stop Loss (SL): Calculated as a multiple (adjustable via "Stop Loss Factor," default 1.0) of the PZ height, placed below the range for buys or above for sells.
5. Visualization on the Chart
PowerZones are displayed with lines on the chart (you can hide them with "Show Bullish Channel" or "Show Bearish Channel").
An optional info panel ("Show Info Panel") displays key levels: PZ high and low, TP, and SL.
You can also enable brief documentation on the chart ("Show Documentation") explaining the basic rules.
6. Alerts
The code generates automatic alerts in TradingView:
For a bullish breakout: "Bullish PowerZone Breakout - LONG!"
For a bearish breakdown: "Bearish PowerZone Breakdown - SHORT!"
7. Customization
You can tweak:
The number of candles to detect a PZ ("Periods").
The minimum percentage move ("Min % Move").
Whether to use highs/lows or just open/close ("Use Full Range").
The TP and SL factors.
The color scheme and what elements to display on the chart.
Practical Example
Imagine you set "Periods = 5" and "Min % Move = 2%":
An initial bearish candle appears, followed by 5 consecutive bullish candles.
The total move exceeds 2%.
A Bullish PowerZone is drawn with a high and low.
If the price breaks above the high, you enter a long position with a TP 1.5 times the PZ height and an SL equal to the height below.
The system executes the trade and exits automatically at TP or SL.
Conclusion
This strategy is great for capturing strong price movements after consolidation or momentum zones. It’s automated, visual, and customizable, making it useful for both beginner and advanced traders. Try it out and adjust it to fit your trading style!
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






















