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).
Komut dosyalarını "mtf" için ara
FvgTypes█ OVERVIEW
This library serves as a foundational module for Pine Script™ projects focused on Fair Value Gaps (FVGs). Its primary purpose is to define and centralize custom data structures (User-Defined Types - UDTs) and enumerations that are utilized across various components of an FVG analysis system. By providing standardized types for FVG characteristics and drawing configurations, it promotes code consistency, readability, and easier maintenance within a larger FVG indicator or strategy.
█ CONCEPTS
The library introduces several key data structures (User-Defined Types - UDTs) and an enumeration to organize Fair Value Gap (FVG) related data logically. These types are central to the functioning of FVG analysis tools built upon this library.
Timeframe Categorization (`tfType` Enum)
To manage and differentiate FVGs based on their timeframe of origin, the `tfType` enumeration is defined. It includes:
`LTF`: Low Timeframe (typically the current chart).
`MTF`: Medium Timeframe.
`HTF`: High Timeframe.
This allows for distinct logic and visual settings to be applied depending on the FVG's source timeframe.
FVG Data Encapsulation (`fvgObject` UDT)
The `fvgObject` is a comprehensive UDT designed to encapsulate all pertinent information and state for an individual Fair Value Gap throughout its lifecycle. Instead of listing every field, its conceptual structure can be understood as holding:
Core Definition: The FVG's fundamental price levels (top, bottom) and its formation time (`startTime`).
Classification Attributes: Characteristics such as its direction (`isBullish`) and whether it qualifies as a Large Volume FVG (`isLV`), along with its originating timeframe category (`tfType`).
Lifecycle State: Current status indicators including full mitigation (`isMitigated`, `mitigationTime`), partial fill levels (`currentTop`, `currentBottom`), midline interaction (`isMidlineTouched`), and overall visibility (`isVisible`).
Drawing Identifiers: References (`boxId`, `midLineId`, `mitLineLabelId`, etc.) to the actual graphical objects drawn on the chart to represent the FVG and its components.
Optimization Cache: Previous-bar state values (`prevIsMitigated`, `prevCurrentTop`, etc.) crucial for optimizing drawing updates by avoiding redundant operations.
This comprehensive structure facilitates easy access to all FVG-related information through a single object, reducing code complexity and improving manageability.
Drawing Configuration (`drawSettings` UDT)
The `drawSettings` UDT centralizes all user-configurable parameters that dictate the visual appearance of FVGs across different timeframes. It's typically populated from script inputs and conceptually groups settings for:
General Behavior: Global FVG classification toggles (e.g., `shouldClassifyLV`) and general display rules (e.g., `shouldHideMitigated`).
FVG Type Specific Colors: Colors for standard and Large Volume FVGs, both active and mitigated (e.g., `lvBullColor`, `mitigatedBearBoxColor`).
Timeframe-Specific Visuals (LTF, MTF, HTF): Detailed parameters for each timeframe category, covering FVG boxes (visibility, colors, extension, borders, labels), midlines (visibility, style, color), and mitigation lines (visibility, style, color, labels, persistence after mitigation).
Contextual Information: The current bar's time (`currentTime`) for accurate positioning of time-dependent drawing elements and timeframe display strings (`tfString`, `mtfTfString`, `htfTfString`).
This centralized approach allows for extensive customization of FVG visuals and simplifies the management of drawing parameters within the main script. Such centralization also enhances the maintainability of the visual aspects of the FVG system.
█ NOTES
User-Defined Types (UDTs): This library extensively uses UDTs (`fvgObject`, `drawSettings`) to group related data. This improves code organization and makes it easier to pass complex data between functions and libraries.
Mutability and Reference Behavior of UDTs: When UDT instances are passed to functions or methods in other libraries (like `fvgObjectLib`), those functions might modify the fields of the passed object if they are not explicitly designed to return new instances. This is because UDTs are passed by reference and are mutable in Pine Script™. Users should be aware of this standard behavior to prevent unintended side effects.
Optimization Fields: The `prev_*` fields in `fvgObject` are crucial for performance optimization in the drawing logic. They help avoid unnecessary redrawing of FVG elements if their state or relevant settings haven't changed.
No Direct Drawing Logic: `FvgTypes` itself does not contain any drawing logic. It solely defines the data structures. The actual drawing and manipulation of these objects are handled by other libraries (e.g., `fvgObjectLib`).
Centralized Definitions: By defining these types in a separate library, any changes to the structure of FVG data or settings can be made in one place, ensuring consistency across all dependent scripts and libraries.
█ EXPORTED TYPES
fvgObject
fvgObject Represents a Fair Value Gap (FVG) object.
Fields:
top (series float) : The top price level of the FVG.
bottom (series float) : The bottom price level of the FVG.
startTime (series int) : The start time (timestamp) of the bar where the FVG formed.
isBullish (series bool) : Indicates if the FVG is bullish (true) or bearish (false).
isLV (series bool) : Indicates if the FVG is a Large Volume FVG.
tfType (series tfType) : The timeframe type (LTF, MTF, HTF) to which this FVG belongs.
isMitigated (series bool) : Indicates if the FVG has been fully mitigated.
mitigationTime (series int) : The time (timestamp) when the FVG was mitigated.
isVisible (series bool) : The current visibility status of the FVG, typically managed by drawing logic based on filters.
isMidlineTouched (series bool) : Indicates if the price has touched the FVG's midline (50% level).
currentTop (series float) : The current top level of the FVG after partial fills.
currentBottom (series float) : The current bottom level of the FVG after partial fills.
boxId (series box) : The drawing ID for the main FVG box.
mitigatedBoxId (series box) : The drawing ID for the box representing the partially filled (mitigated) area.
midLineId (series line) : The drawing ID for the FVG's midline.
mitLineId (series line) : The drawing ID for the FVG's mitigation line.
boxLabelId (series label) : The drawing ID for the FVG box label.
mitLineLabelId (series label) : The drawing ID for the mitigation line label.
testedBoxId (series box) : The drawing ID for the box of a fully mitigated (tested) FVG, if kept visible.
keptMitLineId (series line) : The drawing ID for a mitigation line that is kept after full mitigation.
prevIsMitigated (series bool) : Stores the isMitigated state from the previous bar for optimization.
prevCurrentTop (series float) : Stores the currentTop value from the previous bar for optimization.
prevCurrentBottom (series float) : Stores the currentBottom value from the previous bar for optimization.
prevIsVisible (series bool) : Stores the visibility status from the previous bar for optimization (derived from isVisibleNow passed to updateDrawings).
prevIsMidlineTouched (series bool) : Stores the isMidlineTouched status from the previous bar for optimization.
drawSettings
drawSettings A structure containing settings for drawing FVGs.
Fields:
shouldClassifyLV (series bool) : Whether to classify FVGs as Large Volume (LV) based on ATR.
shouldHideMitigated (series bool) : Whether to hide FVG boxes once they are fully mitigated.
currentTime (series int) : The current bar's time, used for extending drawings.
lvBullColor (series color) : Color for Large Volume Bullish FVGs.
mitigatedLvBullColor (series color) : Color for mitigated Large Volume Bullish FVGs.
lvBearColor (series color) : Color for Large Volume Bearish FVGs.
mitigatedLvBearColor (series color) : Color for mitigated Large Volume Bearish FVGs.
shouldShowBoxes (series bool) : Whether to show FVG boxes for the LTF.
bullBoxColor (series color) : Color for LTF Bullish FVG boxes.
mitigatedBullBoxColor (series color) : Color for mitigated LTF Bullish FVG boxes.
bearBoxColor (series color) : Color for LTF Bearish FVG boxes.
mitigatedBearBoxColor (series color) : Color for mitigated LTF Bearish FVG boxes.
boxLengthBars (series int) : Length of LTF FVG boxes in bars (if not extended).
shouldExtendBoxes (series bool) : Whether to extend LTF FVG boxes to the right.
shouldShowCurrentTfBoxLabels (series bool) : Whether to show labels on LTF FVG boxes.
shouldShowBoxBorder (series bool) : Whether to show a border for LTF FVG boxes.
boxBorderWidth (series int) : Border width for LTF FVG boxes.
boxBorderStyle (series string) : Border style for LTF FVG boxes (e.g., line.style_solid).
boxBorderColor (series color) : Border color for LTF FVG boxes.
shouldShowMidpoint (series bool) : Whether to show the midline (50% level) for LTF FVGs.
midLineWidthInput (series int) : Width of the LTF FVG midline.
midpointLineStyleInput (series string) : Style of the LTF FVG midline.
midpointColorInput (series color) : Color of the LTF FVG midline.
shouldShowMitigationLine (series bool) : Whether to show the mitigation line for LTF FVGs.
(Line always extends if shown)
mitLineWidthInput (series int) : Width of the LTF FVG mitigation line.
mitigationLineStyleInput (series string) : Style of the LTF FVG mitigation line.
mitigationLineColorInput (series color) : Color of the LTF FVG mitigation line.
shouldShowCurrentTfMitLineLabels (series bool) : Whether to show labels on LTF FVG mitigation lines.
currentTfMitLineLabelOffsetX (series float) : The horizontal offset value for the LTF mitigation line's label.
shouldKeepMitigatedLines (series bool) : Whether to keep showing mitigation lines of fully mitigated LTF FVGs.
mitigatedMitLineColor (series color) : Color for kept mitigation lines of mitigated LTF FVGs.
tfString (series string) : Display string for the LTF (e.g., "Current TF").
shouldShowMtfBoxes (series bool) : Whether to show FVG boxes for the MTF.
mtfBullBoxColor (series color) : Color for MTF Bullish FVG boxes.
mtfMitigatedBullBoxColor (series color) : Color for mitigated MTF Bullish FVG boxes.
mtfBearBoxColor (series color) : Color for MTF Bearish FVG boxes.
mtfMitigatedBearBoxColor (series color) : Color for mitigated MTF Bearish FVG boxes.
mtfBoxLengthBars (series int) : Length of MTF FVG boxes in bars (if not extended).
shouldExtendMtfBoxes (series bool) : Whether to extend MTF FVG boxes to the right.
shouldShowMtfBoxLabels (series bool) : Whether to show labels on MTF FVG boxes.
shouldShowMtfBoxBorder (series bool) : Whether to show a border for MTF FVG boxes.
mtfBoxBorderWidth (series int) : Border width for MTF FVG boxes.
mtfBoxBorderStyle (series string) : Border style for MTF FVG boxes.
mtfBoxBorderColor (series color) : Border color for MTF FVG boxes.
shouldShowMtfMidpoint (series bool) : Whether to show the midline for MTF FVGs.
mtfMidLineWidthInput (series int) : Width of the MTF FVG midline.
mtfMidpointLineStyleInput (series string) : Style of the MTF FVG midline.
mtfMidpointColorInput (series color) : Color of the MTF FVG midline.
shouldShowMtfMitigationLine (series bool) : Whether to show the mitigation line for MTF FVGs.
(Line always extends if shown)
mtfMitLineWidthInput (series int) : Width of the MTF FVG mitigation line.
mtfMitigationLineStyleInput (series string) : Style of the MTF FVG mitigation line.
mtfMitigationLineColorInput (series color) : Color of the MTF FVG mitigation line.
shouldShowMtfMitLineLabels (series bool) : Whether to show labels on MTF FVG mitigation lines.
mtfMitLineLabelOffsetX (series float) : The horizontal offset value for the MTF mitigation line's label.
shouldKeepMtfMitigatedLines (series bool) : Whether to keep showing mitigation lines of fully mitigated MTF FVGs.
mtfMitigatedMitLineColor (series color) : Color for kept mitigation lines of mitigated MTF FVGs.
mtfTfString (series string) : Display string for the MTF (e.g., "MTF").
shouldShowHtfBoxes (series bool) : Whether to show FVG boxes for the HTF.
htfBullBoxColor (series color) : Color for HTF Bullish FVG boxes.
htfMitigatedBullBoxColor (series color) : Color for mitigated HTF Bullish FVG boxes.
htfBearBoxColor (series color) : Color for HTF Bearish FVG boxes.
htfMitigatedBearBoxColor (series color) : Color for mitigated HTF Bearish FVG boxes.
htfBoxLengthBars (series int) : Length of HTF FVG boxes in bars (if not extended).
shouldExtendHtfBoxes (series bool) : Whether to extend HTF FVG boxes to the right.
shouldShowHtfBoxLabels (series bool) : Whether to show labels on HTF FVG boxes.
shouldShowHtfBoxBorder (series bool) : Whether to show a border for HTF FVG boxes.
htfBoxBorderWidth (series int) : Border width for HTF FVG boxes.
htfBoxBorderStyle (series string) : Border style for HTF FVG boxes.
htfBoxBorderColor (series color) : Border color for HTF FVG boxes.
shouldShowHtfMidpoint (series bool) : Whether to show the midline for HTF FVGs.
htfMidLineWidthInput (series int) : Width of the HTF FVG midline.
htfMidpointLineStyleInput (series string) : Style of the HTF FVG midline.
htfMidpointColorInput (series color) : Color of the HTF FVG midline.
shouldShowHtfMitigationLine (series bool) : Whether to show the mitigation line for HTF FVGs.
(Line always extends if shown)
htfMitLineWidthInput (series int) : Width of the HTF FVG mitigation line.
htfMitigationLineStyleInput (series string) : Style of the HTF FVG mitigation line.
htfMitigationLineColorInput (series color) : Color of the HTF FVG mitigation line.
shouldShowHtfMitLineLabels (series bool) : Whether to show labels on HTF FVG mitigation lines.
htfMitLineLabelOffsetX (series float) : The horizontal offset value for the HTF mitigation line's label.
shouldKeepHtfMitigatedLines (series bool) : Whether to keep showing mitigation lines of fully mitigated HTF FVGs.
htfMitigatedMitLineColor (series color) : Color for kept mitigation lines of mitigated HTF FVGs.
htfTfString (series string) : Display string for the HTF (e.g., "HTF").
AQPRO Pattern Map
📝 INTRODUCTION
AQPRO Pattern Map is a comprehensive trading tool designed to automate the detection of 27 most popular candlestick patterns across any financial asset, making it a powerful tool for traders who use strategies, which are based on candlestick patterns.
This indicator not only identifies candlestick patterns but also incorporates multi-timeframe (MTF) analysis , risk management tools like Take-Profit (TP) and Stop-Loss (SL) , and labeled visual cues for effortless chart reading. Below is the complete list of patterns it supports:
📜 Patterns scanned by the indicator:
One-candle patterns:
Hammer;
Shooting Star;
Marubozu (Bullish/Bearish);
Doji.
Two-candle patterns:
Belt Hold (Bullish/Bearish);
Engulfing (Bullish/Bearish);
Harami (Bullish/Bearish);
Harami Cross (Bullish/Bearish);
Kicker (Bullish/Bearish);
Window (Rising/Falling Gap);
Piercing Line / Dark Cloud Cover.
Three-candle patterns:
Outside Up / Down Bar;
Inside Up / Down Bar;
Morning Star / Evening Star;
Three White Soldiers / Three Black Crows;
Advance Block / Descent Block;
Tasuki Gap (Upside/Downside);
Side-by-Side White Lines.
Multi-candle patterns:
Rising One / Falling One;
Rising Two / Falling Two;
Rising Three / Falling Three;
Rising Four / Falling Four;
Rising Five / Falling Five;
Breakaway Two / Three / Four / Five (Bullish/Bearish);
Fakey (Bullish/Bearish).
With this tool, traders can visually and systematically track key candlestick setups across multiple timeframes simultaneously, making it an all-in-one solution for identifying actionable patterns.
🎯 PURPOSE OF USAGE
The primary goal of the "AQPRO Pattern Map" is to equip traders with a highly efficient way of identifying significant candlestick patterns across different timeframes, making the decision-making process stronger in a sense of both quality and quantity of presented information.
Specifically, this indicator addresses the following needs:
Automation of pattern detection.
Nobody likes searching for patterns on the chart "by hand", because it takes too much time and mental energy. With this screener you can forget about this problem: automatic scanning for 27 of the most commonly used patterns will save your tens, if not hundreds of hours of time, so you can focus on what really matters;
Multi-timeframe (MTF) analysis.
This one is one of the most unique features of this indicator, because after conducting product research in library of open-source scripts alike this screener, almost none of reviewed indicators had MTF analysis feature embedded in them. This feature is important for the simplest of reasons: you see candlestick data from other timeframes without jumping from one timeframe to another . Needless to say how much time it will save for traders over the years of trading. See description below to learn more on exact functionality of our MTF analysis;
Risk management automation.
Humans tend to overestimate risk, when matters are about earning money from "financially-dangerous" activities and trading is no exception. To help traders better understand what they risk, we implemented a simple, yet effective way of displaying levels of risk for each pattern. For each new pattern on the chart you will be able see automatic creation of Take-Profit (TP) and Stop-Loss (SL) levels. It involves creation and displaying of lines and labels, representing each level at its exact coordinates. This elevates visual perception of risk for fellow traders and avoid excessive risk in many cases;
Simplicity in data visualization.
Charts, which are cluttered with pointless visual noise, presented as 'additional confirmation analysis', don't foster insights and are not worth a dime . We understand this issue very well and we designed our indicator with the solution to this problem in mind. Every bit of information, that you will see on your chart, will make sense both technically and visually — no more wasting time cleaning mess on your charts.
By addressing the needs, described above, this indicator will be a useful tool for any trader, who employs principles of candlestick pattern analysis, because most important pains of this kind of analysis are efficiently handled by our indicator.
⚙️ SETTINGS OVERVIEW
Customization options of our indicator are quite extensive, because flexibility in such indicator is in the top of most important qualities. Let's review each group of settings deeper:
📊 Patterns: One-Candle
This group allows you to enable or disable specific onep -candle candlestick patterns.
Toggle on/off switch for Hammer, Shooting Star, Marubozu, and Doji .
📊 Patterns: Two-Candle
This group allows you to enable or disable specific two -candle candlestick patterns.
Toggle on/off switch for Belt Hold, Engulfing, Harami & Harami Cross, Kicker, Window, Piercing Line & Dark Cloud Cover .
📊 Patterns: Three-Candle
This group allows you to enable or disable specific three -candle candlestick patterns.
Toggle on/off switch for Morning Star & Evening Star, Three White Soldiers, Three Black Crows, Advance Block & Descent Block, Tasuki Gap, Side-by-Side Gap (Bullish), Squeeze .
📊 Patterns: Multi-Candle
This group allows you to enable or disable specific multi -candle (3 or more candle) candlestick patterns.
Toggle on/off switch for Rising/Falling sequences, Breakaway patterns, and Fakey .
📊 MTF Settings
These settings allow you to use the Multi-Timeframe Screener to display patterns from additional timeframes.
"Use MTF Screener" — toggles the addition of MTF Screener to main dashboard ( described in 'Visual Settings' ). If enabled, adds section of MTF Screener below main dashboard
* List of four timeframes — your personal list to choose your timeframe, which will be used to get data about latest patterns. Default list of timeframes includes timeframes like 15min, 30min 1hr, 4hr .
* The detected patterns from these timeframes will be displayed in the MTF Dashboard on the chart.
🛡️ Risk Settings
As was described above, risk settings in our indicator will control appearance of TP and SL labels and lines, which appear for each new trade. Here you can customize the most essential parameters.
"Show TP/SL" — toggles the visibility of Take-Profit (TP) and Stop-Loss (SL) values for the most recent pattern.
"Risk-to-Reward Ratio (R:R)" — defines your desired risk/reward ratio for the TP and SL calculations. The more this parameter is, the further the TP from entry level will be.
🎨 Visual Settings
In this group of settings you can fine-tune the visual appearance of the indicator to fit your preferences.
IMPORTANT: colour parameters from this group of settings affect ONLY colours in the dashboard.
"Use info dashboard" — if enabled, shows dashboard in the top right corner of the chart, which displays latest pattern's TP and SL alongside with this pattern's trade status: '⏳' - TP or SL have not been reached yet, '✋' - TP or SL have already been reached already, refrain from taking the trade.
"Bullish Pattern" — defines the color for bullish patterns.
"Bearish Pattern" — defines the color for bearish patterns.
"Neutral Pattern" — specify the color for neutral patterns like Doji.
"Frame Width" — adjusts the thickness of frames highlighting detected patterns on the chart.
📈 APPLICATION GUIDE
The way of application of this indicator is pretty straightforward, because trading methodologies based on candlestick patterns were developed decades ago and haven't changed much since then. However, we find it necessary to explain the most essential ways of application in this section.
Let's start with the basics — how you will your chart look when you load the indicator for the first time:
By default we have 5 main visual data "blocks":
Bullish patterns;
Bearish patterns;
Risk visualization;
Main Dashboard;
MTF Screener.
Let's review each of these groups one by one.
BULLISH & BEARISH PATTERNS
Patterns are displayed as up/down labels, which are styled in corresponding to trend colours. Each patterns has its own unique emoji to help traders easily navigate between patterns.
Also by default each pattern has its custom frame, inside of which resides candle (or multiple candles) of the pattern iself. These frames are made with purpose to show each pattern in a very clear way on the chart, because huge number of public scripts usually only show simple label of such patterns and don't highlight the pattern itself on the chart. To remove frames you can set "Frame Width" parameter to 0 in 'Visual Settings' group in the settings.
You can see the examples of frame on the screenshot below:
RISK VISUALIZATION (TP & SL)
Displaying Take-Profits and Stop-Losses in our indicator on the chart works quite simple: for each new trade indicator creates new pairs of lines and labels for TP and SL, while lines & labels from previous trade are erased for aesthetics purposes. Each label shows price coordinates, so that each trader would be able to grap the numbers in seconds.
See the visual showcase of TP & SL visualization on the screenshot below:
Also, whenever TP or SL of the current trade is reached, drawing of both TP and SL stops . When the TP is reached, additional '✅' emoji on the TP price is shown as confirmation of Take-Profit.
However, while TP or SL has not been reached, TP&SL labels and lines will be prolonged until one of them will be reached or new signals will come.
See the visual showcase of TP & SL stopping being visualized & TP on the screenshot below:
MAIN DASHBOARD
Main dashboard is displayed in the top right corner of the chart and it shows the data of latest pattern, that occurred on the current asset and current timeframe: pattern's name, TP, SL and trade status. Depending on bullishness or bearishness of the pattern, dashboard is colour in respective colour.
Also on the right of side TP and SL data block there is a so called trade status. It is basically an indication of wether or not latest pattern's trade is still active or not:
If TP or SL of the pattern have not been reached yet, trade is considered active and is marked with '⏳' emoji;
If TP or SL of the pattern have already been reached, trade is considered inactive and is marked with '✋' emoji.
See the visual showcase of dashboard on the screenshot below:
MTF Screener
MTF Screener is displayed right below the main dashboard and its has distinctive 'MTF Patterns' header row on the top, painted in gray colour to make sure that every traders understand he is looking at.
This screener shows the timeframe and name of patterns from four other timeframes, which trader can customize in the settings to his liking. This will help trader get more insights on global sentiment of other timeframes, which improves trading results overall if applied correctly.
In the future MTF Screener will be expanded to have more data in it, like TP and SL, age of pattern and etc.
See the visual showcase of the MTF Screener on the screenshot below:
Features, explained above, make this indicator quite versatile and suitable for incorporation in any trading strategy, which uses candlestick patterns. They are simple, yet insightful, and traders, which use similar strategies everyday, will truly appreciate the benefits of this indicator when they will set up this indicator for the first time on their chart.
🔔 ALERTS
This indicator employs alerts for an event when new pattern occurs. While creating the alert below 'Condition' field choose 'any alert() function call' .
When this alert is triggered, it will generate this kind of message:
string msg_template = "EXCHANGE:ASSET, TIMEFRAME: BULLISH_OR_BEARISH pattern PATTERN_NAME was found."
string msg_example = "BINANCE:BTCUSDT, 15m: bullish pattern 'Hammer' was found."
📌 NOTES
This indicator is most effective when used in combination with other technical analysis tools such as trendlines, moving averages, support/resistance levels or any other indicator-type tool. We strongly recommend using this indicator as confirmation indicator for your main trading strategy, not as primary source of signals;
If you want to trade directly by these patterns, make sure to use proper risk management techniques of your own and use TP&SL visualization on the chart to always have a clue about your current position;
If you lost track of visual components on the chart, look at the main dashboard to see text summary of data from latest pattern. Also don't forget to look at MTF Screener to have more context about MTF sentiment, because it is increases your understandings of MTF price trend and improves your decision-making process.
🏁 AFTERWORD
AQPRO Pattern Map was built to help traders automate candlestick pattern searching routine, improve chart readability and enhance perception of current potential risks, which may come from trading from a specific pattern. Indicator's main dashboard and MTF screener eliminate the need for constantly checking other timeframe for global sentiment, helping traders save even more time and fostering improved decision making.
This indicator will work in great conjunction with any other trading strategy as confirmation tool for entry decision. Using this indicator as primary source of signals is not recommended due to unstable nature of trading patterns.
ℹ️ If you have questions about this or any other our indicator, please leave it in the comments.
Multi-Fibonacci Trend Average[FibonacciFlux]Multi-Fibonacci Trend Average (MFTA): An Institutional-Grade Trend Confluence Indicator for Discerning Market Participants
My original indicator/Strategy:
Engineered for the sophisticated demands of institutional and advanced traders, the Multi-Fibonacci Trend Average (MFTA) indicator represents a paradigm shift in technical analysis. This meticulously crafted tool is designed to furnish high-definition trend signals within the complexities of modern financial markets. Anchored in the rigorous principles of Fibonacci ratios and augmented by advanced averaging methodologies, MFTA delivers a granular perspective on trend dynamics. Its integration of Multi-Timeframe (MTF) filters provides unparalleled signal robustness, empowering strategic decision-making with a heightened degree of confidence.
MFTA indicator on BTCUSDT 15min chart with 1min RSI and MACD filters enabled. Note the refined signal generation with reduced noise.
MFTA indicator on BTCUSDT 15min chart without MTF filters. While capturing more potential trading opportunities, it also generates a higher frequency of signals, including potential false positives.
Core Innovation: Proprietary Fibonacci-Enhanced Supertrend Averaging Engine
The MFTA indicator’s core innovation lies in its proprietary implementation of Supertrend analysis, strategically fortified by Fibonacci ratios to construct a truly dynamic volatility envelope. Departing from conventional Supertrend methodologies, MFTA autonomously computes not one, but three distinct Supertrend lines. Each of these lines is uniquely parameterized by a specific Fibonacci factor: 0.618 (Weak), 1.618 (Medium/Golden Ratio), and 2.618 (Strong/Extended Fibonacci).
// Fibonacci-based factors for multiple Supertrend calculations
factor1 = input.float(0.618, 'Factor 1 (Weak/Fibonacci)', minval=0.01, step=0.01, tooltip='Factor 1 (Weak/Fibonacci)', group="Fibonacci Supertrend")
factor2 = input.float(1.618, 'Factor 2 (Medium/Golden Ratio)', minval=0.01, step=0.01, tooltip='Factor 2 (Medium/Golden Ratio)', group="Fibonacci Supertrend")
factor3 = input.float(2.618, 'Factor 3 (Strong/Extended Fib)', minval=0.01, step=0.01, tooltip='Factor 3 (Strong/Extended Fib)', group="Fibonacci Supertrend")
This multi-faceted architecture adeptly captures a spectrum of market volatility sensitivities, ensuring a comprehensive assessment of prevailing conditions. Subsequently, the indicator algorithmically synthesizes these disparate Supertrend lines through arithmetic averaging. To achieve optimal signal fidelity and mitigate inherent market noise, this composite average is further refined utilizing an Exponential Moving Average (EMA).
// Calculate average of the three supertends and a smoothed version
superlength = input.int(21, 'Smoothing Length', tooltip='Smoothing Length for Average Supertrend', group="Fibonacci Supertrend")
average_trend = (supertrend1 + supertrend2 + supertrend3) / 3
smoothed_trend = ta.ema(average_trend, superlength)
The resultant ‘Smoothed Trend’ line emerges as a remarkably responsive yet stable trend demarcation, offering demonstrably superior clarity and precision compared to singular Supertrend implementations, particularly within the turbulent dynamics of high-volatility markets.
Elevated Signal Confluence: Integrated Multi-Timeframe (MTF) Validation Suite
MFTA transcends the limitations of conventional trend indicators by incorporating an advanced suite of three independent MTF filters: RSI, MACD, and Volume. These filters function as sophisticated validation protocols, rigorously ensuring that only signals exhibiting a confluence of high-probability factors are brought to the forefront.
1. Granular Lower Timeframe RSI Momentum Filter
The Relative Strength Index (RSI) filter, computed from a user-defined lower timeframe, furnishes critical momentum-based signal validation. By meticulously monitoring RSI dynamics on an accelerated timeframe, traders gain the capacity to evaluate underlying momentum strength with precision, prior to committing to signal execution on the primary chart timeframe.
// --- Lower Timeframe RSI Filter ---
ltf_rsi_filter_enable = input.bool(false, title="Enable RSI Filter", group="MTF Filters", tooltip="Use RSI from lower timeframe as a filter")
ltf_rsi_timeframe = input.timeframe("1", title="RSI Timeframe", group="MTF Filters", tooltip="Timeframe for RSI calculation")
ltf_rsi_length = input.int(14, title="RSI Length", minval=1, group="MTF Filters", tooltip="Length for RSI calculation")
ltf_rsi_threshold = input.int(30, title="RSI Threshold", minval=0, maxval=100, group="MTF Filters", tooltip="RSI value threshold for filtering signals")
2. Convergent Lower Timeframe MACD Trend-Momentum Filter
The Moving Average Convergence Divergence (MACD) filter, also calculated on a lower timeframe basis, introduces a critical layer of trend-momentum convergence confirmation. The bullish signal configuration rigorously mandates that the MACD line be definitively positioned above the Signal line on the designated lower timeframe. This stringent condition ensures a robust indication of converging momentum that aligns synergistically with the prevailing trend identified on the primary timeframe.
// --- Lower Timeframe MACD Filter ---
ltf_macd_filter_enable = input.bool(false, title="Enable MACD Filter", group="MTF Filters", tooltip="Use MACD from lower timeframe as a filter")
ltf_macd_timeframe = input.timeframe("1", title="MACD Timeframe", group="MTF Filters", tooltip="Timeframe for MACD calculation")
ltf_macd_fast_length = input.int(12, title="MACD Fast Length", minval=1, group="MTF Filters", tooltip="Fast EMA length for MACD")
ltf_macd_slow_length = input.int(26, title="MACD Slow Length", minval=1, group="MTF Filters", tooltip="Slow EMA length for MACD")
ltf_macd_signal_length = input.int(9, title="MACD Signal Length", minval=1, group="MTF Filters", tooltip="Signal SMA length for MACD")
3. Definitive Volume Confirmation Filter
The Volume Filter functions as an indispensable arbiter of trade conviction. By establishing a dynamic volume threshold, defined as a percentage relative to the average volume over a user-specified lookback period, traders can effectively ensure that all generated signals are rigorously validated by demonstrably increased trading activity. This pivotal validation step signifies robust market participation, substantially diminishing the potential for spurious or false breakout signals.
// --- Volume Filter ---
volume_filter_enable = input.bool(false, title="Enable Volume Filter", group="MTF Filters", tooltip="Use volume level as a filter")
volume_threshold_percent = input.int(title="Volume Threshold (%)", defval=150, minval=100, group="MTF Filters", tooltip="Minimum volume percentage compared to average volume to allow signal (100% = average)")
These meticulously engineered filters operate in synergistic confluence, requiring all enabled filters to definitively satisfy their pre-defined conditions before a Buy or Sell signal is generated. This stringent multi-layered validation process drastically minimizes the incidence of false positive signals, thereby significantly enhancing entry precision and overall signal reliability.
Intuitive Visual Architecture & Actionable Intelligence
MFTA provides a demonstrably intuitive and visually rich charting environment, meticulously delineating trend direction and momentum through precisely color-coded plots:
Average Supertrend: Thin line, green/red for uptrend/downtrend, immediate directional bias.
Smoothed Supertrend: Bold line, teal/purple for uptrend/downtrend, cleaner, institutionally robust trend.
Dynamic Trend Fill: Green/red fill between Supertrends quantifies trend strength and momentum.
Adaptive Background Coloring: Light green/red background mirrors Smoothed Supertrend direction, holistic trend perspective.
Precision Buy/Sell Signals: ‘BUY’/‘SELL’ labels appear on chart when trend touch and MTF filter confluence are satisfied, facilitating high-conviction trade action.
MFTA indicator applied to BTCUSDT 4-hour chart, showcasing its effectiveness on higher timeframes. The Smoothed Length parameter is increased to 200 for enhanced smoothness on this timeframe, coupled with 1min RSI and Volume filters for signal refinement. This illustrates the indicator's adaptability across different timeframes and market conditions.
Strategic Applications for Institutional Mandates
MFTA’s sophisticated design provides distinct advantages for advanced trading operations and institutional investment mandates. Key strategic applications include:
High-Probability Trend Identification: Fibonacci-averaged Supertrend with MTF filters robustly identifies high-probability trend continuations and reversals, enhancing alpha generation.
Precision Entry/Exit Signals: Volume and momentum-filtered signals enable institutional-grade precision for optimized risk-adjusted returns.
Algorithmic Trading Integration: Clear signal logic facilitates seamless integration into automated trading systems for scalable strategy deployment.
Multi-Asset/Timeframe Versatility: Adaptable parameters ensure applicability across diverse asset classes and timeframes, catering to varied trading mandates.
Enhanced Risk Management: Superior signal fidelity from MTF filters inherently reduces false signals, supporting robust risk management protocols.
Granular Customization and Parameterized Control
MFTA offers unparalleled customization, empowering users to fine-tune parameters for precise alignment with specific trading styles and market conditions. Key adjustable parameters include:
Fibonacci Factors: Adjust Supertrend sensitivity to volatility regimes.
ATR Length: Control volatility responsiveness in Supertrend calculations.
Smoothing Length: Refine Smoothed Trend line responsiveness and noise reduction.
MTF Filter Parameters: Independently configure timeframes, lookback periods, and thresholds for RSI, MACD, and Volume filters for optimal signal filtering.
Disclaimer
MFTA is meticulously engineered for high-quality trend signals; however, no indicator guarantees profit. Market conditions are unpredictable, and trading involves substantial risk. Rigorous backtesting and forward testing across diverse datasets, alongside a comprehensive understanding of the indicator's logic, are essential before live deployment. Past performance is not indicative of future results. MFTA is for informational and analytical purposes only and is not financial or investment advice.
Dow Theory Trend Direction VisualizerJapanese below / 日本語説明は下記
Overview
What is difficult for beginner traders is to identify trend occurrence, continuation and reversal.
This indicator visualizes market direction by changing background colors based on Dow Theory so that traders can visually grasp trends.
Sample chart
Functions
1.MTF Higher High/Lower High/Higher Low/Lower Low(HH/LH/HL/LL)
Indicator shows HH/LH/HL/LL of an upper timeframe(MTF) and those of chart’s timeframe at the same time.
As usual, HH/LH/HL/LL of chart’s timeframe can be used to identify trend continuation based on Dow Theory while MTF HH/LH/HL/LL can be used as support/resistance.
Auto and manual mode for MTF
When you select “Auto” mode, then an upper timeframe will be automatically determined as MTF based on chart’s timeframe. If “Manual “ mode selected, then you need to specify MTF timeframe.
MTF HH/LH/HL/LL are displayed only below the selected MTF timeframe so it will not disturb when you open higher timeframe.
For instance, if you select daily timeframe as MTF, then HH/LH/HL/LL of daily timeframe will be shown on 4 hour or below timeframes.
Auto and manual mode for MTF
When you select “Auto” mode, then an upper timeframe will be automatically determined as MTF based on chart’s timeframe. If “Manual “ mode selected, then you need to specify MTF timeframe.
MTF HH/LH/HL/LL are displayed only below the selected MTF timeframe so it will not disturb when you open higher timeframe.
For instance, if you select daily timeframe as MTF, then HH/LH/HL/LL of daily timeframe will be shown on 4 hour or below timeframes.
Sample chart (AUDJPY 4H + Daily timeframe HH/LH/HL/LL )
In this chart, you can see two different timeframe’s trend.
In 4hour timeframe, a new high recorded as HH and in daily timeframe, lows going up from LL to HL and high going up from LH to HH hence daily chart is uptrend.
Also, you can predict that Daily HH would be respected as resistance line.
2.Visualize trends direction with colors based on HH/LH/HL/LL.
Background color will change based on break up/down of HH/LH/HL/LL.
———————
トレードを習得する上で多くの人が苦手意識を持つ「目線付け」。
この目線付けをダウ理論を元に訓練するためのインジケーターを開発しました。
高値·安値の更新状況に応じて相場の方向性を色で可視化するため、視覚的に目線付けをすることが可能です。
サンプルチャート
ダウ理論による目線付けの二つの方法
これは僕の持論ですが、ダウ理論による目線付けの方法には、「トレンドは明確なシグナルが出るまで継続する」という原則を共通の拠り所とする二つの方法があると考えています。
一つは日本人投資家/トレーダーにも良く知られている押し安値·戻り高値を基準とする方法。そしてもう一つは高値·安値の切り上げ·切り下げのみを基準とする方法です。
このインジケーターは後者の方法で目線を可視化します。
(もちろん押し安値·戻り高値と併用した目線判断にも活用可能です。)
機能
1.上位足とチャートの時間軸両方のHigher High/Lower High/Higher Low/Lower Low(HH/LH/HL/LL)の表示(MTF機能)
上位足タイムフレームのHH/LH/HL/LLとチャートタイムフレームのHH/LH/HL/LLを同時に表示することができます。
チャートタイムフレームのHH/LH/HL/LLはダウ理論に基づくトレンドの継続・反転の判断用に、上位足のHH/LH/HL/LLは上位足での高値・安値の切り上げ/切り下げ判断及びレジスタンス・サポートとして使うことができます。
上位足の選択には自動モードとマニュアルモードが選択可能です。自動モードを選択した場合、チャートのタイムフレームに応じて上位足が自動的に決定されます。マニュアルモードの場合は選択した時間軸が上位足タイムフレームとして適用されます。
上位足のHH/LH/HL/LLは選択したタイムフレーム未満でのみ表示されます。例えば上位足のタイムフレームとして日足を選択した場合、日足のHH/LH/HL/LLは日足未満でのみ表示されます。
サンプルチャート (AUDJPY 4H に日足のHH/LH/HL/LL を表示)
このチャートでは二つの異なるタイムフレームの高値・安値更新状況を一度に把握することができます。
4Hでは高値の切り上げが発生しているため、安値を更新しなければ上昇トレンド確定です。一方日足では安値がLLからHLへ(赤の矢印)、高値がLHからHHへと切り上がり(緑の矢印)、上昇トレンドであることがわかります。
また、この場面では上位足のHHがレジスタンスとして機能する可能性も予測できます。
2.目線の方向を色で可視化
HH/LH/HL/LLの更新状況から目線を判断し、背景色とともに可視化します。
Higher High/Lower High/Higher Low/Lower Lowとは何か?
日本人投資家/トレーダーの中にはあまり馴染みのない方もいるかと思いますので、定義を記載します。
Higher High(HH)
切り上がった高値を意味します。当インジケーターでは一つ前の高値(HH/LH)から切り上がった場合にHHとしています。
Lower High(LH)
切り下がった高値を意味します。Lower Highなのでより低い方の高値という意味です。当インジケーターでは一つ前の高値(HH/LH)から切り下がった場合にLHとしています。
Higher Low(HL)
切り上がった安値を意味します。Higher Lowなのでより高い方の安値という意味です。当インジケーターでは一つ前の安値(HL/LL)から切り上がった場合にHLとしています。
Lower Low(LL)
切り下がった安値を意味します。当インジケーターでは一つ前の安値(HL/LL)から切り下がった場合にLLとしています。
使い方
高値·安値の切り上げ·切り下げの判断及びトレンド継続·転換の判断に活用
LONG SAZB $This strategy combines the use of:
-The MTF EMA to detect trends.
-The MACD to create Long and Short Buy signals.
-The ATR for setting Stop Losses and Take Profits.
This works well with many different crypto and fiat pairs, but it must be optimized for the certain behavior of the currency pair. Its optimal use is strong trends, not so profitable when sideways.
This strategy was developed with the 5-minute Bitcoin / TetherUS Perpetual futures for Binance (Crypto trading platform).
This is the first version, updates will come.
MTF EMA
The MTF EMA (Multi-TimeFrame Exponential Moving Average ) is a great indicator to see the overall trend of an asset, you can see the status of a moving average for all timeframes on one chart.
Normally when you check a moving average of the price it's on some specific timeframe. The MTF EMA allows you to see moving average status for all timeframes in a single place. You can simplify your visual representation and know if an asset or a pair is overall bullish or bearish , with this improving your entry and exit signal decisions.
This strategy uses the 1 hour and 15 min EMA with different values. Experimenting with these is important to understand the currency pairs.
Up trend:
Price (source) > 1h MTF and 1h MTF < 15m MTF
Down trend:
Price (source) < 1h MTF and 1h MTF > 15m MTF
MACD
Using MACD (Moving Average Convergence Divergence) as a reference, the strategy identifies when the MACD line crosses over (a factor in a buy signal) and under (a factor in a Sell signal) the Signal line. This shows a shift in positive (cross over) and negative (cross under) of a security.
This strategy uses values of 12 on the Fast MA, 26 on the Slow MA, and 9 in the Signal Line MA.
The optional ribbon is for a more visual representation of the MACD .
The MACD and Signal line have the option to have a crossover limit to cancel buy signals depending on the value they crossed at according to the 0 line of the MACD . This is to avoid fake signals.
ATR TP/SL
Using ATR to define the stop loss and take profit is that it should allow you to set them at a realistic distance from price. Simply put, a pair experiencing a high level of volatility has a higher ATR, and a low volatility stock has a lower ATR.
The indicator does not indicate the price direction; rather it is used primarily to measure volatility caused by gaps and limit up or down moves. All this is used to allow the Stop Loss “breathing space” so trades don't get unnecessarily stopped, and allow the Take Profit to be at a more realistic, flexible, and profitable price.
This strategy uses different values for Longs and Shorts depending on the market behavior, optionally analyzes swing lows and highs according to the value of the candle lookback and sets the ATR depending on them, they must be tested to optimum. Also the ATR has a multiplicator to find the most efficient price levels.
Trade Setup
Shorts and Longs can be turned OFF and ON.
There is an optional maximum % loss for trades, the trade is closed when the high-low average of a candle is over this %.
Longs
This strategy indicates a Long Buy signal when these conditions are met:
- Uptrend signal from MTF EMA .
- MACD Crossover of Signal ( MACD > Signal) while being under the MACD crossover limit.
A Long exit signal is indicated when:
- Price crosses over the ATR Take Profit limit.
- Price crosses under the ATR Stop Loss limit.
- Price crosses under optional max % long loss.
Shorts
This strategy indicates a Long Buy signal when these conditions are met:
- Downtrend signal from MTF EMA .
- Signal Crossover of MACD ( MACD < Signal) while being over the MACD crossover limit.
A Short exit signal is indicated when:
- Price crosses under the ATR Take Profit limit.
- Price crosses over the ATR Stop Loss limit.
- Price crosses over optional max % short loss.
Disclaimer
1. I am not a licensed financial advisor or broker dealer. I do not tell you when or what to buy or sell. I developed this software which enables you to execute manual or automated trades multiple trades using TradingView. The software allows you to set the criteria you want for entering and exiting trades.
2. Do not trade with money you cannot afford to lose.
3. I do not guarantee consistent profits or that anyone can make money with no effort. I am not selling the holy grail.
4. Every system can have winning and losing streaks.
5. Money management plays a large role in the results of your trading. For example: lot size, account size, broker leverage, and broker margin call rules all have an effect on results. Also, your Take Profit and Stop Loss settings for individual pair trades and for overall account equity have a major impact on results. If you are new to trading and do not understand these items, then I recommend you seek education materials to further your knowledge.
**YOU NEED TO FIND AND USE THE TRADING SYSTEM THAT WORKS BEST FOR YOU AND YOUR TRADING TOLERANCE.**
**I HAVE PROVIDED NOTHING MORE THAN A TOOL WITH OPTIONS FOR YOU TO TRADE WITH THIS PROGRAM ON TRADINGVIEW.**
I am 100 % open to suggestions to improve the script.
If you encounter any problems or would like to see the script, share them with me at "steven17zmuda@gmail.com".
Items in this description text may not be written directly by me, but may be taken from education sites.
`security()` revisited [PineCoders]NOTE
The non-repainting technique in this publication that relies on bar states is now deprecated, as we have identified inconsistencies that undermine its credibility as a universal solution. The outputs that use the technique are still available for reference in this publication. However, we do not endorse its usage. See this publication for more information about the current best practices for requesting HTF data and why they work.
█ OVERVIEW
This script presents a new function to help coders use security() in both repainting and non-repainting modes. We revisit this often misunderstood and misused function, and explain its behavior in different contexts, in the hope of dispelling some of the coder lure surrounding it. The function is incredibly powerful, yet misused, it can become a dangerous WMD and an instrument of deception, for both coders and traders.
We will discuss:
• How to use our new `f_security()` function.
• The behavior of Pine code and security() on the three very different types of bars that make up any chart.
• Why what you see on a chart is a simulation, and should be taken with a grain of salt.
• Why we are presenting a new version of a function handling security() calls.
• Other topics of interest to coders using higher timeframe (HTF) data.
█ WARNING
We have tried to deliver a function that is simple to use and will, in non-repainting mode, produce reliable results for both experienced and novice coders. If you are a novice coder, stick to our recommendations to avoid getting into trouble, and DO NOT change our `f_security()` function when using it. Use `false` as the function's last argument and refrain from using your script at smaller timeframes than the chart's. To call our function to fetch a non-repainting value of close from the 1D timeframe, use:
f_security(_sym, _res, _src, _rep) => security(_sym, _res, _src )
previousDayClose = f_security(syminfo.tickerid, "D", close, false)
If that's all you're interested in, you are done.
If you choose to ignore our recommendation and use the function in repainting mode by changing the `false` in there for `true`, we sincerely hope you read the rest of our ramblings before you do so, to understand the consequences of your choice.
Let's now have a look at what security() is showing you. There is a lot to cover, so buckle up! But before we dig in, one last thing.
What is a chart?
A chart is a graphic representation of events that occur in markets. As any representation, it is not reality, but rather a model of reality. As Scott Page eloquently states in The Model Thinker : "All models are wrong; many are useful". Having in mind that both chart bars and plots on our charts are imperfect and incomplete renderings of what actually occurred in realtime markets puts us coders in a place from where we can better understand the nature of, and the causes underlying the inevitable compromises necessary to build the data series our code uses, and print chart bars.
Traders or coders complaining that charts do not reflect reality act like someone who would complain that the word "dog" is not a real dog. Let's recognize that we are dealing with models here, and try to understand them the best we can. Sure, models can be improved; TradingView is constantly improving the quality of the information displayed on charts, but charts nevertheless remain mere translations. Plots of data fetched through security() being modelized renderings of what occurs at higher timeframes, coders will build more useful and reliable tools for both themselves and traders if they endeavor to perfect their understanding of the abstractions they are working with. We hope this publication helps you in this pursuit.
█ FEATURES
This script's "Inputs" tab has four settings:
• Repaint : Determines whether the functions will use their repainting or non-repainting mode.
Note that the setting will not affect the behavior of the yellow plot, as it always repaints.
• Source : The source fetched by the security() calls.
• Timeframe : The timeframe used for the security() calls. If it is lower than the chart's timeframe, a warning appears.
• Show timeframe reminder : Displays a reminder of the timeframe after the last bar.
█ THE CHART
The chart shows two different pieces of information and we want to discuss other topics in this section, so we will be covering:
A — The type of chart bars we are looking at, indicated by the colored band at the top.
B — The plots resulting of calling security() with the close price in different ways.
C — Points of interest on the chart.
A — Chart bars
The colored band at the top shows the three types of bars that any chart on a live market will print. It is critical for coders to understand the important distinctions between each type of bar:
1 — Gray : Historical bars, which are bars that were already closed when the script was run on them.
2 — Red : Elapsed realtime bars, i.e., realtime bars that have run their course and closed.
The state of script calculations showing on those bars is that of the last time they were made, when the realtime bar closed.
3 — Green : The realtime bar. Only the rightmost bar on the chart can be the realtime bar at any given time, and only when the chart's market is active.
Refer to the Pine User Manual's Execution model page for a more detailed explanation of these types of bars.
B — Plots
The chart shows the result of letting our 5sec chart run for a few minutes with the following settings: "Repaint" = "On" (the default is "Off"), "Source" = `close` and "Timeframe" = 1min. The five lines plotted are the following. They have progressively thinner widths:
1 — Yellow : A normal, repainting security() call.
2 — Silver : Our recommended security() function.
3 — Fuchsia : Our recommended way of achieving the same result as our security() function, for cases when the source used is a function returning a tuple.
4 — White : The method we previously recommended in our MTF Selection Framework , which uses two distinct security() calls.
5 — Black : A lame attempt at fooling traders that MUST be avoided.
All lines except the first one in yellow will vary depending on the "Repaint" setting in the script's inputs. The first plot does not change because, contrary to all other plots, it contains no conditional code to adapt to repainting/no-repainting modes; it is a simple security() call showing its default behavior.
C — Points of interest on the chart
Historical bars do not show actual repainting behavior
To appreciate what a repainting security() call will plot in realtime, one must look at the realtime bar and at elapsed realtime bars, the bars where the top line is green or red on the chart at the top of this page. There you can see how the plots go up and down, following the close value of each successive chart bar making up a single bar of the higher timeframe. You would see the same behavior in "Replay" mode. In the realtime bar, the movement of repainting plots will vary with the source you are fetching: open will not move after a new timeframe opens, low and high will change when a new low or high are found, close will follow the last feed update. If you are fetching a value calculated by a function, it may also change on each update.
Now notice how different the plots are on historical bars. There, the plot shows the close of the previously completed timeframe for the whole duration of the current timeframe, until on its last bar the price updates to the current timeframe's close when it is confirmed (if the timeframe's last bar is missing, the plot will only update on the next timeframe's first bar). That last bar is the only one showing where the plot would end if that timeframe's bars had elapsed in realtime. If one doesn't understand this, one cannot properly visualize how his script will calculate in realtime when using repainting. Additionally, as published scripts typically show charts where the script has only run on historical bars, they are, in fact, misleading traders who will naturally assume the script will behave the same way on realtime bars.
Non-repainting plots are more accurate on historical bars
Now consider this chart, where we are using the same settings as on the chart used to publish this script, except that we have turned "Repainting" off this time:
The yellow line here is our reference, repainting line, so although repainting is turned off, it is still repainting, as expected. Because repainting is now off, however, plots on historical bars show the previous timeframe's close until the first bar of a new timeframe, at which point the plot updates. This correctly reflects the behavior of the script in the realtime bar, where because we are offsetting the series by one, we are always showing the previously calculated—and thus confirmed—higher timeframe value. This means that in realtime, we will only get the previous timeframe's values one bar after the timeframe's last bar has elapsed, at the open of the first bar of a new timeframe. Historical and elapsed realtime bars will not actually show this nuance because they reflect the state of calculations made on their close , but we can see the plot update on that bar nonetheless.
► This more accurate representation on historical bars of what will happen in the realtime bar is one of the two key reasons why using non-repainting data is preferable.
The other is that in realtime, your script will be using more reliable data and behave more consistently.
Misleading plots
Valiant attempts by coders to show non-repainting, higher timeframe data updating earlier than on our chart are futile. If updates occur one bar earlier because coders use the repainting version of the function, then so be it, but they must then also accept that their historical bars are not displaying information that is as accurate. Not informing script users of this is to mislead them. Coders should also be aware that if they choose to use repainting data in realtime, they are sacrificing reliability to speed and may be running a strategy that behaves very differently from the one they backtested, thus invalidating their tests.
When, however, coders make what are supposed to be non-repainting plots plot artificially early on historical bars, as in examples "c4" and "c5" of our script, they would want us to believe they have achieved the miracle of time travel. Our understanding of the current state of science dictates that for now, this is impossible. Using such techniques in scripts is plainly misleading, and public scripts using them will be moderated. We are coding trading tools here—not video games. Elementary ethics prescribe that we should not mislead traders, even if it means not being able to show sexy plots. As the great Feynman said: You should not fool the layman when you're talking as a scientist.
You can readily appreciate the fantasy plot of "c4", the thinnest line in black, by comparing its supposedly non-repainting behavior between historical bars and realtime bars. After updating—by miracle—as early as the wide yellow line that is repainting, it suddenly moves in a more realistic place when the script is running in realtime, in synch with our non-repainting lines. The "c5" version does not plot on the chart, but it displays in the Data Window. It is even worse than "c4" in that it also updates magically early on historical bars, but goes on to evaluate like the repainting yellow line in realtime, except one bar late.
Data Window
The Data Window shows the values of the chart's plots, then the values of both the inside and outside offsets used in our calculations, so you can see them change bar by bar. Notice their differences between historical and elapsed realtime bars, and the realtime bar itself. If you do not know about the Data Window, have a look at this essential tool for Pine coders in the Pine User Manual's page on Debugging . The conditional expressions used to calculate the offsets may seem tortuous but their objective is quite simple. When repainting is on, we use this form, so with no offset on all bars:
security(ticker, i_timeframe, i_source )
// which is equivalent to:
security(ticker, i_timeframe, i_source)
When repainting is off, we use two different and inverted offsets on historical bars and the realtime bar:
// Historical bars:
security(ticker, i_timeframe, i_source )
// Realtime bar (and thus, elapsed realtime bars):
security(ticker, i_timeframe, i_source )
The offsets in the first line show how we prevent repainting on historical bars without the need for the `lookahead` parameter. We use the value of the function call on the chart's previous bar. Since values between the repainting and non-repainting versions only differ on the timeframe's last bar, we can use the previous value so that the update only occurs on the timeframe's first bar, as it will in realtime when not repainting.
In the realtime bar, we use the second call, where the offsets are inverted. This is because if we used the first call in realtime, we would be fetching the value of the repainting function on the previous bar, so the close of the last bar. What we want, instead, is the data from the previous, higher timeframe bar , which has elapsed and is confirmed, and thus will not change throughout realtime bars, except on the first constituent chart bar belonging to a new higher timeframe.
After the offsets, the Data Window shows values for the `barstate.*` variables we use in our calculations.
█ NOTES
Why are we revisiting security() ?
For four reasons:
1 — We were seeing coders misuse our `f_secureSecurity()` function presented in How to avoid repainting when using security() .
Some novice coders were modifying the offset used with the history-referencing operator in the function, making it zero instead of one,
which to our horror, caused look-ahead bias when used with `lookahead = barmerge.lookahead_on`.
We wanted to present a safer function which avoids introducing the dreaded "lookahead" in the scripts of unsuspecting coders.
2 — The popularity of security() in screener-type scripts where coders need to use the full 40 calls allowed per script made us want to propose
a solid method of allowing coders to offer a repainting/no-repainting choice to their script users with only one security() call.
3 — We wanted to explain why some alternatives we see circulating are inadequate and produce misleading behavior.
4 — Our previous publication on security() focused on how to avoid repainting, yet many other considerations worthy of attention are not related to repainting.
Handling tuples
When sending function calls that return tuples with security() , our `f_security()` function will not work because Pine does not allow us to use the history-referencing operator with tuple return values. The solution is to integrate the inside offset to your function's arguments, use it to offset the results the function is returning, and then add the outside offset in a reassignment of the tuple variables, after security() returns its values to the script, as we do in our "c2" example.
Does it repaint?
We're pretty sure Wilder was not asked very often if RSI repainted. Why? Because it wasn't in fashion—and largely unnecessary—to ask that sort of question in the 80's. Many traders back then used daily charts only, and indicator values were calculated at the day's close, so everybody knew what they were getting. Additionally, indicator values were calculated by generally reputable outfits or traders themselves, so data was pretty reliable. Today, almost anybody can write a simple indicator, and the programming languages used to write them are complex enough for some coders lacking the caution, know-how or ethics of the best professional coders, to get in over their heads and produce code that does not work the way they think it does.
As we hope to have clearly demonstrated, traders do have legitimate cause to ask if MTF scripts repaint or not when authors do not specify it in their script's description.
► We recommend that authors always use our `f_security()` with `false` as the last argument to avoid repainting when fetching data dependent on OHLCV information. This is the only way to obtain reliable HTF data. If you want to offer users a choice, make non-repainting mode the default, so that if users choose repainting, it will be their responsibility. Non-repainting security() calls are also the only way for scripts to show historical behavior that matches the script's realtime behavior, so you are not misleading traders. Additionally, non-repainting HTF data is the only way that non-repainting alerts can be configured on MTF scripts, as users of MTF scripts cannot prevent their alerts from repainting by simply configuring them to trigger on the bar's close.
Data feeds
A chart at one timeframe is made up of multiple feeds that mesh seamlessly to form one chart. Historical bars can use one feed, and the realtime bar another, which brokers/exchanges can sometimes update retroactively so that elapsed realtime bars will reappear with very slight modifications when the browser's tab is refreshed. Intraday and daily chart prices also very often originate from different feeds supplied by brokers/exchanges. That is why security() calls at higher timeframes may be using a completely different feed than the chart, and explains why the daily high value, for example, can vary between timeframes. Volume information can also vary considerably between intraday and daily feeds in markets like stocks, because more volume information becomes available at the end of day. It is thus expected behavior—and not a bug—to see data variations between timeframes.
Another point to keep in mind concerning feeds it that when you are using a repainting security() plot in realtime, you will sometimes see discrepancies between its plot and the realtime bars. An artefact revealing these inconsistencies can be seen when security() plots sometimes skip a realtime chart bar during periods of high market activity. This occurs because of races between the chart and the security() feeds, which are being monitored by independent, concurrent processes. A blue arrow on the chart indicates such an occurrence. This is another cause of repainting, where realtime bar-building logic can produce different outcomes on one closing price. It is also another argument supporting our recommendation to use non-repainting data.
Alternatives
There is an alternative to using security() in some conditions. If all you need are OHLC prices of a higher timeframe, you can use a technique like the one Duyck demonstrates in his security free MTF example - JD script. It has the great advantage of displaying actual repainting values on historical bars, which mimic the code's behavior in the realtime bar—or at least on elapsed realtime bars, contrary to a repainting security() plot. It has the disadvantage of using the current chart's TF data feed prices, whereas higher timeframe data feeds may contain different and more reliable prices when they are compiled at the end of the day. In its current state, it also does not allow for a repainting/no-repainting choice.
When `lookahead` is useful
When retrieving non-price data, or in special cases, for experiments, it can be useful to use `lookahead`. One example is our Backtesting on Non-Standard Charts: Caution! script where we are fetching prices of standard chart bars from non-standard charts.
Warning users
Normal use of security() dictates that it only be used at timeframes equal to or higher than the chart's. To prevent users from inadvertently using your script in contexts where it will not produce expected behavior, it is good practice to warn them when their chart is on a higher timeframe than the one in the script's "Timeframe" field. Our `f_tfReminderAndErrorCheck()` function in this script does that. It can also print a reminder of the higher timeframe. It uses one security() call.
Intrabar timeframes
security() is not supported by TradingView when used with timeframes lower than the chart's. While it is still possible to use security() at intrabar timeframes, it then behaves differently. If no care is taken to send a function specifically written to handle the successive intrabars, security() will return the value of the last intrabar in the chart's timeframe, so the last 1H bar in the current 1D bar, if called at "60" from a "D" chart timeframe. If you are an advanced coder, see our FAQ entry on the techniques involved in processing intrabar timeframes. Using intrabar timeframes comes with important limitations, which you must understand and explain to traders if you choose to make scripts using the technique available to others. Special care should also be taken to thoroughly test this type of script. Novice coders should refrain from getting involved in this.
█ TERMINOLOGY
Timeframe
Timeframe , interval and resolution are all being used to name the concept of timeframe. We have, in the past, used "timeframe" and "resolution" more or less interchangeably. Recently, members from the Pine and PineCoders team have decided to settle on "timeframe", so from hereon we will be sticking to that term.
Multi-timeframe (MTF)
Some coders use "multi-timeframe" or "MTF" to name what are in fact "multi-period" calculations, as when they use MAs of progressively longer periods. We consider that a misleading use of "multi-timeframe", which should be reserved for code using calculations actually made from another timeframe's context and using security() , safe for scripts like Duyck's one mentioned earlier, or TradingView's Relative Volume at Time , which use a user-selected timeframe as an anchor to reset calculations. Calculations made at the chart's timeframe by varying the period of MAs or other rolling window calculations should be called "multi-period", and "MTF-anchored" could be used for scripts that reset calculations on timeframe boundaries.
Colophon
Our script was written using the PineCoders Coding Conventions for Pine .
The description was formatted using the techniques explained in the How We Write and Format Script Descriptions PineCoders publication.
Snippets were lifted from our MTF Selection Framework , then massaged to create the `f_tfReminderAndErrorCheck()` function.
█ THANKS
Thanks to apozdnyakov for his help with the innards of security() .
Thanks to bmistiaen for proofreading our description.
Look first. Then leap.
FvgPanel█ OVERVIEW
This library provides functionalities for creating and managing a display panel within a Pine Script™ indicator. Its primary purpose is to offer a structured way to present Fair Value Gap (FVG) information, specifically the nearest bullish and bearish FVG levels across different timeframes (Current, MTF, HTF), directly on the chart. The library handles the table's structure, header initialization, and dynamic cell content updates.
█ CONCEPTS
The core of this library revolves around presenting summarized FVG data in a clear, tabular format. Key concepts include:
FVG Data Aggregation and Display
The panel is designed to show at-a-glance information about the closest active FVG mitigation levels. It doesn't calculate these FVGs itself but relies on the main script to provide this data. The panel is structured with columns for timeframes (TF), Bullish FVGs, and Bearish FVGs, and rows for "Current" (LTF), "MTF" (Medium Timeframe), and "HTF" (High Timeframe).
The `panelData` User-Defined Type (UDT)
To facilitate the transfer of information to be displayed, the library defines a UDT named `panelData`. This structure is central to the library's operation and is designed to hold all necessary values for populating the panel's data cells for each relevant FVG. Its fields include:
Price levels for the nearest bullish and bearish FVGs for LTF, MTF, and HTF (e.g., `nearestBullMitLvl`, `nearestMtfBearMitLvl`).
Boolean flags to indicate if these FVGs are classified as "Large Volume" (LV) (e.g., `isNearestBullLV`, `isNearestMtfBearLV`).
Color information for the background and text of each data cell, allowing for conditional styling based on the FVG's status or proximity (e.g., `ltfBullBgColor`, `mtfBearTextColor`).
The design of `panelData` allows the main script to prepare all display-related data and styling cues in one object, which is then passed to the `updatePanel` function for rendering. This separation of data preparation and display logic keeps the library focused on its presentation task.
Visual Cues and Formatting
Price Formatting: Price levels are formatted to match the instrument's minimum tick size using an internal `formatPrice` helper function, ensuring consistent and accurate display.
Large FVG Icon: If an FVG is marked as a "Large Volume" FVG in the `panelData` object, a user-specified icon (e.g., an emoji) is prepended to its price level in the panel, providing an immediate visual distinction.
Conditional Styling: The background and text colors for each FVG level displayed in the panel can be individually controlled via the `panelData` object, enabling the main script to implement custom styling rules (e.g., highlighting the overall nearest FVG across all timeframes).
Handling Missing Data: If no FVG data is available for a particular cell (i.e., the corresponding level in `panelData` is `na`), the panel displays "---" and uses a specified background color for "Not Available" cells.
█ CALCULATIONS AND USE
Using the `FvgPanel` typically involves a two-stage process: initialization and dynamic updates.
Step 1: Panel Creation
First, an instance of the panel table is created once, usually during the script's initial setup. This is done using the `createPanel` function.
Call `createPanel()` with parameters defining its position on the chart, border color, border width, header background color, header text color, and header text size.
This function initializes the table with three columns ("TF", "Bull FVG", "Bear FVG") and three data rows labeled "Current", "MTF", and "HTF", plus a header row.
Store the returned `table` object in a `var` variable to persist it across bars.
// Example:
var table infoPanel = na
if barstate.isfirst
infoPanel := panel.createPanel(
position.top_right,
color.gray,
1,
color.new(color.gray, 50),
color.white,
size.small
)
Step 2: Panel Updates
On each bar, or whenever the FVG data changes (typically on `barstate.islast` or `barstate.isrealtime` for efficiency), the panel's content needs to be refreshed. This is done using the `updatePanel` function.
Populate an instance of the `panelData` UDT with the latest FVG information. This includes setting the nearest bullish/bearish mitigation levels for LTF, MTF, and HTF, their LV status, and their desired background and text colors.
Call `updatePanel()`, passing the persistent `table` object (from Step 1), the populated `panelData` object, the icon string for LV FVGs, the default text color for FVG levels, the background color for "N/A" cells, and the general text size for the data cells.
The `updatePanel` function will then clear previous data and fill the table cells with the new values and styles provided in the `panelData` object.
// Example (inside a conditional block like 'if barstate.islast'):
var panelData fvgDisplayData = panelData.new()
// ... (logic to populate fvgDisplayData fields) ...
// fvgDisplayData.nearestBullMitLvl = ...
// fvgDisplayData.ltfBullBgColor = ...
// ... etc.
if not na(infoPanel)
panel.updatePanel(
infoPanel,
fvgDisplayData,
"🔥", // LV FVG Icon
color.white,
color.new(color.gray, 70), // NA Cell Color
size.small
)
This workflow ensures that the panel is drawn only once and its cells are efficiently updated as new data becomes available.
█ NOTES
Data Source: This library is solely responsible for the visual presentation of FVG data in a table. It does not perform any FVG detection or calculation. The calling script must compute or retrieve the FVG levels, LV status, and desired styling to populate the `panelData` object.
Styling Responsibility: While `updatePanel` applies colors passed via the `panelData` object, the logic for *determining* those colors (e.g., highlighting the closest FVG to the current price) resides in the calling script.
Performance: The library uses `table.cell()` to update individual cells, which is generally more efficient than deleting and recreating the table on each update. However, the frequency of `updatePanel` calls should be managed by the main script (e.g., using `barstate.islast` or `barstate.isrealtime`) to avoid excessive processing on historical bars.
`series float` Handling: The price level fields within the `panelData` UDT (e.g., `nearestBullMitLvl`) can accept `series float` values, as these are typically derived from price data. The internal `formatPrice` function correctly handles `series float` for display.
Dependencies: The `FvgPanel` itself is self-contained and does not import other user libraries. It uses standard Pine Script™ table and string functionalities.
█ EXPORTED TYPES
panelData
Represents the data structure for populating the FVG information panel.
Fields:
nearestBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point (bottom for bull) on the LTF.
isNearestBullLV (series bool) : True if the nearest bullish FVG on the LTF is a Large Volume FVG.
ltfBullBgColor (series color) : Background color for the LTF bullish FVG cell in the panel.
ltfBullTextColor (series color) : Text color for the LTF bullish FVG cell in the panel.
nearestBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point (top for bear) on the LTF.
isNearestBearLV (series bool) : True if the nearest bearish FVG on the LTF is a Large Volume FVG.
ltfBearBgColor (series color) : Background color for the LTF bearish FVG cell in the panel.
ltfBearTextColor (series color) : Text color for the LTF bearish FVG cell in the panel.
nearestMtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the MTF.
isNearestMtfBullLV (series bool) : True if the nearest bullish FVG on the MTF is a Large Volume FVG.
mtfBullBgColor (series color) : Background color for the MTF bullish FVG cell.
mtfBullTextColor (series color) : Text color for the MTF bullish FVG cell.
nearestMtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the MTF.
isNearestMtfBearLV (series bool) : True if the nearest bearish FVG on the MTF is a Large Volume FVG.
mtfBearBgColor (series color) : Background color for the MTF bearish FVG cell.
mtfBearTextColor (series color) : Text color for the MTF bearish FVG cell.
nearestHtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the HTF.
isNearestHtfBullLV (series bool) : True if the nearest bullish FVG on the HTF is a Large Volume FVG.
htfBullBgColor (series color) : Background color for the HTF bullish FVG cell.
htfBullTextColor (series color) : Text color for the HTF bullish FVG cell.
nearestHtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the HTF.
isNearestHtfBearLV (series bool) : True if the nearest bearish FVG on the HTF is a Large Volume FVG.
htfBearBgColor (series color) : Background color for the HTF bearish FVG cell.
htfBearTextColor (series color) : Text color for the HTF bearish FVG cell.
█ EXPORTED FUNCTIONS
createPanel(position, borderColor, borderWidth, headerBgColor, headerTextColor, headerTextSize)
Creates and initializes the FVG information panel (table). Sets up the header rows and timeframe labels.
Parameters:
position (simple string) : The position of the panel on the chart (e.g., position.top_right). Uses position.* constants.
borderColor (simple color) : The color of the panel's border.
borderWidth (simple int) : The width of the panel's border.
headerBgColor (simple color) : The background color for the header cells.
headerTextColor (simple color) : The text color for the header cells.
headerTextSize (simple string) : The text size for the header cells (e.g., size.small). Uses size.* constants.
Returns: The newly created table object representing the panel.
updatePanel(panelTable, data, lvIcon, defaultTextColor, naCellColor, textSize)
Updates the content of the FVG information panel with the latest FVG data.
Parameters:
panelTable (table) : The table object representing the panel to be updated.
data (panelData) : An object containing the FVG data to display.
lvIcon (simple string) : The icon (e.g., emoji) to display next to Large Volume FVGs.
defaultTextColor (simple color) : The default text color for FVG levels if not highlighted.
naCellColor (simple color) : The background color for cells where no FVG data is available ("---").
textSize (simple string) : The text size for the FVG level data (e.g., size.small).
Returns: _void
Adaptive Fibonacci Pullback System -FibonacciFluxAdaptive Fibonacci Pullback System (AFPS) - FibonacciFlux
This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Original concepts by FibonacciFlux.
Abstract
The Adaptive Fibonacci Pullback System (AFPS) presents a sophisticated, institutional-grade algorithmic strategy engineered for high-probability trend pullback entries. Developed by FibonacciFlux, AFPS uniquely integrates a proprietary Multi-Fibonacci Supertrend engine (0.618, 1.618, 2.618 ratios) for harmonic volatility assessment, an Adaptive Moving Average (AMA) Channel providing dynamic market context, and a synergistic Multi-Timeframe (MTF) filter suite (RSI, MACD, Volume). This strategy transcends simple indicator combinations through its strict, multi-stage confluence validation logic. Historical simulations suggest that specific MTF filter configurations can yield exceptional performance metrics, potentially achieving Profit Factors exceeding 2.6 , indicative of institutional-level potential, while maintaining controlled risk under realistic trading parameters (managed equity risk, commission, slippage).
4 hourly MTF filtering
1. Introduction: Elevating Pullback Trading with Adaptive Confluence
Traditional pullback strategies often struggle with noise, false signals, and adapting to changing market dynamics. AFPS addresses these challenges by introducing a novel framework grounded in Fibonacci principles and adaptive logic. Instead of relying on static levels or single confirmations, AFPS seeks high-probability pullback entries within established trends by validating signals through a rigorous confluence of:
Harmonic Volatility Context: Understanding the trend's stability and potential turning points using the unique Multi-Fibonacci Supertrend.
Adaptive Market Structure: Assessing the prevailing trend regime via the AMA Channel.
Multi-Dimensional Confirmation: Filtering signals with lower-timeframe Momentum (RSI), Trend Alignment (MACD), and Market Conviction (Volume) using the MTF suite.
The objective is to achieve superior signal quality and adaptability, moving beyond conventional pullback methodologies.
2. Core Methodology: Synergistic Integration
AFPS's effectiveness stems from the engineered synergy between its core components:
2.1. Multi-Fibonacci Supertrend Engine: Utilizes specific Fibonacci ratios (0.618, 1.618, 2.618) applied to ATR, creating a multi-layered volatility envelope potentially resonant with market harmonics. The averaged and EMA-smoothed result (`smoothed_supertrend`) provides a robust, dynamic trend baseline and context filter.
// Key Components: Multi-Fibonacci Supertrend & Smoothing
average_supertrend = (supertrend1 + supertrend2 + supertrend3) / 3
smoothed_supertrend = ta.ema(average_supertrend, st_smooth_length)
2.2. Adaptive Moving Average (AMA) Channel: Provides dynamic market context. The `ama_midline` serves as a key filter in the entry logic, confirming the broader trend bias relative to adaptive price action. Extended Fibonacci levels derived from the channel width offer potential dynamic S/R zones.
// Key Component: AMA Midline
ama_midline = (ama_high_band + ama_low_band) / 2
2.3. Multi-Timeframe (MTF) Filter Suite: An optional but powerful validation layer (RSI, MACD, Volume) assessed on a lower timeframe. Acts as a **validation cascade** – signals must pass all enabled filters simultaneously.
2.4. High-Confluence Entry Logic: The core innovation. A pullback entry requires a specific sequence and validation:
Price interaction with `average_supertrend` and recovery above/below `smoothed_supertrend`.
Price confirmation relative to the `ama_midline`.
Simultaneous validation by all enabled MTF filters.
// Simplified Long Entry Logic Example (incorporates key elements)
long_entry_condition = enable_long_positions and
(low < average_supertrend and close > smoothed_supertrend) and // Pullback & Recovery
(close > ama_midline and close > ama_midline) and // AMA Confirmation
(rsi_filter_long_ok and macd_filter_long_ok and volume_filter_ok) // MTF Validation
This strict, multi-stage confluence significantly elevates signal quality compared to simpler pullback approaches.
1hourly filtering
3. Realistic Implementation and Performance Potential
AFPS is designed for practical application, incorporating realistic defaults and highlighting performance potential with crucial context:
3.1. Realistic Default Strategy Settings:
The script includes responsible default parameters:
strategy('Adaptive Fibonacci Pullback System - FibonacciFlux', shorttitle = "AFPS", ...,
initial_capital = 10000, // Accessible capital
default_qty_type = strategy.percent_of_equity, // Equity-based risk
default_qty_value = 4, // Default 4% equity risk per initial trade
commission_type = strategy.commission.percent,
commission_value = 0.03, // Realistic commission
slippage = 2, // Realistic slippage
pyramiding = 2 // Limited pyramiding allowed
)
Note: The default 4% risk (`default_qty_value = 4`) requires careful user assessment and adjustment based on individual risk tolerance.
3.2. Historical Performance Insights & Institutional Potential:
Backtesting provides insights into historical behavior under specific conditions (always specify Asset/Timeframe/Dates when sharing results):
Default Performance Example: With defaults, historical tests might show characteristics like Overall PF ~1.38, Max DD ~1.16%, with potential Long/Short performance variance (e.g., Long PF 1.6+, Short PF < 1).
Optimized MTF Filter Performance: Crucially, historical simulations demonstrate that meticulous configuration of the MTF filters (particularly RSI and potentially others depending on market) can significantly enhance performance. Under specific, optimized MTF filter settings combined with appropriate risk management (e.g., 7.5% risk), historical tests have indicated the potential to achieve **Profit Factors exceeding 2.6**, alongside controlled drawdowns (e.g., ~1.32%). This level of performance, if consistently achievable (which requires ongoing adaptation), aligns with metrics often sought in institutional trading environments.
Disclaimer Reminder: These results are strictly historical simulations. Past performance does not guarantee future results. Achieving high performance requires careful parameter tuning, adaptation to changing markets, and robust risk management.
3.3. Emphasizing Risk Management:
Effective use of AFPS mandates active risk management. Utilize the built-in Stop Loss, Take Profit, and Trailing Stop features. The `pyramiding = 2` setting requires particularly diligent oversight. Do not rely solely on default settings.
4. Conclusion: Advancing Trend Pullback Strategies
The Adaptive Fibonacci Pullback System (AFPS) offers a sophisticated, theoretically grounded, and highly adaptable framework for identifying and executing high-probability trend pullback trades. Its unique blend of Fibonacci resonance, adaptive context, and multi-dimensional MTF filtering represents a significant advancement over conventional methods. While requiring thoughtful implementation and risk management, AFPS provides discerning traders with a powerful tool potentially capable of achieving institutional-level performance characteristics under optimized conditions.
Acknowledgments
Developed by FibonacciFlux. Inspired by principles of Fibonacci analysis, adaptive averaging, and multi-timeframe confirmation techniques explored within the trading community.
Disclaimer
Trading involves substantial risk. AFPS is an analytical tool, not a guarantee of profit. Past performance is not indicative of future results. Market conditions change. Users are solely responsible for their decisions and risk management. Thorough testing is essential. Deploy at your own considered risk.
GOD Complex Analysis Table By QTX Algo SystemsGOD Complex Analysis Table by QTX Algo Systems
Overview
The GOD Complex Analysis Table is a powerful visual companion for traders using the GOD Complex ecosystem. It displays detailed confluence scores for each trade type (Reversal Long, Reversal Short, Continuation Long, Continuation Short), offering a breakdown of required vs. extra signals, as well as multi-timeframe (MTF) scores and bias.
This tool is designed to help discretionary traders better understand how multiple conditions across timeframes align to support high-quality trade setups. It is not a standalone signal generator but rather an advanced diagnostic table that reveals the logic driving the GOD Complex entries.
How It Works
Each row in the table represents a trade type (e.g., Reversal Long), and includes:
Required Score – Based on must-have conditions for that trade type (e.g., oversold levels, statistical extremes, key momentum shifts).
Extra Score – Bonus confluence points from higher timeframe agreement, slope shifts, or secondary confirmation indicators.
Total Score – Combined Required + Extra score (max 200), useful for comparing relative strength across trade types.
Breakdown Columns – Show exactly which conditions are currently satisfied or missing, categorized as Required or Extra.
MTF Scores – Score-based analysis across 5m to 1M timeframes, highlighting how confluence changes with zoomed-out perspectives.
MTF Bias Row – Net bullish vs. bearish confluence per timeframe (positive = green, negative = red).
Indicators Used (All Proprietary QTX Tools)
VBM (Volatility-Based Momentum): Confirms directional trend and volatility environment.
VBSMI (Volatility-Based SMI): Adapts momentum oscillator based on market conditions and tilt logic.
SEA (Statistically Extreme Areas): Identifies when price reaches statistically rare volatility/range zones.
SPB (Statistical Price Bands): Tracks dynamically adjusted support/resistance based on percentile deviation.
COI (Continuation Opportunity Indicator): Detects pullback exhaustion and momentum re-acceleration opportunities.
Each trade type (Reversal or Continuation) is scored based on these tools across local and higher timeframes.
Key Table Features
🔍 Reversal Scoring Logic
Reversal trades must meet key oversold/overbought criteria (e.g., VBSMI extremes, SEA/SPB triggers) and be supported by trend weakness or exhaustion in the COI/VBM logic. High confluence across timeframes boosts the score.
📈 Continuation Scoring Logic
Continuations require strong trend alignment (VBM, COI), confirmation of momentum (VBSMI cross + slope), and lack of statistical extremes (no SEA/SPB hits). HTF agreement increases the score further.
🧠 Multi-Timeframe (MTF) Scoring
MTF scores are generated by evaluating each trade type’s core confluence across timeframes (e.g., 5m, 1H, 1D, etc.). This helps traders gauge how well a setup aligns with the broader market structure.
📊 Bias Coloring
The MTF Bias row shows net directional strength. Green = bullish bias. Red = bearish bias. Gray = neutral.
🔎 Factors Breakdown
View factors for each trade type. These factors explain which required and extra conditions are currently contributing or missing.
Customization Options
Table position (top/bottom, left/right)
Table size (small, medium, large)
Show/hide trade type rows
Enable/disable breakdown details
Toggle MTF Score section
Use Cases
Analyze high-confluence setups for discretionary trade planning
Cross-check live trades to understand setup quality
Confirm MTF alignment before entries
Study historical patterns to build intuition and strategy
Disclaimer
This indicator is for educational purposes only. It does not provide financial advice or trade recommendations. Always backtest and validate strategies before use.
Malama's Dashboard with HeikinMalama's Dashboard with Heikin is a comprehensive trading indicator designed to provide traders with a consolidated view of market sentiment across multiple technical indicators. It combines Ichimoku Cloud, RSI, ADX, Choppiness Index, volume analysis, momentum, divergence detection, and multi-timeframe (MTF) MACD and volume trends to generate a composite sentiment score. The indicator displays these metrics in a visually intuitive table, enabling traders to quickly assess market conditions and make informed decisions. Optionally, it supports Heikin Ashi candles to smooth price data and reduce noise, aiding in trend identification. The script solves the problem of information overload by presenting key indicators in a single, trader-friendly dashboard, reducing the need for multiple charts or indicators.
Originality and Usefulness
This script is a unique mashup of several well-known technical indicators, integrated into a cohesive dashboard with a composite sentiment score. Unlike standalone indicators like RSI or Ichimoku, this script synthesizes signals from Ichimoku Cloud, RSI, ADX, Choppiness, volume, momentum, divergence, and MTF analysis into a unified sentiment metric. The inclusion of Heikin Ashi candles as an optional input adds flexibility for traders preferring smoothed price action. The composite score, derived from weighted contributions of each indicator, provides a novel way to gauge overall market direction, which is not commonly found in public open-source scripts. While individual components like RSI or Ichimoku are widely available, the script’s originality lies in its integrated approach, clear table visualization, and customizable settings, making it a practical tool for traders seeking a holistic market view.
Detailed Methodology ("How It Works")
The script processes multiple technical indicators and aggregates their signals into a composite sentiment score, displayed in a table. Below is a breakdown of its core components and logic:
Heikin Ashi Candles:
Logic: Optionally applies Heikin Ashi calculations to smooth price data. Heikin Ashi candles are computed using formulas for open, high, low, and close prices, reducing market noise and emphasizing trends.
Usage: When enabled, all subsequent calculations (Ichimoku, RSI, ADX, etc.) use Heikin Ashi prices instead of regular OHLC data, potentially improving trend clarity.
Ichimoku Cloud:
Logic: Calculates the Conversion Line (9-period high/low average), Base Line (26-period high/low average), Leading Span A (average of Conversion and Base Lines), and Leading Span B (52-period high/low average).
Signals: Bullish if the close price is above both Leading Spans; bearish if below; neutral otherwise.
Average Directional Index (ADX):
Logic: Computes ADX using a 14-period (default) directional movement index, measuring trend strength. PlusDI and MinusDI are calculated from price movements, and ADX is derived from their difference.
Signals: Bullish if PlusDI > MinusDI; bearish otherwise. ADX value indicates trend strength but is not used directly in sentiment scoring.
Relative Strength Index (RSI):
Logic: Calculates RSI over a 21-period (default) using the closing price. Overbought (>75) and oversold (<25) levels are user-defined.
Signals: Bullish if RSI > 50; bearish if RSI < 50. Overbought/oversold conditions are displayed but not used in the composite score.
Momentum:
Logic: Measures the difference between the current close and the close 10 periods ago (default).
Signals: Bullish if momentum > 0; bearish if < 0; neutral if 0.
Choppiness Index:
Logic: Calculates choppiness over a 14-period (default) using ATR and price range, normalized to a 0–100 scale. Values >61.8 indicate a sideways market; <38.2 indicate a trending market.
Signals: Bullish if choppiness < 38.2; bearish otherwise.
Volume Analysis:
Logic: Compares current volume to a 21-period (default) simple moving average (SMA). Bullish or bearish pressure is determined by whether the close is above or below the open.
Signals: Bullish if volume > 1.2x SMA and bullish pressure dominates; bearish if bearish pressure dominates; neutral otherwise.
Divergence Detection:
Logic: Identifies RSI divergences over a 5-period lookback. A bullish divergence occurs when price makes a lower low, but RSI makes a higher low; bearish divergence is the opposite.
Signals: Bullish or bearish based on divergence detection; neutral if no divergence.
Multi-Timeframe (MTF) Analysis:
Logic: Retrieves daily MACD (12, 26, 9) and volume SMA (21-period) from a higher timeframe. MACD is bullish if the MACD line > signal line; volume is bullish if current volume > daily SMA.
Signals: Bullish or bearish based on MACD and volume trends.
Composite Sentiment Score:
Logic: Aggregates signals from Ichimoku (±2), RSI (±1), ADX (±1), momentum (±1), choppiness (±1), divergence (±1), MTF MACD (±1), and MTF volume (±1). The score ranges from -8 to +8.
Signals: Bullish if score > 0; bearish if < 0; neutral if 0.
Alert Condition:
Triggers an alert when the composite sentiment flips (e.g., from bullish to bearish).
Strategy Results and Risk Management
This script is an indicator, not a strategy, and does not include backtesting or automated trade signals. However, the composite sentiment score can guide trading decisions. Assumptions for practical use include:
Commission and Slippage: Traders should account for realistic trading costs (e.g., 0.1% per trade) when acting on signals, though the script does not model these.
Risk Limits: Traders are advised to risk 5–10% of equity per trade, depending on their strategy and the strength of the composite score (e.g., higher scores may justify larger positions).
Trade Frequency: The script’s signals are based on multiple indicators, ensuring sufficient trade opportunities across trending and ranging markets.
Customization: Traders can adjust risk by modifying input parameters (e.g., RSI overbought/oversold levels or lookback periods) to align with their risk tolerance. For example, tightening RSI thresholds may reduce signal frequency but increase precision.
User Settings and Customization
The script offers several user-configurable inputs, allowing traders to tailor its behavior:
Use Heikin Ashi Candles (Boolean, default: false): Enables/disables Heikin Ashi smoothing for all calculations, affecting trend clarity.
ADX Length (Integer, default: 14, min: 1): Sets the period for ADX calculations, influencing trend strength sensitivity.
RSI Length (Integer, default: 21, min: 1): Adjusts RSI calculation period, impacting overbought/oversold detection.
RSI Overbought Level (Integer, default: 75, min: 1): Sets the RSI overbought threshold.
RSI Oversold Level (Integer, default: 25, min: 1): Sets the RSI oversold threshold.
Volatility Length (Integer, default: 21, min: 1): Controls the ATR period for volatility (used in Choppiness).
Volume MA Length (Integer, default: 21, min: 1): Sets the SMA period for volume analysis.
Momentum Length (Integer, default: 10, min: 1): Defines the lookback for momentum calculations.
Choppiness Length (Integer, default: 14, min: 1): Sets the period for Choppiness Index calculations.
These settings allow traders to adjust the indicator’s sensitivity to market conditions. For example, shorter RSI or ADX periods increase responsiveness but may generate more noise, while longer periods smooth signals but may lag.
Visualizations and Chart Setup
The script plots a table in the top-right corner of the chart, summarizing the following:
Header: Displays “MALAMA’S DASHBOARD” in white text on a black background.
Indicator Rows: Each row corresponds to an indicator (Ichimoku, RSI, ADX, Choppiness, Volume, Momentum, Divergence, MTF MACD, MTF Volume, Composite).
Columns:
Indicator: Lists the indicator name.
Value: Shows the calculated value (e.g., RSI value, composite score) and sentiment (e.g., Bullish, Bearish, Neutral).
Color Coding: Bullish signals are green, bearish signals are red, and neutral signals are gray, all with 85% transparency for readability.
Composite Sentiment: The final row displays the composite score and sentiment, providing a quick summary of market direction.
No trend lines, signal markers, or additional overlays are plotted, ensuring the chart remains uncluttered and focused on the dashboard’s insights.
Multi Timeframe Relative Strength Index {DCAquant}Overview
The Multi Timeframe Relative Strength Index (MTF RSI) is a powerful technical analysis tool designed to provide insights into market momentum and potential trend reversals across multiple timeframes. Leveraging the Relative Strength Index (RSI) formula, this indicator offers traders a comprehensive view of market sentiment and identifies overbought and oversold conditions.
Key Features
RSI Calculation:
Utilizes the standard RSI calculation formula to measure the magnitude of recent price changes and assess the strength of market trends.
Employs a user-defined length parameter to customize the sensitivity of the RSI calculation based on trading preferences.
Multiple Timeframe Analysis:
Allows traders to analyze RSI values across up to six different timeframes, ranging from minutes to days, providing a holistic perspective on market dynamics.
Calculates RSI values independently for each selected timeframe, enabling comparison and trend identification.
Threshold Levels:
Defines overbought and oversold levels to highlight potential reversal points in market trends.
Offers flexibility in adjusting threshold levels based on individual risk tolerance and trading strategies.
Neutral Zone:
Establishes upper and lower neutral thresholds to identify periods of consolidation or sideways movement in price.
Helps traders distinguish between trending and ranging market conditions for more accurate analysis.
Moving Average Smoothing:
Provides the option to apply moving average smoothing to aggregated RSI values for enhanced clarity and reduced noise.
Enables smoother visualization of RSI trends, facilitating easier interpretation for traders.
Visual Representation:
Plots the aggregated MTF RSI values on the price chart, allowing traders to visually assess market momentum and potential reversal points.
Utilizes color-coded backgrounds to indicate Long, Short, or Neutral conditions for quick identification.
Dynamic Table Display:
Displays trading signals alongside graphical indicators (rocket for Long, snowflake for Short, and star for Neutral) in a customizable table format.
Offers flexibility in table placement and size to accommodate user preferences.
How to Use:
Parameter Configuration:
Adjust the length parameter to fine-tune the sensitivity of the RSI calculation based on the desired timeframe and trading strategy.
Define overbought and oversold levels to identify potential reversal points in market trends.
Customize upper and lower neutral thresholds to differentiate between trending and ranging market conditions.
Interpretation:
Monitor the aggregated MTF RSI values plotted on the price chart for signals of overbought or oversold conditions.
Pay attention to color-coded backgrounds and graphical indicators in the table for actionable trading insights.
Trading Strategy:
Consider entering Long positions when the aggregated MTF RSI is above the upper neutral threshold, indicating potential bullish momentum.
Evaluate Short opportunities when the aggregated MTF RSI falls below the lower neutral threshold, signaling possible bearish momentum.
Exercise caution during Neutral conditions, as there may be uncertainty in market direction.
Risk Management:
Combine MTF RSI analysis with robust risk management strategies, including stop-loss and take-profit levels, to manage trading risks effectively.
Practice prudent risk management and trade within your risk tolerance to minimize potential losses.
Disclaimer
Trading in financial markets involves risk, and past performance is not indicative of future results. The use of the MTF RSI indicator does not guarantee profits or prevent losses. Traders should conduct their own analysis, exercise caution, and seek advice from qualified financial professionals before making trading decisions.
Fair Value Gap█ OVERVIEW
This indicator displays the Fair Value Gap of the current timeframe and an additional higher timeframe. For each FVG the gaps act as targets creating bullish and bearish gaps that are often filled.
█ FEATURES
MTF Options
MidPoint FIll
Delete Old On Fill
Label FVG Timeframe
MTF Options
Enabling the MTF Options will allow the user to use the "MTF Timeframe" setting to choose what HTF Fair Value Gap to display
MidPoint FIll
A line plot at the Half way point will be included in the Fair Value Gap, this will be used to delete the gap when reached instead of a full fill.
Delete Old On Fill
Deletes historical Fair Value Gaps when filled.
Label FVG Timeframe
Labels Every Fair Value gap with there relevant timeframe to make it easier to determine which gap is being filled.
█ HOW TO USE IT
The indicator is quite straight forward in its application, providing users with targets that are often filled as they are seen as market imbalance.
Just applying it to your chart will provide the existing Fair Value Gaps. MTF Confluence is helpful in seeing what is happening on the macro perspective.
█ SUGGESTION
My suggestion for clarity is to use a different color to some degree between the MTF and Current TF as Opposed to text, keeps the chart clear.
█ LIMITATIONS OF PINE (Please read)
I see many users going on different indicators with MTF in mind and trying to use it for LTF data e.g. 1hour chart, and selecting 5min in chart settings.
This is not recommended by the team themselves and should be noted for use always use HTF: www.tradingview.com
To understand how to use fair value gaps I recommend learning about the subject some more, searching online will provide you resources. The internet is your friend when learning. All the best.
Multi SMA EMA WMA HMA BB (5+5 MAs + Bollinger Bands) by RRB
Multi SMA EMA WMA HMA BB (5+5 Moving Averages of Any Type with Bollinger Bands) by RagingRocketBull 2018
Version 1.0
This indicator shows multiple MAs of any type (SMA EMA WMA HMA etc) with BB on a chart at the same time with/without MTF support depending on the version.
There are several versions (published later): Simple, MTF, Pro MTF and Ultimate MTF. This is the Simple version. The Differences are listed below. All versions have BB
- Simple: you have 2 groups of MAs that can be assigned any type (5+5)
- MTF: +assign 1 custom Timeframe to any group combo (5+5 Custom TF)
- Pro MTF: +multiple Timeframes for multiple MA groups (4*3 MTF), horizontal levels and show max bars back options
- Ultimate MTF: +individual settings for each MA, multiple Timeframes
You can use different types of MAs as dynamic S/R levels to trade of off and MA crosses as signals for possible trend change (golden/death bull/bear crosses).
Most common MA types are: SMA, EMA, WMA, HMA.
Most common MA lengths are: 12, 20, 26, 30, 50, 100, 200, 400 etc.
Features:
- 2 groups of custom 5+5 MAs of any type including Hull Moving Average (HMA)
- BB
1. based on 3EmaBB, uses plot, fill, stdev and custom hma functions
2. swma has a fixed length = 4, alma and linreg have additional offset and smoothing params
Feel free to use. Good Luck!
[Mad]Triple Bollinger Bands ForecastTriple Bollinger Bands Forecast (BBx3+F)
This open-source indicator is an advanced version of the classic Bollinger Bands, designed to provide a more comprehensive and forward-looking view of market volatility and potential price levels.
It plots three distinct sets of Bollinger Bands and projects them into the future based on statistical calculations.
How It Is Built and Key Features
Triple Bollinger Bands: Instead of a single set of bands, this indicator plots three. All three share the same central basis line (a Simple Moving Average), but each has a different standard deviation multiplier. This creates three distinct volatility zones for analyzing price deviation from its mean.
Multi-Timeframe (MTF) Capability: The indicator can calculate and display Bollinger Bands from a higher timeframe (e.g., showing daily bands on a 4-hour chart). This allows for contextualizing price action within the volatility structure of a more significant trend.
(Lower HTF selection will result in script-crash!)
Future Forecasting: This is the indicator's main feature. It projects the calculated Bollinger Bands up to 8 bars into the future. This forecast is a recalculation of the Simple Moving Average and Standard Deviation based on a projected future source price.
Selectable Forecast Methods: The mathematical model for estimating the future source price can be selected:
Flat: A model that uses the most recent closing price as the price for all future bars in the calculation window.
Linreg (Linear Regression): A model that calculates a linear regression trend on the last few bars and projects it forward to estimate the future source price.
Efficient Drawing with Polylines: The future projections are drawn on the chart using Pine Script's polyline object. This is an efficient method that draws the forecast data only on the last bar, which avoids repainting issues.
Differences from a Classical Bollinger Bands Indicator
Band Count: A classical indicator shows one set of bands. This indicator plots three sets for a multi-layered view of volatility.
Perspective: Classical Bollinger Bands are purely historical. This indicator is both historical and forward-looking .
Forecasting: The classic version has no forecasting capability. This indicator projects the bands into the future .
Timeframe: The classic version works only on the current timeframe. This indicator has full Multi-Timeframe (MTF) support .
The Mathematics Behind the Future Predictions
The core challenge in forecasting Bollinger Bands is that a future band value depends on future prices, which are unknown. This indicator solves this by simulating a future price series. Here is the step-by-step logic:
Forecast the Source Price for the Next Bar
First, the indicator estimates what the price will be on the next bar.
Flat Method: The forecasted price is the current bar's closing price.
Price_forecast = close
Linreg Method: A linear regression is calculated on the last few bars and extrapolated one step forward.
Price_forecast = ta.linreg(close, linreglen, 1)
Calculate the Future SMA (Basis)
To calculate the Simple Moving Average for the next bar, a new data window is simulated. This window includes the new forecasted price and drops the oldest historical price. For a 1-bar forecast, the calculation is:
SMA_future = (Price_forecast + close + close + ... + close ) / length
Calculate the Future Standard Deviation
Similarly, the standard deviation for the next bar is calculated over this same simulated window of prices, using the new SMA_future as its mean.
// 1. Calculate the sum of squared differences from the new mean
d_f = Price_forecast - SMA_future
d_0 = close - SMA_future
// ... and so on for the rest of the window's prices
SumOfSquares = (d_f)^2 + (d_0)^2 + ... + (d_length-2)^2
// 2. Calculate future variance and then the standard deviation
Var_future = SumOfSquares / length
StDev_future = sqrt(Var_future)
Extending the Forecast (2 to 8 Bars)
For forecasts further into the future (e.g., 2 bars), the script uses the same single Price_forecast for all future steps in the calculation. For a 2-bar forecast, the simulated window effectively contains the forecasted price twice, while dropping the two oldest historical prices. This provides a statistically-grounded projection of where the Bollinger Bands are likely to form.
Usage as a Forecast Extension
This indicator's functionality is designed to be modular. It can be used in conjunction with as example Mad Triple Bollinger Bands MTF script to separate the rendering of historical data from the forward-looking forecast.
Configuration for Combined Use:
Add both the Mad Triple Bollinger Bands MTF and this Triple Bollinger Bands Forecast indicator to your chart.
Open the Settings for this indicator (BBx3+F).
In the 'General Settings' tab, disable the Activate Plotting option.
To ensure data consistency, the Bollinger Length, Multipliers, and Higher Timeframe settings should be identical across both indicators.
This configuration prevents the rendering of duplicate historical bands. The Mad Triple Bollinger Bands MTF script will be responsible for visualizing the historical and current bands, while this script will overlay only the forward-projected polyline data.
Institutional Order Finder (IOF) - Hidden Order Block LiteInstitutional Order Finder (IOF) - Hidden Order Blocks
Institutional Order Finder (IOF) Indicator: Detecting Breaker Blocks and Hidden Order Blocks (HOBs)
The Institutional Order Finder (IOF) Lite is designed to assist traders in identifying breaker blocks, also known as hidden order blocks (HOBs). The indicator helps identify untouched bodies within order blocks and offers comprehensive analysis of fair value gaps (FVGs) and order blocks based on engulfing candles. The method for detecting engulfing patterns is customizable (available in the Pro version).
Features of the Institutional Order Finder (IOF) Lite Indicator
The indicator detects breaker blocks and distinguishes between complete HOBs and partial HOBs (PHOBs). An HOB is created when the body of a candle, to the left of an engulfing candle, ideally fits through the fair value gaps without being touched by wicks. The indicator differentiates between:
HOB (Hidden Order Block): The body completely fits through the FVGs and is untouched by wicks, making it a strong and reliable breaker block.
PHOB (Partial Hidden Order Block): The body does not fully fit, but at least the equilibrium (50% level of the body left of the engulfing candle) is covered by the FVGs.
The minimum requirement for a “good” HOB is for the equilibrium to be crossed by the FVGs. This method provides a focused and high-quality view of the market structure.
Visualization and Market Structure Analysis
The Institutional Order Finder (IOF) displays order blocks as lines, with the equilibrium being a critical analysis point. Once the equilibrium is reached, the order block is considered invalid. In addition to HOBs and PHOBs, the indicator also displays fair value gaps, as well as invalidated order blocks (OBs) and breaker blocks (BBs). Understanding these invalidations is essential for interpreting market behavior and potential turning points. The line representation offers a cleaner view, making it easier to combine multiple timeframes and spot clusters.
Multi-Timeframe Analysis (MTF)
The Lite version allows analysis of up to three different timeframes, helping traders observe the relevance and strength of order blocks across different time periods. For each selected timeframe, not only confirmed order blocks are shown, but also “potential order blocks (OBs) and breaker blocks (BBs).” These blocks are currently forming and are not yet confirmed. Potential OBs and BBs can provide crucial insights into the current market structure, especially for traders who seek early signals.
Lite Version and Limitations
The Lite version of the Institutional Order Finder (IOF) indicator has certain limitations. It can display only up to three timeframes, offers fewer customization options, and focuses on basic analysis tools. Nonetheless, the Lite version is a powerful tool for gaining initial insights into the functionality of the MT Breaker Block indicator and improving understanding of market structure.
Why Use the Institutional Order Finder (IOF) Indicator?
The Lite indicator offers a precise way to analyze and visualize order blocks and breaker blocks. By focusing on identifying untouched bodies and the equilibrium, the indicator provides a unique perspective on market structure, often missing from traditional order block indicators. With its ability to conduct multi-timeframe analysis and identify potential order blocks in real time, the IOF Lite indicator offers a detailed understanding of potential price movements.
Special thanks to Moneytaur for inspiring the creation of this indicator.
Settings Overview
GENERAL SETTINGS
Historical order blocks: Enables the display of historical order blocks on the chart.
Order blocks: Activates the detection and display of order blocks (OB).
Show high quality breaker blocks: Displays only high-quality breaker blocks (BB) that meet strict criteria. The lines for high-quality BBs are twice as thick as regular lines.
ENGULFING
Please choose Engulfing engine: Choose the type of engulfing pattern used to detect order blocks (e.g., “Engulfing Strict” for stricter criteria).
MTF SETTINGS
Default timeframe: Sets the default timeframe for order block analysis when the multi-timeframe (MTF) mode is turned off.
Show MTF order blocks: Enables the display of order blocks from multiple timeframes.
Timeframe 1, Timeframe 2, Timeframe 3: Specify the individual timeframes for MTF analysis.
Activate Timeframe 1, Activate Timeframe 2, Activate Timeframe 3: Control which MTF timeframes are actively used in the analysis.
ORDER BLOCK SETTINGS
Order Block Filter Strategy: Choose a filtering strategy to display only the most relevant OBs.
Extend order blocks to the right: Extends order blocks to the right until they are invalidated.
Show timeframe as label: Displays the timeframe of the order block as a label on the chart.
Bearish OB, Bullish OB, Breaker Block, Old Order Blocks, Old BB-Blocks (and possible): Choose colors for different types of order blocks and breaker blocks for easier visual distinction.
Label text color: Sets the color of the text within labels.
Label background color: Defines the background color of the labels.
Line width: Specifies the thickness of the lines that represent order blocks.
Please choose style of lines / current timeframe, Please choose style of lines / alternative timeframe: Choose the style of lines (e.g., solid or dotted) for the current and alternative timeframes.
Timeframe label offset in bars from actual bar: Determines the offset of labels relative to the candles, improving visibility.
FAIR VALUE GAPS
Show Fair Value Gaps: Activates the detection and display of fair value gaps (FVG), highlighting potential liquidity gaps.
FILTER SETTINGS
Number of Previous Candles (Candle Pattern Strength): Specifies the number of previous candles to analyze to determine the strength of the candle pattern.
Candle Size Multiplier (Candle Pattern Strength): Sets a multiplier for the candle size within the pattern to emphasize stronger patterns.
RSI Period (RSI): Defines the period for the RSI indicator, used to analyze overbought/oversold conditions.
Overbought Level (RSI), Oversold Level (RSI): Sets the RSI threshold values to identify potential trend reversal points.
Minimum Volume (Volume): Specifies the minimum volume that must be reached to validate order blocks and breaker blocks.
This guide provides a comprehensive breakdown of the Institutional Order Finder (IOF) Lite Indicator settings, allowing you to customize and maximize the indicator’s functionality for optimal trading insights.
Price Action Toolkit | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Price Action Toolkit indicator! Price Action Toolkit integrates key level strategy , traditional supply-demand analysis , and market structures to help traders in their decisions. Now with features that are available to use in multiple timeframes!
Features of the new Price Action Toolkit indicator :
Volumized Fair Value Gaps (FVGs)
Volumized Order & Breaker Blocks
Identification of Market Structures
Equal Highs & Lows
Buyside & Sellside Liquidity
Premium & Discount Zones
MTF Highs & Lows (Daily, Weekly, Monthly, Pre-Market)
Customizable Settings
📌 HOW DOES IT WORK ?
We believe that the analytical elements that are within this indicator work best when they co-exist with each other on the chart. Trading often requires taking multiple elements into consideration for better accuracy on market analysis. Thus, we combined some of the useful strategies in one indicator for ease of use.
1. Volumized Fair Value Gaps
Fair value gaps often occur when there is an imbalance in the market, and can be spotted with a specific formation on the chart.
The volume when the FVG occurs plays an important role when determining the strength of it, so we've placed two bars on the FVG zone, indicating the high & low volumes of the FVG. The high volume is the total volume of the last two bars on a bullish FVG, while the low volume is - of the FVG. For a bearish FVG, the total volume of the last two bars is the low volume. The indicator can also detect FVGs that exist in other timeframes than the current chart.
2. Volumized Order Blocks
Order blocks occur when there is a high amount of market orders exist on a price range. It is possible to find order blocks using specific formations on the chart.
The high & low volume of order blocks should be taken into consideration while determining their strengths. The determination of the high & low volume of order blocks are similar to FVGs, in a bullish order block, the high volume is the last 2 bars' total volume, while the low volume is the oldest bar's volume. In a bearish order block scenerio, the low volume becomes the last 2 bars' total volume.
3. Volumized Breaker Blocks
Breaker blocks form when an order block fails, or "breaks". It is often associated with market going in the opposite direction of the broken order block, and they can be spotted by following order blocks and finding the point they get broken, ie. price goes below a bullish order block.
The volume of a breaker block is simply the total volume of the bar that the original order block is broken. Often the higher the breaking bar's volume, the stronger the breaker block is.
4. Market Structures
Sometimes specific market structures form and break as the market fills buy & sell orders. Formed Change of Character (CHoCH) and Break of Structure (BOS) often mean that market will change direction, and they can be spotted by inspecting low & high pivot points of the chart.
5. Equal Highs & Lows
Equal Highs & Lows occur when there is a significant amount of difference between a candle's close price and it's high / low value, and it happens again in a specific range. EQH and EQL usually mean there is a resistance that blocks the price from going further up / down.
6. Buyside & Sellside Liquidity
Buyside & Sellside Liquidity zones are where most traders place their take-profits and stop-losses in their long / short positions. They are spotted by using high & low pivot points on the chart.
7. Premium & Discount Zones
The premium zone is a zone that is over the fair value of the asset's price, and the discount zone is the opposite. They are formed by the latest high & low pivot points.
8. MTF Highs / Lows
MTF Highs / Lows are actually pretty self-explanatory, you can enable / disable Daily, Weekly, Monthly & Pre-Market Highs and Lows.
🚩UNIQUENESS
Our new indicator offers a comprehensive toolkit for traders, combining multiple analytical elements with customizable settings to aid in decision-making across different market conditions and timeframes. The volumetric information of both FVGs and Order & Breaker Blocks will be present in your chart to serve you greater detail about them. The indicator also efficiently identifies market structures, liquidity zones and premium & discount zones to give you an insight about the current state of the market. And finally with the use of multiple timeframes , you can easily take a look at the bigger picture. We recommend reading the "How Does It Work" section of the descripton to get a better understanding about how this indicator is unique to others.
⚙️SETTINGS
1. General Configuration
Show Historic Zones -> This will show historic Fair Value Gaps, Order & Breaker Blocks and Sellside & Buyside liquidities which are expired.
2. Fair Value Gaps
Enabled -> Enables / Disables Fair Value Gaps
Volumetric Info -> The volumetric information of the FVG Zones will be rendered if activated.
Zone Invalidation -> Select between Wick & Close price for FVG Zone Invalidation.
Zone Filtering -> With "Average Range" selected, algorithm will find FVG zones in comparison with average range of last bars in the chart. With the "Volume Threshold" option, you may select a Volume Threshold % to spot FVGs with a larger total volume than average.
FVG Detection -> With the "Same Type" option, all 3 bars that formed the FVG should be the same type. (Bullish / Bearish). If the "All" option is selected, bar types may vary between Bullish / Bearish.
Detection Sensitivity -> You may select between Low, Normal or High FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivies resulting in spotting bigger FVGs, and higher sensitivies resulting in spotting all sizes of FVGs.
3. Order Blocks
Enabled -> Enables / Disables Order Blocks
Volumetric Info -> The volumetric information of the Order Blocks will be rendered if activated.
Zone Invalidation -> Select between Wick & Close price for Order Block Invalidation.
Swing Length -> Swing length is used when finding order block formations. Smaller values will result in finding smaller order blocks.
4. Breaker Blocks
Enabled -> Enables / Disables Breaker Blocks
Volumetric Info -> The volumetric information of the Breaker Blocks will be rendered if activated.
Zone Invalidation -> Select between Wick & Close price for Breaker Block Invalidation.
5. Timeframes
You can set and enable / disable up to 3 timeframes. Note that only higher timeframes than the current chart will work.
6. Market Structures
Break Of Structure ( BOS ) -> If the current structure of the market is broken in a bullish or bearish direction, it will be displayed.
Change Of Character ( CHoCH ) -> If the market shifts into another direction, it will be displayed.
Change Of Character+ ( CHoCH+ ) -> This will display stronger Change Of Characters if enabled.
7. Equal Highs & Lows
EQH -> Enables / Disables Equal Highs.
EQL -> Enables / Disables Equal Lows.
ATR Multiplier (0.1 - 1.0) -> Determines the maximum difference between highs / lows to be considered as equal. Lower values will result in more accurate results.
8. Buyside & Sellside Liquidity
Zone Width -> Determines the width of the liquidity zones, 1 = 0.025%, 2 = 0.05%, 3 = 0.1%.
9. Premium & Discount Zones
Enabled -> Enables / Disables Premium & Discount Zones.
10. MTF Highs / Lows
You can enable / disable Daily, Weekly, Monthly & Pre-Market Highs and Lows using this setting. You can also switch their line shapes between solid, dashed and dotted.
[ADOL_]Trend_Oscillators_MTF
ENG) Trend_Oscillator_MTF
introduction)
This is a trend analyzer implemented in the form of an oscillator.
An oscillator is a technical analysis tool that identifies the direction of market trends and determines the time period. Making it an oscillator means creating range. By setting the upper and lower limits like this, the unlimited expansion area that can appear on the chart is limited. As a limited area is created, we can identify oversold and overbought areas, which is good for checking momentum.
Through oscillatorization, you can find overbought, oversold, and current trend areas.
It adopts MTF and is a simple but functional indicator.
To use multiple time frames, use the timeframe.multiplier function.
A table was created using the table.new function, and various information windows were installed on the right side of the chart.
I hope this can be a destination for many travelers looking for good landmarks.
- 8 types of moving averages can be selected (in addition to independently developed moving averages), trend area display, signal display, up to 3 multi-time chart overlapping functions, information table display, volatility and whipsaw search, and alerts are possible.
- You can set various time zones in Timeframe. With three timeframes, you can check the conditions overlapping time at a glance.
principle)
Set up two moving averages with different speeds and make the relative difference.
Create the speed difference between the two moving averages using methods such as over = crossover(fast, slow) and under = crossunder(fast, slow).
The point at which the difference in relative speed decreases is where the possibility of inflection is high. Through the cross code, you can find out when the speed difference becomes 0.
Simply crossing the moving average is easy. To fine-tune the speed difference, it is necessary to re-establish the relationship between functions.
Painting the green and red areas is designed to be painted when the three time frames overlap.
Using the code of fill(fast, slow, color = fast>= slow? color.green: color.red, transp = 80, title = "fillcolor")
You can color and distinguish areas.
MA: You can select the MA_type. This is a necessary option because the profit/loss ratio for each item varies depending on the type of moving average.
Start: The starting value to set the oscillator range.
End: This is the last value to set the oscillator range.
Lenght: This is the number of candles used to calculate the calculation formula in the oscillator.
Timeframe: Set the time to overlap with up to 3 time frames.
repaint: You can choose whether to apply repaint. The default is OFF.
The coding for repaint settings for the indicator was written using the recommended method recommended by TradingView.
reference :
security(syminfo.tickerid, tf, src)
Trading method)
With the Multi-Time-Frame (MTF) function, the time zone set in the indicator is displayed the same in any chart time zone.
The repaint problem that occurred when using MTF was resolved by referring to TradingView's recommended code.
User can decide whether to repaint or not. The default is OFF.
- signal
Buy and Sell signals are displayed when there are 3 stacks. Even if there is no triple overlap, you can decide to buy or sell at the point where the short-term line and long-term line intersect.
Entry is determined through Buy and Sell signals, and exit is determined through BL (BuyLoss) and SL (SellLoss).
BL and SL can also be applied as entry.
You can judge overlap by the color of the lines. When two conditions overlap, it is orange, and when one condition overlaps, it is blue.
- Divergence
Divergence is a signal that arises from a discrepancy between the oscillator and the actual price.
Divergence can be identified because the range is set with conditions that have upper and lower limits.
- trend line
As shown in the picture, draw a downward trend line connecting the high points in the same area.
As shown in the picture, an upward trend line is drawn connecting the low points in the same area.
It can be used to view trend line breakout points that candles cannot display.
- Find a property for sale by amplitude
When the low point in the red area and the high point in the green area occur, the difference is regarded as one amplitude and the range is set.
Here, one amplitude becomes a pattern value that can go up or down, and this pattern value acts as support/resistance. It was developed in a unique way that is different from traditional methods and has a high standard of accuracy. This works best when using that indicator. Use 1, 2, 3, or 4 multiples of the amplitude range.
A multiple of 2 is a position with a high probability of a retracement.
- Whipsaw & volatility search section
Whipsaw refers to a trick that causes frequent trading in a convergence zone or confuses the trend in the opposite direction before it occurs. Whip saws are usually seen as having technical limitations that are difficult to overcome.
To overcome this problem, the indicator was created to define a section where whipsaw and volatility can appear. If a whipsaw & volatility indicator section occurs, a big move may occur later.
Alert)
Buy, Sell, BuyLoss, SellLoss, Whipsaw alert
Disclaimer)
Scripts are for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You are solely responsible for evaluating the risks associated with your script output and use of the script.
KOR) 트렌드_오실레이터_MTF
소개)
이것은 오실레이터 형태로 구현된 트렌드 분석기 입니다.
오실레이터는 시장의 추세방향을 확인하고 기간을 결정하는 기술적 분석 도구입니다. 오실레이터로 만드는 것은 범위가 생기는 것을 의미합니다. 이렇게 상한과 하한을 정함으로써, 차트에서 나타날 수 있는 무제한적인 확장영역이 제한됩니다. 제한된 영역이 만들어짐에 따라 우리는 과매도와 과매수 구간을 식별할 수 있게 되며, 모멘텀을 확인하기 좋습니다.
오실레이터화를 통해, 과매수와 과매도, 현재의 트렌드 영역을 잘 찾을 수 있습니다.
MTF를 채택했으며, 단순하지만, 기능적으로 훌륭한 지표입니다.
멀티타임프레임을 사용하기 위해 timeframe.multiplier 함수를 사용합니다.
table.new 함수를 사용하여 table을 만들고, 차트 우측에 여러가지 정보창을 갖췄습니다.
좋은 지표를 찾는 많은 여행자들에게 이곳이 종착지가 될 수 있기를 바랍니다.
- 이평선 종류 8종 선택(독자적으로 개발한 이평선 추가), 추세영역표시, 시그널 표기, 최대 3개 멀티타임차트 중첩기능, 정보테이블 표시, 변동성과 휩쏘찾기, 얼러트가 가능합니다.
- Timeframe에서 다양한 시간대를 설정할 수 있습니다. 3개의 Timeframe을 통해 시간을 중첩한 조건을 한눈에 확인할 수 있습니다.
원리)
속도가 다른 두 개의 이평선을 설정하고 상대적인 차이를 만듭니다.
over = crossover(fast, slow) , under = crossunder(fast, slow) 와 같은 방법으로 두개의 이평선의 속도차이를 만듭니다.
상대적 속도의 차이가 줄어드는 시점은 변곡의 가능성이 높은 자리입니다. cross code를 통해 속도차가 0이 되는 시점을 알 수 있습니다.
단순히 이평선을 교차하는 것은 쉽습니다. 세밀하게 속도차이를 조정하는데 함수간의 관계를 다시 설정할 필요가 있습니다.
초록색과 빨간색의 영역을 칠하는 것은 3가지 타임프레임이 중첩될 때 칠하도록 만들어졌습니다.
fill(fast, slow, color = fast>= slow? color.green: color.red, transp = 80, title = "fillcolor") 의 코드를 사용하여
영역을 색칠하고 구분할 수 있습니다.
MA : MA_유형을 선택할 수 있습니다. 이평선의 종류에 따라 종목당 손익비가 달라지므로 꼭 필요한 옵션입니다.
Start : 오실레이터 범위를 설정할 시작값입니다.
End : 오실레이터 범위를 설정할 마지막값입니다.
Lenght : 오실레이터에서 계산식을 산출하기 위한 캔들의 개수입니다.
Timeframe : 최대 3개의 타임프레임으로 중첩할 시간을 설정합니다.
repaint : 리페인팅을 적용할지 선택할 수 있습니다. 기본값은 OFF 입니다.
해당 지표의 리페인트 설정에 관한 코딩은 트레이딩뷰에서 권장하는 추천 방법으로 작성되었습니다.
참고 :
security(syminfo.tickerid, tf, src)
매매방법)
Multi-Time-Frame(MTF) 기능으로 지표에서 설정한 시간대가 어느 차트 시간대에서나 동일하게 표시됩니다.
MTF 사용시 발생하는 리페인트 문제는 트레이딩뷰의 권장코드를 참고하여 해결했습니다.
사용자가 리페인트 여부를 결정할 수 있습니다. 기본값은 OFF 입니다.
- 시그널
시그널의 Buy와 Sell은 3중첩일 경우 표시됩니다. 3중첩이 아니라도 단기선과 장기선이 교차되는 시점에서 매매를 결정할 수 있습니다.
Buy와 Sell 시그널에서 진입을 결정하고 BL(BuyLoss)와 SL(SellLoss) 에서 exit를 결정합니다.
BL과 SL을 진입으로 응용할 수도 있습니다.
라인의 컬러로 중첩을 판단할 수 있습니다. 2개의 조건이 중첩되면 오렌지, 1개의 조건이 중첩되면 블루컬러입니다.
- 다이버전스
다이버전스는 오실레이터와 실제 가격의 불일치에서 발생하는 신호입니다.
상한과 하한이 있는 조건으로 범위를 설정하였기 때문에 다이버전스를 식별가능합니다.
- 추세선
그림과 같이 같은 영역의 고점을 이어 하락추세선을 긋습니다.
그림과 같이 같은 영역의 저점을 이어 상승추세선을 긋습니다.
캔들이 표시할 수 없는 추세선돌파 지점을 볼 수 있게 활용가능합니다.
- 진폭으로 매물대 찾기
빨간색 영역의 저점과 초록색 영역의 고점이 발생할 때, 그 차이를 하나의 진폭으로 보고 범위를 설정합니다.
여기서 하나의 진폭은 위나 아래로 갈 수 있는 패턴값이 되며, 이 패턴값은 지지/저항으로 작용합니다. 전통적인 방식에 없는 독창적인 방식으로 개발된 것으로 정확성 높은 기준입니다. 이것은 해당 지표를 사용할 때 가장 잘 맞습니다. 진폭 범위의 1배수,2배수,3배수,4배수 자리를 사용합니다.
2배수 자리는 다시 돌아오는 되돌림 확률이 높은 위치입니다.
- 휩쏘&변동성 찾기 구간
휩쏘는 수렴구간에서 잦은 매매를 유발하거나, 추세가 발생하기 전에 반대방향으로 혼란을 주는 속임수를 의미합니다. 휩쏘는 보통 극복하기 어려운 기술적 한계로 여겨집니다.
해당지표에서는 이를 극복하기 위해 휩쏘와 변동성이 나타날 수 있는 구간을 정의하도록 만들었습니다. 휩쏘&변동성 표시 구간이 발생하면 이후 큰 움직임이 발생할 수 있습니다.
얼러트)
Buy, Sell, BuyLoss, SellLoss, Whipsaw alert
면책조항)
스크립트는 정보 제공 및 교육 목적으로만 사용됩니다. 스크립트의 사용은 전문적 및/또는 재정적 조언으로 간주되지 않습니다. 스크립트 출력 및 스크립트 사용과 관련된 위험을 평가하는 책임은 전적으로 귀하에게 있습니다.
[ADOL_]Trend_Osilator_beta
ENG) Trend_Osilator_beta
Introduction)
This is an indicator that analyzes and displays trends.
By taking the form of an oscillator, upper and lower limits are established, which limits the unlimited range that can appear on the chart.
Through oscillatorization, you can find overbought, oversold, and current trend areas.
This version is a beta version, so signals and alerts do not occur.
It adopts MTF and is a simple but functional indicator. Complement your skills with the trading methods below.
To use multiple time frames, use the timeframe.multiplier function.
We created a table using the table.new function and displayed the time zone selected in the current indicator at the bottom right of the chart.
When using multiple indicators, you can easily distinguish the currently selected time.
Principle)
Set up two moving averages with different speeds and make the relative difference.
Create the speed difference between the two moving averages using methods such as over = crossover(fast, slow) and under = crossunder(fast, slow).
The point at which the difference in relative speed decreases is where the possibility of inflection is high. Through the cross code, you can find out when the speed difference becomes 0.
It was created by determining the green and red areas at the inflection point.
Using the code of fill(fast, slow, color = fast>= slow? color.green: color.red, transp = 80, title = "fillcolor")
You can color and distinguish areas.
MA: MA_type can be selected (limited)
Min: This is the starting value to set the oscillator range.
Max: This is the final value to set the oscillator range.
Lenght: This is the number of candles used to calculate the calculation formula in the oscillator.
repaint: You can choose whether to draw a repaint. The default is OFF.
The coding for repaint settings for the indicator was written using the optimal method recommended by TradingView.
Reference:
security(syminfo.tickerid, tf, src )
Trading method)
You can set different time zones in Timeframe. Even if you change the time frame of the chart, it is displayed based on the time set in the indicator.
If the timeframe is set to 4h in the indicator, the standard that occurs in 4h is retrieved and displayed even if the chart screen is adjusted to 15m or 30m.
This is a feature of Multi-Time-Frame (MTF). The repaint problem that occurred when using MTF was resolved by referring to TradingView's recommended code.
User can decide whether to repaint or not. The default is OFF.
In the green area, Buy is the dominant opinion, and in the red area, Sell is the dominant opinion. simple!
You can gain good insight by deciding to buy or sell without moving too far from the point where the area changes.
- Settings are the most common default values. It is also possible to change the settings, but leave the settings as is.
If you want to do short shots, you can select the time frame as 1 hour, 15 minutes, or whatever time you want. If you want to analyze big changes, you can select the time frame as 4 hours or daily.
The recommended basic time frame is 4 hours.
- Upward divergence
We confirm that 8/25 is the lowest point.
- trend line
- Find a property for sale by amplitud.
Breaking a trend line that candles cannot indicate, It can be used to view branches.
Disclaimer)
This indicator is not an indicator that guarantees absolute returns and is used for simple reference purposes. Accordingly, all trading decisions you make are solely your responsibility.
KOR) 트렌드_오실레이터_베타
소개)
이것은 트렌드를 분석하여 표기해주는 지표입니다.
오실레이터 형태를 갖춤으로써, 상한과 하한이 정해지며, 이로 인해 차트에서 나타날 수 있는 무제한적인 확장영역이 제한됩니다.
오실레이터화를 통해, 과매수와 과매도, 현재의 트렌드 영역을 잘 찾을 수 있습니다.
이 버전은 베타바전으로 시그널과 얼러트가 발생하지 않습니다.
MTF를 채택했으며, 단순하지만, 기능적으로 훌륭한 지표입니다. 아래 매매방법에서 능력을 보완하십시오.
멀티타임프레임을 사용하기 위해 timeframe.multiplier 함수를 사용합니다.
table.new 함수를 사용하여 table을 만들고, 차트 우측 하단에 현재 지표에서 선택한 시간대가 표시되도록 하였습니다.
여러개의 지표를 사용할 때 쉽게, 현재 선택된 시간을 쉽게 구분가능합니다.
원리)
속도가 다른 두 개의 이평선을 설정하고 상대적인 차이를 만듭니다.
over = crossover(fast, slow) , under = crossunder(fast, slow) 와 같은 방법으로 두개의 이평선의 속도차이를 만듭니다.
상대적 속도의 차이가 줄어드는 시점은 변곡의 가능성이 높은 자리입니다. cross code를 통해 속도차가 0이 되는 시점을 알 수 있습니다.
변곡점에서 초록색과 빨간색의 영역을 결정하는 방법으로 만들어졌습니다.
fill(fast, slow, color = fast>= slow? color.green: color.red, transp = 80, title = "fillcolor") 의 코드를 사용하여
영역을 색칠하고 구분할 수 있습니다.
MA : MA_유형을 선택할 수 있습니다.(제한적 사용)
Min : 오실레이터 범위를 설정할 시작값입니다.
Max : 오실레이터 범위를 설정할 마지막값입니다.
Lenght : 오실레이터에서 계산식을 산출하기 위한 캔들의 개수입니다.
repaint : 리페인팅을 그릴지 선택할 수 있습니다. 기본값은 OFF 입니다.
해당 지표의 리페인트 설정에 관한 코딩은 트레이딩뷰에서 권장하는 추천 방법으로 작성되었습니다.
참고 :
security(syminfo.tickerid, tf, src )
매매방법)
- Timeframe에서 다양한 시간대를 설정할 수 있습니다. 차트의 시간프레임을 바꿔도 지표에서 설정한 시간을 기준으로 표시해줍니다.
지표에서 Timeframe을 4h로 설정했다면, 차트화면을 15m으로 조정하거나 30m으로 조정해도 4h 에서 발생하는 기준을 가져와 보여줍니다.
이것은 Multi-Time-Frame(MTF)의 기능입니다. MTF 사용시 발생하는 리페인트 문제는 트레이딩뷰의 권장코드를 참고하여 해결했습니다.
사용자가 리페인트 여부를 결정할 수 있습니다. 기본값은 OFF 입니다.
초록색의 영역에서는 매수가 지배적인 의견이며, 빨간색의 영역에서는 매도가 지배적인 의견입니다. 단순!
영역이 바뀌는 시점에서 멀리 벗어나지 않고 매매를 결정하면 좋은 통찰력을 얻을 수 있습니다.
- 설정값은 가장 보편적인 기본값입니다. 설정값을 바꾸는 방법도 가능하지만, 설정값을 그대로 두고,
단타를 하고 싶으면 타임프레임을 1시간, 15분, 혹은 원하는 시간, 큰 변화를 분석하고 싶으면 타임프레임을 4시간, 날봉 으로 선택하면 되며,
추천하는 기본 시간프레임은, 4시간입니다.
- 상승다이버전스
를 통해 8/25이 최저점이 됨을 확인합니다. 하락다이버전스는 같은 원리로 반대방향으로 그릴 수 있습니다.
- 추세선
그림과 같이 같은 영역의 고점을 이어 하락추세선을 긋습니다. 상승추세선은 반대입니다.
캔들이 표시할 수 없는 추세선돌파 지점을 볼 수 있게 활용가능합니다.
- 진폭으로 매물대 찾기
빨간색 영역의 저점과 초록색 영역의 고점이 발생할 때, 그 차이를 하나의 진폭으로 보고 범위를 설정합니다.
여기서 하나의 진폭은 위나 아래로 갈 수 있는 패턴값이 되며, 이 패턴값은 지지/저항으로 작용합니다.
얼러트)
얼러트의 설정이 포함되어 있지 않습니다.
면책조항)
해당지표는 절대수익을 보장하는 지표가 아니며, 단순한 참고용으로 사용됩니다. 따라서, 귀하가 내리는 모든 거래 결정은 전적으로 귀하의 책임입니다.
Cyatophilum 3Commas DCA Bot BacktesterAn indicator to backtest and automate 3Commas DCA Bots.
═════════════════════════════════════════════════════════════════════════
█ HOW IT WORKS
The indicator allows you to replicate your bot settings and get backtest results from the Strategy Tester and also a backtest panel with additional information on the safety orders.
You can also create alerts for each of the strategy events.
█ HOW TO USE
Choose a symbol that corresponds to your bot pair and exchange.
Pick a chart time frame as small as possible, usually 1 minute. The timeframe should always be smaller or equal to the deal start conditions timeframes.
Always use regular candle type.
Configure your deal start condition . You can combine several technical indicators to trigger an entry using a AND logical gate.
Configure your profit target
Use the Take Profit feature to set a target in percentage of price. You can also make it trail.
There is also a Stop Loss feature that is turned off by default.
Configure your safety orders
Replicate the safety orders from your bot into the indicator inputs.
Check your backtest parameters
Make sure that the initial capital and order size make sense. Since it is a pyramiding strategy with safety orders, the sum of all deals should not be bigger than the initial capital.
In this example: Initial capital is 0.02 BTC, which around 600$. I used 1000$ to be safe.
If you use % equity as order size, please note that it will create compounding.
Check the fees, by default they are set to 0.1%.
I also recommend to set a slippage that corresponds to your exchange's spread.
█ FEATURES
• Strategy direction
Configure wether to go long or short.
• Deal Start Conditions
The current conditions available are:
- Up to 4 MTF Trading View ratings conditions (Buy/Sell, Strong Buy/Sell)
- Up to 4 MTF RSI with configurable start conditions (Less/Greater than, Crossing Up/Down)
- Up to 2 MTF Ultimate Oscillator with configurable start conditions (Less/Greater than, Crossing Up/Down)
- MTF BB%-20-1 (length-deviation) with configurable start conditions (Less/Greater than, Crossing Up/Down)
- MTF BB%-20-2 (length-deviation) with configurable start conditions (Less/Greater than, Crossing Up/Down)
- Up to 2 MTF TA presets with the following options (Bollinger Bands, MFI, CCI, MACD, PSAR, SMA crosses, Heikin Ashi)
• Stop Loss and Take Profit
Configure your stop loss and take profit for long and short trades.
You can also make a trailing take profit.
• DCA (Safety orders)
Create up to 100 safety orders with configurable options for step and volume scaling, take profit from total volume, base and safety order size.
• Backtest Settings
Choose a backtest period, longs or shorts, wether to use limit orders or not.
Graphics
A Configuration panel with all the indicator settings, useful for sharing/saving a strategy.
A Backtest Results panel with additional information from the strategy tester.
█ ALERTS
The indicator is using the alert() calls: it only uses 1 alert slot to send order messages for each event (Long/Short entry, stop loss, take profit, safety order). This means free TV plans can create 1 complete strategy.
To set your alert messages, open the indicator settings and scroll to the bottom of the "inputs" tab.
Create your alert after you set the messages in the indicator settings, and make sure "Any alert() function call" is set in the alert option.
█ BACKTEST RESULTS
The backtest settings used in this snapshot are the following:
Initial Capital: 1000€
Order size: 0.003 BTC
Commission: 0.1 % per order
Slippage : 1 tick
Please read the author instructions below for access.
RSI :: ALLinDivergence v10.0
Everything you see in this indicator has been designed with a single purpose, to ease your trading with simplify visual technical analysis of the market. It pulls data from 7 different TimeFrames and it can not be more simpler visual representation of its calculations when applied on chart.
When applied on chart, you will see GREEN/RED alternating MTF RSI line and its 70 overbought area and its 30 oversold area. There is a gentle purple colour line in the background which represents RSI line of the current TF (it is not crucial but it helps to know why MTF line turns RED or turns GREEN (crossing of those two).
HOW TO USE IT?
Rule 1.
TIMEFRAMES
Choose the best TimeFrame for the job. I use: 1min, 2min, 3min, 5min, 8min, 13min, 21min, 34min or 56min (golden ratio). You can also pick a different TF but only to up to 1h TF chart as it does not work well with TF over 1h. Smaller TF is used for SCALPING of DAY TRADING higher TF is used for SWING TRADING. You get the picture?
Rule 2
TO ENTER BUY/LONG POSITION: search for HigherLows on RSI MTF GREEN/RED LINE when it is coloured RED. To enter a position it should be confirmed with AALERT :: ALLinDivergence v 10.0 that "GREEN" Divergence is emerging.
TO ENTER SELL/SHORT POSITION: search for LowerHighs on RSI MTF GREEN/RED LINE when it is coloured GREEN. To enter a position it should be confirmed with ALERT :: ALLinDivergence v 10.0 that "RED" Divergence is emerging.
Rule 3
EXIT FROM BUY/LONG POSITION: search for HigherLows on RSI MTF GREEN/RED LINE.
EXIT FROM SELL/SHORT POSITION: search for LowerHighs on RSI MTF GREEN/RED LINE.
Rule 4
CAUTION
Do not rush to enter a position and try to predict what indicator will do next. It does not end well.
Be aware you are not exiting a position in panic that would be too soon or even worse, you get married to bad trade and you are not exiting even though you should exit by many signals you get.
Use risk management strategy to protect your capital.
Follow the rules and make your trading easier and better.
LuxAlgo® - Price Action Concepts™Price Action Concepts™ is a first of it's kind all-in-one indicator toolkit which includes various features specifically based on pure price action.
Order Blocks w/ volume data, real-time market structure (BOS, CHoCH, EQH/L) w/ 'CHoCH+' being a more confirmed reversal signal, a MTF dashboard, Trend Line Liquidity Zones (real-time), Chart Pattern Liquidity Zones, Liquidity Grabs, and much more detailed customization to get an edge trading price action automatically.
Many traders argue that trading price action is better than using technical indicators due to lag, complexity, and noisy charts. Popular ideas within the trading space that cater towards price action trading include "trading like the banks" or "Smart Money Concepts trading" (SMC), most prominently known within the forex community.
What differentiates price action trading from others forms of technical analysis is that it's main focus is on raw price data opposed to creating values or plots derived from price history.
Mostly all of the features within this script are generated purely from price action, more specifically; swing highs, swing lows, and market structure... which allows users to automate their analysis of price action for any market / timeframe.
🔶 FEATURES
This script includes many features based on Price Action; these are highlighted below:
Market structure (BOS, CHoCH, CHoCH+, EQH/L) (Internal & Swing) multi-timeframe
Volumetric Order Blocks & mitigation methods (bullish & bearish)
Liquidity Concepts
Trend Line Liquidity Zones
Chart Pattern Liquidity
Liquidity Grabs Feature
Imbalance Concepts MTF w/ multiple mitigation methods
Fair Value Gaps
Balanced Price Range
Activity Asymmetry
Strong/Weak Highs & Lows w/ volume percentages
Premium & Discount Zones included
Candle Coloring based on market structure
Previous Highs/Lows (Daily, Monday's, Weekly, Monthly, Quarterly)
Multi-Timeframe Dashboard (15m, 1h, 4h, 1d)
Built-in alert conditions & Any Alert() Function Call Conditions
Advanced Alerts Creator to create step-by-step alerts with various conditions
+ more (see changelog below for current features)
🔶 BASIC DEMONSTRATION
In the image above we can see a demonstration of the market structure labeling within this indicator. The automatic BOS & CHoCH labels on top of dashed lines give clear indications of breakouts & reversals within the internal market structure (short term price action). The "CHoCH+" label is also demonstrated as it triggers only if price has already made a new higher low, or lower high.
We can also see a solid line with a larger BOS label in the middle of the chart. This label demonstrates a break of structure taking into account the swing market structure (longer term price action). All of these labels are generated in real-time.
🔶 USAGE & EXAMPLES
In the image below we can see how a trade setup could be created using Order Blocks w/ volume metrics to find points of interest in the market, swing / internal market structure to get indications of longer & shorter term reversals, and trend line liquidity zones to find more likely impulses & breakouts within trends.
We can see in the next image below that price came down to the highest volume order block marked out previously as our point of interest for an entry used in confluence with the overall market structure being bullish (swing CHoCH). Due to price closing below the middle Order Block at (24.77%), we saw it was mitigated, and then price revisited liquidity above the Trend Line zone above, leading us to the first Order Block as a target.
You will notice the % values adjust as Order Blocks are touched & mitigated, aligning with the correct volume detected when the Order Block was established.
In the image below we can see more features from within Price Action Concepts™ indicator, including Chart Pattern Liquidity, Fair Value Gaps (one of many Imbalance Concepts), Liquidity Grabs, as well as the primary market structures & OBs.
By using multiple features as such, users can develop a greater interpretation of where liquidity rests in the market, which allows them to develop trading plans a lot easier. Liquidity Grabs are highlighted as blue/red boxes on the wicks during specific price action that indicates the market has made an impulse specifically to take out resting buy or sell side orders.
We can notice in the trade demonstrated below (hindsight example) how price often moves to the areas of the most liquidity, even if unexpected according to classical technical analysis performed by retail traders such as chart patterns. Wicks to take out orders above & potentially trap traders are much more noticeable with features such as these.
The Chart Patterns which can be detected include:
Ascending/Descending Wedges (Asc/Desc Wedge)
Ascending/Descending Broadening Wedges (Asc/Desc BW)
Ascending/Descending/Symmetrical Triangles (Asc/Desc/Sym Triangle)
Double Tops/Bottoms (Double Top/Double BTM)
Head & Shoulders (H&S)
Inverted Head & Shoulders (IH&S)
General support & resistance during undetected patterns
In the image below we can see more features from within the indicator, including Balanced Price Range (another imbalance method similar to FVG), Market Structure Candle Coloring, Accumulation & Distribution zones, Premium & Discount zones w/ a percentage on each zone, the MTF dashboard, as well as the Previous Daily Highs & Lows (one of many highs/lows) displayed on the chart automatically.
The colored candles use more specific market structure analysis, specifically allowing users to visualize when trends are considered "normal" or "strong". By utilizing other features alongside this market structure analysis, such as noticing price retesting the PDL level + the Equilibrium as resistance, a Balanced Price Range below price, the discount with a high 72% metric, and the MTF dashboard displaying an overall bearish structure...
...users can instantly gain a deeper interpretation of price action, make highly confluent trading plans while avoiding classical technical indicators, and use traditional retail trading concepts such as chart patterns / trend lines to their advantage in finding logical areas of liquidity & points of interest in the market.
The image below shows the previous chart zoomed in with 2 liquidity concepts re-enabled & used alongside a new range targeting the same Discount zone.
🔶 SETTINGS
Market Structure Internal: Allows the user to select which internal structures to display (BOS, CHoCH, or None).
Market Structure Swing: Allows the user to select which swing structures to display (BOS, CHoCH, or None).
MTF Scanner: See market structure on various timeframes & how many labels are active consecutively.
Equal Highs & Lows: Displays EQH / EQL labels on chart for detecting equal highs & lows.
Color Candles: Plots candles based on the internal & swing structures from within the indicator on the chart.
Order Blocks Internal: Enables Internal Order Blocks & allows the user to select how many most recent Internal Order Blocks appear on the chart as well as select a color.
Order Blocks Swing: Enables Swing Order Blocks & allows the user to select how many most recent Swing Order Blocks appear on the chart as well as select a color.
Mitigation Method: Allows the user to select how the script mitigates an Order Block (close, wick, or average).
Internal Buy/Sell Activity: Allows the user to display buy/sell activity within Order Blocks & decide their color.
Show Metrics: Allows the user to display volume % metrics within the Order Blocks.
Trend Line Liquidity Zones: Allows the user to display Trend Line Zones on the chart, select the number of Trend Lines visible, & their colors.
Chart Pattern Liquidity: Allows the user to display Chart Patterns on the chart, select the significance of the pattern detection, & their colors.
Liquidity Grabs: Allows the user to display Liquidity Grabs on the chart.
Imbalance Concepts: Allows the user to select the type of imbalances to display on the chart as well as the styling, mitigation method, & timeframe.
Auto FVG Threshold: Filter out non-significant fair value gaps.
Premium/ Discount Zones: Allows the user to display Premium, Discount , and Equilibrium zones on the chart
Accumulation / Distribution: Allows the user to display accumulation & distribution consolidation zones with an optional Consolidation Zig-Zag setting included.
Highs/Lows MTF: Displays previous highs & lows as levels on the chart for the previous Day, Monday, Week, Month, or quarter (3M).
General Styling: Provides styling options for market structure labels, market structure theme, and dashboard customization.
Any Alert() Function Call Conditions: Allows the user to select multiple conditions to use within 1 alert.
🔶 CONCLUSION
Price action trading is a widely respected method for its simplicity & realistic approach to understanding the market itself. Price Action Concepts™ is an extremely comprehensive product that opens the possibilities for any trader to automatically display useful metrics for trading price action with enhanced details in each. While this script is useful, it's critical to understand that past performance is not necessarily indicative of future results and there are many more factors that go into being a profitable trader.
🔶 HOW TO GET ACCESS
You can see the Author's instructions below to get instant access to this indicator & our premium suite.
Magnetic Trend filterMagnetic Trend Filter – A Smarter Way to Trade Trends 🚀
I’m excited to introduce a powerful trend filtering method that I’ve been working on—Magnetic Trend Filter (MTF). If you’ve ever struggled with noisy price action, false signals, or unclear trends, this indicator might be just what you need!
🔍 What is the Magnetic Trend Filter?
MTF is designed to smooth out market noise and help traders focus on clean, high-probability trend signals. It works by applying an intelligent filtering mechanism to Close price data, reducing whipsaws while maintaining trend sensitivity.
Instead of relying solely on conventional moving averages or lagging indicators, MTF adapts dynamically to market conditions, providing a more refined view of trend direction.
🎯 How it Works
• MTF processes filtered Close price data, making trends more visible.
• It reduces unnecessary price fluctuations, helping you stay in trades longer.
• The filtering mechanism ensures better accuracy in defining trend direction.
📈 How to Use It
• Buy Signals: When the trend filter turns bullish (uptrend confirmation).
• Sell Signals: When the trend filter turns bearish (downtrend confirmation).
• Combine with Other Indicators: MTF works great alongside VWAP, Bollinger Bands, and Ichimoku Cloud for added confluence.
Personally, I use it with my price range filter to catch good exits. Have added that to the Magnetic trend filter and will also publish advanced version independently.
🛠 Customization & Optimization
I’ve optimized the script to reduce computation load, making it efficient and responsive even on lower timeframes. You can tweak smoothing parameters to adjust the sensitivity of the filter based on your trading style.
📌 Final Thoughts
Magnetic Trend Filter is an efficient way to identify trends while avoiding unnecessary noise in price movements. Whether you’re a day trader or swing trader, this tool can help improve decision-making and increase trading accuracy.
💡 Try it out and let me know your thoughts! I’d love to hear feedback and explore potential improvements together. 🚀
Disclaimer:
This is for educational purpose only, no matter how promising things look on chart, they are past performances and reality may vary in real-time.
So use at your own risk.