Moving Average Cross Probability [AlgoAlpha]Moving Average Cross Probability 📈✨
The Moving Average Cross Probability by AlgoAlpha calculates the probability of a cross-over or cross-under between the fast and slow values of a user defined Moving Average type before it happens, allowing users to benefit by front running the market.
✨ Key Features:
📊 Probability Histogram: Displays the Probability of MA cross in the form of a histogram.
🔄 Data Table: Displays forecast information for quick analysis.
🎨 Customizable MAs: Choose from various moving averages and customize their length.
🚀 How to Use:
🛠 Add Indicator: Add the indicator to favorites, and customize the settings to suite your trading style.
📊 Analyze Market: Watch the indicator to look for trend shifts early or for trend continuations.
🔔 Set Alerts: Get notified of bullish/bearish points.
✨ How It Works:
The Moving Average Cross Probability Indicator by AlgoAlpha determines the probability by looking at a probable range of values that the price can take in the next bar and finds out what percentage of those possibilities result in the user defined moving average crossing each other. This is done by first using the HMA to predict what the next price value will be, a standard deviation based range is then calculated. The range is divided by the user defined resolution and is split into multiple levels, each of these levels represent a possible value for price in the next bar. These possible predicted values are used to calculate the possible MA values for both the fast and slow MAs that may occur in the next bar and are then compared to see how many of those possible MA results end up crossing each other.
Stay ahead of the market with the Moving Average Cross Probability Indicator AlgoAlpha! 📈💡
Cerca negli script per "Table"
[SGM GARCH Volatility]I'm excited to share with you a Pine Script™ that I developed to analyze GARCH (Generalized Autoregressive Conditional Heteroskedasticity) volatility. This script allows you to calculate and plot GARCH volatility on TradingView. Let's see together how it works!
Introduction
Volatility is a key concept in finance that measures the variation in prices of a financial asset. The GARCH model is a statistical method that predicts future volatility based on past volatilities and prediction residuals (errors).
Indicator settings
We define several parameters for our indicator:
length = input.int(20, title="Length")
p = input.int(1, title="Lag order (p)")
q = input.int(1, title="Degree of moving average (q)")
cluster_value = input(0.2,title="cluster value")
length: The period used for the calculations, default 20.
p: The order of the delay for the GARCH model.
q: The degree of the moving average for the GARCH model.
cluster_value: A threshold value used to color the graph.
Calculation of logarithmic returns
We calculate logarithmic returns to capture price changes:
logReturns = math.log(close) - math.log(close )
Initializing arrays
We initialize arrays to store residuals and volatilities:
var float residuals = array.new_float(length, 0)
var float volatilities = array.new_float(length, 0)
We add the new logarithmic returns to the tables and keep their size constant:
array.unshift(residuals, logReturns)
if (array.size(residuals) > length)
array.pop(residuals)
We then calculate the mean and variance of the residuals:
meanResidual = array.avg(residuals)
varianceResidual = array.stdev(residuals, meanResidual)
volatility = math.sqrt(varianceResidual)
We update the volatility table with the new value:
array.unshift(volatilities, volatility)
if (array.size(volatilities) > length)
array.pop(volatilities)
GARCH volatility is calculated from accumulated data:
var float garchVolatility = na
if (array.size(volatilities) >= length and array.size(residuals) >= length)
alpha = 0.1 // Alpha coefficient
beta = 0.85 // Beta coefficient
omega = 0.01 // Omega constant
sumVolatility = 0.0
for i = 0 to p-1
sumVolatility := sumVolatility + beta * math.pow(array.get(volatilities, i), 2)
sumResiduals = 0.0
for j = 0 to q-1
sumResiduals := sumResiduals + alpha * math.pow(array.get(residuals, j), 2)
garchVolatility := math.sqrt(omega + sumVolatility + sumResiduals)
Plot GARCH volatility
We finally plot the GARCH volatility on the chart and add horizontal lines for easier visual analysis:
plt = plot(garchVolatility, title="GARCH Volatility", color=color.rgb(33, 149, 243, 100))
h1 = hline(0.1)
h2 = plot(cluster_value)
h3 = hline(0.3)
colorGarch = garchVolatility > cluster_value ? color.red: color.green
fill(plt, h2, color = colorGarch)
colorGarch: Determines the fill color based on the comparison between garchVolatility and cluster_value.
Using the script in your trading
Incorporating this Pine Script™ into your trading strategy can provide you with a better understanding of market volatility and help you make more informed decisions. Here are some ways to use this script:
Identification of periods of high volatility:
When the GARCH volatility is greater than the cluster value (cluster_value), it indicates a period of high volatility. Traders can use this information to avoid taking large positions or to adjust their risk management strategies.
Anticipation of price movements:
An increase in volatility can often precede significant price movements. By monitoring GARCH volatility spikes, traders can prepare for potential market reversals or accelerations.
Optimization of entry and exit points:
By using GARCH volatility, traders can better identify favorable times to enter or exit a position. For example, entering a position when volatility begins to decrease after a peak can be an effective strategy.
Adjustment of stops and objectives:
Since volatility is an indicator of the magnitude of price fluctuations, traders can adjust their stop-loss and take-profit orders accordingly. Periods of high volatility may require wider stops to avoid being exited from a position prematurely.
That's it for the detailed explanation of this Pine Script™ script. Don’t hesitate to use it, adapt it to your needs and share your feedback! Happy analysis and trading everyone!
DOUBLE RSI+MA ALERTS SETUPThis is an indicator that provides two verses of relative force indices (RSI) - an RSI Rapid and an RSI Normal, but as moving media (MA) applied with an RSI Rapid for suavização.
Rapid RSI and Normal RSI:
Or RSI is a momentum indicator that mediates the speed and alteração of preço movements of an ativo. No script, we calculate the RSI variations:
O RSI Rápido, com um período configurável que por padrão é but curto (5 períodos), para reactor but quickly to these mudanças no preço.
Or RSI Normal, with a configured period, but with a maximum value (14 periods), proportionate to an analysis but correct.
Media Móvel do RSI Rápido:
We have a simple mobile media (SMA) application with RSI Rapido, using the same number of times as RSI to monitor variations and facilitate viewing of the direction of the trend.
Levels of Overbought and Oversold:
These are the levels of overbought (sobrevendido) and oversold (sobrecomprado). Therefore, the overbought level is set at 80 and the overbought level is 20, depending on the classic RSI settings.
Alert Conditions:
Criamos alert conditions to inform you when the RSI of each type is ultrapassed or they are not defined as overbought and oversold. Assim, we can be notified of potential entry points or conditions based on these extreme market conditions. These messages are personalized to ensure that you quickly identify when the RSI has disappeared or alerted you if it is an overbought or oversold condition.
Visualization Graphic:
The indicator plots as RSI Rapid and RSI Normal lines not graphically for visual analysis, but with horizontal lines indicating the level of overbought and oversold. A cor dessas linehas éjustável para clareza.
Informative Table:
The tab is added to the lower side of the graphic fornecendo values at the real time of the RSI Fast as the RSI Normal, making it easier to visualize quickly and to compare unless it is necessary to print directly for the graphic.
This script has a powerful ferrament for operators that provides integrated analysis of RSI into its strategies, offering flexibility to monitor the dynamics of the preço and different tempo scales. Personal alerts are particularly important to be aware of marketing conditions without the need for constant monitoring. Algum additional functionality that you find useful or extra personalization that you want?
ARIMA Moving Average and Forecaster [SS]Finally releasing this. This took months, over 3 months to be precise, to figure out, code and troubleshoot! I honestly was going to give up on this project, but I finally got it to actually work fairly reliably. So hopefully you like it!
This is a very basic ARIMA modeler. It can do the following:
1. Provide you with an ARIMA based Moving Average;
2. Provide you with a standard error band;
3. Auto-select a lag length for assessment based on stationarity;
3. Provide you with the option of extending the error range by a user selected amount of standard deviations; and
4. Forecasting and plotting the forecast on the chart.
I will go over each function individually, but before I do, I think its important to talk a bit about what an ARIMA Model is and does:
ARIMA stands for AutoRegressive Integrated Moving Average and is an approach to modeling and time series forecasting. In simple terms, it combines autoregressive (AR) and moving average (MA) components to capture the underlying patterns in a time series data. The "AutoRegressive" part accounts for the relationship between an observation and its previous values, while the "Moving Average" part considers the relationship between an observation and a residual error from past observations. The "Integrated" component involves differencing the time series to make it stationary, which aids in stabilizing the model. ARIMA models help predict future values based on patterns observed in historical data, making them useful for forecasting in various fields such as economics, finance, and weather prediction.
The benefits to ARIMA is it will forecast based on the current trend, but it also provides for both the up and down scenario of the trend (i.e., if we are in a downtrend, what it would look like and what values we could expect if the trend reverses and vice versa). All of this is within the scope of this indicator, believe it or not!
If you would like more information on ARIMA, you can check out my educational post about it here:
Alrighty, now for the indicator functions.
ARIMA Moving Average and Standard Error Band
The ARIMA moving average is very simple, it takes the SMA of the current trend, lags it and plots out the lagged SMA. You can toggle the auto-select lag on, or you can pick your own lag manually. The above image is an auto-selected lag, but if we manually lag it by 5, this is what it looks like:
Its simply a lagged average of the 5 SMA (that is essentially how ARIMA works, by creating a moving average and lagging the moving average).
There are some implications to selecting a lag factor when it comes to forecasting, but I will cover this in the forecasting section. But I do want to make mention, you can use the ARIMA moving average in lieu of other moving averages. The advantage to doing this is it will be able to plot out the error bands. For example, if we wanted to get an ARIMA MA of the 200 SMA, we can toggle on the error bands and this is what we get:
Or the 50 MA:
NOTE: You ABSOLUTELY SHOULD NEVER use more than a lag of 4 or 5 for Forecasting (will be discussed later).
Auto-Select Lag
The indicator pulls the ARIMA modeler framework from my Forecasting library and pulls the stationarity assessment from my SPTS library. When you are doing an ARIMA model for forecasting, we need to ensure the data is stationary. Thus, if you want to forecast out the current trend, its highly recommended you select the "Auto Determine Lag Length" to find the most appropriate lag and forecast accordingly.
You can, however, chose your own lag order (model order), but this should never be above 4 or 5.
You should never select a lag of more than 5 because you are introducing too much "trendiness" into the equation, and you will get astronomical readings. ARIMA models never generally exceed a lag of 3 or 4 at most, as they are supposed be stationary and de-trended.
Extending by Standard Deviation
There is an option to select a standard deviation extension band. This is helpful for active day trading. Here is NIO extended by 2 standard deviations:
General suggestion is to only extend by 2 standard deviations and this is sufficient for most stocks.
Forecasting
The hallmark of an ARIMA model is the ability to use it for forecasting. Thus, the forecasting feature is a large portion of this indicator. You can see it displayed in the main chart above, but let's show some other examples:
NIO on the 1 hour:
TSLA on the 4 hour:
You can also display a forecasting table:
The result row shows the most likely, conservative, price at each time increment.
The Upper Confidence and Lower Confidence show what the trend would look like if it continued up or down at the current rate and the 95% confidence intervals show the values that the true source is likely to fall between at various increments in time with a 95% confidence (i.e. 95% probability that it should fall between these levels at period xyz assuming normal distribution).
The important levels, in my opinion, are the upper and lower confidence levels. These show you the current rate of decline or increase that the stock is expecting and what the trend would look like with a continuation or a reversal. This is ARIMA's biggest strength, as it has the ability to plot both outcomes assuming the current trend rate and time remains constant.
And that is the indicator! ARIMA is a bit of a complex process, but its a very powerful tool when used properly!
Troubleshooting:
One thing of note. Sometimes when autoselecting a length for forecasting, if there has been a heavy trend in one direction, you will not get the upper or lower confidence levels because of the lack of any up or down movement. In this case, manually select a lag of 3 to 5 to correct for this.
Let me know if you have any questions below and safe trades everyone!
Mandelbrot SetThe Mandelbrot set represents a set of complex numbers with distinctive and very well known intricate geometric properties. Here I have attempted to implement it in Pinescript leveraging tables.
The defining formula for the set is:
Zn+1 = Zn2 + C
If, after a certain number of iterations, the magnitude of the complex number remains bounded (does not diverge to infinity), the point is considered part of the Mandelbrot set.
The Mandelbrot set exhibits intricate and infinitely detailed fractal patterns, characterized by self-similarity at different scales. Due to limitations in Pinescript and the number of possible table cells (Pinescript is not designed for this at all and this is merely a showcase of how flexible & great Pinescript can be it is) the resolution over this set is low.
Users can zoom in and out of the set via the provided inputs.
The values in each cell represent the number of iterations required for the corresponding point in the Mandelbrot set to escape a certain threshold.
Linear Regression Forecast Tool [Daveatt]Hello traders,
Navigating through the financial markets requires a blend of analysis, insight, and a touch of foresight.
My Linear Regression Forecast Tool is here to add that touch of foresight to your analysis toolkit on TradingView!
Linear Regression is the heart of this tool, a statistical method that explores the relationship between a dependent variable and one (or more) independent variable(s).
In simpler terms, it finds a straight line that best fits a set of data points.
This "line of best fit" then becomes a visual representation of the relationship in the data, providing a basis for making predictions.
Here's what the Linear Regression Forecast Tool brings to your trading table:
Multiple Indicator Choices: Select from various market indicators like Simple Moving Averages, Bollinger Bands, or the Volume Weighted Average Price as the basis for your linear regression analysis.
Customizable Forecast Periods: Define how many periods ahead you want to forecast, adjusting to your analysis needs, whether that's looking 5, 7, or 10 periods into the future.
On-Chart Forecast Points: The tool plots the forecasted points on your chart, providing a straightforward visual representation of potential future values based on past data.
In this script:
1. We first calculate the indicator using the specified period.
2. We then use the ta.linreg function to calculate a linear regression curve fitted to the indicator over the last Period bars.
3. We calculate the slope of the linear regression curve using the last two points on the curve.
We use this slope to extrapolate the linear regression curve to forecast the next X points of the indicator.
4/ Finally, we use the plot function to plot the original indicator and the forecasted points on the chart, using the offset parameter to shift the forecasted points to the right (into the future).
This method assumes that the trend represented by the linear regression curve will continue, which may not always be the case, especially in volatile or changing market conditions.
Examples:
Works with a moving average
Works with a Bollinger band
The code can be adapted to work with any other indicator (imagine RSI, MACD, other Moving Average Type, PSAR, Supertrend, etc...)
Conclusion
The Linear Regression Forecast Tool doesn't promise to tell the future but provides a structured way to visualize possible future price trends based on historical data. I
Remember, no tool can predict market conditions with certainty.
It's always advisable to corroborate findings with other analysis methods and stay updated with market news and events.
Happy trading!
Price Depth Analysis to the MAHello Traders! Today, I bring you an indicator that can greatly assist you in your trading. This indicator aims to analyze the Expansion and Contraction process of the price in relation to a moving average. We refer to "Expansion" when the price moves away from the moving average; a significant expansion could signal that the asset is in a strong trend. On the other hand, when we refer to "Contraction", it's when the price approaches or returns to the moving average. A contraction could signal that the asset is losing momentum and might be preparing for a trend change or consolidation.
To use the indicator, the first thing you need to do is define the type of analysis you want to perform (from the indicator settings) whether you want to evaluate prices above the moving average or below. You should also select the type of moving average and its period.
The indicator will search for the maximum distance in all the chart bars, which will be represented with a yellow label.
From that value, the indicator will generate a certain number of proportional levels (configurable up to 20) and will count all the bars that reached each level. This will be represented in a table showing both the number of bars that reached each range and the percentage in relation to the total bars of all ranges.
Additionally, there's the possibility to view the ranges directly for the current price, providing a good reference.
>> Alerts:
The indicator comes with alerts that notify traders about specific price movements in relation to a moving average (MA). These alerts are triggered when the price enters different ranges, either above or below the MA.
>> Settings:
- Type of Analysis: Users can choose to analyze the price either above or below the MA.
- Length of the moving average: Length of the MA.
- Source of the moving average: Source to calculate the MA (e.g., close, open).
- Type of moving average: Type of MA (SMA, EMA, WMA, VWMA, HMA).
- Show Moving Average: Option to display or hide the MA on the chart.
- Number of levels: Number of levels or ranges to categorize the distance between the price and the MA.
- Number of decimals: Number of decimals to display in labels and tables.
- Show Ranges: Option to display or hide the ranges on the chart.
- Extend Range: Extension of the ranges into future bars.
- Range Fill Transparency: Transparency of the range fill.
>> Potential Utility of the Indicator:
- Entry and Exit Optimization:
By understanding the percentages of each range, traders can identify optimal levels to enter or exit a trade, maximizing profits and minimizing losses.
- Risk Management:
Range percentages can help determine market volatility. A range with a high percentage indicates greater volatility, which can be useful for setting wider stop losses or adjusting position size.
- Overbought and Oversold Zone Identification:
If a price is at the upper or lower extreme of its percentage range, it may indicate overbought or oversold conditions, respectively. These zones can be opportunities for counter-trend trades.
- Momentum Assessment:
A rapid change in range percentages can indicate strong momentum in a particular direction. Traders can use this information to ride the momentum wave or prepare for a potential reversal.
- False Signal Filtering:
By combining range percentage knowledge with other indicators, traders can filter out signals that might be less reliable, thus improving trade accuracy.
- Strategic Planning:
Knowing range percentages allows traders to adapt their strategies according to market conditions. For instance, in a market with narrow ranges and low percentages, they might opt for range strategies. In markets with wide ranges and high percentages, they might look for trend strategies.
- Trend Strength Evaluation:
If range percentages show that the price consistently stays at one end of the range, this may signal a strong and sustained trend.
- Improved Trading Discipline:
By basing trading decisions on quantitative data like range percentages, traders can trade more objectively and disciplined, avoiding impulsive or emotion-based decisions.
>> Future Indicator Update:
- In future versions, we plan to incorporate a detailed analysis based on the historical behavior of candles after the price enters a specific range. For instance, if after an upward movement the price enters a certain range and historically, the next candle tends to be bearish in a high percentage of occasions, this information will be highlighted and presented clearly to the user. The idea behind this addition is to provide traders with a statistical edge, allowing them to anticipate potential market movements with greater accuracy. Moreover, this information could be used to seek trading opportunities in smaller timeframes, aligning the trade direction based on the probability of this mentioned candle.
>> Conclusions:
- In summary, a detailed understanding of each range's percentages in an indicator provides traders with a valuable tool to analyze the market, make informed decisions, and enhance their trading. By grasping the significance of these percentages, traders can adapt their strategies and techniques to fully leverage the opportunities the market presents.
GDCA ScreenerThis is upgrated system for Screener to DCA from "Grospector DCA V.3".
This has 5 zone Extreme high , high , normal , low , Extreme low. You can dynamic set min - max percent every zone.
Extreme zone is derivative short and long which It change Extreme zone to Normal zone all position will be closed.
Every Zone is splitted 10 channel. and this strategy calculate contribution.
and now can predict price in future.
Price Type: Allows the user to select the price type (open, high, low, close) for calculations.
ALL SET
Length MA for normal zone: The length of the moving average used in the normal zone.
Length for strong zone: The length of the moving average used in the strong zone, which is averaged from the normal zone moving average.
Multiple for Short: The multiplication factor applied to determine the threshold for the short zone.
Multiple for Strong Sell: The multiplication factor applied to determine the threshold for the strong sell zone.
Multiple for Sell Zone: The multiplication factor applied to determine the threshold for the sell zone.
Multiple for Buy Zone: The multiplication factor applied to determine the threshold for the buy zone.
Multiple for Strong Buy: The multiplication factor applied to determine the threshold for the strong buy zone.
Multiple for Long: The multiplication factor applied to determine the threshold for the long zone.
ZONE
Start Short Zone %: The start percentage of the short zone.
End Short Zone %: The end percentage of the short zone.
Start Sell Zone %: The start percentage of the sell zone.
End Sell Zone %: The end percentage of the sell zone.
Start Normal Zone %: The start percentage of the normal zone.
End Normal Zone %: The end percentage of the normal zone.
Start Buy Zone %: The start percentage of the buy zone.
End Buy Zone %: The end percentage of the buy zone.
Start Long Zone %: The start percentage of the long zone.
End Long Zone %: The end percentage of the long zone.
DISPLAY
Show Price: Controls the visibility of the price column in the display table.
Show Mode: Controls the visibility of the mode column in the display table.
Show GDCA: Controls the visibility of the GDCA column in the display table.
Show %: Controls the visibility of the percentage column in the display table.
Show Short: Controls the visibility of the short column in the display table.
Show Strong Sell: Controls the visibility of the strong sell column in the display table.
Show Sell: Controls the visibility of the sell column in the display table.
Show Buy: Controls the visibility of the buy column in the display table.
Show Strong Buy: Controls the visibility of the strong buy column in the display table.
Show Long: Controls the visibility of the long column in the display table.
Show Suggestion Trend: Controls the visibility of the suggestion trend column in the display table.
Show Manual Custom Code: Controls the visibility of the manual custom code column in the display table.
Show Dynamic Trend: Controls the visibility of the dynamic trend column in the display table.
Symbols: Boolean parameters that control the visibility of individual symbols in the display table.
Mode: Integer parameters that determine the mode for each symbol, specifying different settings or trends.
My mindset has been customed = AAPL , MSFT
To effectively make the DCA plan, I recommend adopting a comprehensive strategy that takes into consideration your mindset as the best indicator of the optimal approach. By leveraging your mindset, the task can be made more manageable and adaptable to any market
Dollar-cost averaging (DCA) is a suitable investment strategy for sound money and growth assets which It is Bitcoin, as it allows for consistent and disciplined investment over time, minimizing the impact of market volatility and potential risks associated with market timing
Ultimate Customizable EMA/SMAI know, not another EMA indicator, but I promise, I will make it worth your while!
About this indicator:
This is an EMA indicator, plain and simple. But its ultimate! And its ultimate in the sense that I have made it vastly customizable.
I made this indicator as a boring, single line indicator that would allow me to toggle to whichever EMA / SMA I wanted on whatever timeframe I wanted, because with the currently available EMAs and SMAs (and there are tons of them), I could never seem to get one with the precise settings I wanted.
Then I realized, if I struggled with this, chances are other people may be struggling with this. And also chances are not everyone is great with coding things quickly and it may be out of reach for those to code something specific to their individual needs and desires.
So this indicator is meant for those who, like me, may have very specific tastes for their EMA indicator and want to be able to tailor it right down to a T of what they want, but maybe don't have the skills to code things specifically the way they would like it.
So what can I do with it?
Well, you can do really whatever you want. I have made absolutely everything possible customizable, right down to the size of the plotted line (you can adjust the width of the line to make it more or less visible). But let me give you a list of the functions permitted for this indicator:
1. Toggle between an EMA or SMA: The indicator will default to show the EMA. However, you can toggle between an EMA or SMA, depending on your preference.
2. Add 2 EMA's or SMAs: The indicator permits up to 2 EMA's to be added. Both of which can be either EMA or SMA and operate independently (you can have one as EMA and the other as SMA, both as SMA or whatever combination thereof).
3. Specify your timeframes: Each EMA/SMA can have an individual timeframe. If you want to plot 2, 200 EMA's on your chart, 1 on the 5 minute chart and the other on the 1 Day chart, you can do it! The indicator will permit you to individually select which timeframe you want for both of the available EMAs/SMAs. They can both be on separate timeframes.
4. Specify your sources: In addition to both being able to be on separate timeframes, both can also be on separate sources. You can have the 200 EMA of the close price as well as the 200 EMA of the high or low price. The indicator will permit you to specify your preferred sources.
5. Plot Standard Deviation bands: You can plot the standard deviation bands of the primary EMA/SMA (this is only available on the primary EMA/SMA and not both). You can also specify the length of the standard deviation bands that can operate independently of the primary EMA/SMA. So if you have the 50 EMA but want the 200 standard deviation bands, you can do so and specify this in the data inputs.
6. Customize your alerts: The indicator provides 6 pre-programmed condition alerts that are applied to both the primary, secondary and both EMAs. This way, you can customize various alerts based on various conditions you want to look for.
7. Plot crossover / crossunder arrows: The indicator will allow you to request it to plot triangles to signal crossovers and crossunders. This can be toggled on and off based on your visual preference.
8. Provides demographic information: The EMA will provide basic demographic information about the stock's behaviour around the EMA/SMA. This is displayed in a table at the top right of the chart. It will tell you the number of touches a stock has with its various EMA/SMAs, how many closes it has had above or below the EMA/SMA (for example, a bullish ticker should have more closes above an EMA than below it and inverse for bearish), how many times the close price has crossed over or crossed under the two EMA/SMAs and how many time the EMA/SMAs have crossed over and crossed under each other. This all gives an idea of the relative strength and sentiment of a stock in a quantitative way. The length of the lookback period is customizable individually for each EMA/SMA. If you want to look back 100, 200, 500 or just 75 candles, you can specify. You can also toggle on and off each or both tables as you desire.
Final thoughts:
The indicator was meant to tailor to my general need to toggle between very specific EMAs and SMAs to gauge averages. I generally will look at various EMAs and SMAs to calculate various things and I never specifically rely on a single EMA and SMA. Its annoying having to switch between multiple indicators and I always ended up opening pinescript and coding in what exactly I wanted to look at. This was meant to stop me from having to constantly code something specifically each time I wanted very specific information and I felt like I should share it with the community, as if I find it helpful and useful, I hope others will, too!
Hopefully you find it helpful and useful and as always leave your suggestions below!
Limit Order + ATR Stop-Loss [TANHEF]This indicator enables interactive placement of limit or stop-limit orders with a trailing ATR stop-loss and optional profit target (with alerts). Refer to the images below for further clarification.
Why use a trailing stop-loss?
A trailing stop-loss serves as an exit strategy when price moves against you, while also allowing you to adjust the exit point further into profit when price moves favorably. The ATR (Average True Range), a reliable measure of volatility, acts as an effective risk management tool, functioning as a trailing stop-loss.
Indicator Explanation
Initial indicator placement: Select Long Limit or Long-Stop Limit order.
Change Entry Type: Switch between Long and Short within settings.
Modify entry price: Drag circle, adjust in settings, or re-add indicator to chart.
Optional Profit Target: Use Risk/Reward ratio or specify price.
Entry anticipation: Estimated ATR stop-loss and profit target as blue circles (fluctuates with volatility changes).
Entry triggered: Actual ATR stop-loss and profit target plotted.
Exit conditions: Stop-loss or profit target hit, exit entry.
Update Frequency: Continuously, Bar Open, or Bar Open on entry then continuously.
ATR Overlap: no entry occurs if the ATR overlaps with price (stop-loss 'hit' already on entry bar)
Table: Displays input settings selected.
Show Only On Ticker: Ability to hide indicator on other tickers.
Long Limit
Long Stop-Limit
Short Limit
Short Stop-Limit
Alerts
1. 'Check' alerts to use within indicator settings (entry, trailing stop hit, profit target hit, and failed entry).
2. Select 'Create Alert'
3. Set the condition to 'Limit Order + ATR Stop-Loss''
4. Select create.
Additional details can be added to the alert message using these words in between Curly (Brace) Brackets:
{{trail}} = ATR trailing stop-loss (price)
{{target}} = Price target (price)
{{type}} = Long or Short stop-loss (word)
{{traildistance}} = Trailing Distance (%)
{{targetdistance}} = Target Distance (%)
{{starttime}} = Start time of position (day:hr:min)
{{maxdrawdown}} = max loss
{{maxprofit}} = max profit
{{update}} = stoploss update frequency
{{entrysource}} = entry as 1st bar source (yes/no)
{{triggerentry}} = Wick/Close Trigger entry input
{{triggerexit}} = Wick/Close Trigger exit input
{{triggertarget}} = Wick/Close Trigger target input
{{atrlength}} = ATR length input
{{atrmultiplier}} = ATR multiplier input
{{atrtype}} = ATR type input
{{ticker}} = Ticker of chart (word)
{{exchange}} = Exchange of chart (word)
{{description}} = Description of ticker (words)
{{close}} = Bar close (price)
{{open}} = Bar open (price)
{{high}} = Bar high (price)
{{low}} = Bar low (price)
{{hl2}} = Bar HL2 (price)
{{volume}} = Bar volume (value)
{{time}} = Current time (day:hr:min)
{{interval}} = Chart timeframe
{{newline}} = New line for text
RiverFlow ADX ScreenerRiverFlow ADX Screener, Scans ADX and Donchian Trend values across various Timeframes. This screener provides support to the Riverflow indicator. Riverflow concept is based on Two indicators. Donchian Channel and ADX or DMI.
How to implement?
1.Donchian Channel with period 20
2. ADX / DMI 14,14 threshold 20
Entry / Exit:
1. Buy/Sell Signal from ADX Crossovers.
2. Trend Confirmation Donchian Channel.
3. Major Trend EMA 200
Buy/Sell:
After a buy/sell is generated by ADX Crossover, Check for Donchian Trend. it has to be in same direction as trend. for FTT trades take 2x limit. for Forex and Stocks take 1:1.5, SL must be placed below recent swing. One can use Riverflow indicator for better results.
ADX Indicator is plotted with
Plus: Green line
Minus: Red Line
ADX strength: plotted as Background area.
TREND: Trend is represented by Green and Red Area around Threshold line
Table:
red indicates down trend
green indicates up trend
grey indicates sideways
Weak ADX levels are treated sideways and a channel is plotted on ADX and PLUS and MINUS lines . NO TRADES are to be TAKEN on within the SIDEWAYS region.
Settings are not required as it purely works on Default settings. However Donchian Length can be changed from settings.
Timeframes below 1Day are screened. Riverflow strategy works on timeframe 5M and above timeframe. so option is not provided for lower timeframes.
Best suits for INTRADAY and LONG TERM Trading
Gaps [Kioseff Trading]Hello!
This script "Gaps" is a continuation and improvement on a subset indicator included in the "Quartile Volume; Volume Aggregation; US Range Bars; Gaps)" script!
As advised by @thebearfib, the "Gaps" indicator is now standalone!
Features
Stat: Avg. Bars to Fill Up Gap
Stat: Avg. Bars to Fill Down Gap
Stat: Cumulative Up Gap % Increase
Stat: Cumulative Down Gap % Increase
Stat: Avg Up Gap % Increase
Stat: Avg Down Gap % Decrease
Nearest Unfilled Up Gaps and Down Gaps Displayed in Table
% Price Move Requirement, Including Dollar Amount, for Nearest Unfilled Gaps to Fill
Gaps Marked on Chart, Including Partially Filled Gaps and The % Amount a Partially Filled Gap Has Been Violated
Gaps Chart
The image above shows the data tables included in the indicator!
Settings
The image above shows various settings for the indicator!
The image above shows how partially filled gaps are marked using the default settings.
Exceeded price areas are shaded darker; however, by selecting the "No Partially Filled Gaps" option, the indicator will treat partially filled gaps differently.
The image above shows alternative behavior! Instead of the gap changing color it narrows in size.
The image above shows the indicator's behavior when selecting to show gap data in labels.
Therefore, when a gap is small and the box text is imperceptible, you can select to show the data in a label.
Additionally, you can select to display a "Gaps Chart".
The image above shows this feature enabled. The gaps chart shows the sequence of price gaps for the asset as candlesticks.
Thank you for checking this out; if you'd like other features included please let me know!
RSI Impact Heat Map [Trendoscope]Here is a simple tool to measure and display outcome of certain RSI event over heat map.
🎲 Process
🎯Event
Event can be either Crossover or Crossunder of RSI on certain value.
🎯Measuring Impact
Impact of the event after N number of bars is measured in terms of highest and lowest displacement from the last close price. Impact can be collected as either number of times of ATR or percentage of price. Impact for each trigger is recorded separately and stored in array of custom type.
🎯Plotting Heat Map
Heat map is displayed using pine tables. Users can select heat map size - which can vary from 10 to 90. Selecting optimal size is important in order to get right interpretation of data. Having higher number of cells can give more granular data. But, chart may not fit into the window. Having lower size means, stats are combined together to get less granular data which may not give right picture of the results. Default value for size is 50 - meaning data is displayed in 51X51 cells.
Range of the heat map is adjusted automatically based on min and max value of the displacement. In order to filter out or merge extreme values, range is calculated based on certain percentile of the values. This will avoid displaying lots of empty cells which can obscure the actual impact.
🎲 Settings
Settings allow users to define their event, impact duration and reference, and few display related properties. The description of these parameters are as below:
🎲 Use Cases
In this script, we have taken RSI as an example to measure impact. But, we can do this for any event. This can be price crossing over/under upper/lower bollinger bands, moving average crossovers or even complex entry or exit conditions. Overall, we can use this to plot and evaluate our trade criteria.
🎲 Interpretation
Q1 - If more coloured dots appear on the top right corner of the table, then the event is considered to trigger high volatility and high risk environment.
Q2 - If more coloured dots appear on the top left corner, then the events are considered to trigger bearish environment.
Q3 - If more coloured dots appear on the bottom left corner of the chart, then the events are considered insignificant as they neither generate higher displacement in positive or negative side. You can further alter outlier percentage to reduce the bracket and hence have higher distribution move towards
Q4 - If more coloured dots appear on the bottom right corner, then the events are considered to trigger bullish environment.
Will also look forward to implement this as library so that any conditions or events can be plugged into it.
Significance Condensed// Indicator Name: "Significance Condensed"
// This is a "Multi-Indicator", which includes:
// Custom Candlesticks with Bearish/Bullish Engulfing Body Fills, otherwise hollow.
// 3 EMA's with user inputs + 2 Static EMA's
// Continuous plots of high/low values with up to 3 overlapping timeframes.
// Table: Contains the TICKER.ID, Current Price, Percent On Day (note that it does not work for extended hours charts well), Current Timeframe RSI Value(Adjustable), Spread(Difference from the Current Price to High value, 2 Static EMA displays, Upside/Downside(Percentile from Current Price to High/Low Range, respectively, and Volume(Daily Volume + Current Bar Volume)
//CANDLESTICK DISCLAIMER
// If you would like to use the custom candlestick plots, (hollow, else engulfing), that come along with this indicator,
// be sure to disable the Candlestick Body, Wick, and Border under Chart Appearance; and then enable "Candlesticks Active" in the indicator settings.
//Final Product. Finito. Done.
Candlestick Pattern Criteria and Analysis Indicator█ OVERVIEW
Define, then locate the presence of a candle that fits a specific criteria. Run a basic calculation on what happens after such a candle occurs.
Here, I’m not giving you an edge, but I’m giving you a clear way to find one.
IMPORTANT NOTE: PLEASE READ:
THE INDICATOR WILL ALWAYS INITIALLY LOAD WITH A RUNTIME ERROR. WHEN INITIALLY LOADED THERE NO CRITERIA SELECTED.
If you do not select a criteria or run a search for a criteria that doesn’t exist, you will get a runtime error. If you want to force the chart to load anyway, enable the debug panel at the bottom of the settings menu.
Who this is for:
- People who want to engage in TradingView for tedious and challenging data analysis related to candlestick measurement and occurrence rate and signal bar relationships with subsequent bars. People who don’t know but want to figure out what a strong bullish bar or a strong bearish bar is.
Who this is not for:
- People who want to be told by an indicator what is good or bad or buy or sell. Also, not for people that don’t have any clear idea on what they think is a strong bullish bar or a strong bearish bar and aren’t willing to put in the work.
Recommendation: Use on the candle resolution that accurately reflects your typical holding period. If you typically hold a trade for 3 weeks, use 3W candles. If you hold a trade for 3 minutes, use 3m candles.
Tldr; Read the tool tips and everything above this line. Let me know any issues that arise or questions you have.
█ CONCEPTS
Many trading styles indicate that a certain candle construct implies a bearish or bullish future for price. That said, it is also common to add to that idea that the context matters. Of course, this is how you end up with all manner of candlestick patterns accounting for thousands of pages of literature. No matter the context though, we can distill a discretionary trader's decision to take a trade based on one very basic premise: “A trader decides to take a trade on the basis of the rightmost candle's construction and what he/she believes that candle construct implies about the future price.” This indicator vets that trader’s theory in the most basic way possible. It finds the instances of any candle construction and takes a look at what happens on the next bar. This current bar is our “Signal Bar.”
█ GUIDE
I said that we vet the theory in the most basic way possible. But, in truth, this indicator is very complex as a result of there being thousands of ways to define a ‘strong’ candle. And you get to define things on a very granular level with this indicator.
Features:
1. Candle Highlighting
When the user’s criteria is met, the candle is highlighted on the chart.
The following candle is highlighted based on whether it breaks out, breaks down, or is an inside bar.
2. User-Defined Criteria
Criteria that you define include:
Candle Type: Bull bars, Bear bars, or both
Candle Attributes
Average Size based on Standard Deviation or Average of all potential bars in price history
Search within a specific price range
Search within a specific time range
Clarify time range using defined sessions and with or without weekends
3. Strike Lines on Candle
Often you want to know how price reacts when it gets back to a certain candle. Also it might be true that candle types cluster in a price region. This can be identified visually by adding lines that extend right on candles that fit the criteria.
4. User-Defined Context
Labeled “Alternative Criteria,” this facet of the script allows the user to take the context provided from another indicator and import it into the indicator to use as a overriding criteria. To account for the fact that the external indicator must be imported as a float value, true (criteria of external indicator is met) must be imported as 1 and false (criteria of external indicator is not met) as 0. Basically a binary Boolean. This can be used to create context, such as in the case of a traditional fractal, or can be used to pair with other signals.
If you know how to code in Pinescript, you can save a copy and simply add your own code to the section indicated in the code and set your bull and bear variables accordingly and the code should compile just fine with no further editing needed.
Included with the script to maximize out-of-the-box functionality, there is preloaded as alternative criteria a code snippet. The criteria is met on the bull side when the current candle close breaks out above the prior candle high. The bear criteria is met when the close breaks below the prior candle. When Alternate Criteria is run by itself, this is the only criteria set and bars are highlighted when it is true. You can qualify these candles by adding additional attributes that you think would fit well.
Using Alternative Criteria, you are essentially setting a filter for the rest of the criteria.
5. Extensive Read Out in the Data Window (right side bar pop out window).
As you can see in the thumbnail, there is pasted a copy of the Data Window Dialogue. I am doubtful I can get the thumbnail to load up perfectly aligned. Its hard to get all these data points in here. It may be better suited for a table at this point. Let me know what you think.
The primary, but not exclusive, purpose of what is in the Data Window is to talk about how often your criteria happens and what happens on the next bar. There are a lot of pieces to this.
Red = Values pertaining to the size of the current bar only
Blue = Values pertaining or related to the total number of signals
Green = Values pertaining to the signal bars themselves, including their measurements
Purple = Values pertaining to bullish bars that happen after the signal bar
Fuchsia = Values pertaining to bearish bars that happen after the signal bar
Lime = Last four rows which are your percentage occurrence vs total signals percentages
The best way I can explain how to understand parts you don’t understand otherwise in the data window is search the title of the row in the code using ‘ctrl+f’ and look at it and see if it makes more sense.
█ [b}Available Candle Attributes
Candle attributes can be used in any combination. They include:
[*}Bodies
[*}High/Low Range
[*}Upper Wick
[*}Lower Wick
[*}Average Size
[*}Alternative Criteria
Criteria will evaluate each attribute independently. If none is set for a particular attribute it is bypassed.
Criteria Quantity can be in Ticks, Points, or Percentage. For percentage keep in mind if using anything involving the candle range will not work well with percentage.
Criteria Operators are “Greater Than,” “Less Than,” and “Threshold.” Threshold means within a range of two numbers.
█ Problems with this methodology and opportunities for future development:
#1 This kind of work is hard.
If you know what you’re doing you might be able to find success changing out the inputs for loops and logging results in arrays or matrices, but to manually go through and test various criteria is a lot of work. However, it is rewarding. At the time of publication in early Oct 2022, you will quickly find that you get MUCH more follow through on bear bars than bull bars. That should be obvious because we’re in the middle of a bear market, but you can still work with the parameters and contextual inputs to determine what maximizes your probability. I’ve found configurations that yield 70% probability across the full series of bars. That’s an edge. That means that 70% of the time, when this criteria is met, the next bar puts you in profit.
#2 The script is VERY heavy.
Takes an eternity to load. But, give it a break, it’s doing a heck of a lot! There is 10 unique arrays in here and a loop that is a bit heavy but gives us the debug window.
#3 If you don’t have a clear idea its hard to know where to start.
There are a lot of levers to pull on in this script. Knowing which ones are useful and meaningful is very challenging. Combine that with long load times… its not great.
#4 Your brain is the only thing that can optimize your results because the criteria come from your mind.
Machine learning would be much more useful here, but for now, you are the machine. Learn.
#5 You can’t save your settings.
So, when you find a good combo, you’ll have to write it down elsewhere for future reference. It would be nice if we could save templates on custom indicators like we can on some of the built in drawing tools, but I’ve had no success in that. So, I recommend screenshotting your settings and saving them in Notion.so or some other solid record keeping database. Then you can go back and retrieve those settings.
#6 no way to export these results into conditions that can be copy/pasted into another script.
Copy/Paste of labels or tables would be the best feature ever at this point. Because you could take the criteria and put it in a label, copy it and drop it into another strategy script or something. But… men can dream.
█ Opportunities to PineCoders Learn:
1. In this script I’m importing libraries, showing some of my libraries functionality. Hopefully that gives you some ideas on how to use them too.
The price displacement library (which I love!)
Creative and conventional ways of using debug()
how to display arrays and matrices on charts
I didn’t call in the library that holds the backtesting function. But, also demonstrating, you can always pull the library up and just copy/paste the function out of there and into your script. That’s fine to do a lot of the time.
2. I am using REALLY complicated logic in this script (at least for me). I included extensive descriptions of this ? : logic in the text of the script. I also did my best to bracket () my logic groups to demonstrate how they fit together, both for you and my future self.
3. The breakout, built-in, “alternative criteria” is actually a small bit of genius built in there if you want to take the time to understand that block of code and think about some of the larger implications of the method deployed.
As always, a big thank you to TradingView and the Pinescript community, the Pinescript pros who have mentored me, and all of you who I am privileged to help in their Pinescripting journey.
"Those who stay will become champions" - Bo Schembechler
Inspirational WatermarkPreface: I wanted code that could display a different string of text whenever the bar changed. Viewing a long string of text on the chart can look messy & crowded, so the string of text is displayed as a tooltip when hoving over the user-customizable watermark text/emoji.
About the Indicator: This is a simple educational script where I hand-picked 60-ish quotes related to trading and included them as tooltips in a watermark indicator. The indicator includes a bank of preset quotes, and calls a random quote upon each bar change. Advantages of a watermark include claiming idea ownership as well as preventing simple copy-paste idea piracy/resale/repost. The trader can fully customize the on-screen watermark text. The trader has the option to display the watermark as either a table or a label. Tables are stationary but easy to crop out, while labels move around but are difficult to crop out. Choose the right watermark type depending on the level of idea ownership & protection you require.
Features: Fully customizable watermark type, text, size, color, and position.
‼ IMPORTANT: Hover over the watermark to read a famous trading quote that changes every candle. Consider moving this indicator to the front of the visual order.
⚠ DISCLAIMER: Not financial advice. Not a trading system. DYOR. I am not in any way affiliated with any of the quoted authors.
Dr. Mahdi Kazempour - Crypto Trade Dashboard and Indicator PanelA great panel for crypto traders all in one table:
Price, Volume, RSI, MACD, ADI, MOM
1) current symbol
2) BTCUSDT
3) NASDAQ
4) ETHUSDT
5) TOTAL2
Light or Dark Mode Tutorial - Luminance DetectionAs a colorblind trader, I think accessibility is a big deal. This script auto detects the chart background color and optimizes text color based on luminance.
Luminance detection is based on pine script new chart.bg_color feature, allowing lines, tables, etc to be optimized. Thanks to TV team for releasing this in the latest update/blog post today! This makes it simple to optimize scripts based off the knowledge that max luminance = 765 (rgb 255 + 255 + 255), thus we know that lum <= 383 is "dark mode" and lum > 383 is "light mode".
Try changing the chart background color and see how this script changes the table printed on the chart. I hope more script authors will begin to utilize this concept and that even better contrast detection may be built future pine script iterations.
Screener for 40+ instrumentsAs you probably know in TradingView there is a limit of 40 instruments in one custom screener.
I created a script that will allow you to scan more symbols.
The idea of it is pretty simple. You have to add a screener a few times on your screen with a different set of symbols. Then select column width (as % of your chart width) and # of the screener right to left.
Script will plot #1 screener next to the right border. For #2 and all next tables, the script will compute the needed offset and will draw it on the left. This way it will look like one table and not a few separate indicators.
I created a script with an RSI screener, but you can create more complicated examples with it.
Off course, that's not a silver bullet solution but might work for some of you.
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting.
This post and the script don’t provide any financial advice.
Tabular Portfolio by CJS V1This is a useful indicator that sits on top of the charts, in the right hand bottom corner and shows the current price, profit or loss in value and percent of upto 20 scrips fed in, in a Tabular form using tables feature.
Allows to mark a/c id also if you have multiple broker or individual accounts.
Colors are customisable.
Stocks get updated no matter what is your current selected scrip.
Gives total investment and total PnL also in percent.
Useful to monitor your portfolio status in once screen and while you are looking at charts.
Give feedback for improvement or issues, if any.
Credits to RedKTrader from where the idea was picked up.
Move visual order to front, if the charts and other indicators overlap the table view.
WatermarkLook in the lower-left corner of this chart. If you load the script on your chart, you will see how the watermark animates. You can personalize it in the script's "Settings/Inputs" tab to use it in your chart snapshots.
Do keep in mind that if you use it when publishing ideas, videos or scripts, House Rules prohibit advertising on your chart.
For Pine coders
This script uses our new table feature in Pine to position a watermark on the chart, and the new varip type of variable to animate it.
Look first. Then leap.
VOL & AVG OverlayCustom Session Volume Versus Average Volume
Description:
This indicator will create an overlay on your chart that will show you the following information:
Custom Session Volume
Average For Selected Session
Percentage Comparison
Options:
Set Custom Time Frame For Calculations
Set Custom Time Frame For Average Comparison
Set Custom Time Zone
Enable / Disable Each Value
Change Text Color
Change Background Color
Change Table location
Example:
Set indicator to 30 period average. Set custom time frame to 9:30am to 10:30am Eastern/New York.
When the time frame for the calculation is closed , the indicator will provide a comparison of the current days volume compared to the average of 30 previous days for that same time frame and display it as a percentage in the table.
In this example you could compare how the first hour of the trading day compares to the previous 30 day's average, aiding in evaluating the potential volume for the remainder of the day.
Notes:
Times must be entered in 24 hour format. (1pm = 13:00 etc.)
This indicator is for Intra-day time frames, not > Day.
If you prefer data in this format as opposed to a plotted line, check out my other indicator: ADR & ATR Overlay
ZenLab ATR FNSThis indicator was created specifically for Zen Labs which includes a custom ATR (Average True Range) table that displays the ATR value for a selected period of candles.
ATR is a volatility indicator that measures the average range between high and low prices over a given number of periods. It helps traders assess how much an asset typically moves, providing valuable information for setting stop losses, take profits, or identifying market conditions. It adapts to changing market conditions, making it useful across different timeframes and asset classes.
How the ATR Indicator Works:
The ATR is based on the concept of True Range (TR), which is the greatest of the following three values:
- Current High minus Current Low
- Absolute value of Current High minus Previous Close
- Absolute value of Current Low minus Previous Close
Averaging the True Range:
Once the True Range is calculated for each period, the ATR is computed by averaging these True Ranges over a set number of periods and is displayed in the table.
Interpreting the ATR:
- A higher ATR value indicates higher volatility—prices are moving more significantly.
- A lower ATR value indicates lower volatility—prices are more stable and less active.
Enjoy!
- Rebel Empire