Example - MA-Cross Retracement DetectionThe retracement tracker function(s) in this script outline how to:
Track conditions using "toggle" booleans.
Use multiple coinciding conditions to trigger an event just once.
What is a retracement?
"Retracements are temporary price reversals that take place within a
larger trend. The key here is that these price reversals are temporary
and do not indicate a change in the larger trend."
Quote Source: www.investopedia.com
Support and Resistance
Auto Pitchfork, Fib Retracement and Zig Zag by DGTPitchfork is a technical indicator for a quick and easy way for traders to identify possible levels of support and resistance of an asset's price. It is presents and based on the idea that the market is geometric and cyclical in nature
Developed by Alan Andrews, so sometimes called Andrews’ Pitchfork
It is created by placing three points at the end of previous trends
Schiff and Modified Pitchfork is a technical analysis tool derived from Andrews' Pitchfork
In general, traders will purchase the asset when the price falls near the support of either the center trendline or the lowest trendline. Conversely, they'll sell the asset when it approaches the resistance of either the center line or the highest trendline.
█ Study OPTIONS
Auto Pitchfork , the main aim of the study
Pivots threshold can be customized by “Deviation” and “Depth” input options
Pitchfork Type selection, available options Andrews' Pitchfork (Original), Schiff and Modified Pitchfork
Ability to set ALERTs for the Pitchfork Levels
Ability to add customized levels (all level lines customizable)
Auto Fib Retracement – This is the build-in study of TradingView, slight changes applied to fit with Auto Pitchfork
Zig Zag – Derived from build-in Auto Fib Retracement with some customization options.
█ Usage Tips :
Andrews' Pitchfork (Original) best fit in a Strong Trending Market
Schiff and Modified Pitchfork better with Correcting or Sideways Market. Modified Pitchfork is almost identical to a Parallel Chanel
Disclaimer :
Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely
The script is for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script
NSDT Pivot ZonesThis is a new take on Traditional Pivot Points. By modifying the calculations, we were able to create "pivot zones" with a decent degree of accuracy.
VWAP Alerts V3VWAP Alerts signal over bought/over sold conditions, relative to volume weighted average price, while deviation bands plot an extremely accurate point of mean reversion.
VWAP Alerts V3 includes multiple timeframe selection, along with multiplier input for deviation band setting
Alerts can be set for each individual band, for extreme oversold/overbought conditions, use "Vwap Low Deviation 4" and "Vwap High Deviation 4".
Alerts can also be set for VWAP bounces, by simply setting "VWAP Alert"
Parallel Pivot Lines [LuxAlgo]Displays lines connecting past pivot high/low points with each line having the slope of a linear regression. This slope can also be controlled by the user with the 'Slope' setting. Each line can be used as a support or resistance by the user.
Settings
Length : Pivot length. Use higher values for having lines connected to more significant pivots points.
Lookback : Number of lines connecting a pivot high/low to display, with a total of lines equal to Lookback*2
Slope : Allows the user to multiply the linear regression slope by a number within -1 and 1
Limitations
The script has currently several real time behavior limitations. Lines are displayed retrospectively and will not update with the arrival of new bars. Readjusting the indicator to newer pivots will require the user to either hide/unhide the indicator or change its settings.
High Length or Lookback values might not return any lines if the location of a pivot point is outside the defined buffer size of the indicator (set as 5000 bars).
How To Use
The indicator can be used to get supports and resistances and is more so closer to a drawing tool due to its limitations. The lines not updating with the arrival of new bars have the advantage of providing fixed supports/resistances.
The Slope setting allows the user to control the angle and direction of the lines. Using a Slope of 1 will return lines with the same slope as the one of a linear regression fit from the farthest pivot point displayed by the indicator to the most recent bar.
The chart above shows the indicators and a linear regression in orange.
If you want to have horizontal lines, use a Slope equal to 0.
Finally using a negative slope value will allow the user to have lines in opposite directions to the main trend.
Conclusion
We hope you like this indicator (drawing tool) and find it useful for drawing your support & resistances in a unique way!
High_Low level plots for yesterday, pre market , regular, and AHthis study will plot yesterdays, high and low price, pre market's high and low price, regular day's high and low price and post markets high and low price.
Box Range AlertSimple Script for getting alerts on the crossing of Upper & Lower levels either way.
Good for Free users as they can only use 1 alert at a time. So this indicator will be useful to get alerts on both Breakout Or Breakdowns.
Just add input Price manually and set alerts.
SwissKnife DAX ZZBScript dedicated for Dax and listing all zones manually chosen and defined based on Dax observation. Script also allows to define offset that automatically recalculates zones, as original levels are valid for Futures Dax Contract. Levels of 14k and 13k are covered. Enjoy!
Daily Pivot (Fibonacci)Hello All
-
This is Daily Pivot (Fibonacci).
Simple and very useful tool for traders.
Show R5 to S5 levels.
.
Feel free to comment.
Thank you.
PRIME - ShadoW ZoneZ with RSI LevelsIn This experimental study, we've taken RSI data, Volume Profile, and Trend analysis, combining them into one unique package that will allow a trader to analyze market trend lines and their proposed channels, trend momentum through candle color augmentation similar to "Pulse", and Visible Volume index price levels on chart for the current sequence. Below are explanations of each function within the system.
The Semafor is used to spot future multi-level Supports and Resistance zones.
It is also useful to spot HL or LL or HH or LH zones at different Depth settings.
The red zones are the extreme places where the market has a higher chance of reversing while the green zones have the lowest setting with lower chances of the market reversal
Automatic Trend Lines
The indicator takes in 2 timeframes to detect High and Low values from which to draw the trend lines of each timeframe.
As the values change with price movement, the lines are updated. They are color coded for uptrend and downtrend based on the direction of each individual line. Trend lines can be set up to color with only the default value on the configurations panel.
- Toggle on/off Color Coded
- Change Default, Uptrend, Downtrend color
- Change Line Width
- Change Line Style
- Toggle on/off Line Extensions
- Change Extended Line Width
- Change Extended Line Style
- Toggle On/Off labels for 7 data points of each timeframe
Automatic Trend Sights
This is a neat feature that may help you get a better feel for the direction the current movement is heading towards in correlation with the short or medium length timeframe trends. The sight draws a line from the middle vertical point of the trend coordinates towards the current price. They are toggled off by default but can be enabled in the configurations panel.
- Toggle on/off sight on each timeframe
- Change Width
- Change Line Style
Support & Resistance Levels, the main aim of the study. Level calculations are based on Relative Strength Index ( RSI ) threshold levels of oversold/overbought and bull/bear zones, where all threshold values are customizable through the user dialog box. Background of the levels can be colored optionally.
RSI Weighted Colored Bars and/or Mark Overbought/Oversold Bars , Bar colors can be painted to better emphasis RSI values. Darker colors when the oscillator is in oversold/overbought zones, light colors when oscillator readings are below/above the bull/bear zone respectively, and remain unchanged otherwise. Besides the colors, with “Display RSI Overbought/Oversold Price Bars” option little triangle shapes can be plotted on top or bottom of the bars when RSI is in oversold/overbought zones .
Disclaimer:
Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely
The script is for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script
[SK] Fibonacci Auto Trend ScouterThe FATS - Fibonacci Auto Trend Scouter automatically draws active trends from 2 different timeframes along with Fibonacci Support and Resistance levels. It also has a Sights feature for each timeframe which points from it's middle towards the current price. The tool is also highly customizable for you to take this indicator over 9000. If you like the tool and it adds value to you - share the love on the like button and visit my profile to check out my other indicators and subscribe, so you're notified of my next scripts and ideas!
Automatic Trend Lines
The indicator takes in 2 timeframes to detect High and Low values from which to draw the trend lines of each timeframe.
As the values change with price movement, the lines are updated. They are color coded for uptrend and downtrend based on the direction of each individual line. Trend lines can be set up to color with only the default value on the configurations panel.
- Toggle on/off Color Coded
- Change Default, Uptrend, Downtrend color
- Change Line Width
- Change Line Style
- Toggle on/off Line Extensions
- Change Extended Line Width
- Change Extended Line Style
- Toggle On/Off labels for 7 data points of each timeframe
Automatic Trend Sights
This is a neat feature that may help you get a better feel for the direction the current movement is heading towards in correlation with the short or medium length timeframe trends. The sight draws a line from the middle vertical point of the trend coordinates towards the current price. They are toggled off by default but can be enabled in the configurations panel.
- Toggle on/off sight on each timeframe
- Change Width
- Change Line Style
Automatic Fibonacci Levels
The tool has a very useful feature to automatically detect the highest and lowest value from the short timeframe to calculate Fibonacci support and resistant levels. To keep the chart area clean, the lines are drawn short by default towards the right side of the price but provide inputs to increase the size of the level lines towards the left and right direction. A triangle label appears to the side of each line which holds the Fibonacci level and price data inside the tooltip, hover over them to activate.
- Toggle on/off color coded
- Change Default, Resistance, Support colors
- Change line size towards the left and right side
- Change line width
- Change Resistance line style
- Change Support line style
- Toggle on/off High and Low source line
- Toggle on/off High and Low source labels
Example - HTF Values Without 'Security()'This is an example of how to reference higher timeframe data without the
need for a 'security()' call.
I have attempted to create the function example:
f_insecurity()
with the purpose of wrapping up and pumping out all common relevent HTF
price data that's needed for your everyday indicators in a reliable fashion.
Gann RetracementThe indicator is based on W. D. Gann's method of retracement studies. Gann looked at stock retracement action in terms of Halves (1/2), Thirds (1/3, 2/3), Fifths (1/5, 2/5, 3/5, and 4/5) and more importantly the Eighths (1/8, 2/8, 3/8, 4/8, 5/8, 6/8, and 7/8). Needless to say, {2, 3, 5, 8} are the only Fibonacci numbers between 1 to 10. These ratios can easily be visualized in the form of division of a Circle as follows :
Divide the circle in 12 equal parts of 30 degree each to produce the Thirds :
30 x 4 = 120 is 1/3 of 360
30 x 8 = 240 is 2/3 of 360
The 30 degree retracement captures fundamental geometric shapes like a regular Triangle (120-240-360), a Square (90-180-270-360), and a regular Hexagon (60-120-180-240-300-360) inscribed inside of the circle.
Now, divide the circle in 10 equal parts of 36 degree each to produce the Fifths :
36 x 2 = 72 is 1/5 of 360
36 x 4 = 144 is 2/5 of 360
36 x 6 = 216 is 3/5 of 360
36 x 8 = 288 is 4/5 of 360
where, (72-144-216-288-360) is a regular Pentagon.
Finally, divide the circle in 8 equal parts of 45 degree each to produce the Eighths :
45 x 1 = 45 is 1/8 of 360
45 x 2 = 90 is 2/8 of 360
45 x 3 = 135 is 3/8 of 360
45 x 4 = 180 is 4/8 of 360
45 x 5 = 225 is 5/8 of 360
45 x 6 = 270 is 6/8 of 360
45 x 7 = 315 is 7/8 of 360
where, (45-90-135-180-225-270-315-360) is a regular Octagon.
How to Use this indicator ?
The indicator generates Gann retracement levels between any two significant price points, such as a high and a low.
Input :
Swing High (significant high price point, such as a top)
Swing Low (significant low price point, such as a bottom)
Degree (degree of retracement)
Output :
Gann retracement levels (color coded as follows) :
Swing High and Swing Low (BLUE)
50% retracement (ORANGE)
Retracements between Swing Low and 50% level (RED)
Retracements between 50% level and Swing High (LIME)
Gunzo Market SRGunzo Market SR is a set of 3 tools combined for trend analysis on day trading strategy.
VWAP (Volume Weighted Average Price) :
The VWAP indicator is generally used for trend analysis. For example if the VWAP line is under the closing price for a long period of time, the trend is strong. In this script, the VWAP has been optimized for day trading as the indicator is calculated inside the daily range, and resets when a new day starts. This way the indicator reflects the daily trend and not the overall trend. You can also use the position of closing price according to the VWAP to find optimal entry points according to the indicator.
Highs / Lows :
The Highs / Lows are generally used for trend analysis too. The High / Lows are mainly used to identify prices that have been key during the past and that we can use as an indication for the following candles. In this script, the Highs / Lows are computed on the daily period and then displayed on the current period (recommended to use on a daily period or lower). This way the indicator reflects the highest point and the lowest point of the day (can be modified to have a longer range of pivot days even if I recommend to stay on 1 day for day trading).
Support / Resistance :
The Support / Resistance is generally used for trend analysis too. The Support / Resistance are found by searching local high and lows. The longer the supports and resistance are, the strongest it can be considered. In this script, the Highs / Lows are computed by default on a lower time frame (usually 3-4 times lower). For example on a 15 minute graph, the Highs / Lows will be computed on the 5 minute graph (can be modified if the displayed result is not optimized for your asset).
How to use this set of tools :
I personally recommend to use this tool at the start of your day of trading. This way you will get a clear vision of the daily situation and try to identify key prices and the trend for the current day. I then suggest to set up an alert on the key price to be notified when you're getting close to it.
ADX Momentum cross + MacD + HH LL + Buy/Sell Signals and alerts Hello, This is the first indicator I have made and would like to contribute to the community.
This strategy came from trying to replicate a previous ADX Cross Indicator that I loved on MT4 which I used successfully on EUR/USD on high and low time frames. Through the process of trying to replicate it I failed, I decided to take what I had written so far and create my own ADX cross strategy using the combination of 3 ADX's, their lag. Then also using Higher highs and lower lows with the MacD to further filter the signals.
There are two buy and two sell conditions , the difference between these are just the order in which the ADX crossing determines the entry. The MacD and higher highs and lower lows are the same for filtering the signal.
You can change the look back for HH and LL look back range, along with the DI Length & ADX Smoothing for all ADX's. The lag used for either the buy or sell strategy with the Lag_Buy/Lag_Sell inputs. Lag_mid setting will affect all 4 conditions.
From testing and based on the ADX cross logic you should follow this structure when changing the inputs for:
DI Length: Lowest DI value (I.E. 1)
DI Lengtha: Middle DI value (I.E. 2)
DI Lengthb: Highest DI value (I.E. 3)
ADX Smoothing: Lowest Smoothing value (I.E. 1)
ADX Smoothinga: Middle Smoothing value (I.E. 2)
ADX Smoothingb: Highest Smoothing value (I.E. 3)
I tested this on the EUR/USD, but mainly I have been using it on BTC/USDT(binance) and BTC/USDT Perpetual futures(binance) with the 5 minute chart. I suggest playing around with the settings depending on the Symbol and timeframe you use because the default settings are what I last found to be optimal for my self on the 5min BTC/USDT Perpetual futures(binance) chart.
A good starting point I found when using the indicator on other charts is to use the below values:
DI Length: 7
DI Lengtha: 14
DI Lengthb: 21
ADX Smoothing: 7
ADX Smoothinga: 14
ADX Smoothingb: 21
If you have any questions, suggestions, or requests for this indicator feel free contact me. You can either comment on here or Message me
If you like this indicator please like and comment where you found it useful.
Auto Fibonacci ComboA combination of Fibonacci indicators including:
1- Moving Auto-calculated Fibo Retracement Levels
2- Dynamic Auto-calculated Fibo Extension Levels
3- Adjustable Auto-calculated Fibo Time Zones
4- ّFlexible Fibo Moving Averages Ribbon
The ribbon consists of 10 moving averages of selected source for different Fibonacci numbers count of bars which could be colorized for a better trend observation. Also the type of the moving averages could be picked up from 6 different types which are:
- SMA (Simple Moving Average)
- EMA (Exponential Moving Average)
- HMA (Hull Moving Average)
- LSMA (Least Squares Moving Average)
- TMA (Triangular Moving Average)
- MAEMA (My Personalized Momentum Adjusted EMA)
I think the latter one makes a nice conjunction with Fibonacci retracements.
Feel free to test the set and send me your thoughts.
Strongholds - Objective & Accurate Reference Points / StructuresVery early in my trading career, I came across Pivot Points only to find out that there are as many calculations as one pleases. It was hard to find out which ones work. Most of them probably did only out of randomness, so I ditched the strategy and looked for something else.
I previously used my Oracle Eye and Reference Points scripts but it is time for an upgrade.
Stronghold is a script I have used for quite some time now. I ditched daily and weekly closing prices as not that important. Instead, Strongholds are equipped with:
►Daily High & Low • Azure color
►Weekly High & Low • Dark blue
►Weekly old High & Low • Semi-transparent dark circles
►Monthly High & Low • Wizardly purple
There is an option to print:
►4h High & Low • Semi-transparent red
►VWAP • Lovely purple
►Weekly VWAP • Black
All of the levels and lines are set for 1m, 5m, 10m, 15m, 30m, 1h, 4h, 1D timeframes. If you use any alien timeframe, you may need to enter the code.
You can opt-in and out for certain timeframes. For example, daily levels are visible from 15m or 30, so the indicator won't draw them unless you want to. However, they will not be seen on higher timeframes as there is no reason to show them and oversaturate the chart with lines.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Remember that if you use this script with auto-scale, you need to tick Scale Price Chart Only . Otherwise, your chart will fly to the moon!
Good luck & have fun!
Keltner FibzonesKeltner Channel with Fibonacci Zones which uses properties of a Donchian Channel.
This script is a variation of the Fibonacci Zone script and the Donchian Fibonacci Trading Tool which I published earlier. A Keltner Channel gives more useful information to the trader than a Donchian Channel, because it provides a depiction of “normal range” and shows “outside normalcy” situations. Fibonacci lines provide a way to see if the market is trending up or down, while moving inside the channel, because in cases where the Fibonacci lines function as resistance, the trend is down, whereas when these turn out to be supports the trend is up.
Example of use:
If after a rally up - in which candles moves outside the channel - these return into the channel, this means a “new normal”. If the fibs turn out to give support, one may assume that this is a temporary sideways movement in which a flag is formed, after which following rally up may happen. With rally down the opposite is true. Top and bottom situations show a change in the way the market uses the fiblines.
The middle line of the Donchian Channel is used as the middle line of the Keltner channel, in stead of the sma in the classic channel. Default for calculation is 2 x Average True Range above and below this line. Default for the periods of the channel is 20 periods, because this allows the candles to go outside the channel. If you shorten this, all happens inside the channel.
Price Nery, by Pércio FrançaThis indicator plot supports and resistances lines based on the Min and Max of the day before, divided by 25% zones.
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.
Daily Pivot (Traditional)Hello all
-
This code is for daily pivot points, support and resistance with pivot labels and value.
simple code with no bugs.
this code use previous day values on online chat and current day values on offline chat.
pivot values are placed on right side, so no overlapping with other values.
.
.
Thank you Trading View for other educational script to make this possible.
Ichimoku + 2 base linesIchimoku + 2 base line
This indicator is a combination of Ichimoku cloud indicator with two base lines.
The first base line is the same as the Ichimoku default settings but the baseline 2 indicates an average of 108 candles in the past and it acts as a strong support and resistance level.
How to use this indicator?
You can use this indicator to see if a break out is true or is a false break. For example if the price broke up the Ichimoku cloud and base line 2 is above the price, it will probably react to that area but if it's below the price, it is a good opportunity to buy. (for sell/short position it is in the opposite way the base line 2 should be above the price)
If you want to trade in support zones base line 2 (108) is a very good area that you can wait for a good candlestick pattern to enter a position.
Caution: before using this indicator please back test it and if the results were good enough, use it as a confirmation.
RSI Support & Resistance by DGTRSI Sᴜᴘᴘᴏʀᴛ & Rᴇꜱɪꜱᴛᴀɴᴄᴇ ʙʏ DGT
This experimental study attempts to translate Relative Strength Index (RSI) threshold levels of oversold/overbought and bull/bear zones as probable Price Support and Resistance levels
█ OPTIONS
Support & Resistance Levels , the main aim of the study. Level calculations are based on Relative Strength Index (RSI) threshold levels of oversold/overbought and bull/bear zones, where all threshold values are customizable through the user dialog box. Background of the levels can be colored optionally
RSI Weighted Colored Bars and/or Mark Overbought/Oversold Bars , Bar colors can be painted to better emphasis RSI values. Darker colors when the oscillator is in oversold/overbought zones, light colors when oscillator readings are below/above the bull/bear zone respectively, and remain unchanged otherwise. Besides the colors, with “Display RSI Overbought/Oversold Price Bars” option little triangle shapes can be plotted on top or bottom of the bars when RSI is in oversold/overbought zones
Example usage of the study with explanations
█ OTHERS
More regarding Support & Resistance concept (definition, identifying levels, trading S&R, etc) you are kindly invited to check my previous publication
Price Action - Support & Resistance by DGT
More regarding Relative Strength Index (RSI) and Relative Strength of Volume Indicators , please check Relative Strength of Volume Indicators by DGT
Disclaimer:
Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely
The script is for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script