Monte Carlo Range Forecast [DW]This is an experimental study designed to forecast the range of price movement from a specified starting point using a Monte Carlo simulation.
Monte Carlo experiments are a broad class of computational algorithms that utilize random sampling to derive real world numerical results.
These types of algorithms have a number of applications in numerous fields of study including physics, engineering, behavioral sciences, climate forecasting, computer graphics, gaming AI, mathematics, and finance.
Although the applications vary, there is a typical process behind the majority of Monte Carlo methods:
-> First, a distribution of possible inputs is defined.
-> Next, values are generated randomly from the distribution.
-> The values are then fed through some form of deterministic algorithm.
-> And lastly, the results are aggregated over some number of iterations.
In this study, the Monte Carlo process used generates a distribution of aggregate pseudorandom linear price returns summed over a user defined period, then plots standard deviations of the outcomes from the mean outcome generate forecast regions.
The pseudorandom process used in this script relies on a modified Wichmann-Hill pseudorandom number generator (PRNG) algorithm.
Wichmann-Hill is a hybrid generator that uses three linear congruential generators (LCGs) with different prime moduli.
Each LCG within the generator produces an independent, uniformly distributed number between 0 and 1.
The three generated values are then summed and modulo 1 is taken to deliver the final uniformly distributed output.
Because of its long cycle length, Wichmann-Hill is a fantastic generator to use on TV since it's extremely unlikely that you'll ever see a cycle repeat.
The resulting pseudorandom output from this generator has a minimum repetition cycle length of 6,953,607,871,644.
Fun fact: Wichmann-Hill is a widely used PRNG in various software applications. For example, Excel 2003 and later uses this algorithm in its RAND function, and it was the default generator in Python up to v2.2.
The generation algorithm in this script takes the Wichmann-Hill algorithm, and uses a multi-stage transformation process to generate the results.
First, a parent seed is selected. This can either be a fixed value, or a dynamic value.
The dynamic parent value is produced by taking advantage of Pine's timenow variable behavior. It produces a variable parent seed by using a frozen ratio of timenow/time.
Because timenow always reflects the current real time when frozen and the time variable reflects the chart's beginning time when frozen, the ratio of these values produces a new number every time the cache updates.
After a parent seed is selected, its value is then fed through a uniformly distributed seed array generator, which generates multiple arrays of pseudorandom "children" seeds.
The seeds produced in this step are then fed through the main generators to produce arrays of pseudorandom simulated outcomes, and a pseudorandom series to compare with the real series.
The main generators within this script are designed to (at least somewhat) model the stochastic nature of financial time series data.
The first step in this process is to transform the uniform outputs of the Wichmann-Hill into outputs that are normally distributed.
In this script, the transformation is done using an estimate of the normal distribution quantile function.
Quantile functions, otherwise known as percent-point or inverse cumulative distribution functions, specify the value of a random variable such that the probability of the variable being within the value's boundary equals the input probability.
The quantile equation for a normal probability distribution is μ + σ(√2)erf^-1(2(p - 0.5)) where μ is the mean of the distribution, σ is the standard deviation, erf^-1 is the inverse Gauss error function, and p is the probability.
Because erf^-1() does not have a simple, closed form interpretation, it must be approximated.
To keep things lightweight in this approximation, I used a truncated Maclaurin Series expansion for this function with precomputed coefficients and rolled out operations to avoid nested looping.
This method provides a decent approximation of the error function without completely breaking floating point limits or sucking up runtime memory.
Note that there are plenty of more robust techniques to approximate this function, but their memory needs very. I chose this method specifically because of runtime favorability.
To generate a pseudorandom approximately normally distributed variable, the uniformly distributed variable from the Wichmann-Hill algorithm is used as the input probability for the quantile estimator.
Now from here, we get a pretty decent output that could be used itself in the simulation process. Many Monte Carlo simulations and random price generators utilize a normal variable.
However, if you compare the outputs of this normal variable with the actual returns of the real time series, you'll find that the variability in shocks (random changes) doesn't quite behave like it does in real data.
This is because most real financial time series data is more complex. Its distribution may be approximately normal at times, but the variability of its distribution changes over time due to various underlying factors.
In light of this, I believe that returns behave more like a convoluted product distribution rather than just a raw normal.
So the next step to get our procedurally generated returns to more closely emulate the behavior of real returns is to introduce more complexity into our model.
Through experimentation, I've found that a return series more closely emulating real returns can be generated in a three step process:
-> First, generate multiple independent, normally distributed variables simultaneously.
-> Next, apply pseudorandom weighting to each variable ranging from -1 to 1, or some limits within those bounds. This modulates each series to provide more variability in the shocks by producing product distributions.
-> Lastly, add the results together to generate the final pseudorandom output with a convoluted distribution. This adds variable amounts of constructive and destructive interference to produce a more "natural" looking output.
In this script, I use three independent normally distributed variables multiplied by uniform product distributed variables.
The first variable is generated by multiplying a normal variable by one uniformly distributed variable. This produces a bit more tailedness (kurtosis) than a normal distribution, but nothing too extreme.
The second variable is generated by multiplying a normal variable by two uniformly distributed variables. This produces moderately greater tails in the distribution.
The third variable is generated by multiplying a normal variable by three uniformly distributed variables. This produces a distribution with heavier tails.
For additional control of the output distributions, the uniform product distributions are given optional limits.
These limits control the boundaries for the absolute value of the uniform product variables, which affects the tails. In other words, they limit the weighting applied to the normally distributed variables in this transformation.
All three sets are then multiplied by user defined amplitude factors to adjust presence, then added together to produce our final pseudorandom return series with a convoluted product distribution.
Once we have the final, more "natural" looking pseudorandom series, the values are recursively summed over the forecast period to generate a simulated result.
This process of generation, weighting, addition, and summation is repeated over the user defined number of simulations with different seeds generated from the parent to produce our array of initial simulated outcomes.
After the initial simulation array is generated, the max, min, mean and standard deviation of this array are calculated, and the values are stored in holding arrays on each iteration to be called upon later.
Reference difference series and price values are also stored in holding arrays to be used in our comparison plots.
In this script, I use a linear model with simple returns rather than compounding log returns to generate the output.
The reason for this is that in generating outputs this way, we're able to run our simulations recursively from the beginning of the chart, then apply scaling and anchoring post-process.
This allows a greater conservation of runtime memory than the alternative, making it more suitable for doing longer forecasts with heavier amounts of simulations in TV's runtime environment.
From our starting time, the previous bar's price, volatility, and optional drift (expected return) are factored into our holding arrays to generate the final forecast parameters.
After these parameters are computed, the range forecast is produced.
The basis value for the ranges is the mean outcome of the simulations that were run.
Then, quarter standard deviations of the simulated outcomes are added to and subtracted from the basis up to 3σ to generate the forecast ranges.
All of these values are plotted and colorized based on their theoretical probability density. The most likely areas are the warmest colors, and least likely areas are the coolest colors.
An information panel is also displayed at the starting time which shows the starting time and price, forecast type, parent seed value, simulations run, forecast bars, total drift, mean, standard deviation, max outcome, min outcome, and bars remaining.
The interesting thing about simulated outcomes is that although the probability distribution of each simulation is not normal, the distribution of different outcomes converges to a normal one with enough steps.
In light of this, the probability density of outcomes is highest near the initial value + total drift, and decreases the further away from this point you go.
This makes logical sense since the central path is the easiest one to travel.
Given the ever changing state of markets, I find this tool to be best suited for shorter term forecasts.
However, if the movements of price are expected to remain relatively stable, longer term forecasts may be equally as valid.
There are many possible ways for users to apply this tool to their analysis setups. For example, the forecast ranges may be used as a guide to help users set risk targets.
Or, the generated levels could be used in conjunction with other indicators for meaningful confluence signals.
More advanced users could even extrapolate the functions used within this script for various purposes, such as generating pseudorandom data to test systems on, perform integration and approximations, etc.
These are just a few examples of potential uses of this script. How you choose to use it to benefit your trading, analysis, and coding is entirely up to you.
If nothing else, I think this is a pretty neat script simply for the novelty of it.
----------
How To Use:
When you first add the script to your chart, you will be prompted to confirm the starting date and time, number of bars to forecast, number of simulations to run, and whether to include drift assumption.
You will also be prompted to confirm the forecast type. There are two types to choose from:
-> End Result - This uses the values from the end of the simulation throughout the forecast interval.
-> Developing - This uses the values that develop from bar to bar, providing a real-time outlook.
You can always update these settings after confirmation as well.
Once these inputs are confirmed, the script will boot up and automatically generate the forecast in a separate pane.
Note that if there is no bar of data at the time you wish to start the forecast, the script will automatically detect use the next available bar after the specified start time.
From here, you can now control the rest of the settings.
The "Seeding Settings" section controls the initial seed value used to generate the children that produce the simulations.
In this section, you can control whether the seed is a fixed value, or a dynamic one.
Since selecting the dynamic parent option will change the seed value every time you change the settings or refresh your chart, there is a "Regenerate" input built into the script.
This input is a dummy input that isn't connected to any of the calculations. The purpose of this input is to force an update of the dynamic parent without affecting the generator or forecast settings.
Note that because we're running a limited number of simulations, different parent seeds will typically yield slightly different forecast ranges.
When using a small number of simulations, you will likely see a higher amount of variance between differently seeded results because smaller numbers of sampled simulations yield a heavier bias.
The more simulations you run, the smaller this variance will become since the outcomes become more convergent toward the same distribution, so the differences between differently seeded forecasts will become more marginal.
When using a dynamic parent, pay attention to the dispersion of ranges.
When you find a set of ranges that is dispersed how you like with your configuration, set your fixed parent value to the parent seed that shows in the info panel.
This will allow you to replicate that dispersion behavior again in the future.
An important thing to note when settings alerts on the plotted levels, or using them as components for signals in other scripts, is to decide on a fixed value for your parent seed to avoid minor repainting due to seed changes.
When the parent seed is fixed, no repainting occurs.
The "Amplitude Settings" section controls the amplitude coefficients for the three differently tailed generators.
These amplitude factors will change the difference series output for each simulation by controlling how aggressively each series moves.
When "Adjust Amplitude Coefficients" is disabled, all three coefficients are set to 1.
Note that if you expect volatility to significantly diverge from its historical values over the forecast interval, try experimenting with these factors to match your anticipation.
The "Weighting Settings" section controls the weighting boundaries for the three generators.
These weighting limits affect how tailed the distributions in each generator are, which in turn affects the final series outputs.
The maximum absolute value range for the weights is . When "Limit Generator Weights" is disabled, this is the range that is automatically used.
The last set of inputs is the "Display Settings", where you can control the visual outputs.
From here, you can select to display either "Forecast" or "Difference Comparison" via the "Output Display Type" dropdown tab.
"Forecast" is the type displayed by default. This plots the end result or developing forecast ranges.
There is an option with this display type to show the developing extremes of the simulations. This option is enabled by default.
There's also an option with this display type to show one of the simulated price series from the set alongside actual prices.
This allows you to visually compare simulated prices alongside the real prices.
"Difference Comparison" allows you to visually compare a synthetic difference series from the set alongside the actual difference series.
This display method is primarily useful for visually tuning the amplitude and weighting settings of the generators.
There are also info panel settings on the bottom, which allow you to control size, colors, and date format for the panel.
It's all pretty simple to use once you get the hang of it. So play around with the settings and see what kinds of forecasts you can generate!
----------
ADDITIONAL NOTES & DISCLAIMERS
Although I've done a number of things within this script to keep runtime demands as low as possible, the fact remains that this script is fairly computationally heavy.
Because of this, you may get random timeouts when using this script.
This could be due to either random drops in available runtime on the server, using too many simulations, or running the simulations over too many bars.
If it's just a random drop in runtime on the server, hide and unhide the script, re-add it to the chart, or simply refresh the page.
If the timeout persists after trying this, then you'll need to adjust your settings to a less demanding configuration.
Please note that no specific claims are being made in regards to this script's predictive accuracy.
It must be understood that this model is based on randomized price generation with assumed constant drift and dispersion from historical data before the starting point.
Models like these not consider the real world factors that may influence price movement (economic changes, seasonality, macro-trends, instrument hype, etc.), nor the changes in sample distribution that may occur.
In light of this, it's perfectly possible for price data to exceed even the most extreme simulated outcomes.
The future is uncertain, and becomes increasingly uncertain with each passing point in time.
Predictive models of any type can vary significantly in performance at any point in time, and nobody can guarantee any specific type of future performance.
When using forecasts in making decisions, DO NOT treat them as any form of guarantee that values will fall within the predicted range.
When basing your trading decisions on any trading methodology or utility, predictive or not, you do so at your own risk.
No guarantee is being issued regarding the accuracy of this forecast model.
Forecasting is very far from an exact science, and the results from any forecast are designed to be interpreted as potential outcomes rather than anything concrete.
With that being said, when applied prudently and treated as "general case scenarios", forecast models like these may very well be potentially beneficial tools to have in the arsenal.
在腳本中搜尋"range"
ICT Opening Range Projections (tristanlee85)ICT Opening Range Projections
This indicator visualizes key price levels based on ICT's (Inner Circle Trader) "Opening Range" concept. This 30-minute time interval establishes price levels that the algorithm will refer to throughout the session. The indicator displays these levels, including standard deviation projections, internal subdivisions (quadrants), and the opening price.
🟪 What It Does
The Opening Range is a crucial 30-minute window where market algorithms establish significant price levels. ICT theory suggests this range forms the basis for daily price movement.
This script helps you:
Mark the high, low, and opening price of each session.
Divide the range into quadrants (premium, discount, and midpoint/Consequent Encroachment).
Project potential price targets beyond the range using configurable standard deviation multiples .
🟪 How to Use It
This tool aids in time-based technical analysis rooted in ICT's Opening Range model, helping you observe price interaction with algorithmic levels.
Example uses include:
Identifying early structural boundaries.
Observing price behavior within premium/discount zones.
Visualizing initial displacement from the range to anticipate future moves.
Comparing price reactions at projected standard deviation levels.
Aligning price action with significant times like London or NY Open.
Note: This indicator provides a visual framework; it does not offer trade signals or interpretations.
🟪 Key Information
Time Zone: New York time (ET) is required on your chart.
Sessions: Supports multiple sessions, including NY midnight, NY AM, NY PM, and three custom timeframes.
Time Interval: Supports multi-timeframe up to 15 minutes. Best used on a 1-minute chart for accuracy.
🟪 Session Options
The Opening Range interval is configurable for up to 6 sessions:
Pre-defined ICT Sessions:
NY Midnight: 12:00 AM – 12:30 AM ET
NY AM: 9:30 AM – 10:00 AM ET
NY PM: 1:30 PM – 2:00 PM ET
Custom Sessions:
Three user-defined start/end time pairs.
This example shows a custom session from 03:30 - 04:00:
🟪 Understanding the Levels
The Opening Price is the open of the first 1-minute candle within the chosen session.
At session close, the Opening Range is calculated using its High and Low . An optional swing-based mode uses swing highs/lows for range boundaries.
The range is divided into quadrants by its midpoint ( Consequent Encroachment or CE):
Upper Quadrant: CE to high (premium).
Lower Quadrant: Low to CE (discount).
These subdivisions help visualize internal range dynamics, where price often reacts during algorithmic delivery.
🟪 Working with Ranges
By default, the range is determined by the highest high and lowest low of the 30-minute session:
A range can also be determined by the highest/lowest swing points:
Quadrants outline the premium and discount of a range that price will reference:
Small ranges still follow the same algorithmic logic, but may be deemed insignificant for one's trading. These can be filtered in the settings by specifying a minimum ticks limit. In this example, the range is 42 ticks (10.5 points) but the indicator is configured for 80 ticks (20 points). We can select which levels will plot if the range is below the limit. Here, only the 00:00 opening price is plotted:
You may opt to include the range high/low, quadrants, and projections as well. This will plot a red (configurable) range bracket to indicate it is below the limit while plotting the levels:
🟪 Price Projections
Projections extend beyond the Opening Range using standard deviations, framing the market beyond the initial session and identifying potential targets. You define the standard deviation multiples (e.g., 1.0, 1.5, 2.0).
Both positive and negative extensions are displayed, symmetrically projected from the range's high and low.
The Dynamic Levels option plots only the next projection level once price crosses the previous extreme. For example, only the 0.5 STDEV level plots until price reaches it, then the 1.0 level appears, and so on. This continues up to your defined maximum projections, or indefinitely if standard deviations are set to 0.
This example shows dynamic levels for a total of 6 sessions, only 1 of which meet a configured minimum limit of 50 ticks:
Small ranges followed by significant displacement are impacted the most with the number of levels plotted. You may hide projections when configuring the minimum ticks.
A fixed standard deviation will plot levels in both directions, regardless of the price range. Here, we plot up to 3.0 which hiding projections for small ranges:
🟪 Legal Disclaimer
This indicator is provided for informational and educational purposes only. It is not financial advice, and should not be construed as a recommendation to buy or sell any financial instrument. Trading involves substantial risk, and you could lose a significant amount of money. Past performance is not indicative of future results. Always consult with a qualified financial professional before making any trading or investment decisions. The creators and distributors of this indicator assume no responsibility for your trading outcomes.
DRT - Dynamic Range Indicator [TraderVlad]Dynamic Range Theory (DRT) Indicator
Decode Market Structure with Precision
Overview
Welcome to the Dynamic Range Theory (DRT), a revolutionary approach to price action analysis that transforms market chaos into a structured, actionable roadmap.
Say goodbye to confusing candlestick patterns and hello to a visually intuitive system that highlights range expansion , volume compression , and volatility squeezes .
The DRT Indicator empowers traders to anticipate breakouts, spot stealth accumulation, and ride momentum.
DRT structures price action into four key constructs:
Main Ranges: Bold candles igniting market momentum.
Inside Range Candles: Gray candles signaling consolidation within a range.
Inside Candles Below Average Volume: Pink candles marking silent accumulation.
Tight Closes: Vibrant markers of volatility contraction, priming explosive moves.
This indicator is your lens to decode the market’s hidden rhythm, making complex price action simple and tradable.
How It Works
The DRT Indicator visually organizes price action with color-coded candles and customizable settings:
Main Ranges (Blue): Identifies breakout candles that set the market’s structural foundation, displayed as blue.
Inside Range Candles (Gray): Highlights candles with closes within the Main Range, signaling momentum consolidation. Perfect for spotting setups in the simplified DRT Inside Ranges variant, where ranges with a main candle plus gray candles are marked.
Inside Candles Below Average Volume: Flags candles within the Main Range with volume below a 50-period SMA, indicating volume compression—a sign of stealth positioning by smart money.
Tight Closes (Pink): Marks non-main candles with ranges less than 60% of the 14-period ATR, highlighting volatility squeezes ready to erupt.
Opening Range & Prior Day High/Low [Gorb]Introduction:
Opening Range & Prior Day High/Low indicator is an easy to use day traders tool. This indicator automatically plots the previous days high and low, as well as drawing a box from the opening range that the user specifies in the settings. These two together can help provide an indication of market sentiment and price trends for the day. They are often used as a trading strategy for day traders.
Overview:
The Opening Range , draws a box from the high to the low of the user defined time period and is extended until the end of the trading session. Most common are the 5/15/30min opening ranges.
Prior Day High/Low , draws lines from the previous days high and low that extend across the current session. These are used as support/resistance and also a marker to see market sentiment by crossing one of these levels.
The indicator is designed for all kinds of traders, offering a simple approach to automatically plot levels for you.
Features:
All skill-level friendly presets, easy to enable with one-click
Opening Range: Allows user to choose what time the range starts and ends to measure the high & low.
Extend Range Lines: allows the user to choose when the box stops extending according to the trading session time.
Enable Opening Range Box: allows the user to choose to plot the opening range or not.
ORB Border Color: allows the user to change the box border color.
ORB Box Shade Color: allows the user to change the background of the opening range box.
ORB Line Width: allows users to chose the width of the opening range box lines.
Enable Previous Day High: allows users to enable the previous days high to be plotted.
Enable Previous Day Low: allows users to enable the previous days high to be plotted.
Previous Day High Color: allows users to choose the color for this line.
Previous Day Low Color: allows users to choose the color for this line.
All colors are changeable for the user to customize to their liking.
Usage Demonstration
In the image below, we can see a basic example of how these 3 features function.
As explained above, the opening range is customizable to meet the users needs and can be disabled with one click. Same goes for the prior day high(green) and low(red) lines. All 3 are plotted each day automatically for the user if enabled.
In the image below, we can see an example of using the opening range break and prior day high together for a trading strategy.
This is a great example of using the prior day high with the opening range to use as a day trading strategy. It provides the trader with levels to watch for price to break out from for possible trade setups.
In this next image, we can see a failed breakdown from the opening range that results in a bullish breakout.
The first move was a fake breakdown with the failed rejection on the retest of the opening range lows. This led to a breakout above the range and a confirmation bounce on the breakout retest. Price did break above the prior day high and confirmed with a retest bounce on that level as well.
In the image below, we can see how previous days levels can act as resistance to use with the opening range.
Price didn't reject the opening range low, but it did reject the prior day high for the second time. This could be used as an entry or once price breaks down out of the opening range again.
Conclusion:
We believe in providing user-friendly tools to help speed up traders technical analysis and implement easy trading strategies. The goal is to provide a user-friendly indicator to automatically draw opening ranges and previous days levels to suit the users needs and trading style.
RISK DISCLAIMER
All content, tools, scripts & education provided by Monstanzer or Gorb Algo LLC are for informational & educational purposes only. Trading is risk and most lose their money, past performance does not guarantee future results.
Session Range and Breakout Summary
This script presents the session range and post session movements relative to that range of all the majors and crosses on a single page. You can also set it to a daily range and weekly range (beta). It will even show you the pip value of the range. I made the indicator to easily stay on top of market movements at london open relative to the Asia session range. Its very easy to see which entire currency group is breaking its asia range WHIST ITS HAPPENING. Focus on NZD in the examples as it was the market lead today - I was able to get some of it when I saw the entire group breaking its range
Showing all the majors and crosses relative to the Asia range (00:00 - 07:00 GMT)
Active 'show on chart' to verify the indicator is measuring the range correctly. Compare below to the NZD box above - you can see how NZD had control of the market this morning and all NZD pairs broke out of their ranges.
'PIP MODE' - active pip mode to see what the pip range was of the session
Notes
The information is presented RELATIVELY - this means that all the ranges and movements are scaled to be the same size. You are therefore seeing the movements relative to their ranges. When you see a breakout it relative to the size of the range - for example, if GBPJPY had a range of 50pips and breaks out of the range by 100 pip and GBPEUR has a range of 20 pips and breaks out by 40 pips they have both broken out double the range and will be displayed as the same distance.
The indicator will show the movements whilst the range is forming. I did this so I can see what the groups are doing before Europe open and be ready - such as lingering at the top end of its INCOMPLETE asia range. Be aware through that if the lines are flat at the top of the range WHILST THE RANGE IS STILL FORMING this does not mean price was flat, it means that price was pushing up and growing the range. (Price can't breakout until the range has formed at the end of the session)
The currency pairs are organised to show the strength or weakness of the selected group - this means that the base currency is always the select group. This is to present the data with currencies moving in the same direction rather than some reversed but meaning the same in relation to currency strength. In the NZD example:
NZDAUD (not AUDNZD )
NZDCAD
NZDCHF
NZDEUR (not EURNZD )
NZDGBP (not GBPNZD )
NZDJPY
NZDUSD
I hope its useful. This is the most powerful indicator I've managed to write yet. It was difficult to make the code efficient enough to fit into the pinescript limit and still do everything.
Smart Range DetectorSmart Range Detector
What It Does
This indicator automatically detects and validates significant trading ranges using pivot point analysis combined with logarithmic fibonacci relationships. It operates by identifying specific pivot patterns (High-Low-High and Low-High-Low) that meet fibonacci validation criteria to filter out noise and highlight only the most reliable trading ranges. Each range is continuously monitored for potential mitigation (breakout) events.
Key Features
Identifies both High-Low-High and Low-High-Low range patterns
Validates each range using logarithmic fibonacci relationships (more accurate than linear fibs)
Detects range mitigations (breakouts) and visually differentiates them
Shows fibonacci levels within ranges (25%, 50%, 75%) for potential reversal points
Visualizes extension levels beyond ranges for breakout targets
Analyzes volume profile with customizable price divisions (default: 60)
Displays Point of Control (POC) and Value Area for traded volume analysis
Implements performance optimization with configurable range limits
Includes user-adjustable safety checks to prevent Pine Script limitations
Offers fully customizable colors, line widths, and transparency settings
How To Use It
Identify Valid Ranges : The indicator automatically detects and highlights trading ranges that meet fibonacci validation criteria
Monitor Fibonacci Levels : Watch for price reactions at internal fib levels (25%, 50%, 75%) for potential reversal opportunities
Track Extension Targets : Use the extension lines as potential targets when price breaks out of a range
Analyze Volume Structure : Enable the volume profile mode to see where most volume was traded within mitigated ranges
Trade Range Boundaries : Look for reactions at range highs/lows combined with volume POC for higher probability entries
Manage Performance : Adjust the maximum displayed ranges and history bars settings for optimal chart performance
Settings Guide
Left/Right Bars Look Back : Controls how far back the indicator looks to identify pivot points (higher values find more ranges but may reduce sensitivity)
Max History Bars : Limits how far back in history the indicator will analyze (stays within Pine Script's 10,000 bar limitation)
Max Ranges to Display : Restricts the total number of ranges kept in memory for improved performance (1-50)
Volume Profile : When enabled, shows volume distribution analysis for mitigated ranges
Volume Profile Divisions : Controls the granularity of the volume analysis (higher values show more detail)
Display Options : Toggle visibility of range lines, fibonacci levels, extension lines, and volume analysis elements
Transparency & Color Settings : Fully customize the visual appearance of all indicator elements
Line Width Settings : Adjust the thickness of lines for better visibility on different timeframes
Technical Details
The indicator uses logarithmic fibonacci calculations for more accurate price relationships
Volume profile analysis creates 60 price divisions by default (adjustable) for detailed volume distribution
All timestamps are properly converted to work with Pine Script's bar limitations
Safety checks prevent "array index out of bounds" errors that plague many complex indicators
Time-based coordinates are used instead of bar indices to prevent "bar index too far" errors
This indicator works well on all timeframes and instruments, but performs best on 5-minute to daily charts. Perfect for swing traders, range traders, and breakout strategists.
What Makes It Different
Most range indicators simply draw boxes based on recent highs and lows. Smart Range Detector validates each potential range using proven fibonacci relationships to filter out noise. It then adds sophisticated volume analysis to help traders identify the most significant price levels within each range. The performance optimization features ensure smooth operation even on lower timeframes and extended history analysis.
Intraday Uncertainty [PhenLabs]📊 Intraday Uncertainty
Version: PineScript™ v6
📌 Description
The Intraday Uncertainty indicator offers traders a visual representation of market certainty/uncertainty during trading sessions. By comparing each price bar’s range to the Average True Range (ATR), it provides an intuitive way to gauge market conviction through a color gradient system.
This tool helps traders identify periods of high certainty (potentially trending markets) versus high uncertainty (potentially choppy or volatile markets) without complex calculations or multiple indicators. The color-coded bars create an immediate visual cue to support decision-making in varying market conditions.
🚀 Points of Innovation
Automated range-to-ATR ratio calculation that adapts to changing market volatility
Dynamic color gradient system that visually distinguishes between certain and uncertain price action
Customizable gradient clamping to fine-tune sensitivity to market conditions
Integrated dashboard that provides clear interpretation guidance
Position-flexible legend that accommodates different chart layouts
Highly optimized for performance with minimal calculation overhead
🔧 Core Components
ATR Calculation: Measures market volatility using a configurable lookback period
Range-to-ATR Ratio: Compares current bar’s high-low range against average volatility
Gradient Mapping System: Converts numerical uncertainty values into an intuitive color scale
Dashboard Legend: Provides clear interpretation guidance with customizable positioning
🔥 Key Features
Bar Coloring: Instantly identifies market certainty levels through intuitive color gradients
Customizable ATR Period: Adjust sensitivity to historical volatility based on trading style
Gradient Clamping: Fine-tune the color sensitivity using the Range/ATR multiplier
Color Customization: Personalize the color scheme to match your chart aesthetics
Informative Dashboard: Quickly interpret color meanings with the optional on-chart legend
Flexible Display Options: Customize dashboard position and text size for your chart layout
🎨 Visualization
Color Gradient: Bars colored on a spectrum from green (high certainty) to red (high uncertainty)
Dashboard Legend: Optional on-chart guide explaining the color interpretation
Color Intensity: Stronger colors indicate more extreme certainty/uncertainty levels
At-a-glance Interpretation: Quickly identify market conviction without analyzing numbers
📖 Usage Guidelines
Calculation Settings
ATR Period
Default: 14
Range: 1+
Description: Controls the lookback period for ATR calculation. Lower values increase sensitivity to recent volatility, while higher values provide more stability.
Gradient Clamp (Range/ATR Multiplier)
Default: 2.0
Range: 0.1+
Description: Sets the maximum Range/ATR ratio for gradient scaling. Ranges above this value display the end color (high uncertainty).
Color Settings
Gradient Start Color (High Certainty)
Default: Green
Description: Color representing high market certainty (low Range/ATR ratio)
Gradient End Color (Low Certainty)
Default: Red
Description: Color representing low market certainty (high Range/ATR ratio)
Dashboard Settings
Show Dashboard Legend
Default: True
Description: Toggles the visibility of the on-chart interpretation guide
Dashboard Position
Options: top_right, top_left, bottom_right, bottom_left, middle_right, middle_left
Default: bottom_right
Description: Controls the placement of the dashboard on your chart
Dashboard Text Size
Options: tiny, small, normal, large, huge
Default: normal
Description: Adjusts the text size of the dashboard for readability
✅ Best Use Cases
Identifying potential trend shifts when certainty levels change dramatically
Confirming trend strength through consistent certainty levels
Detecting choppy/sideways markets with persistent high uncertainty
Filtering trading signals from other indicators based on certainty levels
Gauging market conviction behind price breakouts or pullbacks
Optimizing entry/exit timing based on certainty/uncertainty transitions
⚠️ Limitations
Does not predict future price direction, only measures current bar certainty
May provide false signals during news events or unexpected volatility spikes
Requires context within the broader market environment for optimal interpretation
Color interpretation is relative rather than absolute across different securities
ATR-based calculation means sensitivity varies across different timeframes
💡 What Makes This Unique
Simplicity: Single visual indicator that doesn’t require multiple technical tools
Adaptability: Automatically adjusts to changing market volatility conditions
Contextual Analysis: Provides market conviction context beyond just price movement
Intuitive Design: Color-based system that requires minimal learning curve
Efficiency: Lightweight calculation that doesn’t impact chart performance
🔬 How It Works
1. ATR Calculation:
Calculates the Average True Range using the specified period
Establishes a baseline for normal market volatility
2. Range Analysis:
Measures each bar’s high-low range
Compares this range to the current ATR value to create a ratio
3. Gradient Mapping:
Converts the Range/ATR ratio to a normalized value between 0 and 1
Maps this value onto a color gradient between the start and end colors
Applies the resulting color to the price bar
4. Dashboard Creation:
Constructs an information panel on the last visible bar
Populates it with color samples and interpretation guidance
💡 Note:
This indicator works best when used in conjunction with other technical analysis tools rather than in isolation. The certainty/uncertainty measure provides context for your trading decisions but should not be the sole basis for entries and exits. Consider using higher certainty periods for trend-following strategies and exercise caution during periods of high uncertainty.
Trend Bars Pro (HTF PO3)Hello Traders!
The innovative TRN Trend Bars Pro are designed to help traders to analyze markets in an intuitive way and provide high probability entry and exit signals. It combines three core concepts:
TRN Trend Bars to see the current trend and reversals (replaces the default chart bars)
Bar Ranges to highlight consolidations
Dynamic Trend to see the overall trend.
First, let's have a look at each of these concepts individually. Afterwards, we describe how a combination of all three gives you a crystal-clear picture of the market.
TRN Trend Bars Pro
They show bullish and bearish trends and reversals based on color coding the bars and give high probability trade opportunities with special colors. The trend analysis is based on a new algorithm that includes several different inputs:
classical and advanced bar patterns and their statistical frequency
probability distributions of price expansions after certain bar patterns
bar information such as wick length in %, overlapping of the previous bar in % and many more
historical trend and consolidation analysis
The algorithm weighs these concepts and outputs a color scheme for the chart bars or candlesticks.
Bar Types
Trend bars in green and red
Reversal Bars in blue and fuchsia
Continuation Bars in turquoise and orange
Breakout Bars in dark green and pink
Green Bars signify a sustained uptrend, indicating bullish market sentiment. On the other hand, Red Bars indicate a persistent downtrend, representing bearish market sentiment. The transition from red to green denotes a bullish trend reversal, suggesting a shift from bearish to bullish sentiment. Conversely, the shift from green to red signals a bearish trend reversal, indicating a transition from bullish to bearish sentiment. By monitoring these color changes, traders can identify potential trend reversals and make informed trading decisions.
The presence of gray and black bars indicates a neutral market state, often observed before an impending color change from red to green or green to red. These neutral bars serve as a transition phase between the previous trend and the potential reversal.
The TRN Trend Bars Pro incorporate signal bars, distinguished by their distinct colors, to offer potential buy and sell signals and deeper insights into market dynamics.
Reversal Bars
The presence of blue Reversal Bars indicates a trend reversal to the upside, while pink Reversal Bars indicate a reversal to the downside. These bars not only serve as signals for potential trend shifts but also present favorable opportunities to enter the market or increase one's position size.
Continuation Bars
In addition to the reversal bars, the indicator also includes bullish continuation bars (colored turquoise) and bearish continuation bars (colored orange). These bars act as signals for the continuation of an existing trend. Like the reversal bars, they can be utilized as entry points or opportunities to augment one's position size.
Breakout Bars
The dark green breakout bars within TRN Trend Bars Pro show a powerful breakout from a price range detected by our integrated bar range feature. They signify the continuation or potential change in a trend following a consolidation phase. As such, these bars hold dual functionality, serving as reversal signals and validating the persistence of an ongoing trend.
Bar Ranges
The bar range feature automatically finds consolidations where the price range of several consecutives bars is rather small. The detection of the bar ranges includes among other things the overlapping percentage of these bars.
How to Use Price Ranges
Here are a few ways you can use the bar ranges in your trading:
Identify Support and Resistance Levels
The price ranges can help you identify key support and resistance levels on a chart. By observing price ranges and identifying these levels, you can make more informed decisions about entering or exiting trades.
Breakout Trading
Price ranges can also provide insights into potential breakout opportunities. Breakouts occur when the price breaks out of a defined range, signaling a potential shift in market sentiment and the start of a new trend. The Color highlighted Breakout Bars from the TRN Trend Bars Pro are signaling a powerful breakout of a price range. Traders can enter positions in the direction of the breakout and set appropriate stop-loss orders to manage risk. Note that not every price range is left by a powerful breakout.
Dynamic Trend
The Dynamic Trend combines elements from standard trend strength indicators (e.g. DI-, DI+, Parabolic SAR) and volatility indicators (e.g. ATR, Standard Deviation). It produces a moving average line that adapts to changing market volatility. It is inspired by the ideas of the programmer and trader Fat Tails. The adaptive behavior provides more relevant information for traders when compared to traditional moving averages which do not consider volatility and trend strength together. This makes the Dynamic Trend completely unique, and no other moving average indicator can give you this precision.
How to use Dynamic Trend
Generally, a rising Dynamic Trend line, displayed in green, indicates that an uptrend is strong, while a falling Dynamic Trend, displayed in red, suggests that the downtrend is sharp. The Dynamic Trend turns gray when there is insufficient clarity to establish a distinct trend and especially when there is not volatility in the market.
Identify potential trade entries and exits: When used in conjunction with price action, the Dynamic Trend can provide potential trade signals. For example, if the price crosses above the Dynamic Trend, it may be a bullish sign, suggesting a potential buy entry. Conversely, if the price crosses below the Dynamic Trend, it may indicate bearish conditions and a potential sell signal.
Trend Identification and Pullback trading
Observe the Dynamic Trend's color. When it's on the rise and appears green, it indicates a bullish trend. Conversely, if it's in decline and displayed in red, it signals a bearish trend.
If Dynamic Trend is green and price pulls from above back to the Dynamic Trend, then this can be considered as a bullish signal.
If Dynamic Trend is red and price pulls from below back to the Dynamic Trend, then this can be considered as a bearish signal.
In the event of a bearish signal, such as a bearish TRN Signal Bar, and the Dynamic Trend is red, it provides additional confirmation to the bearish signal. Likewise, bullish signals gain added conviction when the Dynamic Trend is green.
Crossovers
As with other moving averages, crossovers between the Dynamic Trend and the price can be significant.
If price is crossing above the Dynamic Trend, then this can be considered as a bullish signal.
If price is crossing below the Dynamic Trend, then this can be considered as a bearish signal.
If you currently hold a position, both bullish and bearish crossovers can serve as potential exit signals. For instance, in the case of a long position, a bearish crossover can indicate a potential shift in sentiment, signaling a bearish reversal and a potential opportunity to close your long position.
Filtering Noise
Due to its adaptive nature, the Dynamic Trend can be a useful tool to filter out market noise. When the market is choppy or consolidating, the Dynamic Trend tends to remain flat and colored gray, signaling traders to potentially stay out of the market.
Stop Losses
The Dynamic Trend can also be used as a dynamic stop loss. For instance, in a long trade, traders can use the Dynamic Trend as a trailing stop, selling their position if the price crosses below the Dynamic Trend.
Combining TRN Trend Bars Pro, Bar Ranges and Dynamic Trend together
Combining all three concepts gives you a crystal-clear picture of the market. The Dynamic Trend shows you the overall trend. If price pulls back to the dynamic trend line and then price picks up the trend direction again, then the TRN Trend Bars Pro immediately switches the color to the trend direction. Therefore, you can easily identify high probability entry signals based on the bar color.
As a simple trading model, you can set the stop loss below the last swing or below a TRN signal bar (vice versa for short entries) and use 2.5 R or 3 R as target.
You can increase the success rate of the high probability TRN signal bars entries even more if they are in line with the Dynamic Trend line.
On the other hand, the TRN Bar Ranges help you to stay out of the market in case the price does not really change. As a confluence signal to stay flat in this period the dynamic trend line tends to be grey as well. If the price breaks out of the range, then the indicator prints a breakout bar which serves as a high probability entry signal.
Although it is possible to switch off any of these concepts, it is highly recommended to use all three in combination to get a crystal-clear picture of the market.
Alerts
Experience the power of our TRN Trend Bars Pro alerts, delivering real-time notifications for trend changes, price range breakouts, and signal bar formations or confirmations. Stay on top of the market with these versatile alerts, customizable to your preferred assets and timeframes.
Conclusion
While signals from TRN Trend Bars Pro can be informative, it is important to recognize that their reliability may vary. Various external factors can impact market prices, and it is essential to consider your risk tolerance and investment goals when executing trades.
Risk Disclaimer
The content, tools, scripts, articles, and educational resources offered by TRN Trading are intended solely for informational and educational purposes. Remember, past performance does not ensure future outcomes.
Custom Time ranges. Daily price ranges.Addition to previous time range script, now containing daily ranges. You can select a day of the week, and have it show the high, low, mid, and open of that day.
For the time bands:
Monday = 2
Tuesday = 3
Wednesday = 4
Thursday = 5
Friday = 6
Saturday = 7
Sunday = 1
Example 1:
1500-1800:2
This will colour the background between 3pm and 6pm on Mondays.
Example 2:
0000-0600:247
This will colour the background between midnight and 6am on Mondays, Wednesdays, and Saturdays.
For the Daily price ranges:
Just select the tick-box forthe day, and then the price levels you'd like to see.
I want to add specific weekly levels to this, for example: week 06 of year 2020, but I've not figured out how to do it yet. If anyone knows, I'd appreciate it if you let me know. I'll then update this script.
As always, any questions you may have, please leave in comments below and I'll respond when I have time.
If you notice anything good with this indicator, let me know. We are all in this to make money after all! ;)
Custom Date Range - Return CalculatorCustom Date Range Return Indicator
Overview
This indicator is designed to help traders quickly calculate the percentage return of a particular stock, sector, currency, or cryptocurrency over a custom date range. It simplifies the process of analyzing performance by allowing traders to navigate through multiple charts efficiently and compare returns over different periods.
Key Features
Custom Date Ranges: Traders can input two different date ranges to compare returns. For example, they can view the Year-to-Date (YTD) return versus the return from a recent swing high.
Visual Levels and Labels:
Start-1 Label: Marks the start date of the first input range with a green horizontal line.
Start-2 Label: Marks the start date of the second input range with an orange horizontal line.
End Label: Marks the end date with a red horizontal line. Table positioning can be adjusted from the input.
Performance Comparison: Enables traders to gauge how a stock is performing relative to its benchmark index by comparing returns over two different periods. % Return is Green if positive else Red is Negative.
Usage
Analysis Only: This indicator is intended for analysis purposes and does not provide buy or sell recommendations.
Complementary Tool : Traders should use this indicator in conjunction with other technical indicators and solid fundamental analysis to make informed decisions.
Benefits
Efficiency : Eliminates the need to manually draw price ranges on each chart, allowing traders to quickly assess performance across multiple charts.
Informed Decisions: By comparing returns over different periods, traders can make better-educated decisions about the behavior of an asset in relation to its benchmark.
Important Note
Traders must use their own discretion when analyzing stocks and should consider other technical indicators and fundamental factors before making any trading decisions.
Dynamic Range EvaluatorThe Dynamic Range Evaluator script or indicator analyzes the dynamic movement of price ranges in the market, offering several key advantages:
---------------------------------------------------------------------------------
1. Identifies Market Volatility
It detects when price ranges expand or contract, helping traders gauge the market's current volatility—whether it is highly volatile (wide range) or calm (narrow range).
2. Adapts Strategies Based on Market Conditions
The script allows traders to implement suitable strategies:
Use Breakout strategies when the range expands.
Use Mean Reversion strategies when the price moves within a tight range.
3. Accurate Entry and Exit Points
By identifying dynamic price zones, it helps spot potential reversals or areas near key support/resistance levels, reducing the risk of poor entry decisions in unclear market phases.
4. Versatile Across Market Phases
Whether in a bullish, bearish, or sideways market, the Dynamic Range Evaluator adjusts smoothly to shifting conditions, minimizing the need for frequent modifications.
5. Effective Across Multiple Time Frames
It works well on both lower and higher time frames. For instance:
On lower time frames, it helps identify short-term trade entries/exits.
On higher time frames, it assists with analyzing broader trends.
6. Customizable Dynamic Parameters
Traders can modify range thresholds or evaluation criteria to suit specific asset classes or currency pairs, providing flexibility and improved accuracy.
---------------------------------------------------------------------------------
Use Cases
Combine with ATR (Average True Range) to identify optimal average ranges.
Align Take Profit / Stop Loss levels with current market ranges.
Integrate with Breakout Strategies by monitoring for range expansion and waiting for key support/resistance breakouts.
Percentage Range Consolidation HistogramThe Percentage Range Consolidation histogram is a measure of volatility, ranking current price range compared to past ranges.
🟩 USAGE
Here there are 2 heavy contractions of price shown on chart that lead to a big rally. Shows a possible way to approach trading this. Take into account that this is for illustration purposes only and these entry methods have not been tested for long term profitability.
Same price behaviour.
🟩 CALCULATION
The script will use 3 different ranges all configurable by the user to check for low volatility on different zone lengths . On default zone 1 will be 10 period, 2 will be 30 period and 3 is 50 periods long.
It will then measure the percentage these ranges have from top (highest close) to bottom (lowest close) and plot those numbers as 3 gray histograms.
For each of these histograms separately it will use 'percentage zone PNR Length setting' as a lookback to rank current zone percentage compared to past results.
How it will do that is using the 'percentage zone PNR % setting' it will draw a line using ta.percentile_nearest_rank() formula. At default this is 20% meaning that only 20% of lookback values where below this level.
When the histogram is below this white line (small range compared to past ranges) it will color the histogram. Yellow for zone 1, orange for zone 2 and blue for zone 3.
There is also a 'Percentage zone % filter' which you can use as a maximum % current zone for it to be considered a small range. On default this is set to 15%. You can turn this off by selecting 'median' as 'Consolidation filters' instead of 'all' . Or only use this by selecting 'percentage'
🟩 BAR COLORING
Now that you understand how to find small ranges (contractions of price) with the indicator there is a bar coloring option in the indicator.
You can select how many of the 3 zones have to be ranging for it to color the bar. On default this is set to 3 so the script will only color when price is in a very small range. As illustrated by the above charts these can lead to the beginnings of big trends.
Drawdown RangeHello death eaters, presenting a unique script which can be used for fundamental analysis or mean reversion based trades.
Process of deriving this table is as below:
Find out ATH for given day
Calculate the drawdown from ATH for the day and drawdown percentage
Based on the drawdown percentage, increment the count of basket which is based on input iNumber of ranges . For example, if number of ranges is 5, then there will be 5 baskets. First basket will fit drawdown percentage 0-20% and each subsequent ones will accommodate next 20% range.
Repeat the process from start to last bar. Once done, table will plot how much percentage of days belong to which basket.
For example, from the below chart of NASDAQ:AAPL
We can deduce following,
Historically stock has traded within 1% drawdown from ATH for 6.59% of time. This is the max amount of time stock has stayed in specific range of drawdown from ATH.
Stock has traded at the drawdown range of 82-83% from ATH for 0.17% of time. This is the least amount of time the stock has stayed in specific range of drawdown from ATH.
At present, stock is trading 2-3% below ATH and this has happened for about 2.46% of total days in trade
Maximum drawdown the stock has suffered is 83%
Lets take another example of NASDAQ:TSLA
Stock is trading at 21-22% below ATH. But, historically the max drawdown range where stock has traded is within 0-1%. Now, if we make this range to show 20 divisions instead of 100, it will look something like this:
Table suggests that stock is trading about 20-25% below ATH - which is right. But, table also suggests that stock has spent most number of days within this drawdown range when we divide it by 20 baskets instad of 100. I would probably wait for price to break out of this range before going long or short. At present, it seems a stage ranging stage. I might think about selling PUTs or covered CALLs outside this range.
Similarly, if you look at AMEX:SPY , 36% of the time, price has stayed within 5% from ATH - makes it a compelling bull case!!
NYSE:BABA is trading at 50-55% below ATH - which is the most it has retraced so far. In general, it is used to be within 15-20% from ATH
NOW, Bit of explanation on input options.
Number of Ranges : Says how many baskets the drawdown map needs to be divided into.
Reference : You can take ATH as reference or chose a time window between which the highest need to be considered for drawdown. This can be useful for megacaps which has gone beyond initial phase of uncertainity. There is no point looking at 80% drawdown AAPL had during 1990s. More approriate to look at it post 2000s where it started making higher impact and growth.
Cumulative Percentage : When this is unchecked, percentage division shows 0-nth percentage instad of percentage ranges. For example this is how it looks on SPY:
We can see that SPY has remained within 6% from ATH for more than 50% of the time.
Hope this is helpful. Happy trading :)
PS: this can be used in conjunction with Drawdown-Price-vs-Fundamentals to pick value stocks at discounted price while also keeping an eye on range tendencies of it.
Thanks to @mattX5 for the ideas and discussion today :)
Support and Resistance V1 This script is based on Range Support and Resistance .
It works by taking the range of the day,week and month calculating them and plotting 3 layers of Support and Resistance , as soon as it gets non directional /range bound , bar color turns GRAY if its in Bullish Trend and Pink if its in Bearish Trend .. As soon as bar turns Aqua it defines BULLISH Trend and RED bar color defines Bearish Trend . This way you can easily visualize the areas of support and resistance .
-----------------
Disclaimer
Copyright by FaizanNawazz.
The information contained in my scripts/indicators/strategies/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators are only for educational purposes!
Happy Trading!
[TTM] ICT Sessions & Ranges🌟 Overview 🌟
The ICT Sessions & Ranges Indicator helps traders identify key intraday price levels by marking custom session highs/lows and opening ranges.
It helps traders spot potential liquidity grabs, reversals, and breakout zones by tracking price behavior around these key areas
🌟 Session Highs & Lows – Liquidity Zones 🌟
Session highs and lows often attract price due to stop orders resting above or below them. These levels are frequently targeted during high-volatility moves.
🔹 Asia Session
- Usually ranges in low volatility.
- Highs/lows often get swept during early London.
- Price may raid these levels, then reverse.
🔹 London Session
- First major volatility of the day.
- Highs/lows often tested or swept in New York.
- Commonly forms the day’s true high or low.
🌟 Opening Range Concepts 🌟
The Opening Range is the first 15, 30, or 60 minutes of a session (e.g., New York).
The high (ORH) and low (ORL) define the market’s initial balance and key reaction levels.
🔹 Breakout Trade
- Price breaks ORH/ORL with momentum.
- Signals directional intent.
- Traders enter on the breakout, with stops inside the range.
🔹 Liquidity Raid
- Price briefly breaks ORH/ORL to trigger stops.
- Reverses after the sweep.
- Look for structure shift and entry near FVG or OB.
🌟 Customizable Settings 🌟
The indicator includes 3 configurable ranges , each with:
Start & End Time – Set any custom time window.
Display Type – Choose Box (highlight range) or Lines (mark high/low).
Color Settings – Set custom colors for boxes and lines.
🌟 Default Settings 🌟
Range 1 : 19:00–00:00 (Asia Session)
Range 2 : 01:45–05:15 (London Session)
Range 3 : 09:30–10:00 (NY Opening Range – 30m)
Market DNA: Structure, Volume, Range, and SessionsMarket DNA: Structure, Volume, Range, and Sessions**
The Market DNA indicator combines market structure, volume analysis, trading ranges, and global trading sessions into a single, comprehensive tool for traders. It helps identify key price levels, volume patterns, consolidation phases, and active market periods, enabling informed trading decisions.
Market Structure Detects swing highs and lows using `ta.pivothigh` and `ta.pivotlow`, plotting them as red/green triangles to highlight support/resistance and trend reversals.
- Fractal Volume Zones (FVG): Highlights areas of significant buying/selling pressure by comparing current volume to an average over a lookback period; high-volume zones are marked with a semi-transparent blue background.
- Trading Range: Defines a price channel using the Average True Range (ATR) and a multiplier, creating upper/lower bands to identify consolidation, breakouts, and potential trade levels.
- Market Sessions: Highlights major global trading sessions (Asia, Europe, US) with colored backgrounds (purple, teal, yellow) to indicate liquidity and volatility shifts.
How It Works
- Swing points help analyze trends and reversals.
- FVG confirms price movements with high volume for stronger signals.
- Trading range bands assist in identifying breakout opportunities and setting stops/take-profits.
- Session highlights allow traders to adapt strategies based on regional activity.
Customization
- Adjust `swing_length` for sensitivity in detecting turning points.
- Modify `volume_lookback` to control volume averaging.
- Tune `range_multiplier` for wider/narrower trading bands.
- Enable/disable session highlighting via `session_highlight`.
Use Cases
- Identify trends and key levels using swing points and FVG.
- Spot breakout opportunities with trading range bands.
- Adapt strategies to regional trading sessions for optimal timing.
This all-in-one indicator provides a clear, customizable view of the market, empowering traders to make data-driven decisions across asset classes and timeframes.
DTR & ATR
Description
This ATR and DTR label is update of Existing Label provided by © ssksubam
Please See Notes on original Script Here :
Original Code is not mine but I have done few code changes which I believe will help everyone who are looking to add more labels together and save space on the chart
ATR & DTR Script is very helpful for Day Traders as I will explain in detail bellow
Following are changes I have incorporated
Previous Label took more space on the charts with Header and Footer.
I removed the Header and moved both DTR vs ATR descriptions on the same line, saving space on the chart.
I updated the code to remove => signs, which are self-explanatory as I will explain below.
I made the label in 1 single compact line for maximum space efficiency and aesthetics.
These changes improve the content's clarity and conciseness while optimizing space on the charts. If you have any further requests or need additional assistance, feel free to let me know!
What Does DTR Signify?
Stock ATR stands for Average True Range, which is a technical indicator used in trading and investment analysis. The Average True Range measures the volatility of a stock over a given period of time. It provides insights into the price movement and potential price ranges of the stock.
The ATR is calculated as the average of the true ranges over a specific number of periods. The true range is the greatest of the following three values:
The difference between the current high and the current low.
The absolute value of the difference between the current high and the previous close.
The absolute value of the difference between the current low and the previous close.
Traders and investors use ATR to assess the potential risk and reward of a stock. A higher ATR value indicates higher volatility and larger price swings, while a lower ATR value suggests lower volatility and smaller price movements. By understanding the ATR, traders can set appropriate stop-loss levels and make informed decisions about position sizing and risk management.
It's important to note that the ATR is not a directional indicator like moving averages or oscillators. Instead, it provides a measure of volatility, helping traders adapt their strategies to suit the current market conditions.
What Does ATR Signify?
The Average True Range (ATR) signifies the level of volatility or price variability in a particular financial asset, such as a stock, currency pair, or commodity, over a specific period of time. It provides valuable information to traders and investors regarding the potential risk and reward associated with the asset.
Here are the key significances of ATR:
Volatility Measurement: ATR measures the average price range between high and low prices over a specified timeframe. Higher ATR values indicate greater volatility, while lower values suggest lower volatility. Traders use this information to gauge the potential price movements and adjust their strategies accordingly.
Risk Assessment: A higher ATR value implies larger price swings, indicating increased market uncertainty and risk. Traders can use ATR to set appropriate stop-loss levels and manage risk by adjusting position sizes based on the current volatility.
Trend Strength: ATR can also be used to assess the strength of a trend. In an uptrend or downtrend, ATR tends to increase, indicating a more powerful price movement. Conversely, a declining ATR might signify a weakening trend or a consolidation period.
Range-Bound Market Identification: In a range-bound or sideways market, the ATR value tends to be relatively low, reflecting the lack of significant price movements. This information can be helpful for range-trading strategies.
Volatility Breakouts: Traders often use ATR to identify potential breakouts from consolidation patterns. When the ATR value expands significantly, it may indicate the beginning of a new trend or a breakout move.
Comparison between Assets: ATR allows traders to compare the volatility of different
How to use DTR & ATR for Trading
Using Average True Range (ATR) and Daily Trading Range (DTR) can be beneficial for day trading to assess potential price movements, manage risk, and identify trading opportunities. Here's how you can use both indicators effectively:
Calculate ATR and DTR: First, calculate the ATR and DTR values for the asset you are interested in trading. ATR is the average of true ranges over a specified period (e.g., 14 days), while DTR is the difference between the high and low prices of a single trading day.
Assess Volatility: Compare the ATR and DTR values to understand the current volatility of the asset. Higher values indicate increased volatility, while lower values suggest reduced volatility.
Setting Stop-Loss: Use ATR to set appropriate stop-loss levels. For example, you might decide to set your stop-loss a certain number of ATR points away from your entry point. This approach allows you to factor in market volatility when determining your risk tolerance.
Identify Trading Range: Analyze DTR to determine the typical daily price range of the asset. This information can help you identify potential support and resistance levels, which are essential for day trading strategies such as breakout or range trading.
Breakout Strategies: ATR can assist in identifying potential breakout opportunities. When ATR values increase significantly, it suggests an expansion in volatility, which may indicate an upcoming breakout from a trading range. Look for breakouts above resistance or below support levels with higher than usual ATR values.
Scalping Strategies: For scalping strategies, where traders aim to profit from small price movements within a single trading session, knowing the typical DTR can help set reasonable profit targets and stop-loss levels.
Confirming Trend Strength: In day trading, you may encounter short-term trends. Use ATR to assess the strength of these trends. If the ATR is rising, it suggests a strong trend, while a declining ATR may indicate a weakening trend or potential reversal.
Risk Management: Both ATR and DTR can aid in risk management. Determine your position size based on the current ATR value to align it with your risk tolerance. Additionally, understanding the DTR can help you avoid overtrading during periods of low volatility.
Combine with Other Indicators: ATR and DTR work well when used in conjunction with other technical indicators like moving averages, Bollinger Bands, or RSI. Combining multiple indicators can provide a mor
Monday_Weekly_Range/ErkOzi/Deviation Level/V1"Hello, first of all, I believe that the most important levels to look at are the weekly Fibonacci levels. I have planned an indicator that automatically calculates this. It models a range based on the weekly opening, high, and low prices, which is well-detailed and clear in my scans. I hope it will be beneficial for everyone.
***The logic of the Monday_Weekly_Range indicator is to analyze the weekly price movement based on the trading range formed on Mondays. Here are the detailed logic, calculation, strategy, and components of the indicator:
***Calculation of Monday Range:
The indicator calculates the highest (mondayHigh) and lowest (mondayLow) price levels formed on Mondays.
If the current bar corresponds to Monday, the values of the Monday range are updated. Otherwise, the values are assigned as "na" (undefined).
***Calculation of Monday Range Midpoint:
The midpoint of the Monday range (mondayMidRange) is calculated using the highest and lowest price levels of the Monday range.
***Fibonacci Levels:
// Calculate Fibonacci levels
fib272 = nextMondayHigh + 0.272 * (nextMondayHigh - nextMondayLow)
fib414 = nextMondayHigh + 0.414 * (nextMondayHigh - nextMondayLow)
fib500 = nextMondayHigh + 0.5 * (nextMondayHigh - nextMondayLow)
fib618 = nextMondayHigh + 0.618 * (nextMondayHigh - nextMondayLow)
fibNegative272 = nextMondayLow - 0.272 * (nextMondayHigh - nextMondayLow)
fibNegative414 = nextMondayLow - 0.414 * (nextMondayHigh - nextMondayLow)
fibNegative500 = nextMondayLow - 0.5 * (nextMondayHigh - nextMondayLow)
fibNegative618 = nextMondayLow - 0.618 * (nextMondayHigh - nextMondayLow)
fibNegative1 = nextMondayLow - 1 * (nextMondayHigh - nextMondayLow)
fib2 = nextMondayHigh + 1 * (nextMondayHigh - nextMondayLow)
***Fibonacci levels are calculated using the highest and lowest price levels of the Monday range.
Common Fibonacci ratios such as 0.272, 0.414, 0.50, and 0.618 represent deviation levels of the Monday range.
Additionally, the levels are completed with -1 and +1 to determine at which level the price is within the weekly swing.
***Visualization on the Chart:
The Monday range, midpoint, Fibonacci levels, and other components are displayed on the chart using appropriate shapes and colors.
The indicator provides a visual representation of the Monday range and Fibonacci levels using lines, circles, and other graphical elements.
***Strategy and Usage:
The Monday range represents the starting point of the weekly price movement. This range plays an important role in determining weekly support and resistance levels.
Fibonacci levels are used to identify potential reaction zones and trend reversals. These levels indicate where the price may encounter support or resistance.
You can use the indicator in conjunction with other technical analysis tools and indicators to conduct a more comprehensive analysis. For example, combining it with trendlines, moving averages, or oscillators can enhance the accuracy.
When making investment decisions, it is important to combine the information provided by the indicator with other analysis methods and use risk management strategies.
Thank you in advance for your likes, follows, and comments. If you have any questions, feel free to ask."
Curved Trend Channels (Zeiierman)█ Overview
Curved Trend Channels (Zeiierman) is a next-generation trend visualization tool engineered to adapt dynamically to both linear and non-linear market behavior. It introduces a novel curvature-based channeling system that grows over time during trending conditions, mirroring the natural acceleration of price trends, while simultaneously leveraging adaptive range filtering and dual-layer candle trend logic.
This tool is ideal for traders seeking smooth yet reactive dynamic channels that evolve with market structure. Whether used in curved mode or traditional slope mode, it provides exceptional clarity on trend transitions, volatility compression, and breakout development.
█ How It Works
⚪ Adaptive Range Filter Foundation
The core of the system is a volatility-based range filter that determines the underlying structure of the bands:
Pre-Smoothing of High/Low Data – Highs and lows are smoothed using a selectable moving average (SMA, EMA, HMA, KAMA, etc.) before calculating the volatility range.
Volatility Envelope – The range is scaled using a fixed factor (2.618) and further adjusted by a Band Multiplier to form the primary envelope around price.
Smoothed Volatility Curve – Final bands are stabilized using a long lookback, ensuring clean visual structure and trend clarity.
⚪ Curved Channel Logic
In Curved Mode, the trend channel grows over time when the trend direction remains unchanged:
Base Step Size (× ATR) – Sets the minimum unit of slope change.
Growth per Bar (× ATR) – Defines the acceleration rate of the channel slope with time.
Trend Persistence Recognition – The longer a trend persists, the more pronounced the slope becomes, mimicking real market accelerations.
This dynamic, time-dependent logic enables the channel to "curve" upward or downward, tracking long-standing trends with increasing confidence.
⚪ Trend Slope
As an alternative to curved logic, traders can activate a regular Trend slope using:
Slope Length – Determines how quickly the trend line adapts to price shifts.
Multiplicative Factor – Amplifies the sensitivity of the slope, useful in fast-moving markets or lower timeframes.
⚪ Candle Trend Confirmation
A robust second-layer trend detection method, the Candle Trend System evaluates directional pressure by analyzing smoothed price action:
Multi-tier Smoothing – Trend lines are derived from short-, medium-, and long-term candle movement.
█ How to Use
⚪ Trend Identification
When the Trend Line direction and Candle Colors are in agreement, this indicates strong, persistent directional conviction. Use these moments to enter with trend confirmation and manage risk more confidently.
⚪ Retest
During ongoing trends, the price will often pull back into the dynamic channel. Look for:
Support/resistance interactions at the upper or lower bands.
█ Settings
Scaled Volatility Length – Controls the historical depth used to stabilize the volatility bands.
Smoothing Type – Choose from HMA, KAMA, VIDYA, FRAMA, Super Smoother, etc. to match your asset and trading style.
Volatility MA Length – Smoothing length for the calculated range; shorter = more reactive.
High/Low Smoother Length – Additional smoothing to reduce noise from spikes or false pivots.
Band Multiplier – Widens or tightens the band range based on personal preference.
Enable Curved Channel – Toggle between curved or regular trend slope behavior.
Base Step (× ATR) – The starting point for curved slope progression.
Growth per Bar (× ATR) – How much the slope accelerates per bar during a sustained trend.
Slope – Reactivity of the standard trend line to price movements.
Multiplicative Factor – Sensitivity adjustment for HyperTrend slope.
Candle Trend Length – Lookback period for trend determination from candle structure.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
[GYTS-CE] Market Regime Detector🧊 Market Regime Detector (Community Edition)
🌸 Part of GoemonYae Trading System (GYTS) 🌸
🌸 --------- INTRODUCTION --------- 🌸
💮 What is the Market Regime Detector?
The Market Regime Detector is an advanced, consensus-based indicator that identifies the current market state to increase the probability of profitable trades. By distinguishing between trending (bullish or bearish) and cyclic (range-bound) market conditions, this detector helps you select appropriate tactics for different environments. Instead of forcing a single strategy across all market conditions, our detector allows you to adapt your approach based on real-time market behaviour.
💮 The Importance of Market Regimes
Markets constantly shift between different behavioural states or "regimes":
• Bullish trending markets - characterised by sustained upward price movement
• Bearish trending markets - characterised by sustained downward price movement
• Cyclic markets - characterised by range-bound, oscillating behaviour
Each regime requires fundamentally different trading approaches. Trend-following strategies excel in trending markets but fail in cyclic ones, while mean-reversion strategies shine in cyclic markets but underperform in trending conditions. Detecting these regimes is essential for successful trading, which is why we've developed the Market Regime Detector to accurately identify market states using complementary detection methods.
🌸 --------- KEY FEATURES --------- 🌸
💮 Consensus-Based Detection
Rather than relying on a single method, our detector employs two complementary detection methodologies that analyse different aspects of market behaviour:
• Dominant Cycle Average (DCA) - analyzes price movement relative to its lookback period, a proxy for the dominant cycle
• Volatility Channel - examines price behaviour within adaptive volatility bands
These diverse perspectives are synthesised into a robust consensus that minimises false signals while maintaining responsiveness to genuine regime changes.
💮 Dominant Cycle Framework
The Market Regime Detector uses the concept of dominant cycles to establish a reference framework. You can input the dominant cycle period that best represents the natural rhythm of your market, providing a stable foundation for regime detection across different timeframes.
💮 Intuitive Parameter System
We've distilled complex technical parameters into intuitive controls that traders can easily understand:
• Adaptability - how quickly the detector responds to changing market conditions
• Sensitivity - how readily the detector identifies transitions between regimes
• Consensus requirement - how much agreement is needed among detection methods
This approach makes the detector accessible to traders of all experience levels while preserving the power of the underlying algorithms.
💮 Visual Market Feedback
The detector provides clear visual feedback about the current market regime through:
• Colour-coded chart backgrounds (purple shades for bullish, pink for bearish, yellow for cyclic)
• Colour-coded price bars
• Strength indicators showing the degree of consensus
• Customizable colour schemes to match your preferences or trading system
💮 Integration in the GYTS suite
The Market Regime Detector is compatible with the GYTS Suite , i.e. it passes the regime into the 🎼 Order Orchestrator where you can set how to trade the trending and cyclic regime.
🌸 --------- CONFIGURATION SETTINGS --------- 🌸
💮 Adaptability
Controls how quickly the Market Regime detector adapts to changing market conditions. You can see it as a low-frequency, long-term change parameter:
Very Low: Very slow adaptation, most stable but may miss regime changes
Low: Slower adaptation, more stability but less responsiveness
Normal: Balanced between stability and responsiveness
High: Faster adaptation, more responsive but less stable
Very High: Very fast adaptation, highly responsive but may generate false signals
This setting affects lookback periods and filter parameters across all detection methods.
💮 Sensitivity
Controls how sensitive the detector is to market regime transitions. This acts as a high-frequency, short-term change parameter:
Very Low: Requires substantial evidence to identify a regime change
Low: Less sensitive, reduces false signals but may miss some transitions
Normal: Balanced sensitivity suitable for most markets
High: More sensitive, detects subtle regime changes but may have more noise
Very High: Very sensitive, detects minor fluctuations but may produce frequent changes
This setting affects thresholds for regime detection across all methods.
💮 Dominant Cycle Period
This parameter allows you to specify the market's natural rhythm in bars. This represents a complete market cycle (up and down movement). Finding the right value for your specific market and timeframe might require some experimentation, but it's a crucial parameter that helps the detector accurately identify regime changes. Most of the times the cycle is between 20 and 40 bars.
💮 Consensus Mode
Determines how the signals from both detection methods are combined to produce the final market regime:
• Any Method (OR) : Signals bullish/bearish if either method detects that regime. If methods conflict (one bullish, one bearish), the stronger signal wins. More sensitive, catches more regime changes but may produce more false signals.
• All Methods (AND) : Signals only when both methods agree on the regime. More conservative, reduces false signals but might miss some legitimate regime changes.
• Weighted Decision : Balances both methods with equal weighting. Provides a middle ground between sensitivity and stability.
Each mode also calculates a continuous regime strength value that's used for colour intensity in the 'unconstrained' display mode.
💮 Display Mode
Choose how to display the market regime colours:
• Unconstrained regime: Shows the regime strength as a continuous gradient. This provides more nuanced visualisation where the intensity of the colour indicates the strength of the trend.
• Consensus only: Shows only the final consensus regime with fixed colours based on the detected regime type.
The background and bar colours will change to indicate the current market regime:
• Purple shades: Bullish trending market (darker purple indicates stronger bullish trend)
• Pink shades: Bearish trending market (darker pink indicates stronger bearish trend)
• Yellow: Cyclic (range-bound) market
💮 Custom Colour Options
The Market Regime Detector allows you to customize the colour scheme to match your personal preferences or to coordinate with other indicators:
• Use custom colours: Toggle to enable your own colour choices instead of the default scheme
• Transparency: Adjust the transparency level of all regime colours
• Bullish colours: Define custom colours for strong, medium, weak, and very weak bullish trends
• Bearish colours: Define custom colours for strong, medium, weak, and very weak bearish trends
• Cyclic colour: Define a custom colour for cyclic (range-bound) market conditions
🌸 --------- DETECTION METHODS --------- 🌸
💮 Dominant Cycle Average (DCA)
The Dominant Cycle Average method forms a key part of our detection system:
1. Theoretical Foundation :
The DCA method builds on cycle analysis and the observation that in trending markets, price consistently remains on one side of a moving average calculated using the dominant cycle period. In contrast, during cyclic markets, price oscillates around this average.
2. Calculation Process :
• We calculate a Simple Moving Average (SMA) using the specified lookback period - a proxy for the dominant cycle period
• We then analyse the proportion of time that price spends above or below this SMA over a lookback window. The theory is that the price should cross the SMA each half cycle, assuming that the dominant cycle period is correct and price follows a sinusoid.
• This lookback window is adaptive, scaling with the dominant cycle period (controlled by the Adaptability setting)
• The different values are standardised and normalised to possess more resolving power and to be more robust to noise.
3. Regime Classification :
• When the normalised proportion exceeds a positive threshold (determined by Sensitivity setting), the market is classified as bullish trending
• When it falls below a negative threshold, the market is classified as bearish trending
• When the proportion remains between these thresholds, the market is classified as cyclic
💮 Volatility Channel
The Volatility Channel method complements the DCA method by focusing on price movement relative to adaptive volatility bands:
1. Theoretical Foundation :
This method is based on the observation that trending markets tend to sustain movement outside of normal volatility ranges, while cyclic markets tend to remain contained within these ranges. By creating adaptive bands that adjust to current market volatility, we can detect when price behaviour indicates a trending or cyclic regime.
2. Calculation Process :
• We first calculate a smooth base channel center using a low pass filter, creating a noise-reduced centreline for price
• True Range (TR) is used to measure market volatility, which is then smoothed and scaled by the deviation factor (controlled by Sensitivity)
• Upper and lower bands are created by adding and subtracting this scaled volatility from the centreline
• Price is smoothed using an adaptive A2RMA filter, which has a very flat and stable behaviour, to reduce noise while preserving trend characteristics
• The position of this smoothed price relative to the bands is continuously monitored
3. Regime Classification :
• When smoothed price moves above the upper band, the market is classified as bullish trending
• When smoothed price moves below the lower band, the market is classified as bearish trending
• When price remains between the bands, the market is classified as cyclic
• The magnitude of price's excursion beyond the bands is used to determine trend strength
4. Adaptive Behaviour :
• The smoothing periods and deviation calculations automatically adjust based on the Adaptability setting
• The measured volatility is calculated over a period proportional to the dominant cycle, ensuring the detector works across different timeframes
• Both the center line and the bands adapt dynamically to changing market conditions, making the detector responsive yet stable
This method provides a unique perspective that complements the DCA approach, with the consensus mechanism synthesising insights from both methods.
🌸 --------- USAGE GUIDE --------- 🌸
💮 Starting with Default Settings
The default settings (Normal for Adaptability and Sensitivity, Weighted Decision for Consensus Mode) provide a balanced starting point suitable for most markets and timeframes. Begin by observing how these settings identify regimes in your preferred instruments.
💮 Finding the Optimal Dominant Cycle
The dominant cycle period is a critical parameter. Here are some approaches to finding an appropriate value:
• Start with typical values, usually something around 25 works well
• Visually identify the average distance between significant peaks and troughs
• Experiment with different values and observe which provides the most stable regime identification
• Consider using cycle-finding indicators to help identify the natural rhythm of your market
💮 Adjusting Parameters
• If you notice too many regime changes → Decrease Sensitivity or increase Consensus requirement
• If regime changes seem delayed → Increase Adaptability
• If a trending regime is not detected, the market is automatically assigned to be in a cyclic state
• If you want to see more nuanced regime transitions → Try the "unconstrained" display mode (note that this will not affect the output to other indicators)
💮 Trading Applications
Regime-Specific Strategies:
• Bullish Trending Regime - Use trend-following strategies, trail stops wider, focus on breakouts, consider holding positions longer, and emphasize buying dips
• Bearish Trending Regime - Consider shorts, tighter stops, focus on breakdown points, sell rallies, implement downside protection, and reduce position sizes
• Cyclic Regime - Apply mean-reversion strategies, trade range boundaries, apply oscillators, target definable support/resistance levels, and use profit-taking at extremes
Strategy Switching:
Create a set of rules for each market regime and switch between them based on the detector's signal. This approach can significantly improve performance compared to applying a single strategy across all market conditions.
GYTS Suite Integration:
• In the GYTS 🎼 Order Orchestrator, select the '🔗 STREAM-int 🧊 Market Regime' as the market regime source
• Note that the consensus output (i.e. not the "unconstrained" display) will be used in this stream
• Create different strategies for trending (bullish/bearish) and cyclic regimes. The GYTS 🎼 Order Orchestrator is specifically made for this.
• The output stream is actually very simple, and can possibly be used in indicators and strategies as well. It outputs 1 for bullish, -1 for bearish and 0 for cyclic regime.
🌸 --------- FINAL NOTES --------- 🌸
💮 Development Philosophy
The Market Regime Detector has been developed with several key principles in mind:
1. Robustness - The detection methods have been rigorously tested across diverse markets and timeframes to ensure reliable performance.
2. Adaptability - The detector automatically adjusts to changing market conditions, requiring minimal manual intervention.
3. Complementarity - Each detection method provides a unique perspective, with the collective consensus being more reliable than any individual method.
4. Intuitiveness - Complex technical parameters have been abstracted into easily understood controls.
💮 Ongoing Refinement
The Market Regime Detector is under continuous development. We regularly:
• Fine-tune parameters based on expanded market data
• Research and integrate new detection methodologies
• Optimise computational efficiency for real-time analysis
Your feedback and suggestions are very important in this ongoing refinement process!
Eze Profit Range Detection FilterThe Range Detection Filter is a technical analysis tool designed to help traders identify range-bound market conditions and focus on breakout opportunities. It combines the ATR (Average True Range) for volatility analysis and the ADX (Average Directional Index) for trend strength evaluation to highlight consolidation phases and alert traders when the market is ready to break out.
This indicator provides visual cues and customizable alerts, making it suitable for traders looking to avoid false signals during choppy markets and capitalize on trending moves following a breakout.
What Makes It Unique?
ATR for Volatility:
Measures market volatility by comparing ATR with its moving average.
Consolidation phases are flagged when ATR remains below its moving average for a sustained period.
ADX for Trend Strength:
Monitors trend strength, confirming range-bound conditions when ADX falls below a user-defined threshold (default: 20).
Combines with ATR to ensure accurate detection of trendless periods.
Breakout Alerts:
Notifies traders of breakout opportunities when the price moves outside the highest high or lowest low of the range.
How It Works:
Range Detection:
The market is considered "in range" when:
ATR is below its moving average, indicating low volatility.
ADX is below the threshold, confirming a lack of trend strength.
Visual Indication:
A yellow background highlights range-bound conditions, allowing traders to avoid low-probability trades.
Breakout Detection:
Alerts are triggered for breakouts above or below the range to help traders identify potential opportunities.
Features:
Range Highlighting:
Automatically detects and highlights range-bound markets using a yellow background.
Breakout Alerts:
Sends alerts for breakouts above or below the range once the market exits consolidation.
Customizable Inputs:
ATR length, moving average length, and ADX parameters are fully adjustable to adapt to various trading styles and asset classes.
Multi-Timeframe Compatibility:
Suitable for all markets and timeframes, including stocks, forex, and cryptocurrencies.
How to Use:
Identify Ranges:
Avoid trading when the yellow background appears, signaling a range-bound market.
Focus on Breakouts:
Look for alerts indicating breakouts above or below the range for potential trending opportunities.
Combine with Other Indicators:
Use volume analysis, momentum oscillators, or candlestick patterns to confirm breakout signals.
Credits:
This script utilizes widely accepted methodologies for ATR and ADX calculations. ADX is calculated manually using directional movement (+DI and -DI) for precise trend detection. The concept has been adapted and enhanced to create this comprehensive range-detection tool.
Notes:
This indicator is intended for educational purposes and should not be used as standalone financial advice.
Always incorporate this tool into a broader trading strategy for optimal results.
Trading Ranges + ZScoreOverview
The "Trading Ranges + ZScore" script is a versatile technical indicator developed for TradingView. This tool combines two powerful concepts—price ranges and Z-Score analysis—to help traders identify potential trend reversals, overbought/oversold conditions, and trend strength. The script dynamically calculates price ranges based on recent price action and utilizes Z-Score to detect deviations from a statistical norm, providing valuable insights for decision-making in both ranging and trending markets.
Features
Price Ranges: Calculates dynamic upper and lower price boundaries based on volatility and market structure.
Z-Score Oscillator: A statistical measure that highlights overbought/oversold conditions based on the deviation from a moving average.
Trend Detection: Identifies trend continuation or reversal points by comparing current price action against historical levels.
Customizable Alerts: Generates visual signals (diamonds and X crosses) for potential long/short entries and exits.
Visual Representation: Colors the bars based on Z-Score and trend direction, enhancing the chart’s readability and signal clarity.
Customizable Parameters: The script allows users to fine-tune perception length, analysis period, factor multiplier, and oscillator thresholds to fit different market conditions.
Key Input Parameters
Perception: The length used for calculating highest/lowest price points (default: 20).
Analysis: The length used for calculating the moving average and volatility (default: 100).
Factor: A multiplier to adjust the width of the price ranges (default: 2.0).
Oscillator Threshold: The overbought/oversold threshold for the Z-Score oscillator (default: 70).
Trend Filter: A boolean switch that filters signals based on trend direction.
Fill Zones: Option to color-fill between price levels when certain conditions are met.
Bullish/Bearish/Neutral Colors: Customizable colors for bullish, bearish, and neutral signals.
How It Works
Price Ranges Calculation:
The script calculates five levels: two upper boundaries, the average price level, and two lower boundaries. These levels are based on the highest/lowest prices over a user-defined period and adjusted by volatility (Average True Range).
When the price crosses either of these levels, it suggests a significant change in market direction, potentially indicating a trend reversal.
Z-Score Oscillator:
The Z-Score is a statistical measurement of a price's position relative to its moving average. The indicator calculates two variations:
Z-Score based on the absolute difference between the price and the moving average.
Z-Score based on standard deviation.
These oscillators help detect extreme conditions where the price is likely to revert (overbought/oversold zones).
Trend Detection and Signals:
The indicator generates potential buy/sell signals when the price crosses the predefined levels or based on the fast Z-Score crossing the overbought/oversold thresholds.
Weak long/short signals are shown when the faster Z-Score oscillator reaches extreme levels but trend filters are applied to avoid noise.
Bar Colors and Signal Shapes:
Bar colors change dynamically to reflect the trend direction and Z-Score conditions. Signals for potential trades are displayed using diamonds and X crosses, making it easy to spot opportunities visually.
Visuals and Plots
Bar Colors: Changes the bar color based on Z-Score and trend direction.
Z-Score Plot: Displays two Z-Score oscillators, the standard and a faster one for detecting quicker price deviations.
Overbought/Oversold Zones: Highlighted by upper and lower thresholds of the Z-Score.
Long/Short Signals: Uses diamond-shaped markers for strong long/short signals and X-shaped markers for weaker signals.
Dynamic Range Lines: Plots lines for key price levels (upper/lower boundaries, mid-range) based on the dynamic range calculations.
Usage Guide
Identify Overbought/Oversold Conditions: Look for the Z-Score reaching extreme positive or negative values. When combined with trend signals, these conditions often point to a potential reversal.
Follow the Trend: Use the trend filter option to focus only on trades in the direction of the prevailing trend, reducing false signals in ranging markets.
Watch for Range Breakouts: Pay attention to the upper and lower boundaries. Price crossing these levels often signals the start of a new trend or a major price movement.
Adjust Parameters: Tailor the perception length, analysis length, and multiplier to suit different asset classes or timeframes.
Customization
You can adjust the key parameters to adapt the indicator to different markets or personal trading preferences:
- Perception & Analysis Lengths: Control the sensitivity of the price range calculations.
- Factor Multiplier: Adjusts the width of the ranges, with higher values indicating larger zones.
- Oscillator Threshold: Modify the overbought/oversold levels to suit different market volatility.
- Trend Filter: Toggle on/off to focus on trend-following strategies or range-bound conditions.
- Visual Options: Customize colors for bullish, bearish, and neutral signals, as well as enable/disable the zone fills.
Trend Day IndentificationVolatility is cyclical, after a large move up or down the market typically "ranges" during the next session. Directional order flow that enters the market during this subsequent session tends not to persist, this non-persistency of transactions leads to a non-trend day which is when I trade intraday reversionary strategies.
This script finds trend days in BTC with the purpose of:
1) counting trend day frequency
2) predicting range contraction for the next 1-2 days so I can run intraday reversion strategies
Trend down is defined as daily bar opening within X% of high and closing within X% of low
Trend up is defined as daily bar opening within X% of low and closing within X% of high
default parameters are:
1) open range extreme = 15% (open is within 15% of high or low)
2) close range extreme = 15% (close is within 15% of high or low)
There is also an atr filter that checks that the trend day has a larger range than the previous 4 bars this is to make sure we find true range expansion vs recent ranges.
Notes:
If a trend day occurs after a prolonged sideways contraction it can signal a breakout - this is less common but is an exception to the rule. These types of occurrences can lead to the persistency of order flow and result in extended directional daily runs.
If a trend day occurs close to 20 days high or low (stopping just short OR pushing slightly through) then wait an additional day before trading intraday reversion strategies.