FVG Premium [no1x]█ OVERVIEW
This indicator provides a comprehensive toolkit for identifying, visualizing, and tracking Fair Value Gaps (FVGs) across three distinct timeframes (current chart, a user-defined Medium Timeframe - MTF, and a user-defined High Timeframe - HTF). It is designed to offer traders enhanced insight into FVG dynamics through detailed state monitoring (formation, partial fill, full mitigation, midline touch), extensive visual customization for FVG representation, and a rich alert system for timely notifications on FVG-related events.
█ CONCEPTS
This indicator is built upon the core concept of Fair Value Gaps (FVGs) and their significance in price action analysis, offering a multi-layered approach to their detection and interpretation across different timeframes.
Fair Value Gaps (FVGs)
A Fair Value Gap (FVG), also known as an imbalance, represents a range in price delivery where one side of the market (buying or selling) was more aggressive, leaving an inefficiency or an "imbalance" in the price action. This concept is prominently featured within Smart Money Concepts (SMC) and Inner Circle Trader (ICT) methodologies, where such gaps are often interpreted as footprints left by "smart money" due to rapid, forceful price movements. These methodologies suggest that price may later revisit these FVG zones to rebalance a prior inefficiency or to seek liquidity before continuing its path. These gaps are typically identified by a three-bar pattern:
Bullish FVG : This is a three-candle formation where the second candle shows a strong upward move. The FVG is the space created between the high of the first candle (bottom of FVG) and the low of the third candle (top of FVG). This indicates a strong upward impulsive move.
Bearish FVG : This is a three-candle formation where the second candle shows a strong downward move. The FVG is the space created between the low of the first candle (top of FVG) and the high of the third candle (bottom of FVG). This indicates a strong downward impulsive move.
FVGs are often watched by traders as potential areas where price might return to "rebalance" or find support/resistance.
Multi-Timeframe (MTF) Analysis
The indicator extends FVG detection beyond the current chart's timeframe (Low Timeframe - LTF) to two higher user-defined timeframes: Medium Timeframe (MTF) and High Timeframe (HTF). This allows traders to:
Identify FVGs that might be significant on a broader market structure.
Observe how FVGs from different timeframes align or interact.
Gain a more comprehensive perspective on potential support and resistance zones.
FVG State and Lifecycle Management
The indicator actively tracks the lifecycle of each detected FVG:
Formation : The initial identification of an FVG.
Partial Fill (Entry) : When price enters but does not completely pass through the FVG. The indicator updates the "current" top/bottom of the FVG to reflect the filled portion.
Midline (Equilibrium) Touch : When price touches the 50% level of the FVG.
Full Mitigation : When price completely trades through the FVG, effectively "filling" or "rebalancing" the gap. The indicator records the mitigation time.
This state tracking is crucial for understanding how price interacts with these zones.
FVG Classification (Large FVG)
FVGs can be optionally classified as "Large FVGs" (LV) if their size (top to bottom range) exceeds a user-defined multiple of the Average True Range (ATR) for that FVG's timeframe. This helps distinguish FVGs that are significantly larger relative to recent volatility.
Visual Customization and Information Delivery
A key concept is providing extensive control over how FVGs are displayed. This control is achieved through a centralized set of visual parameters within the indicator, allowing users to configure numerous aspects (colors, line styles, visibility of boxes, midlines, mitigation lines, labels, etc.) for each timeframe. Additionally, an on-chart information panel summarizes the nearest unmitigated bullish and bearish FVG levels for each active timeframe, providing a quick glance at key price points.
█ FEATURES
This indicator offers a rich set of features designed to provide a highly customizable and comprehensive Fair Value Gap (FVG) analysis experience. Users can tailor the FVG detection, visual representation, and alerting mechanisms across three distinct timeframes: the current chart (Low Timeframe - LTF), a user-defined Medium Timeframe (MTF), and a user-defined High Timeframe (HTF).
Multi-Timeframe FVG Detection and Display
The core strength of this indicator lies in its ability to identify and display FVGs from not only the current chart's timeframe (LTF) but also from two higher, user-selectable timeframes (MTF and HTF).
Timeframe Selection: Users can specify the exact MTF (e.g., "60", "240") and HTF (e.g., "D", "W") through dedicated inputs in the "MTF (Medium Timeframe)" and "HTF (High Timeframe)" settings groups. The visibility of FVGs from these higher timeframes can be toggled independently using the "Show MTF FVGs" and "Show HTF FVGs" checkboxes.
Consistent Detection Logic: The FVG detection logic, based on the classic three-bar imbalance pattern detailed in the 'Concepts' section, is applied consistently across all selected timeframes (LTF, MTF, HTF)
Timeframe-Specific Visuals: Each timeframe's FVGs (LTF, MTF, HTF) can be customized with unique colors for bullish/bearish states and their mitigated counterparts. This allows for easy visual differentiation of FVGs originating from different market perspectives.
Comprehensive FVG Visualization Options
The indicator provides extensive control over how FVGs are visually represented on the chart for each timeframe (LTF, MTF, HTF).
FVG Boxes:
Visibility: Main FVG boxes can be shown or hidden per timeframe using the "Show FVG Boxes" (for LTF), "Show Boxes" (for MTF/HTF) inputs.
Color Customization: Colors for bullish, bearish, active, and mitigated FVG boxes (including Large FVGs, if classified) are fully customizable for each timeframe.
Box Extension & Length: FVG boxes can either be extended to the right indefinitely ("Extend Boxes Right") or set to a fixed length in bars ("Short Box Length" or "Box Length" equivalent inputs).
Box Labels: Optional labels can display the FVG's timeframe and fill percentage on the box. These labels are configurable for all timeframes (LTF, MTF, and HTF). Please note: If FVGs are positioned very close to each other on the chart, their respective labels may overlap. This can potentially lead to visual clutter, and it is a known behavior in the current version of the indicator.
Box Borders: Visibility, width, style (solid, dashed, dotted), and color of FVG box borders are customizable per timeframe.
Midlines (Equilibrium/EQ):
Visibility: The 50% level (midline or EQ) of FVGs can be shown or hidden for each timeframe.
Style Customization: Width, style, and color of the midline are customizable per timeframe. The indicator tracks if this midline has been touched by price.
Mitigation Lines:
Visibility: Mitigation lines (representing the FVG's opening level that needs to be breached for full mitigation) can be shown or hidden for each timeframe. If shown, these lines are always extended to the right.
Style Customization: Width, style, and color of the mitigation line are customizable per timeframe.
Mitigation Line Labels: Optional price labels can be displayed on mitigation lines, with a customizable horizontal bar offset for positioning. For optimal label placement, the following horizontal bar offsets are recommended: 4 for LTF, 8 for MTF, and 12 for HTF.
Persistence After Mitigation: Users can choose to keep mitigation lines visible even after an FVG is fully mitigated, with a distinct color for such lines. Importantly, this option is only effective if the general setting 'Hide Fully Mitigated FVGs' is disabled, as otherwise, the entire FVG and its lines will be removed upon mitigation.
FVG State Management and Behavior
The indicator tracks and visually responds to changes in FVG states.
Hide Fully Mitigated FVGs: This option, typically found in the indicator's general settings, allows users to automatically remove all visual elements of an FVG from the chart once price has fully mitigated it. This helps maintain chart clarity by focusing on active FVGs.
Partial Fill Visualization: When price enters an FVG, the indicator offers a dynamic visual representation: the portion of the FVG that has been filled is shown as a "mitigated box" (typically with a distinct color), while the original FVG box shrinks to clearly highlight the remaining, unfilled portion. This two-part display provides an immediate visual cue about how much of the FVG's imbalance has been addressed and what potential remains within the gap.
Visual Filtering by ATR Proximity: To help users focus on the most relevant price action, FVGs can be dynamically hidden if they are located further from the current price than a user-defined multiple of the Average True Range (ATR). This behavior is controlled by the "Filter Band Width (ATR Multiple)" input; setting this to zero disables the filter entirely, ensuring all detected FVGs remain visible regardless of their proximity to price.
Alternative Usage Example: Mitigation Lines as Key Support/Resistance Levels
For traders preferring a minimalist chart focused on key Fair Value Gap (FVG) levels, the indicator's visualization settings can be customized to display only FVG mitigation lines. This approach leverages these lines as potential support and resistance zones, reflecting areas where price might revisit to address imbalances.
To configure this view:
Disable FVG Boxes: Turn off "Show FVG Boxes" (for LTF) or "Show Boxes" (for MTF/HTF) for the desired timeframes.
Hide Midlines: Disable the visibility of the 50% FVG Midlines (Equilibrium/EQ).
Ensure Mitigation Lines are Visible: Keep "Mitigation Lines" enabled.
Retain All Mitigation Lines:
Disable the "Hide Fully Mitigated FVGs" option in the general settings.
Enable the feature to "keep mitigation lines visible even after an FVG is fully mitigated". This ensures lines from all FVGs (active or fully mitigated) remain on the chart, which is only effective if "Hide Fully Mitigated FVGs" is disabled.
This setup offers:
A Decluttered Chart: Focuses solely on the FVG opening levels.
Precise S/R Zones: Treats mitigation lines as specific points for potential price reactions.
Historical Level Analysis: Includes lines from past, fully mitigated FVGs for a comprehensive view of significant price levels.
For enhanced usability with this focused view, consider these optional additions:
The on-chart Information Panel can be activated to display a quick summary of the nearest unmitigated FVG levels.
Mitigation Line Labels can also be activated for clear price level identification. A customizable horizontal bar offset is available for positioning these labels; for example, offsets of 4 for LTF, 8 for MTF, and 12 for HTF can be effective.
FVG Classification (Large FVG)
This feature allows for distinguishing FVGs based on their size relative to market volatility.
Enable Classification: Users can enable "Classify FVG (Large FVG)" to identify FVGs that are significantly larger than average.
ATR-Based Threshold: An FVG is classified as "Large" if its height (price range) is greater than or equal to the Average True Range (ATR) of its timeframe multiplied by a user-defined "Large FVG Threshold (ATR Multiple)". The ATR period for this calculation is also configurable.
Dedicated Colors: Large FVGs (both bullish/bearish and active/mitigated) can be assigned unique colors, making them easily distinguishable on the chart.
Panel Icon: Large FVGs are marked with a special icon in the Info Panel.
Information Panel
An on-chart panel provides a quick summary of the nearest unmitigated FVG levels.
Visibility and Position: The panel can be shown/hidden and positioned in any of the nine standard locations on the chart (e.g., Top Right, Middle Center).
Content: It displays the price levels of the nearest unmitigated bullish and bearish FVGs for LTF, MTF (if active), and HTF (if active). It also indicates if these nearest FVGs are Large FVGs (if classification is enabled) using a selectable icon.
Styling: Text size, border color, header background/text colors, default text color, and "N/A" cell background color are customizable.
Highlighting: Background and text colors for the cells displaying the overall nearest bullish and bearish FVG levels (across all active timeframes) can be customized to draw attention to the most proximate FVG.
Comprehensive Alert System
The indicator offers a granular alert system for various FVG-related events, configurable for each timeframe (LTF, MTF, HTF) independently. Users can enable alerts for:
New FVG Formation: Separate alerts for new bullish and new bearish FVG formations.
FVG Entry/Partial Fill: Separate alerts for price entering a bullish FVG or a bearish FVG.
FVG Full Mitigation: Separate alerts for full mitigation of bullish and bearish FVGs.
FVG Midline (EQ) Touch: Separate alerts for price touching the midline of a bullish or bearish FVG.
Alert messages are detailed, providing information such as the timeframe, FVG type (bull/bear, Large FVG), relevant price levels, and timestamps.
█ NOTES
This section provides additional information regarding the indicator's usage, performance considerations, and potential interactions with the TradingView platform. Understanding these points can help users optimize their experience and troubleshoot effectively.
Performance and Resource Management
Maximum FVGs to Track : The "Max FVGs to Track" input (defaulting to 25) limits the number of FVG objects processed for each category (e.g., LTF Bullish, MTF Bearish). Increasing this value significantly can impact performance due to more objects being iterated over and potentially drawn, especially when multiple timeframes are active.
Drawing Object Limits : To manage performance, this script sets its own internal limits on the number of drawing objects it displays. While it allows for up to approximately 500 lines (max_lines_count=500) and 500 labels (max_labels_count=500), the number of FVG boxes is deliberately restricted to a maximum of 150 (max_boxes_count=150). This specific limit for boxes is a key performance consideration: displaying too many boxes can significantly slow down the indicator, and a very high number is often not essential for analysis. Enabling all visual elements for many FVGs across all three timeframes can cause the indicator to reach these internal limits, especially the stricter box limit
Optimization Strategies : To help you manage performance, reduce visual clutter, and avoid exceeding drawing limits when using this indicator, I recommend the following strategies:
Maintain or Lower FVG Tracking Count: The "Max FVGs to Track" input defaults to 25. I find this value generally sufficient for effective analysis and balanced performance. You can keep this default or consider reducing it further if you experience performance issues or prefer a less dense FVG display.
Utilize Proximity Filtering: I suggest activating the "Filter Band Width (ATR Multiple)" option (found under "General Settings") to display only those FVGs closer to the current price. From my experience, a value of 5 for the ATR multiple often provides a good starting point for balanced performance, but you should feel free to adjust this based on market volatility and your specific trading needs.
Hide Fully Mitigated FVGs: I strongly recommend enabling the "Hide Fully Mitigated FVGs" option. This setting automatically removes all visual elements of an FVG from the chart once it has been fully mitigated by price. Doing so significantly reduces the number of active drawing objects, lessens computational load, and helps maintain chart clarity by focusing only on active, relevant FVGs.
Disable FVG Display for Unused Timeframes: If you are not actively monitoring certain higher timeframes (MTF or HTF) for FVG analysis, I advise disabling their display by unchecking "Show MTF FVGs" or "Show HTF FVGs" respectively. This can provide a significant performance boost.
Simplify Visual Elements: For active FVGs, consider hiding less critical visual elements if they are not essential for your specific analysis. This could include box labels, borders, or even entire FVG boxes if, for example, only the mitigation lines are of interest for a particular timeframe.
Settings Changes and Platform Limits : This indicator is comprehensive and involves numerous calculations and drawings. When multiple settings are changed rapidly in quick succession, it is possible, on occasion, for TradingView to issue a "Runtime error: modify_study_limit_exceeding" or similar. This can cause the indicator to temporarily stop updating or display errors.
Recommended Approach : When adjusting settings, it is advisable to wait a brief moment (a few seconds) after each significant change. This allows the indicator to reprocess and update on the chart before another change is made
Error Recovery : Should such a runtime error occur, making a minor, different adjustment in the settings (e.g., toggling a checkbox off and then on again) and waiting briefly will typically allow the indicator to recover and resume correct operation. This behavior is related to platform limitations when handling complex scripts with many inputs and drawing objects.
Multi-Timeframe (MTF/HTF) Data and Behavior
HTF FVG Confirmation is Essential: : For an FVG from a higher timeframe (MTF or HTF) to be identified and displayed on your current chart (LTF), the three-bar pattern forming the FVG on that higher timeframe must consist of fully closed bars. The indicator does not draw speculative FVGs based on incomplete/forming bars from higher timeframes.
Data Retrieval and LTF Processing: The indicator may use techniques like lookahead = barmerge.lookahead_on for timely data retrieval from higher timeframes. However, the actual detection of an FVG occurs after all its constituent bars on the HTF have closed.
Appearance Timing on LTF (1 LTF Candle Delay): As a natural consequence of this, an FVG that is confirmed on an HTF (i.e., its third bar closes) will typically become visible on your LTF chart one LTF bar after its confirmation on the HTF.
Example: Assume an FVG forms on a 30-minute chart at 15:30 (i.e., with the close of the 30-minute bar that covers the 15:00-15:30 period). If you are monitoring this FVG on a 15-minute chart, the indicator will detect this newly formed 30-minute FVG while processing the data for the 15-minute bar that starts at 15:30 and closes at 15:45. Therefore, the 30-minute FVG will become visible on your 15-minute chart at the earliest by 15:45 (i.e., with the close of that relevant 15-minute LTF candle). This means the HTF FVG is reflected on the LTF chart with a delay equivalent to one LTF candle.
FVG Detection and Display Logic
Fair Value Gaps (FVGs) on the current chart timeframe (LTF) are detected based on barstate.isconfirmed. This means the three-bar pattern must be complete with closed bars before an FVG is identified. This confirmation method prevents FVGs from being prematurely identified on the forming bar.
Alerts
Alert Setup : To receive alerts from this indicator, you must first ensure you have enabled the specific alert conditions you are interested in within the indicator's own settings (see 'Comprehensive Alert System' under the 'FEATURES' section). Once configured, open TradingView's 'Create Alert' dialog. In the 'Condition' tab, select this indicator's name, and crucially, choose the 'Any alert() function call' option from the dropdown list. This setup allows the indicator to trigger alerts based on the precise event conditions you have activated in its settings
Alert Frequency : Alerts are designed to trigger once per bar close (alert.freq_once_per_bar_close) for the specific event.
User Interface (UI) Tips
Settings Group Icons: In the indicator settings menu, timeframe-specific groups are marked with star icons for easier navigation: 🌟 for LTF (Current Chart Timeframe), 🌟🌟 for MTF (Medium Timeframe), and 🌟🌟🌟 for HTF (High Timeframe).
Dependent Inputs: Some input settings are dependent on others being enabled. These dependencies are visually indicated in the settings menu using symbols like "↳" (dependent setting on the next line), "⟷" (mutually exclusive inline options), or "➜" (directly dependent inline option).
Settings Layout Overview: The indicator settings are organized into logical groups for ease of use. Key global display controls – such as toggles for MTF FVGs, HTF FVGs (along with their respective timeframe selectors), and the Information Panel – are conveniently located at the very top within the '⚙️ General Settings' group. This placement allows for quick access to frequently adjusted settings. Other sections provide detailed customization options for each timeframe (LTF, MTF, HTF), specific FVG components, and alert configurations.
█ FOR Pine Script® CODERS
This section provides a high-level overview of the FVG Premium indicator's internal architecture, data flow, and the interaction between its various library components. It is intended for Pine Script™ programmers who wish to understand the indicator's design, potentially extend its functionality, or learn from its structure.
System Architecture and Modular Design
The indicator is architected moduarly, leveraging several custom libraries to separate concerns and enhance code organization and reusability. Each library has a distinct responsibility:
FvgTypes: Serves as the foundational data definition layer. It defines core User-Defined Types (UDTs) like fvgObject (for storing all attributes of an FVG) and drawSettings (for visual configurations), along with enumerations like tfType.
CommonUtils: Provides utility functions for common tasks like mapping user string inputs (e.g., "Dashed" for line style) to their corresponding Pine Script™ constants (e.g., line.style_dashed) and formatting timeframe strings for display.
FvgCalculations: Contains the core logic for FVG detection (both LTF and MTF/HTF via requestMultiTFBarData), FVG classification (Large FVGs based on ATR), and checking FVG interactions with price (mitigation, partial fill).
FvgObject: Implements an object-oriented approach by attaching methods to the fvgObject UDT. These methods manage the entire visual lifecycle of an FVG on the chart, including drawing, updating based on state changes (e.g., mitigation), and deleting drawing objects. It's responsible for applying the visual configurations defined in drawSettings.
FvgPanel: Manages the creation and dynamic updates of the on-chart information panel, which displays key FVG levels.
The main indicator script acts as the orchestrator, initializing these libraries, managing user inputs, processing data flow between libraries, and handling the main event loop (bar updates) for FVG state management and alerts.
Core Data Flow and FVG Lifecycle Management
The general data flow and FVG lifecycle can be summarized as follows:
Input Processing: User inputs from the "Settings" dialog are read by the main indicator script. Visual style inputs (colors, line styles, etc.) are consolidated into a types.drawSettings object (defined in FvgTypes). Other inputs (timeframes, filter settings, alert toggles) control the behavior of different modules. CommonUtils assists in mapping some string inputs to Pine constants.
FVG Detection:
For the current chart timeframe (LTF), FvgCalculations.detectFvg() identifies potential FVGs based on bar patterns.
For MTF/HTF, the main indicator script calls FvgCalculations.requestMultiTFBarData() to fetch necessary bar data from higher timeframes, then FvgCalculations.detectMultiTFFvg() identifies FVGs.
Newly detected FVGs are instantiated as types.fvgObject and stored in arrays within the main script. These objects also undergo classification (e.g., Large FVG) by FvgCalculations.
State Update & Interaction: On each bar, the main indicator script iterates through active FVG objects to manage their state based on price interaction:
Initially, the main script calls FvgCalculations.fvgInteractionCheck() to efficiently determine if the current bar's price might be interacting with a given FVG.
If a potential interaction is flagged, the main script then invokes methods directly on the fvgObject instance (e.g., updateMitigation(), updatePartialFill(), checkMidlineTouch(), which are part of FvgObject).
These fvgObject methods are responsible for the detailed condition checking and the actual modification of the FVG's state. For instance, the updateMitigation() and updatePartialFill() methods internally utilize specific helper functions from FvgCalculations (like checkMitigation() and checkPartialMitigation()) to confirm the precise nature of the interaction before updating the fvgObject’s state fields (such as isMitigated, currentTop, currentBottom, or isMidlineTouched).
Visual Rendering:
The FvgObject.updateDrawings() method is called for each fvgObject. This method is central to drawing management; it creates, updates, or deletes chart drawings (boxes, lines, labels) based on the FVG's current state, its prev_* (previous bar state) fields for optimization, and the visual settings passed via the drawSettings object.
Information Panel Update: The main indicator script determines the nearest FVG levels, populates a panelData object (defined in FvgPanelLib), and calls FvgPanel.updatePanel() to refresh the on-chart display.
Alert Generation: Based on the updated FVG states and user-enabled alert settings, the main indicator script constructs and triggers alerts using Pine Script's alert() function."
Key Design Considerations
UDT-Centric Design: The fvgObject UDT is pivotal, acting as a stateful container for all information related to a single FVG. Most operations revolve around creating, updating, or querying these objects.
State Management: To optimize drawing updates and manage FVG lifecycles, fvgObject instances store their previous bar's state (e.g., prevIsVisible, prevCurrentTop). The FvgObject.updateDrawings() method uses this to determine if a redraw is necessary, minimizing redundant drawing calls.
Settings Object: A drawSettings object is populated once (or when inputs change) and passed to drawing functions. This avoids repeatedly reading numerous input() values on every bar or within loops, improving performance.
Dynamic Arrays for FVG Storage: Arrays are used to store collections of fvgObject instances, allowing for dynamic management (adding new FVGs, iterating for updates).
在腳本中搜尋"track"
Strategy Stats [presentTrading]Hello! it's another weekend. This tool is a strategy performance analysis tool. Looking at the TradingView community, it seems few creators focus on this aspect. I've intentionally created a shared version. Welcome to share your idea or question on this.
█ Introduction and How it is Different
Strategy Stats is a comprehensive performance analytics framework designed specifically for trading strategies. Unlike standard strategy backtesting tools that simply show cumulative profits, this analytics suite provides real-time, multi-timeframe statistical analysis of your trading performance.
Multi-timeframe analysis: Automatically tracks performance metrics across the most recent time periods (last 7 days, 30 days, 90 days, 1 year, and 4 years)
Advanced statistical measures: Goes beyond basic metrics to include Information Coefficient (IC) and Sortino Ratio
Real-time feedback: Updates performance statistics with each new trade
Visual analytics: Color-coded performance table provides instant visual feedback on strategy health
Integrated risk management: Implements sophisticated take profit mechanisms with 3-step ATR and percentage-based exits
BTCUSD Performance
The table in the upper right corner is a comprehensive performance dashboard showing trading strategy statistics.
Note: While this presentation uses Vegas SuperTrend as the underlying strategy, this is merely an example. The Stats framework can be applied to any trading strategy. The Vegas SuperTrend implementation is included solely to demonstrate how the analytics module integrates with a trading strategy.
⚠️ Timeframe Limitations
Important: TradingView's backtesting engine has a maximum storage limit of 10,000 bars. When using this strategy stats framework on smaller timeframes such as 1-hour or 2-hour charts, you may encounter errors if your backtesting period is too long.
Recommended Timeframe Usage:
Ideal for: 4H, 6H, 8H, Daily charts and above
May cause errors on: 1H, 2H charts spanning multiple years
Not recommended for: Timeframes below 1H with long history
█ Strategy, How it Works: Detailed Explanation
The Strategy Stats framework consists of three primary components: statistical data collection, performance analysis, and visualization.
🔶 Statistical Data Collection
The system maintains several critical data arrays:
equityHistory: Tracks equity curve over time
tradeHistory: Records profit/loss of each trade
predictionSignals: Stores trade direction signals (1 for long, -1 for short)
actualReturns: Records corresponding actual returns from each trade
For each closed trade, the system captures:
float tradePnL = strategy.closedtrades.profit(tradeIndex)
float tradeReturn = strategy.closedtrades.profit_percent(tradeIndex)
int tradeType = entryPrice < exitPrice ? 1 : -1 // Direction
🔶 Performance Metrics Calculation
The framework calculates several key performance metrics:
Information Coefficient (IC):
The correlation between prediction signals and actual returns, measuring forecast skill.
IC = Correlation(predictionSignals, actualReturns)
Where Correlation is the Pearson correlation coefficient:
Correlation(X,Y) = (nΣXY - ΣXY) / √
Sortino Ratio:
Measures risk-adjusted return focusing only on downside risk:
Sortino = (Avg_Return - Risk_Free_Rate) / Downside_Deviation
Where Downside Deviation is:
Downside_Deviation = √
R_i represents individual returns, T is the target return (typically the risk-free rate), and n is the number of observations.
Maximum Drawdown:
Tracks the largest percentage drop from peak to trough:
DD = (Peak_Equity - Trough_Equity) / Peak_Equity * 100
🔶 Time Period Calculation
The system automatically determines the appropriate number of bars to analyze for each timeframe based on the current chart timeframe:
bars_7d = math.max(1, math.round(7 * barsPerDay))
bars_30d = math.max(1, math.round(30 * barsPerDay))
bars_90d = math.max(1, math.round(90 * barsPerDay))
bars_365d = math.max(1, math.round(365 * barsPerDay))
bars_4y = math.max(1, math.round(365 * 4 * barsPerDay))
Where barsPerDay is calculated based on the chart timeframe:
barsPerDay = timeframe.isintraday ?
24 * 60 / math.max(1, (timeframe.in_seconds() / 60)) :
timeframe.isdaily ? 1 :
timeframe.isweekly ? 1/7 :
timeframe.ismonthly ? 1/30 : 0.01
🔶 Visual Representation
The system presents performance data in a color-coded table with intuitive visual indicators:
Green: Excellent performance
Lime: Good performance
Gray: Neutral performance
Orange: Mediocre performance
Red: Poor performance
█ Trade Direction
The Strategy Stats framework supports three trading directions:
Long Only: Only takes long positions when entry conditions are met
Short Only: Only takes short positions when entry conditions are met
Both: Takes both long and short positions depending on market conditions
█ Usage
To effectively use the Strategy Stats framework:
Apply to existing strategies: Add the performance tracking code to any strategy to gain advanced analytics
Monitor multiple timeframes: Use the multi-timeframe analysis to identify performance trends
Evaluate strategy health: Review IC and Sortino ratios to assess predictive power and risk-adjusted returns
Optimize parameters: Use performance data to refine strategy parameters
Compare strategies: Apply the framework to multiple strategies to identify the most effective approach
For best results, allow the strategy to generate sufficient trade history for meaningful statistical analysis (at least 20-30 trades).
█ Default Settings
The default settings have been carefully calibrated for cryptocurrency markets:
Performance Tracking:
Time periods: 7D, 30D, 90D, 1Y, 4Y
Statistical measures: Return, Win%, MaxDD, IC, Sortino Ratio
IC color thresholds: >0.3 (green), >0.1 (lime), <-0.1 (orange), <-0.3 (red)
Sortino color thresholds: >1.0 (green), >0.5 (lime), <0 (red)
Multi-Step Take Profit:
ATR multipliers: 2.618, 5.0, 10.0
Percentage levels: 3%, 8%, 17%
Short multiplier: 1.5x (makes short take profits more aggressive)
Stop loss: 20%
Active Ranges Detector
1. Purpose
The script identifies and manages bar ranges, which are defined as bars where the high and low prices are fully contained within the high and low of the previous bar. These ranges are used by traders to identify potential breakouts and price consolidations.
2. Key Features
Active Range Validation
A potential range becomes an active range when the price breaks out of the bar’s high or low. The breakout direction is tracked:
• Upward breakout: When the price closes above the high of the range.
• Downward breakout: When the price closes below the low of the range.
The script creates:
• Lines to represent the high and low of the range.
• A colored background box to indicate the range, with color coded for breakout direction:
• Green: Upward breakout.
• Orange: Downward breakout.
Range Updates
• Exit Detection: The script detects if the price exits the range (moves outside the high or low levels).
• Reintegration and Mitigation:
• If the price re-enters an exited range, it marks the range as “mitigated.”
• The lines for mitigated ranges are updated (color and width are changed).
• The background box is removed for mitigated ranges.
3. User Inputs
The script provides customization options:
• Breakout Colors:
• upBreakoutColor: Background color for upward breakout ranges (default: semi-transparent green).
• downBreakoutColor: Background color for downward breakout ranges (default: semi-transparent orange).
• Mitigated Range Styling:
• mitigatedLineColor: Line color for mitigated ranges (default: red).
• mitigatedLineWidth: Width of the line for mitigated ranges.
• Line and Background Settings:
• activeLineWidth: Width of lines for active ranges.
• lineExtension: Length of line extensions beyond the range’s initial boundaries.
• Range Display Limits:
• maxActiveRanges: Maximum number of active ranges to display on the chart (default: up to 200).
4. Visualization
The script provides clear visual feedback for identified ranges:
• Lines: High and low levels of the range are drawn as lines on the chart.
• Background Boxes: Colored boxes are drawn to represent active ranges, with breakout direction indicated by the box’s color.
• Mitigation Styling: Mitigated ranges have updated line styles and no background.
5. Range Management
The script actively manages ranges:
• Tracks the status of each range (active, exited, reintegrated, mitigated).
• Limits the number of displayed ranges to improve chart readability and comply with TradingView’s object limits.
6. Use Case
This script is ideal for traders who:
• Use inside bars to identify areas of consolidation and breakout opportunities.
• Want to track active and mitigated ranges automatically.
• Need a clear, visual representation of ranges and breakout directions.
7. Limitations
• Inside bars are identified based only on the current and previous bar, so the script might not detect more complex consolidation patterns.
• The maximum number of ranges displayed is limited to the user-defined value (maxActiveRanges), with a hard limit of 200 due to TradingView’s object restrictions.
M2 Global Liquidity Index - Time-Shift - KHM2 Global Liquidity Index - Enhanced Time-Shift Indicator
Based on original work by @Mik3Christ3ns3n
Enhanced with advanced time-shift functionality and overlay capabilities.
Description:
This indicator tracks and visualizes the global M2 money supply from five major economies, allowing precise time-shift analysis for correlation studies. All values are converted to USD in real-time and aggregated to provide a comprehensive view of global liquidity conditions.
Key Features:
- Advanced time-shift capability (-1000 to +1000 days) with shape preservation
- Real-time currency conversion to USD
- Overlay functionality with main chart
- Right-scale display for better comparison
- Full historical data preservation during time shifts
Components Tracked:
- US M2 Money Supply (USM2)
- China M2 Money Supply (CNM2)
- Eurozone M2 Money Supply (EUM2)
- Japan M2 Money Supply (JPM2)
- UK M2 Money Supply (GBM2)
Primary Use Cases:
1. Correlation Analysis:
- Compare global liquidity trends with asset prices
- Identify leading/lagging relationships through time-shift
- Study monetary policy impacts across different time periods
2. Market Analysis:
- Track global liquidity conditions
- Monitor central bank policy effects
- Identify potential macro trend changes
Settings:
- Time Offset: Shift the M2 data backwards or forwards (-1000 to +1000 days)
- Positive values: Move M2 data into the future
- Negative values: Move M2 data into the past
- Zero: Current alignment
Technical Notes:
- Data updates follow central banks' M2 publication schedules
- All currency conversions performed in real-time
- Historical shape preservation during time-shifts
- Enhanced data consistency through lookahead mechanism
Credits:
Original concept and base code by @Mik3Christ3ns3n
Enhanced version includes advanced time-shift capabilities and shape preservation
License:
Pine Script™ code is subject to the terms of the Mozilla Public License 2.0
#M2 #GlobalLiquidity #MoneySupply #Macro #CentralBanks #MonetaryPolicy #TimeShift #Correlation #TradingIndicator #MacroAnalysis #LiquidityAnalysis #MarketIndicator
Ticker Tape with Multiple Inputs# Ticker Tape
A customizable multi-symbol price tracker that displays real-time price information in a scrolling ticker format, similar to financial news tickers.
This indicator is inspired from Tradingciew's default tickertape indicator with changes in the way inputs are given.
### Overview
This indicator allows you to monitor up to 15 different symbols simultaneously across any supported exchanges on TradingView. It displays essential price information including current price, price change, and percentage change in an easy-to-read format at the bottom of your chart.
### Features
• Monitor up to 15 different symbols simultaneously
• Support for any exchange available on TradingView
• Real-time price updates
• Color-coded price changes (green for increase, red for decrease)
• Smooth scrolling animation (can be disabled)
• Customizable scroll speed and position offset
### Input Parameters
#### Ticker Tape Controls
• Running: Enable/disable the scrolling animation
• Offset: Adjust the starting position of the ticker tape
#### Symbol Settings
• Exchange (1-15): Enter the exchange name (e.g., NSE, BINANCE, NYSE)
• Symbol (1-15): Enter the symbol name (e.g., BANKNIFTY, RELIANCE, BTCUSDT)
### Display Format
For each symbol, the ticker shows:
1. Symbol Name
2. Current Price
3. Price Change (Absolute and Percentage)
### Example Usage
Input Settings:
Exchange 1: NSE
Symbol 1: BANKNIFTY
Exchange 2: NSE
Symbol 2: RELIANCE
The ticker tape will display:
`NIFTY BANK 46750.00 +350.45 (0.75%) | RELIANCE 2456.85 -12.40 (-0.50%) |`
### Use Cases
1. Multi-Market Monitoring: Track different markets simultaneously without switching between charts
2. Portfolio Tracking: Monitor all your positions in real-time
### Tips for Best Use
1. Group related symbols together for easier monitoring
2. Use the offset parameter to position important symbols in your preferred viewing area
3. Disable scrolling if you prefer a static display
4. Leave exchange field empty for default exchange symbols
### Notes
• Price updates occur in real-time during market hours
• Color coding helps quickly identify price direction
• The indicator adapts to any chart timeframe
• Empty input pairs are automatically skipped
### Performance Considerations
The indicator is optimized for efficiency, but monitoring too many high-frequency symbols might impact chart performance. It's recommended to use only the symbols you actively need to monitor.
Version: 2.0 Stock_Cloud
Last Updated: December 2024
Timing KenhTradding The Timing KenhTradding indicator is a versatile and customizable tool designed to provide detailed insights into market sessions, daily price dynamics, and key levels. This indicator is especially helpful for traders aiming to track volatility, session-specific movements, and broader trends with additional tools like EMA and VWAP.
Key Features
Session Tracking:
Visualizes up to 8 customizable sessions using shaded boxes on the chart.
Sessions are defined by specific time intervals and are labeled with user-defined names and colors for easy identification.
EMA Integration:
Displays two critical exponential moving averages (EMA):
EMA200 (1-minute): Ideal for short-term trend analysis.
EMA200 (4-hour): Provides a broader perspective on market trends.
EMA smoothing options ensure clarity and reduce noise.
Daily High, Low, Open, and Close Levels:
Automatically draws horizontal lines to highlight the daily high, low, and open prices.
Displays these levels with annotations and customizable colors.
Price Movement Representation:
Visualizes daily price movements using boxes for the body, upper wick, and lower wick:
The body shows the range between the open and close.
The upper and lower wicks represent the highs and lows relative to the body.
Annotations display the exact pip/movement size of the wicks.
VWAP Overlay:
Plots the Volume Weighted Average Price (VWAP) to provide a weighted average of price levels based on volume, aiding in intraday decision-making.
Session-Based Background Highlighting:
Highlights specific hours (e.g., 2 AM) with a customizable background color for better visual segmentation.
Dynamic Data Updates:
Updates key levels and boxes dynamically as new price data becomes available.
Benefits for Traders
Session Analysis:
Easily identify and analyze the behavior of price action within specific trading sessions, such as high volatility around news events.
Trend and Momentum Tracking:
Use EMA and VWAP overlays to gauge the direction and strength of the market.
Daily Levels for Precision:
Incorporates high, low, and open levels to assist with setting entry, exit, and stop-loss points.
Visual Clarity:
Simplifies complex market data with clean and intuitive visualizations, enabling traders to make informed decisions quickly.
Customization Options
Sessions:
Define up to 8 custom sessions with personalized labels, time zones, and colors.
Visuals:
Adjust colors, transparency, and line styles for session boxes, EMAs, and daily levels.
Text Details:
Customize text size, alignment, and colors for annotations and labels.
EMA Display:
Toggle between short-term and long-term EMA views.
How to Use It
Track Daily Levels:
Watch for price reactions around daily high, low, and open levels for potential breakout or reversal opportunities.
Session-Based Strategies:
Focus on specific trading sessions for high-probability trades. Use session boxes to identify price ranges and key levels during those times.
Trend Confirmation:
Combine EMA200 and VWAP for a reliable trend-following strategy.
Volatility Assessment:
Observe the size of daily wicks and session ranges to understand market volatility and adjust your strategy accordingly.
This indicator is an essential tool for both intraday and swing traders, offering unparalleled insights into price action, session-specific volatility, and trend dynamics.
Engulfing BoxThe Engulfing Box indicator is a custom script designed to visually highlight and track bullish and bearish engulfing candlestick patterns on a price chart. These patterns are often used to identify potential reversal points, making them valuable for technical analysis. The script dynamically draws colored boxes around these patterns, helping users easily spot them in the price action.
Key Features:
Bullish Engulfing Pattern: When a candlestick fully engulfs the previous bearish candle (i.e., the close of the current candle is higher than the open of the previous candle, and the open is lower than the close of the previous candle), the script draws a green box around the bullish engulfing candle. This box is drawn from the open of the previous candle to the low of the previous candle.
Bearish Engulfing Pattern: When a candlestick fully engulfs the previous bullish candle (i.e., the close of the current candle is lower than the open of the previous candle, and the open is higher than the close of the previous candle), a red box is drawn around the bearish engulfing candle. This box is drawn from the open of the previous candle to the high of the previous candle.
Dynamic Box Management: Once an engulfing pattern is detected, a box is drawn with the following attributes:
Bullish Engulfing Box: Green, with a transparent background.
Bearish Engulfing Box: Red, with a transparent background.
The box will adjust its color to gray if the price moves past certain thresholds, indicating that the engulfing pattern may no longer be as relevant.
Max Pattern Tracking: The script limits the number of engulfing boxes tracked on the chart to prevent clutter. The maximum number of bullish and bearish engulfing patterns shown is customizable (set to 500 by default), and once this limit is exceeded, older boxes are deleted to maintain a clean chart.
Pattern Expiry: Boxes are deleted if price action moves beyond the pattern’s range, ensuring that outdated signals are removed. If the low price falls below the bottom of the bullish engulfing box, or the high price rises above the top of the bearish engulfing box, the respective box is removed. Additionally, if the low price moves below the top of the bullish box or the high price exceeds the bottom of the bearish box, the box's color is changed to a more neutral tone.
How it Works:
Pattern Detection: The script compares the current price data with the previous candlestick to detect the bullish or bearish engulfing patterns.
Box Creation: If a pattern is detected, a colored box is drawn around the candle to visually highlight the pattern.
Pattern Expiry and Cleanup: The script continuously monitors past boxes. If the price moves too far from the box’s range, the box is either deleted or altered to reflect the reduced significance of the pattern.
B ox Count Limit: To avoid clutter, the script ensures that no more than 500 bullish or bearish engulfing boxes are shown at any time.
Customization:
The number of previous bars to scan for engulfing patterns can be adjusted (maxBarsback).
The maximum number of patterns displayed at any time can be modified.
Moving Average Crossover MonitorMoving Average Crossover Monitor: Gain Insight into Market Trends
The Moving Average Crossover Monitor is a specialized tool crafted for traders seeking to understand and predict market trends more effectively. This indicator's primary focus lies in analyzing consecutive candle movements above or below specified moving averages and providing predictive estimates based on historical data.
Key Features:
1. Consecutive Candle Tracking: The indicator meticulously counts and tracks the number of consecutive candles that close above or below a selected moving average (MA1). This tracking offers a tangible measure of trend persistence over time.
2. Historical Analysis for Future Prediction: By analyzing past trends, the indicator provides insights into potential future movements. It estimates the likelihood of upcoming candles continuing above or below the moving average based on historical patterns.
3. Dynamic Visualization: Moving averages (SMA, WMA, EMA) are dynamically plotted on the chart, clearly displaying crossover points and trend transitions.
How It Works:
1. Moving Average Calculation: Select your preferred moving average type (SMA, WMA, EMA) and define short and long periods. The indicator computes two moving averages (MA1 and MA2) based on these parameters.
2. Consecutive Candle Analysis:
- Above MA1: Tracks and counts consecutive candles closing above MA1, indicating potential bullish momentum.
- Below MA1: Tracks and counts consecutive candles closing below MA1, suggesting potential bearish sentiment.
3. Future Trend Prediction: Based on historical data of consecutive candle movements, the indicator estimates the likelihood of the next candle continuing in the same direction (above or below MA1).
Advantages for Traders:
1. Quantitative Insights: Use numerical data on consecutive candles to gauge trend strength and durability.
2. Predictive Analytics: Leverage historical patterns to anticipate future market movements and adjust trading strategies accordingly.
3. Decision Support Tool: Gain clarity on trend transitions, empowering timely and informed trading decisions.
Disclaimer:
This indicator is provided for educational purposes only and should not be considered as financial advice. Trading involves risks, and past performance is not indicative of future results. Traders should conduct their own analysis and exercise caution when making trading decisions based on any indicator or tool. Always consider risk management strategies and consult with a qualified financial advisor if needed.
Market Internals & InfoThis script provides various information on Market Internals and other related info. It was a part of the Daily Levels script but that script was getting very large so I decided to separate this piece of it into its own indicator. I plan on adding some additional features in the near future so stay tuned for those!
The script provides customizability to show certain market internals, tickers, and even Market Profile TPO periods.
Here is a summary of each setting:
NASDAQ and NYSE Breadth Ratio
- Ratio between Up Volume and Down Volume for NASDAQ and NYSE markets. This can help inform about the type of volume flowing in and out of these exchanges.
Advance/Decline Line (ADL)
The ADL focuses specifically on the number of advancing and declining stocks within an index, without considering their trading volume.
Here's how the ADL works:
It tracks the daily difference between the number of stocks that are up in price (advancing) and the number of stocks that are down in price (declining) within a particular index.
The ADL is a cumulative measure, meaning each day's difference is added to the previous day's total.
If there are more advancing stocks, the ADL goes up.
If there are more declining stocks, the ADL goes down.
By analyzing the ADL, investors can get a sense of how many stocks are participating in a market move.
Here's what the ADL can tell you:
Confirmation of Trends: When the ADL moves in the same direction as the underlying index (e.g., ADL rising with a rising index), it suggests broad participation in the trend and potentially stronger momentum.
Divergence: If the ADL diverges from the index (e.g., ADL falling while the index is rising), it can be a warning sign. This suggests that fewer stocks are participating in the rally, which could indicate a weakening trend.
Keep in mind:
The ADL is a backward-looking indicator, reflecting past market activity.
It's often used in conjunction with other technical indicators for a more complete picture.
TRIN Arms Index
The TRIN index, also called the Arms Index or Short-Term Trading Index, is a technical analysis tool used in the stock market to gauge market breadth and sentiment. It essentially compares the number of advancing stocks (gaining in price) to declining stocks (losing price) along with their trading volume.
Here's how to interpret the TRIN:
High TRIN (above 1.0): This indicates a weak market where declining stocks and their volume are dominating the market. It can be a sign of a potential downward trend.
Low TRIN (below 1.0): This suggests a strong market where advancing stocks and their volume are in control. It can be a sign of a potential upward trend.
TRIN around 1.0: This represents a more balanced market, where it's difficult to say which direction the market might be headed.
Important points to remember about TRIN:
It's a short-term indicator, primarily used for intraday trading decisions.
It should be used in conjunction with other technical indicators for a more comprehensive market analysis. High or low TRIN readings don't guarantee future price movements.
VIX/VXN
VIX and VXN are both indexes created by the Chicago Board Options Exchange (CBOE) to measure market volatility. They differ based on the underlying index they track:
VIX (Cboe Volatility Index): This is the more well-known index and is considered the "fear gauge" of the stock market. It reflects the market's expectation of volatility in the S&P 500 index over the next 30 days.
VXN (Cboe Nasdaq Volatility Index): This is a counterpart to the VIX, but instead gauges volatility expectations for the Nasdaq 100 index over the coming 30 days. The tech-heavy Nasdaq can sometimes diverge from the broader market represented by the S&P 500, hence the need for a separate volatility measure.
Both VIX and VXN are calculated based on the implied volatilities of options contracts listed on their respective indexes. Here's a general interpretation:
High VIX/VXN: Indicates a high level of fear or uncertainty in the market, suggesting investors expect significant price fluctuations in the near future.
Low VIX/VXN: Suggests a more complacent market with lower expectations of volatility.
Important points to remember about VIX and VXN:
They are forward-looking indicators, reflecting market sentiment about future volatility, not necessarily current market conditions.
High VIX/VXN readings don't guarantee a market crash, and low readings don't guarantee smooth sailing.
These indexes are often used by investors to make decisions about portfolio allocation and hedging strategies.
Inside/Outside Day
This provides a quick indication of it we are still trading inside or outside of yesterdays range and will show "Inside Day" or "Outside Day" based upon todays range vs. yesterday's range.
Custom Ticker Choices
Ability to add up to 5 other tickers that can be tracked within the table
Show Market Profile TPO
This only shows on timeframes less than 30m. It will show both the current TPO period and the remaining time within that period.
Table Customization
Provided drop downs to change the text size and also the location of the table.
DTC FX+DTC FX+ — Advanced FX Session & Dashboard Indicator
DTC FX+ is a comprehensive, all-in-one dashboard and session tool designed specifically for active Forex traders. It provides a unique blend of real-time session analytics, advanced visualizations, and actionable market insights, all in a single, easy-to-use overlay. This script is the result of extensive research and practical trading experience, combining multiple professional-grade features not found together in any open-source alternative.
Key Features & What Makes DTC FX+ Unique
Dynamic Session Visualization:
Instantly see the New York, London, and Tokyo sessions on your chart, with customizable time zones and session names. Each session is visually separated with color-coded boxes, making it easy to identify overlapping periods and session-specific price action.
Session High/Low Tracking:
The script automatically tracks and marks the high and low of each session, drawing persistent lines that help you spot key support/resistance levels and session-driven volatility. These levels are managed intelligently, with only the most relevant recent sessions displayed to avoid clutter.
Live Daily Candle Overlay:
A unique feature that overlays the current daily candle (from the higher timeframe) directly onto your intraday chart. This includes real-time open, high, low, and close levels, as well as color-coded wicks and OHLC lines, giving you instant context of daily price structure while trading lower timeframes.
Session Status Table:
A real-time dashboard table shows the current status (online/offline) of each major session, along with countdown timers for when each session opens and closes. This helps you anticipate upcoming volatility and plan trades around session transitions.
ADR & Average Pips Dashboard:
The script calculates and displays the Average Daily Range (ADR) as a percentage, average pips per day, and average pips per week, all in a dedicated table. This gives you a statistical edge by quantifying typical price movement and volatility for your instrument.
Customizable Themes & Layouts:
Switch between dark/light/auto themes and toggle between monotone or colorful layouts to match your chart style. All visual elements are optimized for clarity and minimalism, ensuring the dashboard is informative but never distracting.
Daily Dividers & Weekday Labels:
Automatic daily dividers and optional weekday labels help you quickly orient yourself in time, making it easier to analyze session-based patterns and weekly cycles.
Moving Average Overlay:
Includes a flexible moving average (SMA, EMA, or VWMA) for additional trend context, with customizable length and visibility.
Watermark & Chart Info:
The script displays a customizable watermark with symbol, timeframe, and your signature, ensuring your screenshots and shared charts always show complete context.
How DTC FX+ Works (Without Revealing Proprietary Logic)
DTC FX+ uses advanced Pine Script v6 techniques to synchronize session times with your chosen timezone, dynamically manage session overlays, and efficiently track session highs/lows. The live daily candle overlay is calculated using higher timeframe data and projected onto intraday charts, providing a unique multi-timeframe perspective. All dashboard tables and overlays are updated in real time, with logic to avoid chart clutter and maintain performance.
The script’s session management, dashboard logic, and visual optimizations are proprietary and not available in open-source scripts. The closed-source nature protects these unique algorithms and ensures the integrity of the tool for all users.
How to Use DTC FX+
Add the script to any intraday Forex chart.
Customize session names, times, and timezones in the settings to match your trading style or broker.
Toggle features such as session boxes, high/low lines, daily candle overlay, ADR table, and more, to build your ideal dashboard.
Use the session status table to anticipate volatility and plan trades around session opens/closes.
Monitor the ADR and average pips tables to gauge market conditions and set realistic targets or stops.
Leverage the live daily candle overlay for multi-timeframe confluence and to avoid trading against the daily trend.
Why DTC FX+ is Protected Source
DTC FX+ is protected to safeguard its original session management logic, dashboard design, and multi-feature integration, which are not available in any open-source script. This ensures that users benefit from a unique, professional-grade tool that cannot be easily replicated or misused, while still providing full transparency on how to use and interpret every feature.
Note:
All features are fully documented in the script’s settings.
The script is designed for intraday timeframes (up to 1 hour) and works best on major Forex pairs.
For any questions or support, comment down below or you can join our discord !
TKC-VCBTKC Enhanced Volume Colored Bars (VCB)
🎯 Overview
The TKC Enhanced Volume Colored Bars indicator is a comprehensive volume analysis tool that provides instant visual feedback about market activity through intelligent bar coloring. This advanced indicator goes beyond basic volume analysis by incorporating momentum, multi-timeframe confirmation, and sophisticated alert systems to help traders identify high-probability trading opportunities.
🔥 Key Features
Smart Volume Classification
High Volume Bars: Identify significant market moves with volume above customizable thresholds
Medium Volume Bars: Track normal market activity with standard volume levels
Low Volume Bars: Spot potential consolidation or lack of interest
Dynamic Thresholds: Automatically adjusts based on volume moving averages
Advanced Volume Analytics
Volume Momentum: Track acceleration and deceleration in volume flow
Volume Exhaustion Detection: Identify when market participation is declining
Volume Surge Alerts: Catch explosive volume spikes as they happen
Volume Percentile Ranking: Understand current volume in statistical context
Multi-Timeframe Analysis
Higher Timeframe Confirmation: Validate signals with broader market context
Customizable Timeframes: Choose any higher timeframe for confirmation
HTF Volume Factor: Adjust sensitivity for multi-timeframe validation
VWAP Integration
Dynamic VWAP: Real-time Volume Weighted Average Price calculation
VWAP Breakout Alerts: Get notified when price breaks through VWAP with volume
Institutional Level Tracking: Follow where big money is positioned
Professional Alert System
🚀 High Volume Breakouts: Immediate alerts for significant moves
⚡ Volume Surge Detection: Catch explosive volume increases
😴 Volume Exhaustion Warnings: Know when participation is declining
🔄 Momentum Reversals: Identify volume momentum shifts
📈 VWAP Breakouts: Track institutional level breaks
⚠️ Volume Divergences: Spot price/volume disconnects
🎨 Visual Features
Intelligent Bar Coloring
6 Distinct Colors: Separate colors for up/down bars at each volume level
Doji Recognition: Special coloring for indecision bars
High Contrast Design: Easy to read in all market conditions
Customizable Colors: Match your trading style and theme
Comprehensive Legend
Real-time Volume Strength: See current bar volume as percentage of average
Volume Momentum Indicators: Track momentum and acceleration
HTF Confirmation Status: Multi-timeframe validation display
Volume Statistics: Percentile ranking and exhaustion status
Customizable Position: Place legend anywhere on your chart
Enhanced Visualizations
Volume Zones: Background highlighting for high-volume areas
Momentum Signals: Triangle markers for volume momentum shifts
VWAP Line: Clear institutional level visualization
Volume Average Line: Reference line for volume comparison
📊 Technical Specifications
Volume Calculations
Adaptive Moving Average: Customizable length (1-200 periods)
Standard Deviation: Statistical volume analysis
Momentum Analysis: Multi-period momentum calculation
Surge Detection: Configurable surge multipliers
Multi-Timeframe Support
Any Higher Timeframe: 5m, 15m, 1H, 4H, 1D, etc.
Proper Security Calls: No repainting issues
Lookahead Protection: Ensures historical accuracy
Performance Optimized
Efficient Calculations: Minimal CPU usage
Clean Code Structure: Well-organized and maintainable
Memory Friendly: Optimized for long-term use
🚀 Use Cases
Day Trading
Identify high-volume breakouts in real-time
Spot volume exhaustion before reversals
Track intraday momentum shifts
Validate entries with multi-timeframe analysis
Swing Trading
Confirm breakouts with volume analysis
Identify accumulation/distribution phases
Track institutional activity via VWAP
Monitor volume divergences for reversal signals
Scalping
Quick volume momentum identification
Instant surge detection for rapid entries
Real-time volume strength assessment
Fast visual confirmation of market interest
Position Trading
Long-term volume trend analysis
Major breakout confirmation
Institutional level tracking
Market phase identification
⚙️ Configuration Options
Volume Analysis Settings
Volume Average Length (1-200)
High Volume Threshold (1.0-5.0x)
Low Volume Threshold (0.1-1.0x)
Volume Momentum Length (2-20)
Volume Surge Threshold (1.5-5.0x)
Volume Exhaustion Bars (2-10)
Multi-Timeframe Settings
Enable/Disable MTF Analysis
Higher Timeframe Selection
HTF Volume Confirmation Factor (0.5-3.0x)
Display Customization
Legend Position (4 options)
Color Customization (12 colors)
Show/Hide Various Elements
Volume Line Display
Momentum Signal Display
Alert Configuration
Enhanced Alert System
Multiple Alert Types
Customizable Messages
Frequency Control
🎯 Getting Started
Add to Chart: Apply the indicator to any timeframe
Customize Settings: Adjust volume thresholds to match your trading style
Set Up Alerts: Configure alerts for your preferred signals
Position Legend: Place the legend where it's most convenient
Start Trading: Use the visual cues to identify high-probability setups
📈 Best Practices
Combine with Price Action: Use volume analysis to confirm price patterns
Multi-Timeframe Validation: Always check higher timeframe confirmation
Volume Surge Follow-up: Watch for continuation after volume spikes
Exhaustion Warnings: Be cautious when volume exhaustion is detected
VWAP Respect: Pay attention to price behavior around VWAP levels
🔧 Technical Requirements
Trading View Pine Script v5
Any Market/Timeframe
Real-time Data Recommended
Standard Trading View Account
📝 Notes
This indicator works on all markets and timeframes
Volume data quality depends on your data provider
Best results with liquid markets and reliable volume data
Regular updates and improvements based on user feedback
NUPL-Z For Loop🧠 Overview
NUPL-Z For Loop is a trend-following indicator built on Bitcoin’s on-chain Net Unrealized Profit/Loss (NUPL) metric. It uses a Z-scored transformation of NUPL and a custom loop-based scoring system to measure the consistency of directional movement. Rather than identifying tops and bottoms, this tool is designed to track sustained trends and filter out short-term noise, making it ideal for momentum-aligned strategies.
🧩 Key Features
Loop-Based Trend Logic: Assesses trend strength by summing the number of upward vs. downward moves in Z-scored NUPL across a custom lookback.
Z-Score Normalization: Applies long-term statistical normalization to NUPL to emphasize deviation from average behavior over time.
Threshold-Based Regime Shifts: Custom input thresholds define when trend strength is significant enough to trigger long or short signals.
Directional Market State Tracking: Internally tracks bullish, bearish, or neutral conditions to guide trend entries.
BTC-Focused On-Chain Analysis: Tailored specifically for Bitcoin using Market Cap and Realized Cap inputs.
🔍 How It Works
NUPL Calculation: Derived as the percentage of net unrealized profit relative to market cap: (MC - RMC) / MC * 100.
Z-Scoring: NUPL is normalized using a rolling mean and standard deviation over a long window (default 1300 days) to create a smoothed trend signal.
Directional Loop: A custom loop iterates from the start_loop to the end_loop, comparing the current Z-score to past values.
Each instance where NUPL_Z > NUPL_Z adds +1 to the score; otherwise, it subtracts -1.
This cumulative score reflects how consistently NUPL-Z has been trending.
Signal Logic:
Long signal when loop score exceeds long_threshold.
Short signal when score falls below short_threshold.
CD State Engine: Maintains the current trend regime (1 for long, -1 for short), which drives plot coloring and overlays.
🔁 Use Cases & Applications
Momentum Trend Filter: Detects and confirms sustained directional strength in BTC’s profit/loss positioning.
Noise Suppression: Avoids reactive signals from one-off spikes or dips in NUPL by requiring a consistent trend before confirming bias.
Best Suited for BTC: Designed specifically for Bitcoin’s price and on-chain structure, using its unique NUPL dynamics.
✅ Conclusion
NUPL-Z For Loop transforms a traditionally mean-reverting indicator into a trend-following signal engine. By scoring the consistency of movement in normalized NUPL, this tool identifies trend strength rather than reversal potential — providing more reliable context for momentum-aligned trades on Bitcoin.
⚠️ Disclaimer
The content provided by this indicator is for educational and informational purposes only. Nothing herein constitutes financial or investment advice. Trading and investing involve risk, including the potential loss of capital. Always backtest and apply risk management suited to your strategy.
Triangle Asc/Descending Patterns [Drobode]█ DESCRIPTION
The script automatically tracks the descending or ascending triangle pattern. The script provides advanced settings, allowing you to adjust the pattern accuracy from high to low depending on your needs and technical analysis style. The main goal of the script is to facilitate the routine work of a trader in identifying certain trading situations (patterns). However, you should understand that the script is not a full-fledged self-sufficient strategy, in case of receiving a signal, it is recommended that you additionally conduct a comprehensive thorough analysis before taking trading actions. The script can be useful for traders of all levels, both beginners and experienced analysts. This variation of the script, in case of identifying a pattern, draws a contour triangle with the background color of the figure. The ascending triangle has a blue color, the descending triangle has a red color. The logic of the script provides that one of the legs (one side) of the triangle is always a horizontal line, simultaneously being a line of resistance or support, other variations of triangle patterns are not tracked. According to generally defined beliefs and observations of pattern formation, a descending and ascending triangle may indicate a possible breakdown of the conditional horizontal level to which the price of the instrument has approached, however, at the same time it is necessary to deeply analyze many other factors at this point, in particular, such as volumes, consolidation, volatility, and so on.
█ SCRIPT SETTINGS
By default, the script was pre-developed and tested on the M15 timeframe with the USDT.P crypto futures instruments.
Alert
The Alert function in the script is enabled by default, you just need to activate the Alert in the TradingView window and select the signal source - Triangle Asc/Descending Patterns .
The notification provides the following information (example):
Triangle_Ascending
Ticker- EGLDUSDT.P
Price-19.754
Timeframe- 15
Period length-160
Periods length
The script allows you to set the period length (number) of bars on which the calculation will be performed. Different periods make it possible to cover more timeframes (in particular, larger timeframes). The calculation is performed simultaneously on all periods, but you can turn off "Period length 3" and "Period length 4" by clicking on the check mark, this can speed up the script. The following period values are set by default: "Period length 1" – 80,
"Period length 2" – 160, "Period length 3" – 300, "Period length 4" – 681.
Percentage deviation of extremes
The next settings are the percentage deviation from the hypotenuse and horizontal leg, which creates the zone in which the extremes of the bars that will form the triangle shape should be. The smaller the deviation, the greater the accuracy and the closer to the hypotenuse and leg the bar extrema should be, however, in this case the number of pattern identifications will be smaller. By default, the deviation zone from the hypotenuse "Deflection zone of tangents to the hypotenuse" is - 0.4%, the deviation zone from the horizontal leg "Tangent deviation zone horizontal leg" is - 0.08%.
The presence of extrema at certain points on the sides of a triangle
The last block of settings are the conditions that increase the accuracy of the proportions of the pattern figure. These settings are aimed at confirming the presence of extrema in certain areas along the hypotenuse and horizontal leg. Thus, enabling "Extrema on the horizontal leg almost along the entire length" means that only those triangles will be tracked in which the horizontal leg zone has extrema almost along the entire length of this leg, this increases the accuracy but reduces the number of detected patterns. "Extremes present on second half of horizontal leg (more than 50%)" assumes that only those triangles will be tracked in which the extrema are present on the second half of the length of the given leg (more than 50%) in the zone of the horizontal leg. "Presence of an extrema in the middle region of the hypotenuse" assumes that only those triangles will be tracked in which the extrema are present on a certain segment of length in the central region of the hypotenuse.
Triad Trade MatrixOverview
Triad Trade Matrix is an advanced multi-strategy indicator built using Pine Script v5. It is designed to simultaneously track and display key trading metrics for three distinct trading styles on a single chart:
Swing Trading (Swing Supreme):
This mode captures longer-term trends and is designed for trades that typically span several days. It uses customizable depth and deviation parameters to determine swing signals.
Day Trading (Day Blaze):
This mode focuses on intraday price movements. It generates signals that are intended to be executed within a single trading session. The parameters for depth and deviation are tuned to capture more frequent, shorter-term moves.
Scalping (Scalp Surge):
This mode is designed for very short-term trades where quick entries and exits are key. It uses more sensitive parameters to detect rapid price movements suitable for scalping strategies.
Each trading style is represented by its own merged table that displays real-time metrics. The tables update automatically as new trading signals are generated.
Key Features
Multi-Style Tracking:
Swing Supreme (Large): For swing trading; uses a purple theme.
Day Blaze (Medium): For day trading; uses an orange theme.
Scalp Surge (Small): For scalping; uses a green theme.
Real-Time Metrics:
Each table displays key trade metrics including:
Entry Price: The price at which the trade was entered.
Exit Price: The price at which the previous trade was exited.
Position Size: Calculated as the account size divided by the entry price.
Direction: Indicates whether the trade is “Up” (long) or “Down” (short).
Time: The time when the trade was executed (formatted to hours and minutes).
Wins/Losses: The cumulative number of winning and losing trades.
Current Price & PnL: The current price on the chart and the profit/loss computed relative to the entry price.
Duration: The number of bars that the trade has been open.
History Column: A merged summary column that shows the most recent trade’s details (entry, exit, and result).
Customizability:
Column Visibility: Users can toggle individual columns (Ticker, Timeframe, Entry, Exit, etc.) on or off according to their preference.
Appearance Settings: You can customize the table border width, frame color, header background, and text colors.
History Toggle: The merged history column can be enabled or disabled.
Chart Markers: There is an option to show or hide chart markers (labels and lines) that indicate trade entries and exits on the chart.
Trade History Management:
The indicator maintains a rolling history (up to three recent trades per trading style) and displays the latest summary in the merged table.
This history column provides a quick reference to recent performance.
How It Works
Signal Generation & Trade Metrics
Trade Entry/Exit Calculation:
For each trading style, the indicator uses built-in functions (such as ta.lowestbars and ta.highestbars) to analyze price movements. Based on a customizable "depth" and "deviation" parameter, it determines the point of entry for a trade.
Swing Supreme: Uses larger depth/deviation values to capture swing trends.
Day Blaze: Uses intermediate values for intraday moves.
Scalp Surge: Uses tighter parameters to pick up rapid price changes.
Metrics Update:
When a new trade signal is generated (i.e., when the trade entry price is updated), the indicator calculates:
The current PnL as the difference between the current price and the entry price (or vice versa, depending on the trade direction).
The duration as the number of bars since the trade was opened.
The position size using the formula: accountSize / entryPrice.
History Recording:
Each time a new trade is triggered (i.e., when the entry price is updated), a summary string is created (showing entry, exit, and win/loss status) and appended to the corresponding trade history array. The merged table then displays the latest summary from this history.
Table Display
Merged Table Structure:
Each trading style (Swing Supreme, Day Blaze, and Scalp Surge) is represented by a table that has 15 columns. The columns are:
Trade Type (e.g., Swing Supreme)
Ticker
Timeframe
Entry Price
Exit Price
Position Size
Direction
Time of Entry
Account Size
Wins
Losses
Current Price
Current PnL
Duration (in bars)
History (the latest trade summary)
User Customization:
Through the settings panel, users can choose which columns to display.
If a column is toggled off, its cells will remain blank, allowing traders to focus on the metrics that matter most to them.
Appearance & Themes:
The table headers and cell backgrounds are customizable via color inputs. The trading style names are color-coded:
Swing Supreme (Large): Uses a purple theme.
Day Blaze (Medium): Uses an orange theme.
Scalp Surge (Small): Uses a green theme.
How to Use the Indicator
Add the Indicator to Your Chart:
Once published, add "Triad Trade Matrix" to your TradingView chart.
Configure the Settings:
Adjust the Account Size to match your trading capital.
Use the Depth and Deviation inputs for each trading style to fine-tune the signal sensitivity.
Toggle the Chart Markers on if you want visual entry/exit markers on the chart.
Customize which columns are visible via the column visibility toggles.
Enable or disable the History Column to show the merged trade history in the table.
Adjust the appearance settings (colors, border width, etc.) to suit your chart background and preferences.
Interpret the Tables:
Swing Supreme:
This table shows metrics for swing trades.
Look for changes in entry price, PnL, and trade duration to monitor longer-term moves.
Day Blaze:
This table tracks day trading activity.It will update more frequently, reflecting intraday trends.
Scalp Surge:
This table is dedicated to scalping signals.Use it to see quick entry/exit data and rapid profit/loss changes.
The History column (if enabled) gives you a snapshot of the most recent trade (e.g., "E:123.45 X:124.00 Up Win").
Use allerts:
The indicator includes alert condition for new trade entries(both long and short)for each trading style.
Summary:
Triad Trade Matrix provides an robust,multi-dimensional view of your trading performance across swing trading, day trading, and scalping.
Best to be used whith my other indicators
True low high
Vma Ext_Adv_CustomTbl
This indicator is ideal for traders who wish to monitor multiple trading styles simultaneously, with a clear, technical, and real-time display of performance metrics.
Happy Trading!
GL_Prev Week HighThe GL_Prev Week High Indicator is a powerful tool designed to enhance your trading analysis by displaying the previous week's high price directly on your chart. With clear and customizable visuals, this indicator helps traders quickly identify critical price levels, enabling more informed decision-making.
Key Features:
Previous Week's High Line:
Displays the previous week's high as a red line on your chart for easy reference.
Customizable Horizontal Line:
Includes a white horizontal line for enhanced clarity, with adjustable length, color, and width settings.
All-Time High Tracking:
Automatically tracks the all-time high from the chart's history and places a dynamic label above it.
Real-Time Updates:
The indicator updates in real-time to ensure accuracy as new bars are added.
User Inputs for Personalization:
Adjust the left and right span of the horizontal line.
Customize line width and color to suit your preferences.
Use Case:
This indicator is ideal for traders looking to integrate the previous week's high as a key support or resistance level in their trading strategy. Whether you are analyzing trends, identifying breakout zones, or planning entry/exit points, this tool provides valuable insights directly on the chart.
How to Use:
Add the indicator to your chart.
Customize the settings (line length, width, and color) through the input panel to match your preferences.
Use the red line to track the previous week's high and the label to monitor all-time highs effortlessly.
License:
This script is shared under the Mozilla Public License 2.0. Feel free to use and adapt the script as per the license terms.
4-Year Cycles [jpkxyz]Overview of the Script
I wanted to write a script that encompasses the wide-spread macro fund manager investment thesis: "Crypto is simply and expression of macro." A thesis pioneered by the likes of Raoul Pal (EXPAAM) , Andreesen Horowitz (A16Z) , Joe McCann (ASYMETRIC) , Bob Loukas and many more.
Cycle Theory Background:
The 2007-2008 financial crisis transformed central bank monetary policy by introducing:
- Quantitative Easing (QE): Creating money to buy assets and inject liquidity
- Coordinated global monetary interventions
Proactive 4-year economic cycles characterised by:
- Expansionary periods (low rates, money creation)
- Followed by contraction/normalisation
Central banks now deliberately manipulate liquidity, interest rates, and asset prices to control economic cycles, using monetary policy as a precision tool rather than a blunt instrument.
Cycle Characteristics (based on historical cycles):
- A cycle has 4 seasons (Spring, Summer, Fall, Winter)
- Each season with a cycle lasts 365 days
- The Cycle Low happens towards the beginning of the Spring Season of each new cycle
- This is followed by a run up throughout the Spring and Summer Season
- The Cycle High happens towards the end of the Fall Season
- The Winter season is characterised by price corrections until establishing a new floor in the Spring of the next cycle
Key Functionalities
1. Cycle Tracking
- Divides market history into 4-year cycles (Spring, Summer, Fall, Winter)
- Starts tracking cycles from 2011 (first cycle after the 2007 crisis cycle)
- Identifies and marks cycle boundaries
2. Visualization
- Colors background based on current cycle season
- Draws lines connecting:
- Cycle highs and lows
- Inter-cycle price movements
- Adds labels showing:
- Percentage gains/losses between cycles
- Number of days between significant points
3. Customization Options
- Allows users to customize:
- Colors for each season
- Line and label colors
- Label size
- Background opacity
Detailed Mechanism
Cycle Identification
- Uses a modulo calculation to determine the current season in the 4-year cycle
- Preset boundary years include 2015, 2019, 2023, 2027
- Automatically tracks and marks cycle transitions
Price Analysis
- Tracks highest and lowest prices within each cycle
- Calculates percentage changes:
- Intra-cycle (low to high)
- Inter-cycle (previous high to current high/low)
Visualization Techniques
- Background color changes based on current cycle season
- Dashed and solid lines connect significant price points
- Labels provide quantitative insights about price movements
Unique Aspects
1. Predictive Cycle Framework: Provides a structured way to view market movements beyond traditional technical analysis
2. Seasonal Color Coding: Intuitive visual representation of market cycle stages
3. Comprehensive Price Tracking: Captures both intra-cycle and inter-cycle price dynamics
4. Highly Customizable: Users can adjust visual parameters to suit their preferences
Potential Use Cases
- Technical analysis for long-term investors
- Identifying market cycle patterns
- Understanding historical price movement rhythms
- Educational tool for market cycle theory
Limitations/Considerations
- Based on a predefined 4-year cycle model (Liquidity Cycles)
- Historic Cycle Structures are not an indication for future performance
- May not perfectly represent all market behavior
- Requires visual interpretation
This script is particularly interesting for investors who believe in cyclical market theories and want a visual, data-driven representation of market stages.
Historical High/Lows Statistical Analysis(More Timeframe interval options coming in the future)
Indicator Description
The Hourly and Weekly High/Low (H/L) Analysis indicator provides a powerful tool for tracking the most frequent high and low points during different periods, specifically on an hourly basis and a weekly basis, broken down by the days of the week (DOTW). This indicator is particularly useful for traders seeking to understand historical behavior and patterns of high/low occurrences across both hourly intervals and weekly days, helping them make more informed decisions based on historical data.
With its customizable options, this indicator is versatile and applicable to a variety of trading strategies, ranging from intraday to swing trading. It is designed to meet the needs of both novice and experienced traders.
Key Features
Hourly High/Low Analysis:
Tracks and displays the frequency of hourly high and low occurrences across a user-defined date range.
Enables traders to identify which hours of the day are historically more likely to set highs or lows, offering valuable insights into intraday price action.
Customizable options for:
Hourly session start and end times.
22-hour session support for futures traders.
Hourly label formatting (e.g., 12-hour or 24-hour format).
Table position, size, and design flexibility.
Weekly High/Low Analysis by Day of the Week (DOTW):
Captures weekly high and low occurrences for each day of the week.
Allows traders to evaluate which days are most likely to produce highs or lows during the week, providing insights into weekly price movement tendencies.
Displays the aggregated counts of highs and lows for each day in a clean, customizable table format.
Options for hiding specific days (e.g., weekends) and customizing table appearance.
User-Friendly Table Display:
Both hourly and weekly data are displayed in separate tables, ensuring clarity and non-interference.
Tables can be positioned on the chart according to user preferences and are designed to be visually appealing yet highly informative.
Customizable Date Range:
Users can specify a start and end date for the analysis, allowing them to focus on specific periods of interest.
Possible Uses
Intraday Traders (Hourly Analysis):
Analyze hourly price action to determine which hours are more likely to produce highs or lows.
Identify intraday trading opportunities during statistically significant time intervals.
Use hourly insights to time entries and exits more effectively.
Swing Traders (Weekly DOTW Analysis):
Evaluate weekly price patterns by identifying which days of the week are more likely to set highs or lows.
Plan trades around days that historically exhibit strong movements or price reversals.
Futures and Forex Traders:
Use the 22-hour session feature to exclude the CME break or other session-specific gaps from analysis.
Combine hourly and DOTW insights to optimize strategies for continuous markets.
Data-Driven Trading Strategies:
Use historical high/low data to test and refine trading strategies.
Quantify market tendencies and evaluate whether observed patterns align with your strategy's assumptions.
How the Indicator Works
Hourly H/L Analysis:
The indicator calculates the highest and lowest prices for each hour in the specified date range.
Each hourly high and low occurrence is recorded and aggregated into a table, with counts displayed for all 24 hours.
Users can toggle the visibility of empty cells (hours with no high/low occurrences) and adjust the table's design to suit their preferences.
Supports both 12-hour (AM/PM) and 24-hour formats.
Weekly H/L DOTW Analysis:
The indicator tracks the highest and lowest prices for each day of the week during the user-specified date range.
Highs and lows are identified for the entire week, and the specific days when they occur are recorded.
Counts for each day are aggregated and displayed in a table, with a "Totals" column summarizing the overall occurrences.
The analysis resets weekly, ensuring accurate tracking of high/low days.
Code Breakdown:
Data Aggregation:
The script uses arrays to store counts of high/low occurrences for both hourly and weekly intervals.
Daily data is fetched using the request.security() function, ensuring consistent results regardless of the chart's timeframe.
Weekly Reset Mechanism:
Weekly high/low values are reset at the start of a new week (Monday) to ensure accurate weekly tracking.
A processing flag ensures that weekly data is counted only once at the end of the week (Sunday).
Table Visualization:
Tables are created using the table.new() function, with customizable styles and positions.
Header rows, data rows, and totals are dynamically populated based on the aggregated data.
User Inputs:
Customization options include text colors, background colors, table positioning, label formatting, and date ranges.
Code Explanation
The script is structured into two main sections:
Hourly H/L Analysis:
This section captures and aggregates high/low occurrences for each hour of the day.
The logic is session-aware, allowing users to define custom session times (e.g., 22-hour futures sessions).
Data is displayed in a clean table format with hourly labels.
Weekly H/L DOTW Analysis:
This section tracks weekly highs and lows by day of the week.
Highs and lows are identified for each week, and counts are updated only once per week to prevent duplication.
A user-friendly table displays the counts for each day of the week, along with totals.
Both sections are completely independent of each other to avoid interference. This ensures that enabling or disabling one section does not impact the functionality of the other.
Customization Options
For Hourly Analysis:
Toggle hourly table visibility.
Choose session start and end times.
Select hourly label format (12-hour or 24-hour).
Customize table appearance (colors, position, text size).
For Weekly DOTW Analysis:
Toggle DOTW table visibility.
Choose which days to include (e.g., hide weekends).
Customize table appearance (colors, position, text size).
Select values format (percentages or occurrences).
Conclusion
The Hourly and Weekly H/L Analysis indicator is a versatile tool designed to empower traders with data-driven insights into intraday and weekly market tendencies. Its highly customizable design ensures compatibility with various trading styles and instruments, making it an essential addition to any trader's toolkit.
With its focus on accuracy, clarity, and customization, this indicator adheres to TradingView's guidelines, ensuring a robust and valuable user experience.
Weekly H/L DOTWThe Weekly High/Low Day Breakdown indicator provides a detailed statistical analysis of the days of the week (Monday to Sunday) on which weekly highs and lows occur for a given timeframe. It helps traders identify recurring patterns, correlations, and tendencies in price behavior across different days of the week. This can assist in planning trading strategies by leveraging day-specific patterns.
The indicator visually displays the statistical distribution of weekly highs and lows in an easy-to-read tabular format on your chart. Users can customize how the data is displayed, including whether the table is horizontal or vertical, the size of the text, and the position of the table on the chart.
Key Features:
Weekly Highs and Lows Identification:
Tracks the highest and lowest price of each trading week.
Records the day of the week on which these events occur.
Customizable Table Layout:
Option to display the table horizontally or vertically.
Text size can be adjusted (Small, Normal, or Large).
Table position is customizable (top-right, top-left, bottom-right, or bottom-left of the chart).
Flexible Value Representation:
Allows the display of values as percentages or as occurrences.
Default setting is occurrences, but users can toggle to percentages as needed.
Day-Specific Display:
Option to hide Saturday or Sunday if these days are not relevant to your trading strategy.
Visible Date Range:
Users can define a start and end date for the analysis, focusing the results on a specific period of interest.
User-Friendly Interface:
The table dynamically updates based on the selected timeframe and visibility of the chart, ensuring the displayed data is always relevant to the current context.
Adaptable to Custom Needs:
Includes all-day names from Monday to Sunday, but allows for specific days to be excluded based on the user’s preferences.
Indicator Logic:
Data Collection:
The indicator collects daily high, low, day of the week, and time data from the selected ticker using the request.security() function with a daily timeframe ('D').
Weekly Tracking:
Tracks the start and end times of each week.
During each week, it monitors the highest and lowest prices and the days they occurred.
Weekly Closure:
When a week ends (detected by Sunday’s daily candle), the indicator:
Updates the statistics for the respective days of the week where the weekly high and low occurred.
Resets tracking variables for the next week.
Visible Range Filter:
Only processes data for weeks that fall within the visible range of the chart, ensuring the table reflects only the visible portion of the chart.
Statistical Calculations:
Counts the number of weekly highs and lows for each day.
Calculates percentages relative to the total number of weeks in the visible range.
Dynamic Table Display:
Depending on user preferences, displays the data either horizontally or vertically.
Formats the table with proper alignment, colors, and text sizes for easy readability.
Custom Value Representation:
If set to "percentages," displays the percentage of weeks a high/low occurred on each day.
If set to "occurrences," displays the raw count of weekly highs/lows for each day.
Input Parameters:
High Text Color:
Color for the text in the "Weekly High" row or column.
Low Text Color:
Color for the text in the "Weekly Low" row or column.
High Background Color:
Background color for the "Weekly High" row or column.
Low Background Color:
Background color for the "Weekly Low" row or column.
Table Background Color:
General background color for the table.
Hide Saturday:
Option to exclude Saturday from the analysis and table.
Hide Sunday:
Option to exclude Sunday from the analysis and table.
Values Format:
Dropdown menu to select "percentages" or "occurrences."
Default value: "occurrences."
Table Position:
Dropdown menu to select the table position on the chart: "top_right," "top_left," "bottom_right," "bottom_left."
Default value: "top_right."
Text Size:
Dropdown menu to select text size: "Small," "Normal," "Large."
Default value: "Normal."
Vertical Table Format:
Checkbox to toggle the table layout:
Checked: Table displays days vertically, with Monday at the top.
Unchecked: Table displays days horizontally.
Start Date:
Allows users to specify the starting date for the analysis.
End Date:
Allows users to specify the ending date for the analysis.
Use Cases:
Day-Specific Pattern Recognition:
Identify if specific days, such as Monday or Friday, are more likely to form weekly highs or lows.
Seasonal Analysis:
Use the start and end date filters to analyze patterns during specific trading seasons.
Strategy Development:
Plan day-based entry and exit strategies by identifying recurring patterns in weekly highs/lows.
Historical Review:
Study historical data to understand how market behavior has changed over time.
TradingView TOS Compliance Notes:
Originality:
This script is uniquely designed to provide day-based statistics for weekly highs and lows, which is not a common feature in other publicly available indicators.
Usefulness:
Offers practical insights for traders interested in understanding day-specific price behavior.
Detailed Description:
Fully explains the purpose, features, logic, input settings, and use cases of the indicator.
Includes clear and concise details on how each input works.
Clear Input Descriptions:
All input parameters are clearly named and explained in the script and this description.
No Redundant Functionality:
Focused specifically on tracking weekly highs and lows, ensuring the indicator serves a distinct purpose without unnecessary features.
Time Clusters# Time Clusters: Where Time Meets Opportunity in the Markets
Elevate your trading strategy with Time Clusters – the innovative indicator that transforms market open times into powerful visual cues for potential price action!
## Unveil Hidden Market Dynamics
Time Clusters goes beyond traditional open price analysis. By visualizing key time-based imbalances, this tool reveals:
- Potential support and resistance zones
- Areas prone to strong market reactions
- Historical patterns at crucial market opens
## Key Features
- Multi-level analysis: Track up to 6 customizable daily open times
- Smart visuals: Color-coded boxes highlight time-based clusters
- Bias tracking: Monitor historical candle types and market sentiment
- Flexible customization: Adapt to your timezone and visual preferences
## How It Works
1. Identifies critical market open times
2. Analyzes price action and candle formations at these points
3. Visualizes potential imbalances as color-coded "clusters"
4. Tracks historical bias to provide deeper market context
## Trader-Friendly Design
- Intuitive visual cues for quick decision-making
- Customizable settings to fit your trading style
- Works across multiple timeframes for versatile analysis
## Elevate Your Strategy
Use Time Clusters to:
- Anticipate potential price reversals or continuations
- Identify high-probability trade entry and exit points
- Gain unique insights into time-based market behavior
## Important Note
While Time Clusters offers powerful insights, it's designed to complement your trading strategy, not replace it. Always use multiple analysis tools and sound risk management practices.
Remember: All OmarxQQQ tools, including Time Clusters, are aids to assist your trading decisions. They should never be the sole basis for any financial choice.
Harness the power of time in your trades with Time Clusters!
*Disclaimer: Trading involves significant risk of loss. Past performance does not guarantee future results. Use this tool responsibly as part of a comprehensive trading plan.*
Parent Session Sweeps + Alert Killzone Ranges with Parent Session Sweep
Key Features:
1. Multiple Session Support: The script tracks three major trading sessions - Asia, London, and New York. Users can customize the timing of these sessions.
2. Killzone Visualization: The strategy visually represents each session's range, either as filled boxes or lines, allowing traders to easily identify key price levels.
3. Parent Session Logic: The core of the strategy revolves around identifying a "parent" session - a session that encompasses the range of the following session. This parent session becomes the basis for potential trade setups.
4. Sweep and Reclaim Setups: The strategy looks for price movements that sweep (break above or below) the parent session's high or low, followed by a reclaim of that level. This price action often indicates a potential reversal.
5. Risk-Reward Filtering: Each potential setup is evaluated based on a user-defined minimum risk-reward ratio, ensuring that only high-quality trade opportunities are considered.
6. Candle Close Filter: An optional filter that checks the characteristics of the candle that reclaims the parent session level, adding an extra layer of confirmation to the setup.
7. Performance Tracking: The strategy keeps track of bullish and bearish setup success rates, providing valuable feedback on its performance over time.
8. Visual Aids: The script draws lines to mark the parent session's high and low, making it easy for traders to identify key levels.
How It Works:
1. The script continuously monitors price action across the defined sessions.
2. When a session fully contains the range of the next session, it's identified as a potential parent session.
3. The strategy then waits for price to sweep either the high or low of this parent session.
4. If a sweep occurs, it looks for a reclaim of the swept level within the parameters set by the user.
5. If a valid setup is identified, the script generates an alert and places a trade (if backtesting or running live).
6. The strategy continues to monitor the trade for either reaching the target (opposite level of the parent session) or hitting the stop loss.
Considerations for Signals:
- Sweep: A break of the parent session's high or low.
- Reclaim: A close back inside the parent session range after a sweep.
- Candle Characteristics: Optional filter for the reclaim candle (e.g., bullish candle for long setups).
- Risk-Reward: Each setup must meet or exceed the user-defined minimum risk-reward ratio.
- Session Timing: The strategy is sensitive to the defined session times, which should be set according to the trader's preferred time zone.
This strategy aims to capitalize on institutional order flow and liquidity patterns in the forex market, providing traders with a systematic approach to identifying potential reversal points with favorable risk-reward profiles.
Signals for Trending or Ranging market using RSI and WMAThis trading indicator is based on several key components, including the Average Directional Index (ADX), and a combination of RSI and Weighted Moving Average (WMA) to signal trading opportunities in both trending and ranging markets. Here's a breakdown:
ADX Calculation: The script calculates the ADX to identify market trends. A threshold value of ADX is used to distinguish between trending and ranging market conditions.
RSI and WMA for Different Market Conditions: The script calculates two sets of RSI and WMA, one for trending markets and another for ranging markets. This allows the strategy to adjust based on market conditions determined by the ADX value.
Trade Signals: The script generates long and short signals based on the alignment of RSI and WMA.
Long Signals: Triggered when RSI and WMA indicate upward momentum.
Short Signals: Triggered when both RSI and WMA suggest downward movement.
The signals are confirmed by pivot points, with the stop loss placed at the most recent high or low.
Stop Loss and Trade Management: The script includes dynamic stop-loss management. It moves the stop loss in halfway original stop loss after achieving 2R and to break-even after achieving a 4R gain.
Performance Tracking: It tracks the number of winning and losing trades and calculates the total "R" (risk/reward) for the active trades. Debugging labels are added on the chart to display statistics for wins, losses, and total R performance.
Plotting: The script plots the stop loss and entry price on the chart for visual clarity. Additionally, it colors the background green or red based on whether a long or short position is active.
Overall, this indicator combines ADX, RSI, and WMA indicators with a robust trade management system to execute and track trading signals in both trending and ranging markets.
CAGR - Candle based BackTesterThe "CAGR - Candle based BackTester" is a tool for traders and investors seeking precise insights into individual candle performance!
Do you want to backtest based on candles and understand their CAGR? Curious about the average CAGR of all candles? Interested in comparing how an individual candle performs against others? Then this tool is your go-to solution.
How It Works:
Candle Selection: Specify a start date, and watch as the script tracks investments from that point forward.
Dynamic Calculations: Experience real-time CAGR calculations that adapt as market conditions evolve.
CAGR Display: At the final candle, gain insights into individual CAGR, average CAGR of all candles, alpha (difference), and outperformance percentage—all conveniently displayed for informed decision-making.
Key Features:
Accurate Candle-based CAGR Calculation: Gain clarity on investment performance with precise CAGR metrics.
Lumpsum Investment Tracking: Track lumpsum investments seamlessly with detailed share and investment calculations.
Outperformance Metrics: Measure how your investment performs relative to others with dedicated outperformance metrics.
User-Friendly Visualization: Access intuitive charts and visuals that simplify complex financial data.
TradeTrackerv2Library "TradeTrackerv2"
This library can be used to track (hypothetical) trades on the chart. Enter the Open, SL, and TP prices (or TP in R to have it calculated) and then call Trade.TrackTrade(barIndex). Keep track of your trades in an array and then simply call TradeTracker.UpdateAllTrades(close) to update all trades based on the current close price.
How to use:
1. Import the library, as always. I'm assuming the alias of "Tracker" below.
2. The Type Trade is exported, so generate a Trade object like newTrade = Tracker.Trade.new() .
3. Set the values for Open, SL, and TP. TP can be set either by price or by R, which will calculate the R based on the Open->SL range:
newTrade.priceOpen = 1.0
newTrade.priceSl = 0.5
newTrade.priceTp = 2.0
-- or in place of the third line above --
newTrade.rTp = 2
4. On each interval you want to update (whether that's per tick/close or on each bar), call trades.UpdateAllTrades(close) . This snippet assumes you have an array named trades (var trades = array.new()) .
In future updates, more customization options will be created. This is the initial prototype.
method MakeTradeLines(t, barIdx)
Namespace types: Trade
Parameters:
t (Trade)
barIdx (int)
method UpdateLabel(t)
Namespace types: Trade
Parameters:
t (Trade)
method MakeLabel(t, barIdx)
Namespace types: Trade
Parameters:
t (Trade)
barIdx (int)
method CloseTrade(t)
Namespace types: Trade
Parameters:
t (Trade)
method OpenTrade(t)
Namespace types: Trade
Parameters:
t (Trade)
method OpenCloseTrade(t, _close)
Namespace types: Trade
Parameters:
t (Trade)
_close (float)
method CalculateProfits(t, _close)
Calculates profits/losses for the Trade, given _close price
Namespace types: Trade
Parameters:
t (Trade)
_close (float)
method UpdateTrade(t, _close)
Namespace types: Trade
Parameters:
t (Trade)
_close (float)
method SetInitialValues(t, barIdx)
Namespace types: Trade
Parameters:
t (Trade)
barIdx (int)
method UpdateAllTrades(trades, _close)
Namespace types: Trade
Parameters:
trades (Trade )
_close (float)
method TrackTrade(t, barIdx)
Namespace types: Trade
Parameters:
t (Trade)
barIdx (int)
Trade
Fields:
id (series__integer)
isOpen (series__bool)
isClosed (series__bool)
isBuy (series__bool)
priceOpen (series__float)
priceTp (series__float)
priceSl (series__float)
rTP (series__float)
profit (series__float)
r (series__float)
resultR (series__float)
lineOpen (series__line)
lineTp (series__line)
lineSl (series__line)
labelStats (series__label)