Breakout MasterA range breakout occurs when the price moves outside a defined range or consolidation zone, either above resistance or below support. This breakout often signals a potential new trend direction, as it indicates increased momentum and interest in the asset beyond the previous range boundaries. Traders may use range breakouts as entry signals for trending moves.
Range
Implied Fair Value Gap (IFVG) ICT [TradingFinder] Hidden FVG OTE🔵 Introduction
The Implied Fair Value Gap (IFVG) is distinctive due to its unique three-candlestick formation, which differentiates it from conventional Fair Value Gaps.
Implied fair value represents an estimated worth of an asset—often a business or its goodwill—based on the price likely to be received in a structured transaction between market participants at a specific point in time.
In the ever-evolving world of technical analysis, pinpointing price reversal points and market anomalies can significantly enhance trading strategies and decision-making for traders and investors. Among the advanced concepts gaining traction in this field is the Implied Fair Value Gap (IFVG), introduced by the renowned analyst Inner Circle Trader (ICT).
This tool has proven to be an effective method for identifying hidden supply and demand zones in financial markets, offering a unique edge to traders looking for high-probability setups.
Unlike traditional gaps that are visible on price charts, IFVG is a hidden gap that doesn’t appear explicitly on the chart and thus requires specialized technical analysis tools for accurate identification.
This hidden gap can signal potential price reversals and offers traders insight into high-liquidity areas where price is likely to react. This article will guide you through using the ICT Implied Fair Value Gap Indicator effectively, covering its settings, usage strategies, and key features to help you make informed decisions in the market.
🟣 Bullish Implied FVG
🟣 Bearish Implied FVG
🔵 How to Use
The IFVG indicator is designed to assist traders in recognizing hidden support and resistance zones by identifying Bullish and Bearish IFVG patterns. With this tool, traders can make better-informed decisions about suitable entry and exit points for their trades based on these patterns.
🟣 Bullish Implied Fair Value Gap
This pattern occurs in an uptrend when a large bullish candlestick forms, with the wicks of the previous and following candles overlapping the body of the central candlestick.
This overlap creates a demand zone or a hidden support level, which can act as an ideal entry point for buy trades. Often, when the price returns to this area, it is likely to resume its upward trend, presenting a profitable buying opportunity.
🟣 Bearish Implied Fair Value Gap
This pattern is similar but forms in downtrends. Here, a large bearish candlestick appears on the chart, with the wicks of adjacent candles overlapping its body. This overlap defines a supply zone or a hidden resistance level and serves as a signal for potential sell trades.
When the price returns to this zone, it often continues its downward trend, providing an optimal point for entering sell trades.
The IFVG indicator also includes various filters that traders can use to refine their analysis based on market conditions. These filters, including Very Aggressive, Aggressive, Defensive, and Very Defensive, allow users to customize the IFVG zones' width, offering flexibility according to the trader’s risk tolerance and trading style.
🟣 Example Trading Scenarios
Suppose you’re in a strong uptrend and the IFVG indicator identifies a Bullish IFVG zone. In this scenario, you could consider entering a buy trade when the price retraces to this zone, expecting the uptrend to resume. Conversely, in a downtrend, a Bearish IFVG zone can signal a favorable entry point for short trades when the price revisits this area.
🔵 Settings
Implied Block Validity Period: This parameter specifies the validity period of each identified block, taking into account the number of bars that have passed since its formation. Proper adjustment of this period helps traders focus only on relevant zones, increasing the accuracy of the analysis.
Mitigation Level OB : This option defines the mitigation level for supply and demand blocks (Order Blocks), with settings including Proximal, 50% OB, and Distal.
Depending on the selected level, the indicator will focus on closer, mid-range, or farther points for block identification, allowing traders to adjust for the level of precision required.
Implied Filter : Activating this filter allows traders to apply conditions based on the width of the IFVG zones. With options like Very Aggressive and Very Defensive, traders can control the width of IFVG zones to suit their risk management strategy—whether they prefer high-risk setups or low-risk setups.
Display and Color Settings : This section enables users to customize the appearance of the IFVG zones on their charts. Traders can set different colors for Bullish and Bearish zones, allowing for easier distinction and improved visualization.
Alert Settings : One of the standout features of the IFVG indicator is the alert system. By setting up alerts, users can be notified whenever the price approaches a demand or supply zone.
Alerts can be customized to trigger Once Per Bar (one alert per bar) or Per Bar Close (alert at the close of each bar), ensuring that traders stay updated on critical price movements without needing to monitor the chart continuously.
🔵 Conclusion
The ICT Implied Fair Value Gap (IFVG) indicator is a powerful and sophisticated tool in technical analysis, allowing professional traders to identify hidden supply and demand zones and use them as entry and exit points for buy and sell trades.
This indicator’s automatic detection of IFVG zones helps traders uncover hidden trading opportunities that can enhance their analysis.
While the IFVG indicator offers numerous advantages, it is important to use it in conjunction with other technical analysis tools and sound risk management practices.
IFVG alone does not guarantee profitability in trading; it works best when combined with other indicators such as volume analysis and trend-following indicators for a comprehensive trading strategy.
Range Detect SystemTechnical analysis indicator designed to identify potential significant price ranges and the distribution of volume within those ranges. The system helps traders calculate POC and show volume history. Also detecting breakouts or potential reversals. System identifies ranges with a high probability of price consolidation and helps screen out extreme price moves or ranges that do not meet certain volatility thresholds.
⭕️ Key Features
Range Detection — identifies price ranges where consolidation is occurring.
Volume Profile Calculation — indicator calculates the Point of Control (POC) based on volume distribution within the identified range, enhancing the analysis of market structure.
Volume History — shows where the largest volume was traded from the center of the range. If the volume is greater in the upper part of the range, the color will be green. If the volume is greater in the lower part, the color will be red.
Range Filtering — Includes multi-level filtering options to avoid ranges that are too volatile or outside normal ranges.
Visual Customization — Shows graphical indicators for potential bullish or bearish crossovers at the upper and lower range boundaries. Users can choose the style and color of the lines, making it easier to visualize ranges and important levels on the chart.
Alerts — system will notify you when a range has been created and also when the price leaves the range.
⭕️ How it works
Extremes (Pivot Points) are taken as a basis, after confirming the relevance of the extremes we take the upper and lower extremes and form a range. We check if it does not violate a number of rules and filters, perform volume calculations, and only then is the range displayed.
Pivot points is a built-in feature that shows an extremum if it has not been updated N bars to the left and N bars to the right. Therefore, there is a delay depending on the bars specified to check, which allows for a more accurate range. This approach allows not to make unnecessary recalculations, which completely eliminates the possibility of redrawing or range changes.
⭕️ Settings
Left Bars and Right Bars — Allows you to define the point that is the highest among the specified number of bars to the left and right of this point.
Range Logic — Select from which point to draw the range. Maximums only, Minimums only or both.
Use Wick — Option to consider the wick of the candles when identifying Range.
Breakout Confirmation — The number of bars required to confirm a breakout, after which the range will close.
Minimum Range Length — Sets the minimum number of candles needed for a range to be considered valid.
Row Size — Number of levels to calculate POC. *Larger values increase the script load.
% Range Filter — Dont Show Range is than more N% of Average Range.
Multi Filter — Allows use of Bollinger Bands, ATR, SMA, or Highest-Lowest range channels for filtering ranges based on volatility.
Range Hit — Shows graphical labels when price hits the upper or lower boundaries of the range, signaling potential reversal or breakout points.
Range Start — Show points where Range was created.
Trend Levels [ChartPrime]The Trend Levels indicator is designed to identify key trend levels (High, Mid, and Low) during market trends, based on real-time calculations of highest, lowest, and mid-level values over a customizable length. Additionally, the indicator calculates trend strength by measuring the ratio of candles closing above or below the midline, providing a clear view of the ongoing trend dynamics and strength.
⯁ KEY FEATURES AND HOW TO USE
⯌ Trend Shift Signals :
Trend shifts, based on highest and lowest values during input length. When high is == to highest it will change trend to up when low == lowest value it will be shift to down trend.
// Calculate highest and lowest over the specified length
h = ta.highest(length)
l = ta.lowest(length)
// Determine trend direction: if the current high is the highest value, set trend to true
if h == high
trend := true
// If the current low is the lowest value, set trend to false
if l == low
trend := false
Whenever the trend changes direction (from uptrend to downtrend or vice versa), the indicator provides visual cues in the form of arrows. This gives traders clear signals to identify potential trend reversals, enabling them to adjust their strategies accordingly.
⯌ Trend Level Calculation :
As soon as a trend is detected (uptrend or downtrend), the indicator starts calculating the highest, lowest, and mid-level values over the defined period. These levels are plotted on the chart as color-coded lines for easy visualization, allowing traders to quickly spot the key levels within a trend.
⯌ Midline Retests :
Throughout the trend, the mid-level line is often retested, acting as a potential zone for pullbacks or rejections. Traders can use these retests as opportunities for entering positions or confirming trend continuation. The chart shows how price frequently interacts with the midline, helping to identify important reaction levels.
⯌ Trend Strength Calculation :
The indicator measures the trend strength by calculating the delta between the number of candles closing above and below the midline. This percentage-based delta is displayed in real-time, providing a clear indication of whether the trend is gaining or losing momentum.
⯁ USER INPUTS
Length : Specifies the lookback period for calculating the highest and lowest values, which determines the key trend levels.
Candle Counting : Measures the number of candles closing above and below the midline to calculate the trend strength delta.
⯁ CONCLUSION
The Trend Levels indicator provides traders with a powerful tool for visualizing trend dynamics, key levels of support and resistance, and real-time trend strength. By identifying midline retests, tracking candle counts, and providing trend shift signals, this indicator can help traders make well-informed decisions during market trends.
Range Tightening Indicator (RTI)The Range Tightening Indicator (RTI) quantifies price volatility relative to recent price action, helping traders identify low-volatility consolidations that often precede breakouts.
Range Tightening is calculated by measuring the range between each bar’s high and low prices over a chosen lookback period.
A 5-bar period is recommended for shorter-term momentum setups and a 15-bar period is recommended for swing trading. An option for a custom period is available to suit specific strategies. The default look back for custom is 50, ideal for longer term traders.
Other Key Features:
Dynamic Color Coding: The RTI line turns green when volatility doubles after a drop to or below 20, flagging significant volatility shifts commonly seen before breakouts.
Low-Volatility Dots: Orange dots appear on the RTI line when two or more consecutive bars show RTI values below 20, visually marking extended low-volatility periods.
Volatility Zones: Shaded zones provide quick context:
Zone 1 (0-5): Extremely tight volatility, shown in red.
Zone 2 (5-10): Low volatility, shown in light green.
Zone 3 (10-15): Moderate low volatility, shown in green.
The RTI indicator is ideal for traders looking to anticipate breakout conditions, with features that highlight consolidation phases, support momentum strategies, and help improve entry timing by focusing on shifts in volatility.
This indicator was inspired after Deepvue's RMV Indicator, but uses a different calculation. Results may vary.
Opening Range with Breakouts & Targets [LuxAlgo]Opening Range with Breakouts & Targets is based on the long-standing Opening Range Breakout strategy popularized by traders such as Toby Crabel and Mark Fisher.
This indicator measures and displays the price range created from the first period within a new trading session, along with price breakouts from that range and targets associated with the range width.
🔶 USAGE
The Opening Range (OR) can be a powerful tool for making a clear distinction between ranging and trending trading days. Using a rigid structure for drawing a range, provides a consistent basis to make judgments and comparisons that will better assist the user in determining a hypothesis for the day's price action.
NOTE: During a suspected "Range Day", the Opening Range can be used for reversion strategies, typically targeting the opposite extreme of the range or the mean of the range. However, more commonly the Opening Range is used for breakouts on suspected "Trend Days", targeting further upward or downward market movement.
The common Opening Range Breakout Strategy (ORB) outlines a structure to enter and exit positions based on rigid points determined by the Opening Range. This methodology can be adjusted based on markets or trading styles.
Determine Opening Range High & Low: These are the high and low price within a chosen period of time after the market opens. This can be customized to the user's trading style and preference. Common Ranges are from 5-60 mins.
Watch for a Breakout with Volume: A Breakout occurs when price crosses the OR High (ORH) or OR Low (ORL), an increase in volume is typically desired when witnessing these breakouts to confirm a stronger movement.
Manage Risk: Based on user preference and the appropriately determined amount of risk, multiple ways can be determined to manage risk by using Opening Range.
For Example: A stop-loss could be set at OR Mean (ORM) or the opposite side of the range, while a profit target could optionally be set at the first price target generated by the script.
Alternatively, a user might want to use a Moving Average (MA) as an adaptive stop-loss and use price targets to scale out. These are just 2 examples of the possible options, both capable with this tool.
🔹 Signals
Signals will fire based on the break of the opening range, this is indicated by arrows above and below the range boundaries.
Optionally, a bias can be added to these signals to aid in mitigating false signals by using a directional filter based on the current day's OR relative to the previous day's OR.
Regardless of the signal bias being enabled, the Opening Range Zone will always be colored directionally according to this.
If the current day's OR is above the previous day's OR, the Zone will be Green.
If the current day's OR is below the previous day's OR, the Zone will be Red.
By enabling the signal bias, signals in the opposite direction of the daily bias will fire on the cross of the first target in that direction.
🔹 Targets
In this indicator, targets are not limited and will generate infinitely based on a % width of the Opening Range.
Additionally, there are 2 display methods for these targets.
Extended: Extends the targets to the current bar and displays all targets that have been crossed so far within the session.
Adaptive: Extends only the 2 closest targets surrounding price, allowing for a display consisting of fewer lines at one time.
🔶 DETAILS
🔹 Historical Display
This indicator can be utilized in multiple ways, for use in real-time, and for historical analysis to form methods. Because of this, the indicator has an option to display only the current day's data or the entire historical data. This can also help clean up the chart when it is in use.
🔹 Time Period
The specific time period to create the opening range is entirely up to each user's preference, by default it is set to 30 mins; however, this time period can be edited with full control if desired.
Simply toggle on the "Custom Range" and input a range of time to create the range.
🔹 Session Moving Average
The Session Moving Average is a common Moving Average, which resets at the beginning of a new session. This allows for an unbiased MA that was created entirely from the current session's price action.
Note: The start of the session is determined by the start of the Opening Range if using a custom range of time.
🔶 SETTINGS
Show Historical Data: Choose to display only the current session's data or the full history of data.
Opening Range Time Period: Select the time period to form the opening range from. This operates on Session Start, so it will change with the chart.
Custom Range: Opt for a custom Range by enabling this and inputting your range times as well as your needed timezone.
Breakout Signal Bias: Select if the Breakout Signals will use a Daily Directional Bias for firing.
Target % of Range: Sets the % of the Range width that will be used as an increment for the Targets to display in.
Target Cross Source: Choose to use the Close price or High/Low price as the crossing level for Target displays. When this source crosses a target it will generate more targets.
Target Display: Choose which style of display to use for targets.
Session Moving Average: Optionally enable a Moving average of your choice that resets at the beginning of each session (start of opening range).
Ranges and Breakouts [AlgoAlpha]💥 Ranges and Breakouts by AlgoAlpha is a dynamic indicator designed for traders seeking to identify market ranges and capitalize on breakout opportunities. This tool automatically detects ranges based on price action over a specified period, visualizing these ranges with shaded boxes and midlines, making it easy to spot potential breakout scenarios. The indicator includes advanced features such as customizable pivot detection, internal range allowance, and automatic trend color changes for quick market analysis.
Key Features
💹 Dynamic Range Detection : Automatically identifies market ranges using customizable look-back and confirmation periods.
🎯 Breakout Alerts : Get alerted to bullish and bearish breakouts for potential trading opportunities.
📊 Visual Aids : Displays pivot highs/lows within ranges and plots midlines with adjustable styles for easier market trend interpretation.
🔔 Alerts : Signals potential take-profit points based on volatility and moving average crossovers.
🎨 Customizable Appearance : Choose between solid, dashed, or dotted lines for midlines and adjust the colors for bullish and bearish zones.
How to Use
⭐ Add the Indicator : Add the indicator to favorites by pressing the star icon. Adjust the settings like the look-back period, confirmation length, and pivot detection to match your trading strategy.
👀 Monitor the Chart : Watch for new ranges to form, highlighted by shaded boxes on the chart. Midlines and range bounds will appear to help you gauge potential breakout points.
⚡ React to Breakouts : Pay attention to color changes and alert signals for bullish or bearish breakouts. Use these signals to enter or exit trades.
🔔 Set Alerts : Customize alert conditions for new range formations, breakout signals, and take-profit levels to stay on top of market movements without constant monitoring.
How It Works
The indicator detects price ranges by analyzing the highest and lowest prices over a specified period. It confirms a range if these levels remain unchanged for a set number of bars, at which point it visually marks the range with shaded boxes. Pivots are identified within these ranges, and a midline is plotted to help interpret potential breakouts. When price breaks out of these defined ranges, the indicator changes the chart's background color to signal a bullish or bearish trend. Alerts can be set for range formation, breakouts, and take-profit opportunities, helping traders stay proactive in volatile markets.
Hourly Ranges [QuantVue]The "Hourly Ranges" indicator is designed to track and visualize the price ranges for each hour of the trading day. It calculates the difference between the high and low prices, as well as the differences between the high and open, and the open and low prices for each hourly candle. This data is stored and used to draw range lines on the chart.
This indicator is particularly useful for traders who want to monitor how price behaves during specific hours, identify potential support and resistance levels, and make trading decisions based on historical hourly price data.
Traders can use the hourly ranges to gauge market volatility and set expectations for price movement within each hour. The drawn levels on the chart represent the average high (resistance) and low (support) price ranges for each hour. These levels can serve as potential entry or exit points for trades, offering clear markers for setting stop-loss or take-profit orders.
By observing how price interacts with these hourly levels, traders can confirm trends or spot reversals. For example, if the price repeatedly touches and bounces off a specific hourly support level, it could indicate strong buying interest at that level.
The average range calculation gives traders a sense of the typical price movement during specific hours. This helps in assessing whether the market is more volatile during certain periods, which can be crucial for adjusting trading strategies and position sizing.
This indicator is particularly useful for traders who want to monitor how price behaves during specific hours, identify potential support and resistance levels, and make trading decisions based on historical hourly price data.
iteratorThe "Iterator" library is designed to provide a flexible way to work with sequences of values. This library offers a set of functions to create and manage iterators for various data types, including integers, floats, and more. Whether you need to generate an array of values with specific increments or iterate over elements in reverse order, this library has you covered.
Key Features:
Array Creation: Easily generate arrays of integers or floats with customizable steps, both inclusive and exclusive of the end values.
Flexible Iteration: Includes methods to iterate over arrays of different types, such as booleans, integers, floats, strings, colors, and drawing objects like lines and labels.
Reverse Iteration: Support for reverse iteration, giving you control over the order in which elements are processed.
Automatic Loop Control: One of the key advantages of this library is that when using the .iterate() method, it only loops over the array when there are values present. This means you don’t have to manually check if the array is populated before iterating, simplifying your code and reducing potential errors.
Versatile Use Cases: Ideal for scenarios where you need to loop over an array without worrying about empty arrays or checking conditions manually.
This library is particularly useful in cases where you need to perform operations on each element in an array, ensuring that your loops are efficient and free from unnecessary checks.
Library "iterator"
The "iterator" library provides a versatile and efficient set of functions for creating and managing iterators.
It allows you to generate arrays of integers or floats with customizable steps, both inclusive and exclusive of the end values.
The library also includes methods for iterating over various types, including booleans, integers, floats, strings, colors,
and drawing objects like lines and labels. With support for reverse iteration and flexible customization options.
iterator(stop, start, step)
Creates an array of integers from start to stop with a specified step, excluding the stop value.
Parameters:
stop (int) : The end value of the iterator, exclusive.
start (int) : The starting value of the iterator. Default is 0.
step (int) : The increment value for each step in the iterator. Default is 1. Must be greater than 0.
Returns: An array of integers incremented by the step value from start to stop. Will return and empty array if start = stop.
iterator(stop, start, step)
Creates an array of floats from start to stop with a specified step, excluding the stop value.
Parameters:
stop (float) : The end value of the iterator, exclusive.
start (float) : The starting value of the iterator. Default is 0.
step (float) : The increment value for each step in the iterator. Default is 1. Must be greater than 0.
Returns: An array of floats incremented by the step value from start to stop. Will return and empty array if start = stop.
iterator_inclusive(stop, start, step)
Creates an array of integers from start to stop with a specified step, including the stop value.
Parameters:
stop (int) : The end value of the iterator, inclusive.
start (int) : The starting value of the iterator. Default is 0.
step (int) : The increment value for each step in the iterator. Default is 1. Must be greater than 0.
Returns: An array of integers incremented by the step value from start to stop, including the stop value.
iterator_inclusive(stop, start, step)
Creates an array of floats from start to stop with a specified step, including the stop value.
Parameters:
stop (float) : The end value of the iterator, inclusive.
start (float) : The starting value of the iterator. Default is 0.
step (float) : The increment value for each step in the iterator. Default is 1. Must be greater than 0.
Returns: An array of floats incremented by the step value from start to stop, including the stop value.
itr(stop, start, step)
Creates an array of integers from start to stop with a specified step, excluding the stop value.
Parameters:
stop (int) : The end value of the iterator, exclusive.
start (int) : The starting value of the iterator. Default is 0.
step (int) : The increment value for each step in the iterator. Default is 1. Must be greater than 0.
Returns: An array of integers incremented by the step value from start to stop.
itr(stop, start, step)
Creates an array of floats from start to stop with a specified step, excluding the stop value.
Parameters:
stop (float) : The end value of the iterator, exclusive.
start (float) : The starting value of the iterator. Default is 0.
step (float) : The increment value for each step in the iterator. Default is 1. Must be greater than 0.
Returns: An array of floats incremented by the step value from start to stop.
itr_in(stop, start, step)
Creates an array of integers from start to stop with a specified step, including the stop value.
Parameters:
stop (int) : The end value of the iterator, inclusive.
start (int) : The starting value of the iterator. Default is 0.
step (int) : The increment value for each step in the iterator. Default is 1. Must be greater than 0.
Returns: An array of integers incremented by the step value from start to stop, including the stop value.
itr_in(stop, start, step)
Creates an array of floats from start to stop with a specified step, including the stop value.
Parameters:
stop (float) : The end value of the iterator, inclusive.
start (float) : The starting value of the iterator. Default is 0.
step (float) : The increment value for each step in the iterator. Default is 1. Must be greater than 0.
Returns: An array of floats incremented by the step value from start to stop, including the stop value.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
method iterate(self, reverse)
Creates an iterator array for the indices of ana array, with an option to reverse the order.
Namespace types: array
Parameters:
self (array) : The array to iterate over.
reverse (bool) : A boolean flag indicating whether to reverse the iterator order. Default is false.
Returns: An array of integers representing the indices of the array. The order can be reversed if specified.
Relative Range at Time/ Relative volatility / High−Low This script is designed to help you compare the size of the current price candle (the difference between the highest and lowest prices in a given time period) to the average size of the last several candles. It does this by calculating the average range of a certain number of previous candles (you can set how many with the "Length" input) and then dividing the current candle's range by this average. The result is plotted on the chart as a bar: if the current candle's range is larger than the average, the bar is green; if it's smaller, the bar is red. A horizontal line is also drawn at the value of 1, so you can easily see whether the current candle's range is above or below the average. If there’s an issue with the data, the script will show an error message to let you know.
Custom ATR Trailing StopThis Script creates a custom ATR (Average True Range) trailing stop. It allows traders to set up automated stop-loss levels based on the ATR, which adjusts dynamically to market volatility. The script is designed to support both long and short trades, offering flexibility and precision in trade management.
When loading the indicator to your chart, simply click to set the trade begining time, confirm various settings and you are set.
Check tooltips for more details in the input settigns menu.
User Inputs
Trade Setup: Allows users to set the trade direction (Long or Short), the signal source for entries, and the specific bar time for the trade setup.
ATR Settings: Configurable ATR lookback period, ATR smoothing period, initial ATR multiplier for setting the stop-loss, breakeven ATR multiplier, and a manual breakeven level.
ATR Calculations
Computes the ATR and its moving average.
Determines initial and breakeven stop levels based on the ATR.
Signal Validation
Validates long or short trade signals based on the specified bar time and trade direction.
Triggers alerts when a valid trade signal is detected.
Trailing Stop Logic
For long trades, adjusts the stop-loss level dynamically based on the ATR.
For short trades, performs similar adjustments in the opposite direction.
Updates the trailing stop level to ensure it follows the price, moving closer as the price moves favorably.
Resets the trade state when the stop-loss is hit, triggering an alert.
Plotting
Plots the trailing stop levels on the chart.
Uses green for stop levels indicating profit and red for stop levels indicating a loss.
Daily Range + Asia Liquidity + FVG + silver Bullet sessionIndicator Description :
This indicator combines several trading concepts to provide an overall view of intraday selling opportunities. It includes the following elements:
Daily Range:
Measures the daily price range between the highest and lowest points of the day.
Helps understand daily volatility and identify potential support and resistance levels.
Asia Liquidity:
Analyzes price movements and volumes during the Asian session (usually from 00:00 to 08:00 GMT).
Identifies liquidity levels where the price has reacted during this period, providing clues on where significant orders are concentrated.
FVG (Fair Value Gap):
A trading concept that identifies areas where the price has moved quickly, creating a "gap" or empty space on the chart.
These areas are often revisited by the price, which can provide potential entry or exit points.
Silver Bullet Session:
Refers to a specific period of the day where a particular strategy or setup is expected to occur. For example, this could be a period where price movements are historically more predictable or volatile.
This session particularly targets price movements that attract sellers.
Using the Indicator
Identifying Selling Levels:
Combine the daily range levels with the liquidity zones identified during the Asian session to spot levels where sellers might be interested.
Use the fair value gaps (FVG) to identify areas where the price might return, providing entry or exit points for selling positions.
Silver Bullet Session:
Focus on this period to observe price movements and reactions to the levels identified earlier.
Look for selling signals (e.g., bearish reversal candlesticks or continuation patterns) during this session to maximize selling opportunities.
Objective :
The objective of this indicator is to provide a systematic approach to identifying selling opportunities based on multiple technical and temporal elements. By combining daily volatility, liquidity levels, value gaps, and specific trading periods, this indicator helps traders pinpoint potential selling points with greater accuracy.
Candle Range Detector [UAlgo]The "Candle Range Detector " is a Pine Script™ indicator designed to identify trading opportunities based on the concept of price consolidation and breakout. It analyzes the price range of a specified number of previous candles and detects when subsequent candles stay within that range (consolidation). The indicator then highlights potential breakouts above or below the range and provides calculated Take Profit (TP) and Stop Loss (SL) levels based on your chosen method (percentage or Average True Range - ATR).
🔶 Key Features
Configurable Range: Define the minimum number of candles required to establish a valid price range.
Breakout Detection: Identify potential breakouts above or below the established range based on your selection (close price or wick).
Take Profit & Stop Loss Levels: The indicator calculates TP and SL levels based on your chosen method (percentage or ATR) and user-defined multipliers. The calculated TP and SL levels are visualized as horizontal lines with corresponding labels ("Take Profit" and "Stop Loss").
Optional Count Display: You can choose to display the number of candles currently within the range.
🔶 Disclaimer:
Not Financial Advice: This indicator is intended for educational and informational purposes only. It does not constitute financial advice or recommendations to buy, sell, or hold any financial instruments.
Use at Own Risk: Trading involves substantial risk of loss and is not suitable for all investors. Users of this indicator should exercise caution and conduct their own research and analysis before making any trading decisions.
Performance Not Guaranteed: Past performance is not indicative of future results. While the indicator aims to assist traders in analyzing market trends, there is no guarantee of accuracy or success in trading operations.
🔷 Related Scripts
Range Finder
Futures Weekly Open RangeThe weekly opening range ( high to low ) is calculated from the open of the market on Sunday (1800 EST) till the opening of the Bond Market on Monday morning (0800 EST). This is the first and most crucial range for the trading week. As ICT has taught, price is moving through an algorithm and as such is fractal; because price is fractal, the opening range can be calculated and projected to help determine if price is trending or consolidating. As well; this indicator can be used to incorporate his PO3 concept to enter above the weekly opening range for shorts if bearish, or entering below the opening range for longs if bullish.
This indicator takes the high and low of weekly opening range, plots those two levels, plots the opening price for the new week, and calculates the Standard Deviations of the range and plots them both above and below of the weekly opening range. These are all plotted through the week until the start of the new week.
The range is calculated by subtracting the high from the low during the specified time.
The mid-point is half of that range added to the low.
The Standard deviation is multiples of the range (up to 10) added to the high and subtracted
from the low.
At this time the indicator will only plot the Standard deviation lines on the minutes time frame below 1 hour.
Only the range and range lines will be plotted on the hourly chart.
ATR Gerchik LightAverage True Range ( ATR ) is a technical analysis indicator that measures volatility in the market. ATR is a moving average of the true range over a period of time.
ATR calculation procedure:
1. Determine the true maximum - this is the highest of the current maximum and yesterday's closing price of the day.
2. Determine the true minimum - this is the smallest of the current minimum and yesterday's closing price.
3. Determine the true range - this is the distance between the true maximum and minimum.
4. We exclude extremely large candles (> x2 ATR) and extremely small ones (< 0.5 ATR) from the obtained true ranges.
5. We calculate the average for the selected period based on the remaining range.
6. We calculate the percentage of the current True Range relative to the average ATR value for the previous period.
Description:
If you analyze it yourself, you will see that 75-80% of the time, the instrument moves only 1 ATR per day. You must understand that if an instrument has, for example, moved 80% of its daily range, it is not advisable to purchase it. This is comparable to a car's fuel tank: if the tank is almost empty, the car won't go far. Most indicators that calculate ATR include anomalous candles, which give unreliable results and lead to incorrect decisions. Because of this, many traders prefer to calculate ATR on their own.
However, the Gerchik ATR indicator accounts for anomalous candles and filters out extremely large candles (> 2x ATR) and extremely small ones (< 0.5x ATR). Additionally, this indicator immediately shows the consumed “fuel” of the instrument as a percentage, so you don't have to calculate the distance traveled yourself. This allows you to make quick, informed decisions. If we see that the tank is almost empty, it is logical not to get into that car today. When building any strategy, you must rely on the average movement.
Key Features:
Anomalous Candle Filtering: Excludes extremely large and small candles to provide more reliable ATR values.
Consumed Fuel Indicator: Shows the percentage of the ATR consumed, helping traders quickly assess the remaining potential movement.
Daily Timeframe Focus: Designed specifically for use on daily charts for accurate long-term analysis.
Practical Applications:
Entry and Exit Points: Use the ATR to determine optimal entry and exit points by assessing market volatility and potential price movement.
Stop-Loss Placement: Calculate stop-loss levels based on ATR to ensure they are placed at appropriate distances, accounting for current market volatility.
Trend Confirmation: Use the percentage of ATR consumed to confirm the strength of a trend and decide whether to enter or exit trades.
Examples of Use:
Trend Following: During strong trends, ATR helps identify periods of increased volatility, signaling potential breakouts or reversals.
Range Trading: In ranging markets, ATR can highlight periods of low volatility, indicating consolidation and potential breakout zones.
Note: The indicator is displayed and works only on the daily timeframe!
The indicator was created according to the instructions, description of the functionality, and strategy of Mr. Gerchik. Thank you so much, Chief!
________________________
Average True Range ( ATR , средний истинный диапазон) – это индикатор технического анализа, который измеряет волатильность на рынке. ATR представляет собой скользящее среднее истинного диапазона за определенный период времени.
Порядок расчета ATR:
1. Определяем истинный максимум – это наивысшее из текущего максимума и вчерашней цены закрытия дня.
2. Определяем истинный минимум – это наименьшее из текущего минимума и вчерашней цены закрытия.
3. Определяем истинный диапазон – это расстояние между истинным максимумом и минимумом.
4. Исключаем из полученных истинных диапазонов экстремально большие свечи (> x2 ATR) и экстремально маленькие (< 0.5 ATR).
5. Рассчитываем среднее за выбранный период исходя из оставшегося диапазона.
6 . Рассчитываем процент текущего истинного диапазона (True Range) относительно среднего значения ATR за предыдущий период.
Описание:
Если вы сами проанализируете, то увидите, что 75-80% времени инструмент ходит только 1 ATR. И вы должны понимать, что если инструмент внутри дня прошел, к примеру, 80% своего движения, то этот инструмент больше нельзя покупать. Это можно сравнить с баком машины: если бак почти пустой, машина далеко не уедет. Большинство индикаторов, которые рассчитывают ATR, производят расчет с паранормальными свечами. Это дает недостоверный результат и приводит к неверным решениям. Многие трейдеры из-за этого не используют готовые индикаторы и предпочитают считать ATR самостоятельно. Но индикатор ATR Gerchik учитывает паранормальные свечи и фильтрует экстремально большие свечи (> x2 ATR) и экстремально маленькие (< 0.5 ATR). Также этот индикатор сразу показывает израсходованный "бензин" инструмента в процентах. И вам не надо самостоятельно высчитывать пройденный путь. Вы можете быстро принимать правильные решения. Если мы видим, что бак почти пустой, логично не садиться в эту машину сегодня. Когда вы строите какую-то стратегию, вы должны обязательно полагаться на среднестатистическое движение.
Существует много стратегий, завязанных на ATR, которые учитывают волатильность инструмента, запас хода, точки разворота, места выставления стоп-лоссов (SL) и тейк-профитов (TP) и другие факторы. Я не буду останавливаться на них, так как каждый может найти описание этих стратегий и использовать их на свой выбор.
Индикатор отображается и работает только на дневном таймфрейме!
Индикатор создан по наставлениям, описанию функционала и стратегии господина Герчика. Огромное спасибо, Шеф!
ICT KillZones Hunt [TradingFinder] 4 Sessions + OB + FVG + Alert🔵 Introduction
🟣 ICT
The "ICT" style is a subset of "Price Action" technical analysis. The primary goal of the ICT trading strategy is to merge "Price Action" with the "Smart Money" concept to pinpoint optimal trade entry points.
However, this approach's strength extends beyond merely finding entry points. It also helps traders gain a deeper understanding of price behavior and adapt their trading strategies to the market structure.
The most important concepts of "ICT" :
Order Block
Fair Value Gap(FVG)
Liquidity
🟣 Session
Financial markets are divided into several time periods, each featuring distinct characteristics and levels of activity. These periods, known as sessions, are active at different times during the day.
The primary active sessions in financial markets include :
Asian Session
European Session
New York Session
Based on the UTC time zone, the schedule for these key sessions is :
Asian Session: 23:00 to 06:00
European Session: 07:00 to 16:30
New York Session: 13:00 to 22:00
Note
To avoid session overlap and minimize interference during kill zones, the session times have been modified as follows :
Asian Session: 23:00 to 06:00
European Session: 07:00 to 14:25
New York Session: 14:30 to 22:55
🟣 KillZone
Kill zones are periods within a session where trader activity spikes. During these times, trading volume surges, and price movements become more pronounced.
The major kill zones, according to the UTC time zone, are as follows :
Asian Kill Zone: 23:00 to 03:55
European Kill Zone: 07:00 to 09:55
New York Morning Kill Zone: 14:30 to 16:55
New York Evening Kill Zone: 19:30 to 20:55
🔵 How to Use
🟣 Order Block
Order blocks are a distinct category of "Supply and Demand" zones, formed when a series of orders are grouped together. These blocks are often created by banks or other significant market participants.
Banks typically execute large orders in blocks during their trading sessions. If they were to enter the market with small quantities, substantial price movements would occur before the orders were fully executed, reducing potential profit.
To mitigate this, they divide their orders into smaller, more manageable positions. Traders should seek "buy" opportunities in "demand order blocks" and "sell" opportunities in "supply order blocks."
🟣 Fair Value Gap (FVG)
To pinpoint the "Fair Value Gap" on the chart, meticulous candle-by-candle analysis is essential. Pay close attention to candles with significant bodies, examining each candle alongside the one preceding it.
The candles flanking this central candle should exhibit elongated shadows, with bodies that do not intersect the body of the central candle. The span between the shadows of the first and third candles is referred to as the FVG range.
Note :
The origin of all Order Blocks and FVGs starts from inside a kill zone and extends up to the end of the same session.
🟣 Kill Zone Hunt
Following this strategy, after the conclusion of the kill zone and the stabilization of its high and low lines, if the price touches either of these lines within the same session and encounters a robust rejection, it presents an opportunity to enter a trade.
🔵 Setting
🟣 Global Setting
Show All Order Block :
If it is turned off, only the last Order Block will be displayed.
Show All FVG :
If it is turned off, only the last FVG will be displayed.
Show More Info Session :
If it is turned on, more information about kill zones (Trade Volume, Time, Number of Candles) will be displayed.
🟣 Logic Parameter
Pivot Period of Order Blocks Detector :
Enter the desired pivot period to identify the Order Block.
Order Block Validity Period (Bar) :
You can specify the maximum time the Order Block remains valid based on the number of candles from the origin.
Mitigation Level Order Block :
Determining the basic level of a block order. When the price hits the basic level, the order block due to mitigation.
🟣 Order Blocks Display
Demand Order Block :
Show or not show and specify color.
Supply order Block :
Show or not show and specify color.
🟣 Order Block Refinement
Refine Demand OB :
Enable or disable the refinement feature. Mode selection.
Refine Supply OB :
Enable or disable the refinement feature. Mode selection.
🟣 FVG
FVG Validity Period (Bar) :
You can specify the maximum time the FVG remains valid based on the number of candles from the origin.
Mitigation Level FVG :
Determining the basic level of a FVG. When the price hits the basic level, the FVG due to mitigation.
Show Demand FVG :
Show or not show and specify color.
Show Supply FVG :
Show or not show and specify color.
FVG Filter :
Enable or disable filtering of FVGs. Select filter mode.
🟣 Session
Show More Info Session Color
Asia Session, London Sesseion, New York am Session & New York pm Session :
Show or not show session and kill zones. Change the display color.
🟣 Alert
Send Alert When Touched Session high & Low :
On / Off
Alert Demand OB Mitigation :
On / Off
Alert Supply OB Mitigation :
On / Off
Alert Demand FVG Mitigation :
On / Off
Alert Supply FVG Mitigation :
On / Off
Message Frequency :
This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Show Alert Time by Time Zone :
The date, hour, and minute you receive in alert messages can be based on any time zone you choose. For example, if you want New York time, you should enter "UTC-4". This input is set to the time zone "UTC" by default.
Display More Info :
Displays information about the price range of the order blocks (Zone Price) and the date, hour, and minute under "Display More Info". If you do not want this information to appear in the received message along with the alert, you should set it to "Off".
B A N K $ - Advanced Session RangesThis is a simple indicator that has been designed to aid intraday trading and has a few components;
Key Features
Session Ranges + Optimal Exit Time
Asia Pip Range
New York Midnight Open Line
Session Ranges + Optimal Exit Time
Information ℹ️
This is a visual depiction of the 3 main sessions in the markets. Asia, London & New York. The default timings are set to perfectly align with each session however the Start & End times for each session can be changed in the settings. (I've added a website on the tooltip to easily convert timezones)
I have also added a 4th session range called "Optimal Exit Time". This is statistically the most probable time window for the opposite High / Low of Day to form is within this window. It helps the trader understand when they should look to take profit.
How It Works 🔑
The indicator automatically maps on two lines for the High & Low of the range between the selected Start & End time, it also colours the background.
The individual lines & background can be toggled & customised to the traders preference.
Asia Pip Range
Information ℹ️
This displays the Asia Range in pips beneath the Asia Session Low.
How It Works 🔑
This calculates the distance between the Asia High - Asia Low in pips. It will automatically recalibrate to the timings the trader sets in the settings if they change the Start / End.
New York Midnight Open Line
Information ℹ️
This helps look for Buys beneath the line for a Bullish Expansion day 📈 & Sells above the line for a Bearish Expansion day 📉
How It Works 🔑
This adds a horizontal line to the chart that is anchored to New York Midnight Open (00:00) by default. It can be changed in the settings in required. You can also toggle on the time being shown above the line.
KillZones Hunt + Sessions [TradingFinder] Alert & Volume Ranges🟣 Introduction
🔵 Session
Financial markets are divided into various time segments, each with its own characteristics and activity levels. These segments are called sessions, and they are active at different times of the day.
The most important active sessions in financial markets are :
1. Asian Session
2. European Session
3. New York Session
The timing of these major sessions based on the UTC time zone is as follows :
1. Asian Session: 23:00 to 06:00
2. European Session: 07:00 to 16:30
3. New York Session: 13:00 to 22:00
Note
To avoid overlap between sessions and interference in kill zones, we have adjusted the session timings as follows :
• Asian Session: 23:00 to 06:00
• European Session: 07:00 to 14:25
• New York Session: 14:30 to 22:55
🔵 Kill Zones
Kill zones are parts of a session where trader activity is higher than usual. During these periods, trading volume increases and price fluctuations are more intense.
The timing of the major kill zones based on the UTC time zone is as follows :
• Asian Kill Zone: 23:00 to 03:55
• European Kill Zone: 07:00 to 09:55
• New York Morning Kill Zone: 14:30 to 16:55
• New York Evening Kill Zone: 19:30 to 20:55
This indicator focuses on tracking the kill zone and its range. For example, once a kill zone ends, the high and low formed during it remain unchanged.
If the price reaches the high or low of the kill zone while the session is still active, the corresponding line is not drawn any further. Based on this information, various strategies can be developed, and the most important ones are discussed below.
🟣 How to Use
There are three main ways to trade based on the kill zone :
• Kill Zone Hunt
• Breakout and Pullback to Kill Zone
• Trading in the Trend of the Kill Zone
🔵 Kill Zone Hunt
According to this strategy, once the kill zone ends and its high and low lines no longer change, if the price reaches one of these lines within the same session and is strongly rejected, a trade can be entered.
🔵 Breakout and Pullback to Kill Zone
According to this strategy, once the kill zone ends and its high and low lines no longer change, if the price breaks one of these lines strongly within the same session, a trade can be entered on the pullback to that level.
Trading in the Trend of the Kill Zone
We know that kill zones are areas where high-volume trading occurs and powerful trends form. Therefore, trades can be made in the direction of the trend. For example, when an upward trend dominates this area, you can enter a buy trade when the price reaches a demand order block.
🟣 Features
🔵 Alerts
You can set alerts to be notified when the price hits the high or low lines of the kill zone.
🔵 More Information
By enabling this feature, you can view information such as the time and trading volume within the kill zone. This allows you to compare the trading volume with the same period on the previous day or other kill zones.
🟣 Settings
Through the settings, you have access to the following options :
• Show or hide additional information
• Enable or disable alerts
• Show or hide sessions
• Show or hide kill zones
• Set preferred colors for displaying sessions
• Customize the time range of sessions
• Customize the time range of kill zones
KillZones & Sessions [TradingFinder] Volume | Asia, London & NY🔵 Introduction
🟣 Session
The forex market operates 24 hours a day, 5 days a week, with only Saturdays and Sundays being off; traders often focus on one of the forex trading sessions instead of trying to trade in all markets 24 hours a day.
Trading sessions are time intervals during which a specific financial market is active and trades are conducted. The Asia, London, and New York sessions are the most important trading sessions throughout the 24-hour period, during which a significant amount of money and liquidity enters the market.
🟣 Kill Zone
Traders in financial markets profit from the difference between the price at which they buy or sell and the current market price. Traders have different time horizons for trading.
Among these, some traders engage in daily or even hourly trading and must operate during times when the market has desirable trading volumes and significant price movements.
Kill zones are segments of a session with higher trading volumes and price fluctuations compared to the rest of the session.
🔵 How to Use
🟣 Session Time
The "Asia Session" consists of two sessions: "Sydney" and "Tokyo." The beginning of this session, according to the "UTC" time zone, is at 23:00 and ends at 06:00. Similarly, the beginning of the "Asia KillZone," according to the "UTC" time zone, is at 23:00, and it ends at 03:55.
The "London Session" consists of two sessions: "Frankfurt" and "London." The beginning of this session, according to the "UTC" time zone, is at 07:00, and it ends at 14:25. Similarly, the beginning of the "London KillZone," according to the "UTC" time zone, is at 07:00, and it ends at 09:55.
The beginning of the "New York am" session, according to the "UTC" time zone, is at 14:30, and it ends at 19:25. Similarly, the beginning of the "New York am KillZone," according to the "UTC" time zone, is at 14:30, and it ends at 16:55.
The beginning of the "New York pm" session, according to the "UTC" time zone, is at 19:30, and it ends at 22:55. Similarly, the beginning of the "New York pm KillZone," according to the "UTC" time zone, is at 19:30, and it ends at 20:55.
Important : To prevent session overlap, the working hours of each session have slightly changed.
🔵 Features
🟣 Simultaneous Session and Kill Zone
With this indicator, you can simultaneously view the kill zone and session. High and low lines are used to indicate sessions, while filled areas with color represent kill zones. If you do not want to see kill zones, you can turn off the display settings.
🟣 Candle, Time, and Volume
Using the "More Info" feature, you can see the number of candles, elapsed time, and traded volume within the colored filled area.
🔵 Settings
•Show More Info: To display "More Info," you need to turn on this feature and turn it off whenever you don't need it.
• You can also customize these settings for each session separately :
o Display or hide session.
o Choose session color.
o Set session time range.
o Display or hide kill zone.
o Set kill zone time range.
Range Average Retest Model [LuxAlgo]The Range Average Retest Model tool highlights setups from the range average retest entry model, a model using the retest of the average between two opposite swing points as an entry.
This tool uses long-term volatility coupled with user-defined multipliers to filter out swing areas and set take profit and stop loss levels for all trades.
Key features include:
Draw up to 165 swing areas and their associated trades
Filter out swing areas using Pivot Length , Selection Mode and Threshold parameters
Filter out trades with Maximum Distance and Minimum Distance parameters
Enable or disable swing areas and select default colors
Enable or disable overlapping trades and change the default colors for Take Profit and Stop Loss zones
🔶 USAGE
The "Range Average Retest Model" is an entry model that enters a position when the price retests the average made between two swing points. Users can determine the period of the detected swing points from the "Pivot Length" setting.
The conditions for long or short trades, regardless of whether the swing area is bullish or bearish, are as follows:
Long positions: the current bar close is below the swing area average and the last bar close was above it.
Short positions: the current bar close is above the swing area average price and the last bar close was below it.
Each trade is displayed on the chart with a line connecting it to its swing area highlighting the range average, a green area for the take profit, and a red area for the stop loss.
Both the Take Profit and Stop Loss levels are calculated by applying your own multiplier in the settings panel to the long-term volatility measure, in this case, the average true range over the last 200 bars.
Trades will remain open until they reach either the Stop Loss or Take Profit price levels.
🔹 Filtering Swing Areas
The daily chart of the Nasdaq-100 futures (NQ) with pivot length 2 and bullish selection mode: it only detects bullish swing areas, but they are smaller and more numerous.
Traders can manipulate the behavior of the swing areas from the settings panel.
The Selection mode will filter areas by bias: it will detect bullish areas, bearish areas, or both.
The Threshold parameter is applied to the long-term volatility to filter out areas where the average prices are too close together; the higher the value, the greater the difference between the average prices must be.
🔹 Trades
3-minute chart of the Nasdaq-100 futures (NQ) with pivot length 5, bearish selection mode maximum distance 4, and stop loss 2: many trades detected with very asymmetric risk/reward.
The behavior of the trades is also manipulated from the settings panel.
The maximum and minimum distance parameters specify the number of bars a trade must be away from a swing area.
The Take Profit and Stop Loss parameters are applied to the long-term volatility to obtain their respective price levels.
🔹 Overlapping Trades
Same chart as before, but with overlapping trades: messy, right?
By default the tool does not show overlapping trades, this allows for a cleaner chart.
In the settings panel traders can enable overlapping mode, in which case the tool will show all available trades.
Traders must be aware that the chart can be very crowded.
🔶 SETTINGS
🔹 Swings
Pivot Length: How many bars are used to confirm a swing point. The larger this parameter is, the larger and fewer swing areas will be detected.
Selection Mode: Swing area detection mode, detect only bullish swings, only bearish swings, or both.
Threshold: Swing area comparator. This threshold is multiplied by a measure of volatility (average true range over the last 200 bars), for a new swing area to be detected it must have an average level that is sufficiently distant from the average level of any untouched swing area, this parameter controls that distance.
🔹 Trades
Maximum distance: Maximum distance allowed between a swing area and a trade.
Minimum distance: Minimum distance allowed between a swing area and a trade.
Take profit: The size of the take profit - this threshold is multiplied by a measure of volatility (the average true range over the last 200 bars).
Stop loss: The size of the stop-loss: this threshold is multiplied by a measure of volatility (the average true range over the last 200 bars).
time_and_sessionA library that provides utilities for working with trading sessions and time-based conditions. Functions include session checks, date range checks, day-of-week matching, and session high/low calculations for daily, weekly, monthly, and yearly timeframes. This library streamlines time-related calculations and enhances time-based strategies and indicators.
Library "time_and_session"
Provides functions for checking time and session-based conditions and retrieving session-specific high and low values.
is_session(session, timeframe, timezone)
Checks if the current time is within the specified trading session
Parameters:
session (string) : The trading session, defined using input.session()
timeframe (string) : The timeframe to use, defaults to the current chart's timeframe
timezone (string) : The timezone to use, defaults to the symbol's timezone
Returns: A boolean indicating whether the current time is within the specified trading session
is_date_range(start_time, end_time)
Checks if the current time is within a specified date range
Parameters:
start_time (int) : The start time, defined using input.time()
end_time (int) : The end time, defined using input.time()
Returns: A boolean indicating whether the current time is within the specified date range
is_day_of_week(sunday, monday, tuesday, wednesday, thursday, friday, saturday)
Checks if the current day of the week matches any of the specified days
Parameters:
sunday (bool) : A boolean indicating whether to check for Sunday
monday (bool) : A boolean indicating whether to check for Monday
tuesday (bool) : A boolean indicating whether to check for Tuesday
wednesday (bool) : A boolean indicating whether to check for Wednesday
thursday (bool) : A boolean indicating whether to check for Thursday
friday (bool) : A boolean indicating whether to check for Friday
saturday (bool) : A boolean indicating whether to check for Saturday
Returns: A boolean indicating whether the current day of the week matches any of the specified days
daily_high(source)
Returns the highest value of the specified source during the current daily session
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current daily session, or na if the timeframe is not suitable
daily_low(source)
Returns the lowest value of the specified source during the current daily session
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current daily session, or na if the timeframe is not suitable
regular_session_high(source, persist)
Returns the highest value of the specified source during the current regular trading session
Parameters:
source (float) : The data series to evaluate, defaults to high
persist (bool) : A boolean indicating whether to retain the last value outside of regular market hours, defaults to true
Returns: The highest value during the current regular trading session, or na if the timeframe is not suitable
regular_session_low(source, persist)
Returns the lowest value of the specified source during the current regular trading session
Parameters:
source (float) : The data series to evaluate, defaults to low
persist (bool) : A boolean indicating whether to retain the last value outside of regular market hours, defaults to true
Returns: The lowest value during the current regular trading session, or na if the timeframe is not suitable
premarket_session_high(source, persist)
Returns the highest value of the specified source during the current premarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to high
persist (bool) : A boolean indicating whether to retain the last value outside of premarket hours, defaults to true
Returns: The highest value during the current premarket trading session, or na if the timeframe is not suitable
premarket_session_low(source, persist)
Returns the lowest value of the specified source during the current premarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to low
persist (bool) : A boolean indicating whether to retain the last value outside of premarket hours, defaults to true
Returns: The lowest value during the current premarket trading session, or na if the timeframe is not suitable
postmarket_session_high(source, persist)
Returns the highest value of the specified source during the current postmarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to high
persist (bool) : A boolean indicating whether to retain the last value outside of postmarket hours, defaults to true
Returns: The highest value during the current postmarket trading session, or na if the timeframe is not suitable
postmarket_session_low(source, persist)
Returns the lowest value of the specified source during the current postmarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to low
persist (bool) : A boolean indicating whether to retain the last value outside of postmarket hours, defaults to true
Returns: The lowest value during the current postmarket trading session, or na if the timeframe is not suitable
weekly_high(source)
Returns the highest value of the specified source during the current weekly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current weekly session, or na if the timeframe is not suitable
weekly_low(source)
Returns the lowest value of the specified source during the current weekly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current weekly session, or na if the timeframe is not suitable
monthly_high(source)
Returns the highest value of the specified source during the current monthly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current monthly session, or na if the timeframe is not suitable
monthly_low(source)
Returns the lowest value of the specified source during the current monthly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current monthly session, or na if the timeframe is not suitable
yearly_high(source)
Returns the highest value of the specified source during the current yearly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current yearly session, or na if the timeframe is not suitable
yearly_low(source)
Returns the lowest value of the specified source during the current yearly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current yearly session, or na if the timeframe is not suitable
Consolidation Score ScreenerIn trading, a consolidation range is like a timeout after a big move in the price of a stock or symbol.
It's when the market takes a breather, neither pushing the price up nor down too hard.
Visually, it looks like the price moving sideways on a chart , with highs and lows staying within a certain range.
so this indicator is created to help myself and you decide if its a ranging market and what's the score of that consolidation range
The score ranges between 0 and 10 , where 10 is the max consolidation score , meaning this stock or the symbol is at its highest peak of consolidation .
What would you see using this indicator ?
Symbols circles , inside these circles it will print the consolidation score ..
in the middle of the indicator it will show the range of all the 20 symbols scores .
so it will give you like overall ranging value for your 20 symbols
Settings :
TimeFrame : TimeFrame input to select which time frame you want your indicator to analysis
Range length : The Range that you would want your indicator to take into consideration when doing its analysis .
Features :
20 symbols analysis
Multi timeframe capability
Enjoy .
Range Finder [UAlgo]🔶 Description:
The "Range Finder " indicator aims at identifying and visualizing price ranges within a specified number of candles. By utilizing the Average True Range (ATR) indicator and Simple Moving Average (SMA), it detects potential breakout conditions and tracks consecutive candles that remain within the breakout range. This indicator offers flexibility by allowing users to customize settings such as range length, method for determining range breaks (based on either candle close or wick), and visualization options for displaying range breaks on the chart.
🔶 Key Features
Identifying Ranges: The Range Finder automatically adapts to the market by continuously evaluating the Average True Range (ATR) and its Simple Moving Average (SMA). This helps in dynamically adjusting the range based on market volatility.
Range Length: Users can specify the number of candles to be used for constructing the range via the "Range Length" input setting. This allows for customization based on trading strategies and preferences.
Range Break Method: The indicator offers the flexibility to choose between two methods for identifying range breaks. Users can select between "Close" or "Wick" based on their preference for using the closing price or the highs and lows (including wicks) of candles for defining the breakout.
Show Range Breaks: This option enables visual representation of range breaks on the chart. When activated, labels with the letter "B" will appear at the breakout point, colored according to the breakout direction (upward breakouts in the chosen up range color and downward breakouts in the chosen down range color).
Range Color Customization: The indicator provides the ability to personalize the visual appearance of the range by selecting preferred colors for ranges indicating potential upward and downward breakouts.
🔶 Disclaimer
It's important to understand that the Range Finder indicator is intended for informational purposes only and should not be solely relied upon for making trading decisions. Trading financial instruments involves inherent risks, and past performance is not necessarily indicative of future results.