Monthly Performance Table by Dr. MauryaWhat is this ?
This Strategy script is not aim to produce strategy results but It aim to produce monthly PnL performance Calendar table which is useful for TradingView community to generate a monthly performance table for Own strategy.
So make sure to read the disclaimer below.
Why it is required to publish?:
I am not satisfied with the monthly performance available on TV community script. Sometimes it is very lengthy in code and sometimes it showing the wrong PNL for current month.
So I have decided to develop new Monthly performance or return in value as well as in percentage with highly flexible to adjust row automatically.
Features :
Accuracy increased for current month PnL.
There are 14 columns and automatically adjusted rows according to available trade years/month.
First Column reflect the YEAR, from second column to 13 column reflect the month and 14 column reflect the yearly PnL.
In tabulated data reflects the monthly PnL (value and (%)) in month column and Yearly PnL (value and (%)) in Yearly column.
Various color input also added to change the table look like background color, text color, heading text color, border color.
In tabulated data, background color turn green for profit and red for loss.
Copy from line 54 to last line as it is in your strategy script.
Credit: This code is modified and top up of the open-source code originally written by QuantNomad. Thanks for their contribution towards to give base and lead to other developers. I have changed the way of determining past PnL to array form and keep separated current month and year PnL from array. Which avoid the false pnl in current month.
Strategy description:
As in first line I said This strategy is aim to provide monthly performance table not focused on the strategy. But it is necessary to explain strategy which I have used here. Strategy is simply based on ADX available on TV community script. Long entry is based on when the difference between DIPlus and ADX is reached on certain value (Set value in Long difference in Input Tab) while Short entry is based on when the difference between DIMinus and ADX is reached on certain value (Set value in Short difference in Input Tab).
Default Strategy Properties used on chart(Important)
This script backtest is done on 1 hour timeframe of NSE:Reliance Inds Future cahrt, using the following backtesting properties:
Balance (default): 500 000 (default base currency)
Order Size: 1 contract
Comission: 20 INR per Order
Slippage: 5 tick
Default setting in Input tab
Len (ADX length) : 14
Th (ADX Threshhold): 20
Long Difference (DIPlus - ADX) = 5
Short Difference (DIMinus - ADX) = 5
We use these properties to ensure a realistic preview of the backtesting system, do note that default properties can be different for various reasons described below:
Order Size: 1 contract by default, this is to allow the strategy to run properly on most instruments such as futures.
Comission: Comission can vary depending on the market and instrument, there is no default value that might return realistic results.
We strongly recommend all users to ensure they adjust the Properties within the script settings to be in line with their accounts & trading platforms of choice to ensure results from the strategies built are realistic.
Disclaimer:
This script not provide indicative of any future results.
This script don’t provide any financial advice.
This strategy is only for the readymade snippet code for monthly PnL performance calender table for any own strategy.
Komut dosyalarını "摩根标普500指数基金的收益如何" için ara
KNN Regression [SS]Another indicator release, I know.
But note, this isn't intended to be a stand-alone indicator, this is just a functional addition for those who program Machine Learning algorithms in Pinescript! There isn't enough content here to merit creating a library for (it's only 1 function), but it's a really useful function for those who like machine learning and Nearest Known Neighbour Algos (or KNN).
About the indicator:
This indicator creates a function to perform KNN-based regression.
In contrast to traditional linear regression, KNN-based regression has the following advantages over linear regression:
Advantages of KNN Regression vs. Linear Regression:
🎯 Non-linearity: KNN is a non-parametric method, meaning it makes no assumptions about the underlying data distribution. This allows it to capture non-linear relationships between features and the target variable.
🎯Simple Implementation: KNN is conceptually simple and easy to understand. It doesn't require the estimation of parameters, making it straightforward to implement.
🎯Robust to Outliers: KNN is less sensitive to outliers compared to linear regression. Outliers can have a significant impact on linear regression models, but KNN tends to be less affected.
Disadvantages of KNN Regression vs. Linear Regression:
🎯 Resource Intensive for Computation: Because KNN operates on identifying the nearest neighbors in a dataset, each new instance has to be searched for and identified within the dataset, vs. linear regression which can create a coefficient-based model and draw from the coefficient for each new data point.
🎯Curse of Dimensionality: KNN performance can degrade with an increasing number of features, leading to a "curse of dimensionality." This is because, in high-dimensional spaces, the concept of proximity becomes less meaningful.
🎯Sensitive to Noise: KNN can be sensitive to noisy data, as it relies on the local neighborhood for predictions. Noisy or irrelevant features may affect its performance.
Which is better?
I am very biased, coming from a statistics background. I will always love linear regression and will always prefer it over KNN. But depending on what you want to accomplish, KNN makes sense. If you are using highly skewed data or data that you cannot identify linearity in, KNN is probably preferable.
However, if you require precise estimations of ranges and outliers, such as creating co-integration models, I would advise sticking with linear regression. However, out of curiosity, I exported the function into a separate dummy indicator and pulled in data from QQQ to predict SPY close, and the results are actually very admirable:
And plotted with showing the standard error variance:
Pretty impressive, I must say I was a little shocked, it's really giving linear regression a run for its money. In school I was taught LinReg is the gold standard for modeling, nothing else compares. So as with most things in trading, this is challenging some biases of mine ;).
Functionality of the function
I have permitted 3 types of KNN regression. Traditional KNN regression, as I understand it, revolves around clustering. ( Clustering refers to identifying a cluster, normally 3, of identical cases and averaging out the Dependent variable in each of those cases) . Clustering is great, but when you are working with a finite dataset, identifying exact matches for 2 or 3 clusters can be challenging when you are only looking back at 500 candles or 1000 candles, etc.
So to accommodate this, I have added a functionality to clustering called "Tolerance". And it allows you to set a tolerance level for your Euclidean distance parameters. As a default, I have tested this with a default of 0.5 and it has worked great and no need to change even when working with large numbers such as NQ and ES1!.
However, I have added 2 additional regression types that can be done with KNN.
#1 One is a regression by the last IDENTICAL instance, which will find the most recent instance of a similar Independent variable and pull the Dependent variable from that instance. Or
#2 Average from all IDENTICAL instances.
Using the function
The code has the instructions for integrating the function into your own code, the parameters, and such, so I won't exhaust you with the boring details about that here.
But essentially, it exports 3, float variables, the Result, the Correlation, and the simplified R2.
As this is KNN regression, there are no coefficients, slopes, or intercepts and you do not need to test for linearity before applying it.
Also, the output can be a bit choppy, so I tend to like to throw in a bit of smoothing using the ta.sma function at a deault of 14.
For example, here is SPY from QQQ smoothed as a 14 SMA:
And it is unsmoothed:
It seems relatively similar but it does make a bit of an aesthetic difference. And if you are doing it over 14, there is no data loss and it is still quite reactive to changes in data.
And that's it! Hopefully you enjoy and find some interesting uses for this function in your own scripts :-).
Safe trades everyone!
RS for VPAThis is a supporting Indicator for the Volume Price Analysis Script VPA 5.0.
Purpose
To indicate the performance of the stock compared to an Index or any other selected stock. It also provides an idea about the strength of the Reference Index as well.
Description
The indicator is an unbound oscillator moving around a zero line. If the stock is strong then the values are positive and if it is weak the values are negative. If the stock is performing better (Stronger) than the Index the indicator is positive and colored green. If the stock is weaker than the Index it is negative and is colored Red.
The background indicates the strength of the Reference Index/Stock. Bullishness/up trend of the Index/Stock is indicated by yellow colour. Short term uptrend, Mid term uptrend and Long term trends are indicated by different shades of yellow varying from light to Dark. The bearishness / down trend is indicated by blue back ground.
How it Works
The relative strength is calculated by using the formula
RS = Gain of the stock / (Gain of the Ref. Index -1)
= (Stock Price today / Stock Price (N period ago)) /
(Index Price today / Index price (N period ago)) – 1
The Index strength is calculated as below
Short term trend up = 5 ema > 22 ema
Mid Term trend up = 22 ema > 60 ema
Long term trend up = 60 ema > 130 ema
Trend down = 5 ema < 22 ema
How to use
Use this indicator to assist your Price Action Analysis using VPA 5.0. When the Price action and volume indicates Bullishness, you can check if the relative strength is also supporting (Positive and in green Territory). This adds credibility to the Price action. Also check if the index is also positive (the Back ground is yellow). This makes the Price action even stronger. Ideally both the stock and index should be strong. Many time you would find the that the stock is in green territory but the index is in blue territory. This calls for some caution in evaluating the Price Action.
When the price action is positive but the relative strength is negative then one should be cautious and wait for the relative strength to turn positive before any entry decision.
Option for the Indicator
One can select the following from the setting for the indicator
1. Index or reference stock – Default is CNX 500
2. Relative Strength Calculation period – Default is 22
3. The EMA periods for the Index/Reference stock strength calculation
Volume Profile PlusThis indicator provides a high-resolution and high-precision implementation of Volume Profile with flexible range settings. Its key features include:
1. Support for a high resolution of up to 2,500 rows.
2. Capability to examine lower timeframe bars (default 5,000 intra-bars) for enhanced precision.
3. Three range modes — "Visible Range", "Anchored Range", and "All Range".
4. Highlighting of Point of Control and Value Area.
5. Extensive customization options allowing users to configure dimensions, on-chart placements, and color schemes.
🔵 Settings
The settings screen, along with the explanations for each setting, is provided below:
🔵 High Resolution using Polyline
Inspired by @fikira, this indicator utilizes the newly introduced `polyline` type in PineScript to plot the volume profile. It employs a single polyline instance to represent the entire histogram. With each polyline instance supporting up to 10,000 points and each histogram row requiring 4 points, this indicator can accommodate 2500 rows, resulting in a significantly higher resolution compared to conventional volume profile indicators that use `line`s or `box`es to draw the histogram.
🔵 High Precision Data-binning using Lower Timeframe Data
Conventional volume profile indicators often face one or both of the following limitations:
1. They only consider volume within the chart's current timeframe.
2. They assign each bar's total volume to a single price bucket based on the bar's average price, rather than distributing volume across multiple price buckets.
As a result, when the number of bars in the chart is low, those indicators may provide imprecise results, making it difficult to accurately identify significant volume nodes and the point of control.
To address these limitations and enhance accuracy, this indicator examines data from lower timeframes and distributes the volume to fine-grained price buckets. It intelligently selects an appropriate lower timeframe to ensure precise output while complying with a maximum specified number of bars to maintain good performance.
🔵 Three Range Modes
This indicator offers users the flexibility to choose from three range modes:
1. Visible Range (Default Mode): In this mode, the volume profile calculation begins at the time of the left-most bar displayed in the current viewport. As the user scrolls through the viewport, the volume profile updates automatically.
2. Anchored Range: This mode allows the user to set the start time either by using the datetime input boxes or by dragging the anchor line on the chart.
3. All Range: In this mode, the volume profile calculation is based on all the historical bars available in the chart.
Heat profileA trader once told me that top wicks equals sell interest and bottom wicks equals buy interest. If that's true then this indicator tries to organize and visualize this idea.
It uses transparent boxes to give the impression of a heat map. Due to limitations of my own skill and possibly pinescript it is not possible to render it in a useful manner using different colors that depicts buy and sell interests respectively. This means it works more like a volume profile in that it mixes the buy and sell interest together in the heat map. This can still be helpful because it help traders focus their attention on areas other than the current price candle.
In my limited time of using it, it seems like on the large timeframes the highlighted areas is where the price wants to go, and on small time frames the darkest areas is where the price wants to go. But i will leave it up to any user to spot and use their own patterns with the indicator.
Last but not least, the indicator only uses the last 50 candles, which can be too little on a small timeframe. Unfortunately the way i have done it this limitation is hardcoded in the script due to how pinescript works, by editing the code you can increase it. (Put max_boxes_count = x after overlay = true. Maximum number is 500)
Hope you enjoy. Have a nice day.
TASC 2023.12 Growth and Value Switching System█ OVERVIEW
This script implements a rotation system for trading value and growth ETFs, as developed by Markos Katsanos and detailed in the article titled 'Growth Or Value?' in TASC's December 2023 edition of Traders' Tips . The purpose of this script is to demonstrate how short-term momentum can be employed to track market trends and provide clarity on when to switch between value and growth.
█ CONCEPTS
The central concept of the presented rotation strategy is based on the observation that the stock market undergoes cycles favoring either growth or value stocks. Consequently, the script introduces a momentum trading system that is designed to switch between value and growth equities based on prevailing market conditions. Specifically tailored for long-term index investors, the system focuses on trading Vanguard's value and growth ETFs ( VTV and VUG ) on a weekly timeframe.
To identify the ETF likely to outperform, the script uses a custom relative strength indicator applied to both VTV and VUG in comparison with an index ( SPY ). To minimize risk and drawdowns during bear markets, when both value and growth experience downtrends, the script employs the author's custom volume flow indicator (VFI) and blocks trades when its reading indicates money outflow . Positions are closed if the relative strength of the current open trade ETF falls below that of the other ETF for two consecutive weeks and is also below its moving average. Additionally, the script implements a stop-loss when the ETF is trading below its 40-week moving average, but only during bear markets.
The script plots the relative strengths of the value and growth equities along with the signals triggered by the aforementioned rules. Information about the current readings of the relative strength and volume flow indicators, along with the current open position, is displayed in a table.
█ CALCULATIONS
The script uses the request.security() function to gather price data for both equities and the reference index. Custom relative strength and volume flow indicators are calculated based on the formulas presented in the original article. By default, the script employs the same parameters for these indicators as proposed in the original article for VTV and VUG on a weekly timeframe.
COSTAR [SS]This idea came to me after I wrote the post about Co-Integration and pair trading. I wondered if you could use pair trading principles as a way to determine overbought and oversold conditions in a more neutral way than RSI or Stochastics.
The results were promising and this indicator resulted :-)!
About:
COSTAR provides another, more neutral way to determine whether an equity is overbought or oversold.
Instead of relying on the traditional oscillator based ways, such as using RSI, Stochastics and MFI, which can be somewhat biased and narrow sided, COSTAR attempts to take a neutral, unbiased approached to determine overbought and oversold conditions. It does this through using a co-integrated partner, or "pair" that is closely linked to the underlying equity and succeeds on both having a high correlation and a high t-statistic on the ADF test. It then references this underlying, co-integrated partner as the "benchmark" for the co-integration relationship.
How this succeeds as being "unbiased" and "neutral" is because it is responsive to underlying drivers. If there is a market catalyst or just general bullish or bearish momentum in the market, the indicator will be referencing the integrated relationship between the two pairs and referencing that as a baseline. If there is a sustained rally on the integrated partner of the underlying ticker that is holding, but the other ticker is lagging, it will indicate that the other ticker is likely to be under-valued and thus "oversold" because it is underperforming its benchmark partner.
This is in contrast to traditional approaches to determining overbought and oversold conditions, which rely completely on a single ticker, with no external reference to other tickers and no control over whether the move could potentially be a fundamental move based on an industry or sector, or whether it is a fluke or a squeeze.
The control for this giving "false" signals comes from its extent of modelling and assessment of the degree of integration of the relationship. The parameters are set by default to assess over a 1 year period, both the correlation and the integration. Anything that passes this degree of integration is likely to have a solid, co-integrated state and not likely to be a "fluke". Thus, the reliability of the assessment is augmented by the degree of statistical significance found within the relationship. The indicator is not going to prompt you to rely on a relationship that is statistically weak, and will warn you of such.
The indicator will show you all the information you require regarding the relationship and whether it is reliable or not, so you do not need to worry!
How to Use
The first step to use COSTAR is identifying which ticker has a strong relationship with the current ticker. In the main chart, you will see that SPY is overlaid with VIX. There is a strong, negative correlation between the VIX and SPY. When VIX is entered as the paired ticker, the indicator returns the data as stationary, indicating a compatible match.
Now you have 3 ways of viewing this relationship, 2 of which are going to be directly applicable to trading.
You can view them as
Price to Price Ratio (Not very useful for trading, but if you are curious)
Z-Score: Helpful for trading
Co-integration: Helpful for trading
Here is an example of all three:
Example of Z-Score Chart:
Example of Price Ratio:
Example of Co-Integration Pair:
Using for Trading
As stated above, the two best ways to use this for trading is to either use the Z-Score Chart or the Co-Integrated Pair chart.
The Z-Score chart is based off of the price ratio data and provides an assessment of both the independent and dependent data.
The co-integration shows the dependent (the ticker you are trading) in yellow and the independent (the ticker you are referencing) in teal. When teal is above yellow, you will see it is green. This means, based on your benchmark pair, there is still more up room and the ticker you are trading is actually lagging behind.
When the yellow crosses up, it will turn red. This means that your ticker is out-performing the benchmark pair and you likely will see pullback and a "regression to the mean" through re-integration.
The indicator is capable of plotting out entries and exits, which are guided by the z-score:
How Effective is it?
I created a basic strategy in Pinescript, and the back-test results vary. Trading ES1! using NQ1! as the co-integrated pair, results were around 78% effective.
With VIX, results were around 50% effective, but with a net profit.
Generally, the efficacy surpassed that of both stochastics and RSI.
I will be releasing the strategy version of this in the coming days, still just cleaning up that code and making it more "public use" friendly.
Other Applications
If you are a pair trader, you can technically use this for pair trading as well. That's essentially all this is doing :-).
Tips
If you are trading a ticker such as MSFT, AMD, KO etc., it's best to try to find an ETF or index that has that particular ticker as a large holding and use that as your benchmark. You will see on the indicator whether there is a high correlation and whether the data is indeed stationary.
If the indicator returns "Non-stationary", you can attempt to extend your regression range from 252 to 500. If this fixes the issue, ensure that the correlation is still >= 0.5 or <= -0.5. If this does not work still, you will need to find another pair, as its likely the result of incompatibility and an insignificant relationship.
To help you identify tickers with strong relationships, consider using a correlation heatmap indicator. I have one available and I think there are a couple of other similar ish ones out there. You want to make sure the relationship is stable over time (a correlation of >= 0.50 or <= -0.5 over the past 252 to 500 days).
IMPORTANT: The long and short exits delete the signal after one is signaled. Therefore, when you look back in the chart you will notice there are no signals to exit long or short. That is because they signal as they happen. This is to keep the chart clean.
'Tis all my friends!
Hope you enjoy and let me know your questions and suggestions below!
Side note:
COSTAR stands for Co-integration Statistical Analysis and Regression. ;)
The Ultimate Buy and Sell IndicatorThis indicator should be used in conjunction with a solid risk management strategy that does not over-leverage positions and uses stop-losses. You can not rely 100% on the signals provided by this indicator (or any other for that matter).
With that said, this indicator can provide some excellent signals.
It has been designed with a large number of customization options intended for advanced traders, but you do not HAVE to be an advanced user to simply use the indicator. I have tried to make it easy to understand, and this section will provide you with a better understanding of how to use it.
NOTE:
While NOT REQUIRED, I would recommend also finding my indicator called, "Ultimate RSI", which is designed to work together with this indicator (visually). They both contain the same settings and allow you to visualize changes made in this indicator that can not be displayed on the main chart.
This indicator creates it's own candles(bars), so you have to go into your main settings and turn off the "body, border and wick" color settings. Using a dark background is also recommended.
How does it work?
The indicator mainly relies on the RSI indicator with Bollinger Bands for signals. (Though not entirely)
First, there are something that I call "Watch Signals", which are various Bollinger Band crossing events. This could be the price crossing Bollinger Bands or the RSI crossing Bollinger Bands.
There are separate watch signals for buys and sells. Buy watch signals are colored orange to match the BUY signal candle color and Fuchsia (kind of a bright purple) to match SELL signal candles.
In order for most buy or sell signals to be created, there must first be a watch signal. There is a lookback period (or length) for watch signals to be used, and after that many candles (bars) have passed, they will be ignored. You can set a length to look back as well as a time to wait before creating any.
What this means is that if there has previously been (for instance) a sell signal. You can tell it to wait 10 bars before creating any buy watch signals. You can then also tell it that it should look back 10 bars from the current one in order to find any buy watch signals. This means that if you had it set up that way 10 to wait and 10 to validate, it would start allowing buy watch signals 11 bars after a sell, and then once you hit 20 bars, it will start leaving a gap (invisible to you) as the 10 bar lookback period starts moving forward with each new bar. This is useful in order to keep signals more spaced apart as some bad signals come quickly after another one.
Example: You may get a sell signal where the Bollinger bands are tight, then the price easily drops down into the lower band creating a buy watch signal, then you get a "fake" or short pump up and it says buy, but then drops dramatically afterwards. The wait period can ensure that the sell stays in effect longer before a buy is considered by blocking any buy watch signals for a period of time.
After you get a watch signal, the system then looks for various other things to happen to create buy or sell signals. This could be the RSI crossing the (slow) RSI Basis line (from its Bollinger bands), it could be the price crossing its basis line, it could be MACD crosses, it could even be RSI crossing certain levels. All of these are options. If you like the MACD strategy and want it to give you buy and sell signals from just MACD crosses, simply select that option for signals.
It is also able to use the first of any of the options that takes place.
I included an option to force alternating buy and sell signals, rather than showing groups of, or subsequent buy, buy, buy signals, for instance.
Moving on....
You can change the moving average that is used to calculate the RSI. The standard moving average for RSI is the RMA (aka SWMA). Changes to this can dramatically change your signals. You also have the option to change the moving average type used in the Bollinger bands calculation. You can change the length of these as well. The same goes for the Bollinger bands over the Price chart. I added an ATR option for the RSI Bollinger bands to play with, as well. You are able to adjust the standard deviation (multiplier) of the bands as well, which will of course affect the signals.
The ways you can play with signals are nearly infinite, so have fun figuring it out.
The indicator allows for moving averages to be shown as well, with a variety of types to choose from. The standard numbers are 5, 10, 20, 50, 100 and 200, with the addition of a custom moving average of your choice. You can also change the color of this one. You can choose to show them all or any of them you want to show, in any combination, although the TYPE of moving average (SMA, EMA, WMA, etc.) will apply to all of them.
You may also notice the Bollinger Bands over the Price are colored, and become more or less transparent.
The color is derived from the trend of the RSI or the RSI basis (your choice). It looks back at the value however many bars you want and compares the values and that's how it determines if it is trending up or down. Since RSI is a directional momentum indicator, this can be quite useful. If you see the bands are getting darker, this will explain why.
The indicator has a lookback period for determining the widest the bands (which measure volatility) have been over that period of time. This is the baseline. It then will make the bands disappear (by making them more transparent) if the volatility is low. This indicates that a change in volatility is coming and that price isn't really changing much compared to the past (default 500) bars. If they become bright, this is because price has started trending in a direction and volatility is increasing.
I should also note that the candles are colored based on RSI levels.
If you use the Ultimate Companion indicator, you will be able to see the RSI levels (zones) that the colors are based on. As RSI moves into a new range, the candle color will change.
I have created a yellow zone where the candles turn yellow. This is when RSI is between (default) 45 and 55, indicating there is basically no momentum and price is going sideways. This is a good place to get trapped in bad trades, and there is a Yellow RSI Filter to block signals in this area to keep you from entering bad trades.
Green candles indicate values over 55 (getting brighter as RSI rises) and red candles are RSI values under 45 (getting brighter as RSI values get lower). If you see white, this means RSI is either over 80 or under 20. A sharp reversal is almost always imminent at this stage.
When we talk about Buy and Sell Signals, they draw a green or red triangle and it literally says BUY or SELL. There is an option to color the background for added visibility. These signals do not "repaint", what this means is that they can be late. To account for this, I have included a background color that will flash as a warning that a buy or sell could be imminent, although it may fail to break through and set a buy or sell signal. This is simply an advanced warning. The reason is that sometimes a candle may be very large and you won't be told to buy or sell during the candle until the move is completely over and now you're getting in on the next one. That's not a great feeling, so I made it repaint the background color and not repaint the completed signal. You get the best of both worlds.
This indicator also uses complex logic to handle things.
When there is a buy signal, it enters into a state of having been bought, or a "bought state". The same for sells. If Force alternating signals is off, you could have more than one buy in a bought state, or more than one sell in a sell state. There is an option to color the background green during the full duration of a bought state, or red during the full duration of a sold state.
I have added divergence.
This shows that the lows or highs of RSI and PRICE are different. If RSI is making higher highs but the price is not, then the price is likely to follow this bullish divergence, if the opposite happens, it's bearish. It will draw a line on the chart connecting the highs and lows and call it bearish or bullish. You can adjust this as well.
I have an RSI High/Low filter. If the RSI basis (or average) is very high or low, you can block signal from this area since the price is likely to continue in that direction before actually reversing.
You can change the settings of the MACD if you choose to use it for signals, and if you want to see it, you'll have to run that indicator below the chart and match the settings to see what is going on, just like the RSI.
Going back to Watch Signals. You can also choose to require more than one watch signal if you choose. You can skip watch signals, so it will ignore the first or second one, whatever you want to do. You can color the background to show you where watch signals have been skipped.
Regarding the wait period for creating watch signals after a sell or after a buy, you can also color the background to see where these were blocked by the wait period.
Lastly you can choose which type of watch signals to use, or keep them from being shown on the chart. This allows you to study the history of how the asset you are trading behaves and customize the behavior of signals based on your study of it.
Everything in the settings area has tooltips, which will explain what that thing does to help you along this journey.
I hope this indicator (and perhaps Ultimate RSI alongside this) will help you take your trading to the next level.
Oscillator Volume Profile [Trendoscope®]The Oscillator Volume Profile indicator is designed to construct a volume profile based on predefined oscillator levels. It integrates volume data with oscillator readings to offer a unique perspective on market dynamics.
🎲 Selectable Oscillators:
Users can select from an array of oscillator options for the basis of the volume profile, including:
Relative Strength Index (RSI)
Chande Momentum Oscillator (CMO)
Center of Gravity (COG)
Money Flow Index (MFI)
Rate of Change (ROC)
Commodity Channel Index (CCI)
Stochastic Oscillator (Stoch)
True Strength Index (TSI)
Williams %R (WPR)
The length parameters - Length, Fast Length, Slow Length allows users to define the period over which the chosen oscillator is calculated, tailoring the sensitivity of the indicator to their trading strategy.
🎲 Dynamic Overbought/Oversold Ranges:
This indicator enhances traditional concepts by introducing dynamic overbought and oversold levels. These adaptable thresholds are calculated using various methods, including:
🎯 Highest/Lowest Range Method : This method establishes the range based on the highest and lowest values of the oscillator within the last N bars.
🎯 Moving Average Range Method : The range is derived from a moving average of the oscillator, providing a smoothed threshold that reflects more recent market conditions.
In addition to these methods, the indicator incorporates a unique 'Sticky Border' feature:
🎯 Sticky Border: With this option enabled, the dynamic ranges maintain their levels until the oscillator breaks out of the range. Once a breakout occurs, the levels are recalculated and updated. This mechanism ensures that the borders remain consistent and relevant, only adjusting to significant market movements that warrant a recalculation.
Users can select their preferred method for determining dynamic ranges, allowing for a customized approach that aligns with their analysis and trading strategy. The sticky border feature further refines this functionality, offering continuity until a decisive market move occurs.
🎲 Volume Profile Calculation Parameters:
🎯 Trend Filter: The indicator provides a versatile trend filter with four selectable options:
Uptrend: The volume profile is calculated when the oscillator indicates an uptrend.
Downtrend: The volume profile is calculated when the oscillator indicates a downtrend.
Any: The volume profile is calculated regardless of the trend.
External: Users can input values from an external indicator. The volume profile is then calculated only when the external indicator's value is non-zero, integrating external analysis into the volume profile construction.
🎯 Precision: Users have the option to define the precision for calculating the volume profile, which is crucial due to the varying scales of different oscillators (e.g., some oscillators range from 0 to 100, while others from -1 to 1). Selecting an appropriate precision ensures that the volume profile is accurately aligned with the minimal price range significant to the chosen oscillator. This setting requires user intervention for optimal configuration, as automatic calculation is not feasible due to the diverse nature of oscillator ranges.
🎯 Number of Bars: Users can select a specific number of bars for volume profile calculation, or opt to include all available historical bars for a comprehensive profile.
🎲 Selecting the right precision:
Users must select the right precision based on their choice of indicator. For example, RSI values range from 0-100. Hence, the default precision of 1 work fine on RSI as the volume profiles are plotted from 0 to 100 at the interval of 0.1
But, the default precision of 1 will not be ok on TSI because TSI values range from -1 to 1. Hence, using 1 as precision will result in very less volume profile lines as shown below.
Due to this, it is necessary to increase the precision for oscillators such as TSI where the range between highest and lowest value is far less. Once we set the precision to 2, we can see more appropriate volume profile division.
🎲 Note of thanks:
This publication uses polyline feature for drawing volume profiles. The advantage of using polyline is that we can overcome max 500 lines issue that we face by using the regular line objects. More details of polyline can be found in the tradingview blog post
Further, using polyline for display of volume profiles is inspired by the publications of fikira and KioseffTrading
Webby's Quick & Grateful Dead RSWebby's Quick & Grateful Dead RS combines a Relative Strength Line and Moving Averages to help traders hold a core position in a winning stock by identifying moments of strength and weakness in a stocks advance.
The Relative Strength (RS) line is something many investors are familiar with. It is used to measure a stocks performance versus the S&P 500 (default setting) and is typically calculated by dividing the closing price of the stock by the closing price of the S&P. This means if a stock moves up and the S&P moves down or the stock moves up more than the S&P the RS line will increase, if the stock moves down while the S&P moves up the line will decrease.
While the RS Line by itself is a powerful tool, adding moving averages to the RS line can help better understand trends. This work was done by Mike Webster (Webby) as he tried to reverse engineer how William O'Neil was able to hold some of his biggest winning positions.
This indicator plots the RS line along with two moving averages and clearly labels and alerts the 3 signals shared by Webby:
Quick Break - RS line crosses below the fast moving average
Quicksand - RS line moves lower than it was at the time of the Quick Break
Grateful Dead Break - RS line crosses below the slow moving average
To ensure your chart doesn't get skewed, please use the multiplier in the setting to adjust the vertical offset of the RS line and moving averages.
Polyline PlusThis library introduces the `PolylinePlus` type, which is an enhanced version of the built-in PineScript `polyline`. It enables two features that are absent from the built-in type:
1. Developers can now efficiently add or remove points from the polyline. In contrast, the built-in `polyline` type is immutable, requiring developers to create a new instance of the polyline to make changes, which is cumbersome and incurs a significant performance penalty.
2. Each `PolylinePlus` instance can theoretically hold up to ~1M points, surpassing the built-in `polyline` type's limit of 10K points, as long as it does not exceed the memory limit of the PineScript runtime.
Internally, each `PolylinePlus` instance utilizes an array of `line`s and an array of `polyline`s. The `line`s array serves as a buffer to store lines formed by recently added points. When the buffer reaches its capacity, it flushes the contents and converts the lines into polylines. These polylines are expected to undergo fewer updates. This approach is similiar to the concept of "Buffered I/O" in file and network systems. By connecting the underlying lines and polylines, this library achieves an enhanced polyline that is dynamic, efficient, and capable of surpassing the maximum number of points imposed by the built-in polyline.
🔵 API
Step 1: Import this library
import algotraderdev/polylineplus/1 as pp
// remember to check the latest version of this library and replace the 1 above.
Step 2: Initialize the `PolylinePlus` type.
var p = pp.PolylinePlus.new()
There are a few optional params that developers can specify in the constructor to modify the behavior and appearance of the polyline instance.
var p = pp.PolylinePlus.new(
// If true, the drawing will also connect the first point to the last point, resulting in a closed polyline.
closed = false,
// Determines the field of the chart.point objects that the polyline will use for its x coordinates. Either xloc.bar_index (default), or xloc.bar_time.
xloc = xloc.bar_index,
// Color of the polyline. Default is blue.
line_color = color.blue,
// Style of the polyline. Default is line.style_solid.
line_style = line.style_solid,
// Width of the polyline. Default is 1.
line_width = 1,
// The maximum number of points that each built-in `polyline` instance can contain.
// NOTE: this is not to be confused with the maximum of points that each `PolylinePlus` instance can contain.
max_points_per_builtin_polyline = 10000,
// The number of lines to keep in the buffer. If more points are to be added while the buffer is full, then all the lines in the buffer will be flushed into the poylines.
// The higher the number, the less frequent we'll need to // flush the buffer, and thus lead to better performance.
// NOTE: the maximum total number of lines per chart allowed by PineScript is 500. But given there might be other places where the indicator or strategy are drawing lines outside this polyline context, the default value is 50 to be safe.
lines_bffer_size = 50)
Step 3: Push / Pop Points
// Push a single point
p.push_point(chart.point.now())
// Push multiple points
chart.point points = array.from(p1, p2, p3) // Where p1, p2, p3 are all chart.point type.
p.push_points(points)
// Pop point
p.pop_point()
// Resets all the points in the polyline.
p.set_points(points)
// Deletes the polyline.
p.delete()
🔵 Benchmark
Below is a simple benchmark comparing the performance between `PolylinePlus` and the native `polyline` type for incrementally adding 10K points to a polyline.
import algotraderdev/polylineplus/2 as pp
var t1 = 0
var t2 = 0
if bar_index < 10000
int start = timenow
var p = pp.PolylinePlus.new(xloc = xloc.bar_time, closed = true)
p.push_point(chart.point.now())
t1 += timenow - start
start := timenow
var polyline pl = na
var points = array.new()
points.push(chart.point.now())
if not na(pl)
pl.delete()
pl := polyline.new(points)
t2 += timenow - start
if barstate.islast
log.info('{0} {1}', t1, t2)
For this benchmark, `PolylinePlus` took ~300ms, whereas the native `polyline` type took ~6000ms.
We can also fine-tune the parameters for `PolylinePlus` to have a larger buffer size for `line`s and a smaller buffer for `polyline`s.
var p = pp.PolylinePlus.new(xloc = xloc.bar_time, closed = true, lines_buffer_size = 500, max_points_per_builtin_polyline = 1000)
With the above optimization, it only took `PolylinePlus` ~80ms to process the same 10K points, which is ~75x the performance compared to the native `polyline`.
Leading Economic Indicator (LEI)The Leading Economic Indicator (LEI) is a groundbreaking technical indicator designed to serve as a comprehensive measure of the prevailing direction of economic trends in the United States. This unique index combines two key economic indicators: the Composite Leading Indicator (CLI) from the Organization for Economic Co-operation and Development (OECD) and the Purchasing Managers' Index (PMI) from the Institute for Supply Management (ISM).
The OECD Composite Leading Indicator (CLI) is a globally recognized indicator that assesses the future direction of economic trends by analyzing various leading economic factors. The ISM PMI, on the other hand, provides insights into the business activities of both the manufacturing and services sectors. LEI merges these critical indicators into a single, holistic indicator that empowers traders and investors to grasp the broader economic outlook and the performance of essential economic sectors simultaneously.
By taking into account the CLI and PMI, LEI offers a distinctive perspective, enabling a more accurate assessment of the potential direction of US financial markets.
Usage:
To utilize LEI effectively, it is recommended to apply it on a monthly timeframe (TF Monthly). This extended timeframe is particularly beneficial for investors with a medium to long-term horizon. By focusing on longer-term trends and market stability, LEI becomes an invaluable tool in your investment strategy.
One of the primary applications of LEI is to gauge the risk of market corrections in US financial markets, including the S&P 500, Nasdaq, and Dow Jones indices. Analysts often observe the crossing of the 5-period Simple Moving Average (SMA) with the 10-period SMA. When the 5-period SMA falls below the 10-period SMA, it serves as a potential warning signal for an impending market correction. This feature provides traders with an opportunity to exercise caution and make well-informed investment decisions.
LEI, with its unique blend of the OECD CLI and ISM PMI, provides a reliable tool for assessing the US economic climate, identifying trends, and making informed decisions in the financial markets. It stands as a reference indicator, capturing the essence of economic trends and providing valuable insights to traders and investors.
Sources:
- OECD Composite Leading Indicator (CLI): www.data.oecd.org
- Purchasing Managers' Index: ISM Report on Business (PMI) www.ismworld.org
US Composite Leading Indicator (CLI)The US Composite Leading Indicator (CLI), normalized for the United States, closely mirrors the Conference Board "Leading Economic Index" (LEI). It offers unique insights into economic and financial dynamics.
The Composite Leading Indicator (CLI) is an economic tool designed to anticipate economic developments. It is created by aggregating and normalizing a wide range of economic and financial data from various sources.
The normalized data is then aggregated, and a composite indicator is calculated by taking a weighted average of individual indicators.
The CLI is used to provide early insights into the state of the economy and to anticipate future economic trends. It is particularly valuable for predicting economic downturns, including recessions.
The CLI is an essential tool for economists, governments, businesses, and investors seeking to understand economic trends and make informed decisions.
Key Features:
1. Early Warning: Just like its counterpart, the CLI indicator excels at offering early warnings about significant economic events, particularly economic crises. This makes it an indispensable asset for analysts and investors.
2. Recession Indicators: The moving average serves as an early warning system for potential economic recessions. When it crosses the indicator line from the bottom to the top while surpassing a predefined threshold (e.g., 101), it signals a potential crisis.
3. Market Impact: The CLI indicator provides valuable insights into the performance of financial markets, offering cues about indices such as the S&P 500, Nasdaq, Dow Jones, and more.
Why It Matters:
Understanding the US Composite Leading Indicator (CLI) indicator, normalized for the United States, is crucial for anticipating economic shifts and preparing for changes in financial markets. By analyzing a diverse array of economic factors, it provides a holistic view of economic well-being. Whether you're an investor or economist, this indicator can be an invaluable resource for staying informed about market trends and major economic developments.
Source:
www.data.oecd.org
50 Point Stop & Take Profit**50 Point Stop & Take Profit**
This custom TradingView indicator is designed for instruments like US30 or any asset following a point system. It assists traders in setting precise stop-loss and take-profit levels based on different risk-reward ratios. It calculates and plots horizontal lines at various price levels above and below your specified entry price, with a 50-point difference between each ratio.
**How It Benefits Your Strategy:**
- Each risk-reward ratio, whether it's 1:1, 2:1, 3:1, and so on, is separated by precisely 50 points. This deliberate spacing is tailored to provide you with clear and consistent reference points for managing trades in instruments using a point-based system.
- The 50-point increments make it easy to adjust your positions, ensuring that your risk and reward levels align with your trading strategy and objectives.
**Usage:**
1. Set your desired entry price using the "Entry Price" input.
2. The indicator is ideally suited for instruments like US30, where each point represents a distinct price movement. It will automatically calculate and plot multiple lines at the following levels, both for Long (L) and Short (S) positions:
- 1:1 Risk-Reward Ratio (±50 points)
- 2:1 Risk-Reward Ratio (±100 points)
- 3:1 Risk-Reward Ratio (±150 points)
- 4:1 Risk-Reward Ratio (±200 points)
- 5:1 Risk-Reward Ratio (±250 points)
- 6:1 Risk-Reward Ratio (±300 points)
- 7:1 Risk-Reward Ratio (±350 points)
- 8:1 Risk-Reward Ratio (±400 points)
- 9:1 Risk-Reward Ratio (±450 points)
- 10:1 Risk-Reward Ratio (±500 points)
**Customization Options:**
- **Alerts:** You can set alerts for each level to receive notifications when the price reaches a specific risk-reward ratio.
- **Color Customization:** Customize the colors of the plotted lines to suit your chart preferences.
- **Toggle Ratios:** Easily toggle on/off different risk-reward ratios to focus on specific levels that align with your trading strategy.
**How to Use:**
- Use the plotted lines as reference points for setting stop-loss and take-profit orders at your preferred risk-reward ratios.
- The blue horizontal line represents your specified entry price.
This indicator simplifies your trading strategy by providing clear visual cues for managing risk and reward levels, with each level thoughtfully spaced 50 points apart to cater to your strategy's precision.
*Note: Always use risk management and proper trade sizing in your trading strategy.*
**Version:** Pine Script version 5
Divergences RefurbishedJust as "a butterfly can flap its wings over a flower in China and cause a hurricane in the Caribbean" (Edward Lorenz), small divergences in markets can signal big trading opportunities.
█Introduction
This is a script forked from LonesomeTheBlue's Divergence for Many Indicators v4.
It is a script that checks for divergence between price and many indicators.
In this version, I added more indicators and also added 40 symbols to check for divergences.
More info on the original script can be found here:
█ Improvements
The following improvements have been implemented over v4:
1. Added parameters to customize indicators.
2. Added new indicators:
- Stoch RSI
- Volume Oscillator
- PVT (Price Volume Trend)
- Ultimate Oscillator
- Fisher Transform
- Z-Score/T-Score
3. Now there is the possibility of using 2 external indicators.
4. New option to show tooltips inside labels.
This allows you to save space on the screen if you choose the option to only show the number of divergences or just the abbreviations.
5. New option to show additional text next to the indicator name.
This allows for grouping of indicators and symbols and better visualization, whether through emojis, for example.
6. Added 40 customizable symbols to check for divergences.
7. Option "show only the first letter" of the indicator replaced by: "show the abbreviation of the indicator".
Reason: the indicator abbreviation is more informative and easier to read.
8. Script converted to PineScript version 5.
█ CONCEPTS
Below I present a brief description of the available indicators.
1. Moving Average Convergence/Divergence (MACD):
Shows the difference between short-term and long-term exponential moving averages.
2. MACD Histogram:
Shows the difference between MACD and its signal line.
3. Relative Strength Index (RSI):
Measures the relative strength of recent price gains to recent price losses of an asset.
4. Stochastic Oscillator (Stoch):
Compares the current price of an asset to its price range over a specified time period.
5. Stoch RSI:
Stochastic of RSI.
6. Commodity Channel Index (CCI):
Measures the relationship between an asset's current price and its moving average.
7. Momentum: Shows the difference between the current price and the price a few periods ago.
Shows the difference between the current price and the price of a certain period in the past.
8. Chaikin Money Flow (CMF):
A variation of A/D that takes into account the daily price variation and weighs trading volume accordingly. Accumulation/Distribution (A/D) identifies buying and selling pressure by tracking the flow of money into and out of an asset based on volume patterns.
9. On-Balance Volume (OBV):
Identify divergences between trading volume and an asset's price.
Sum of trading volume when the price rises and subtracts volume when the price falls.
10. Money Flow Index (MFI):
Measures volume pressure in a range of 0 to 100.
Calculates the ratio of volume when the price goes up and when the price goes down.
11. Volume Oscillator (VO):
Identify divergences between trading volume and an asset's price. Ratio of change of volume, from a fast period in relation to a long period.
12. Price-Volume Trend (PVT):
Identify the strength of an asset's price trend based on its trading volume. Cumulative change in price with volume factor. The PVT calculation is similar to the OBV calculation, but it takes into account the percentage price change multiplied by the current volume, plus the previous PVT value.
13. Ultimate Oscillator (UO):
Combines three different time periods to help identify possible reversal points.
14. Fisher Transform (FT):
Normalize prices into a Gaussian normal distribution.
15. Z-Score/T-Score: Shows the difference between the current price and the price a few periods ago. I is a statistical measurement that indicates how many standard deviations a data point is from the mean of a data set.
When to use t-score instead of z-score? When the sample size is small (length < 30).
Here, the use of z-score or t-score is chosen automatically based on the length parameter.
█ What to look for
The operation is simple. The script checks for divergences between the price and the selected indicators.
Now with the possibility of using multiple symbols, it is possible to check divergences between different assets.
A well-described view on divergences can be found in this cheat sheet:
◈ Examples with SPY ETF versus indicators:
1. Regular bullish divergence with external indicator:
1. Regular bearish divergence with Fisher Transform:
1. Positive hidden divergence with Momentum indicator:
1. Negative hidden divergence with RSI:
◈ Examples with SPY ETF versus other symbols:
1. Regular bearish divergence with European Stoch Market:
2. Regular bearish divergence with DXY inverted:
3. Regular bullish divergence with Taiwan Dollar:
4. Regular bearish divergence with US10Y (10-Year US Treasury Note):
5. Regular bullish divergence with QQQ ETF (Nasdaq 100):
6. Regular bullish divergence with ARKK ETF (ARK Innovation):
7.Positive hidden divergence with RSP ETF (S&P 500 Equal Weight):
8. Negative hidden divergence with EWZ ETF (Brazil):
◈ Examples with BTCUSD versus other symbols:
1. Regular bearish divergence with BTCUSDLONGS from Bitfinex:
2. Regular bearish divergence with BLOK ETF (Amplify Transformational Data Sharing):
3. Negative hidden divergence with NATGAS (Natural Gas):
4. Positive hidden divergence with TOTALDEFI (Total DeFi Market Cap):
█ Conclusion
The symbols available to check divergences were chosen in such a way as to cover the main markets, in the most generic way possible.
You can adjust them according to your needs.
A trader in the American market, for example, could add more ETFs, American stocks, and sectoral indices, such as the XLF (Financial Select Sector SPDR Fund), the XLK (Technology Select Sector SPDR), etc.
On the other hand, a cryptocurrency trader could add more currency pairs and sector indicators, such as BTCUSDSHORTS (Bitfinex), USDT.D (Tether Dominance), etc.
If the chart becomes too cluttered, you can use the option to show only the number of divergences or only the indicator abbreviations.
Or even disable certain indicators and symbols, if they are not of interest to you.
I hope this script is useful.
Don't forget to support LonesomeTheBlue's work too.
[blackcat] L2 Votatility of Williams VixFix Risk AssessmentHey there! I previously wrote an article about the Larry Williams ViX Fix technical indicator. Soon after, friends from the TradingView community told me that this indicator could be combined with the Risk Assessment indicator I wrote about earlier to determine when to go long or short. At the time, I found it a bit cumbersome to use both indicators together, so I came up with a solution: to merge them. This way, we can use one technical indicator to visually see whether we should go long or short. Isn't that cool? The indicator has a very common name: ** L2 Votatility of Williams VixFix Risk Assessment, or VoWVRA for short.**
This TradingView Pine Script is a custom indicator based on the Larry Williams ViX Fix technical indicator, designed to help traders with risk assessment and trading decisions. The Larry Williams ViX Fix indicator is derived from the volatility of the S&P 500 index and is mainly used to display changes in current market sentiment. The indicator determines market volatility by calculating the distance between the highest price, the lowest price, and the closing price. The higher the value of the indicator, the more tense the market sentiment, and the higher the market volatility; conversely, the lower the value, the more stable the market sentiment and the lower the market volatility.
The VoWVRA indicator is based on the Larry Williams ViX Fix indicator, combined with technical indicators such as Bollinger Bands and EMA, to assess market risk. The indicator can be customized with input parameters to suit different markets and investor needs. Using the VoWVRA indicator can help traders make wiser choices in risk control and trading decisions.
In addition, this TradingView Pine Script also includes a risk assessment indicator. The indicator calculates a series of values and then applies the exponential moving average (EMA) to the percentage change between the closing price and the highest and lowest prices within a certain range to determine the safety level. The safety level is then compared to different thresholds to determine the market's risk level. The risk assessment indicator can be customized with input parameters such as risk length, safety length, and EMA length to suit different market conditions and investor preferences. Using the risk assessment indicator can help traders make wiser decisions in risk management and trading strategies.
By using the VoWVRA and risk assessment indicators, traders can more accurately assess market risk and make wiser choices in trading decisions.
Cycles: 4x dual inputs: Swing / Time Cycles projected forward//Purpose/Premise:
To project forward vertical 'cycle' lines based on user-input anchor points, and to search for confluence.
The idea being that if several well-anchored cycles agree (i.e. we see multiple bunched vertical line confluence in the future), then this may add support to an already existing trade idea, or may indicate an increased likelihood of a shift in direction.
//Usage & notes:
~In the above chart I've anchored to obvious swing lows and swing highs in Btc/Usd from 2020-2022. You could also use fixed time-based cycles from a favored start anchor point. Bars per cycle are printed at the top of each cycle box if your're interested in time cycles. I.e. for 1, 2, 3 month cycles: for BTC you could use 30, 60, 90 bars on daily; for S&P you could use 20, 40, 60 bars on daily.
~On first loading the indicator you will be asked select 'start date', and 'end date' for each of 4 sessions (8x clicks on chart). After this you can easily reset points by clicking the indicator display line three dots>> reset points. Or you can simply drag the vertical box edges (purple lines) to change your cycle anchor points.
~Be sure the start anchor point is before the end anchor point or box/lines won't appear.
~When you drop down to low timeframes you might get bar_index error due to history available: you need then to click the three dots on indicator display line >> reset points >> 8x clicks on the chart.
~Vertical projected lines will match the color of the cycle box they origninate from.
~Lines will project into the future as far as is allowed by tradingview (500 bars max)
//Inputs:
~Time start and end dates for each cycle (change these as described above, or input manually)
~Show/hide each cycle (default is show all 4)
~Formatting options: color of forward projected lines, line width, line style, line / box / text color.
~Box transparancy: Set to 100 to make boxes invisible & declutter the chart. Set to 0 for maximum opacity. Default is 80.
thanks to @Sathyamurthie for his ideas on cycle confluence which caused me to write this.
Paytience DistributionPaytience Distribution Indicator User Guide
Overview:
The Paytience Distribution indicator is designed to visualize the distribution of any chosen data source. By default, it visualizes the distribution of a built-in Relative Strength Index (RSI). This guide provides details on its functionality and settings.
Distribution Explanation:
A distribution in statistics and data analysis represents the way values or a set of data are spread out or distributed over a range. The distribution can show where values are concentrated, values are absent or infrequent, or any other patterns. Visualizing distributions helps users understand underlying patterns and tendencies in the data.
Settings and Parameters:
Main Settings:
Window Size
- Description: This dictates the amount of data used to calculate the distribution.
- Options: A whole number (integer).
- Tooltip: A window size of 0 means it uses all the available data.
Scale
- Description: Adjusts the height of the distribution visualization.
- Options: Any integer between 20 and 499.
Round Source
- Description: Rounds the chosen data source to a specified number of decimal places.
- Options: Any whole number (integer).
Minimum Value
- Description: Specifies the minimum value you wish to account for in the distribution.
- Options: Any integer from 0 to 100.
- Tooltip: 0 being the lowest and 100 being the highest.
Smoothing
- Description: Applies a smoothing function to the distribution visualization to simplify its appearance.
- Options: Any integer between 1 and 20.
Include 0
- Description: Dictates whether zero should be included in the distribution visualization.
- Options: True (include) or False (exclude).
Standard Deviation
- Description: Enables the visualization of standard deviation, which measures the amount of variation or dispersion in the chosen data set.
- Tooltip: This is best suited for a source that has a vaguely Gaussian (bell-curved) distribution.
- Options: True (enable) or False (disable).
Color Options
- High Color and Low Color: Specifies colors for high and low data points.
- Standard Deviation Color: Designates a color for the standard deviation lines.
Example Settings:
Example Usage RSI
- Description: Enables the use of RSI as the data source.
- Options: True (enable) or False (disable).
RSI Length
- Description: Determines the period over which the RSI is calculated.
- Options: Any integer greater than 1.
Using an External Source:
To visualize the distribution of an external source:
Select the "Move to" option in the dropdown menu for the Paytience Distribution indicator on your chart.
Set it to the existing panel where your external data source is placed.
Navigate to "Pin to Scale" and pin the indicator to the same scale as your external source.
Indicator Logic and Functions:
Sinc Function: Used in signal processing, the sinc function ensures the elimination of aliasing effects.
Sinc Filter: A filtering mechanism which uses sinc function to provide estimates on the data.
Weighted Mean & Standard Deviation: These are statistical measures used to capture the central tendency and variability in the data, respectively.
Output and Visualization:
The indicator visualizes the distribution as a series of colored boxes, with the intensity of the color indicating the frequency of the data points in that range. Additionally, lines representing the standard deviation from the mean can be displayed if the "Standard Deviation" setting is enabled.
The example RSI, if enabled, is plotted along with its common threshold lines at 70 (upper) and 30 (lower).
Understanding the Paytience Distribution Indicator
1. What is a Distribution?
A distribution represents the spread of data points across different values, showing how frequently each value occurs. For instance, if you're looking at a stock's closing prices over a month, you may find that the stock closed most frequently around $100, occasionally around $105, and rarely around $110. Graphically visualizing this distribution can help you see the central tendencies, variability, and shape of your data distribution. This visualization can be essential in determining key trading points, understanding volatility, and getting an overview of the market sentiment.
2. The Rounding Mechanism
Every asset and dataset is unique. Some assets, especially cryptocurrencies or forex pairs, might have values that go up to many decimal places. Rounding these values is essential to generate a more readable and manageable distribution.
Why is Rounding Needed? If every unique value from a high-precision dataset was treated distinctly, the resulting distribution would be sparse and less informative. By rounding off, the values are grouped, making the distribution more consolidated and understandable.
Adjusting Rounding: The `Round Source` input allows users to determine the number of decimal places they'd like to consider. If you're working with an asset with many decimal places, adjust this setting to get a meaningful distribution. If the rounding is set too low for high precision assets, the distribution could lose its utility.
3. Standard Deviation and Oscillators
Standard deviation is a measure of the amount of variation or dispersion of a set of values. In the context of this indicator:
Use with Oscillators: When using oscillators like RSI, the standard deviation can provide insights into the oscillator's range. This means you can determine how much the oscillator typically deviates from its average value.
Setting Bounds: By understanding this deviation, traders can better set reasonable upper and lower bounds, identifying overbought or oversold conditions in relation to the oscillator's historical behavior.
4. Resampling
Resampling is the process of adjusting the time frame or value buckets of your data. In the context of this indicator, resampling ensures that the distribution is manageable and visually informative.
Resample Size vs. Window Size: The `Resample Resolution` dictates the number of bins or buckets the distribution will be divided into. On the other hand, the `Window Size` determines how much of the recent data will be considered. It's crucial to ensure that the resample size is smaller than the window size, or else the distribution will not accurately reflect the data's behavior.
Why Use Resampling? Especially for price-based sources, setting the window size around 500 (instead of 0) ensures that the distribution doesn't become too overloaded with data. When set to 0, the window size uses all available data, which may not always provide an actionable insight.
5. Uneven Sample Bins and Gaps
You might notice that the width of sample bins in the distribution is not uniform, and there can be gaps.
Reason for Uneven Widths: This happens because the indicator uses a 'resampled' distribution. The width represents the range of values in each bin, which might not be constant across bins. Some value ranges might have more data points, while others might have fewer.
Gaps in Distribution: Sometimes, there might be no data points in certain value ranges, leading to gaps in the distribution. These gaps are not flaws but indicate ranges where no values were observed.
In conclusion, the Paytience Distribution indicator offers a robust mechanism to visualize the distribution of data from various sources. By understanding its intricacies, users can make better-informed trading decisions based on the distribution and behavior of their chosen data source.
Regression Line (Log)This indicator is based on the "Linear Regression Channel (Log)," which, in turn, is derived from TradingView's "Linear Regression Channel."
The "Regression Line (Log)" indicator is a valuable tool for traders and investors seeking to gain insights into long-term market trends. This indicator is personally favored for its ability to provide a comprehensive view of price movements over extended periods. It offers a unique perspective compared to traditional linear regression lines and moving averages, making it a valuable addition to the toolkit of experienced traders and investors.
Indicator Parameters:
Before delving into the details, it's worth noting that the chosen number of periods (2870) is a personal preference. This specific value is utilized for the S&P 500 index due to its alignment with various theories regarding the beginning of the modern economic era in the stock market. Different analysts propose different starting points, such as the 1950s, 1970s, or 1980s. However, users are encouraged to adjust this parameter to suit their specific needs and trading strategies.
How It Works:
The "Regression Line (Log)" indicator operates by transforming the closing price data into a logarithmic scale. This transformation can make the linear regression more suitable for data with exponential trends or rapid growth. Here's a breakdown of its functioning and why it can be advantageous for long-term trend analysis:
1. Logarithmic Transformation : The indicator begins by applying a logarithmic transformation to the closing price. This transformation helps capture price movements proportionally, making it especially useful for assets that exhibit exponential or rapid growth. This transformation can render linear regression more suitable for data with exponential or fast-paced trends.
2. Linear Regression on Log Scale : After the logarithmic transformation, the indicator calculates a linear regression line (lrc) on this log-transformed data. This step provides a smoother representation of long-term trends compared to a linear regression line on a linear scale.
3. Exponential Reversion : To present the results in a more familiar format, the indicator reverts the log-transformed regression line back to a linear scale using the math.exp function. This final output is the "Linear Regression Curve," which can be easily interpreted on standard price charts.
Advantages:
- Long-Term Trend Clarity : The logarithmic scale better highlights long-term trends and exponential price movements, making it a valuable tool for investors seeking to identify extended trends.
- Smoothing Effect : The logarithmic transformation and linear regression on a log scale smooth out price data, reducing noise and providing a clearer view of underlying trends.
- Adaptability : The indicator allows traders and investors to customize the number of periods (length) to align with their preferred historical perspective or trading strategy.
- Complementary to Other Tools : While not meant to replace other technical indicators, the "Regression Line (Log)" indicator complements traditional linear regression lines and moving averages, offering an alternative perspective for more comprehensive analysis.
Conclusion:
In summary, the "Regression Line (Log)" indicator is a versatile tool that can enhance your ability to analyze long-term market trends. Its logarithmic transformation provides a unique perspective on price data, particularly suited for assets with exponential growth patterns. While the choice of the number of periods is a personal one, it can be adapted to fit various historical viewpoints. This indicator is best utilized as part of a well-rounded trading strategy, in conjunction with other technical tools, to aid in informed decision-making.
[GTH decimals heatmap] (wide screen advised)Preface
I share my personal general view on indicators below; skip ahead to the Description below if you are not interested.
It is my personal conviction that most - if not all - indicators rely mainly on trader's belief that they work, and in a feedback system like free markets they might become a self-fulfilling prophecy as a result, if (!) a big part of the traders believes in it, because some famous trader releases an indicator, or such person's public statement goes viral.
One of those voodoo indicators is the famous "follow-through day". There is zero statistical evidence for its validity, beyond the validity of a statement like "If it's bright at day it's usually the sun shining". The uselessness was proven exactly on its inventor's YT channel, Investors Business Daily. According to the examiner, its inventor William J. O'Neil himself could not explain the values used for this indicator. It might have been an incidental observation at some point without general validity. A.k.a "curve fitting". Still, it's being used by many today.
Another one of those indicators is the three points reversal on the S&P 500 Volatility Index (VIX) which allegedly might potentially maybe indicate a possible shift in trend. Both indicators share an immediately problematic feature: They use absolute values. Nothing is ever absolute in a highly subjective and emotionally driven game like the markets where a lot of money can be made and lost.
Most indicators can not produce additional information since they can only re-pack price/volume action. Many times an interpretion of the distance between price and a moving average and/or the slope of a moving average deliver very similar - if not better - results than MACD, RSI etc., especially with standard settings, the origin of which are usually unknown (always a warning sign). Very few indicators can deliver information which is otherwise hard to quantify, e. g. market noise (Kaufman's Efficiency Ratio or Price Density) or volatility, standard deviation etc.
It is common knowledge that trading the markets is a game of probability. No indicator works all the time (or at all, see above). In order to make decisions based on any indicator, the probability for its validity and the conditions under which validity seemed to have occurred, must be known. Otherwise it is just coffee grounds reading under the illusion of adding to the edge, when in fact it is only adding to the trees, making it even harder to see the forest.
Description
A common belief is that whole or half-dollar prices tend to be attraction points in price action, so a number of traders include those into decision making. But are they really...?
Spoiler Alert:
Generally, it is safe to say that for the big majority of stocks there is very thin evidence for it. It depends vastly on the asset, the timeframe used and the market period (pre/post/main trading times). If at all, there seems to be an above random but still thin evidence for whole prices being significant attraction points. Interesting/surprising patterns are visible on many stocks/timeframes/session periods, though.
The screenshot shows TSLA, 30m timeframe, two heatmaps added. The top one shows pre/post-market data only, the bottom one main market data only. The cyan fields indicate the strongest occurrence, the dark blue fields indicate the weakest occurrence of open/high/low/close prices at the respective decimal. The red field indicates the current/last price decimal.
Clearly, TSLA displays a strong pre-market attraction for .00, followed by .33 and .67 and .50. This pattern of thirds seems to be a unique feature of TSLA. In the main trading session it is being diluted by a more random distribution.
Other interesting equities to examine:
SPY: No significant pattern on any timeframe!
META: Generally weak patterns on all timeframes, but interestingly on the 1D there is evidence for less randomness on O and H, more on L and most on C.
AAPL: 1D, foggy attraction areas around .35 and .12. Whole price is no attraction area at all! Very weak attraction around .73.
AMD: Strong pattern on D, W, M, attraction areas around 1/16th intervals. No patterns on lower timeframes.
AMZN: Significant differences between pre/post and main session. Strong 1/16th pattern below D in pre/post.
TAOP: Strong 1/5th pattern on all timeframes.
Read the tool tips and go explore!
Are stop orders making money? [yohtza]Who is this indicator for and what does it do?
This is an indicator that helps price action traders in determining the strength of the trend and potential counter trend traps that present themselves during the move. It highlights the background of the bar at which counter trend traders that trade with stop orders (breakout entries) were able to achieve the same amount of reward as was their risk for that trade.
What is it based on?
When there is a strong trend in effect, the counter trend traders are unable to buy above(in bear trend) or sell below (in bull trend) a bar with a stop order and get an equal reward for the risk they are taking.
The first time counter trend traders are able to buy and make money in bear or sell and make money in bull it is a warning sign that market is likely transitioning into trading range phase of the market cycle.
Another application of the indicator is for discovering potential traps. If market comes very close to the take profit level of counter trend traders and reverses, they will usually try to get out with as much profit or as small of a loss as possible and that will often create a fast move (also called giving up) and a good with trend entry.
How does it work?
The indicator is using exponential moving average as a filter for when the market is trending and then scans for signals where counter trend traders enter. Next it looks if the stoploss or profit target was hit for that trade. If the profit target was hit it draws a box around the bar on which the traders entered, the box height is based on stoploss and profit target price levels.
Indicator inputs
- Scan for doji signal bars
When this option is selected, bars that have small bodies (less than 50% of their height) are also included as bars on which counter traders enter. If the option is not selected it only looks for bull trend bars (bodies are greater than 50% of their height) below the moving average and bear trend bars above the moving average.
- Border and background colors and border style
It is possible to select different colors and chose between solid, dashed and dotted borders
- Ema period
Default setting is 20 bar exponential moving average but feel free to use which you prefer
- Tick value
This is the value of the minimal movement of the chart you are trading on. For example for S&P 500 E-mini futures the value is 0.25 and that is the default setting.
Momentum Probability Oscillator [SS]This is the momentum based probability indicator.
What it does?
This takes the average of MFI, Stochastics and RSI and plots it out as an independent oscillator.
It then tracks bullish vs bearish instances. Bullish is defined as a greater move from open to high than open to low and inverse for bearish.
It stores this data and these averages and plots these levels as a graph.
The graph depicts the max bullish values at the top, the min bearish values at the bottom and the averages in between:
It will plot the average "threshold" value in yellow:
The threshold value is key. A ticker trading above the threshold is generally bullish. Below is bearish.
The threshold value frequently acts as support and resistance levels (see below):
Resistance:
Support:
The indicator also shows you the amount of time a ticker has spent in each region, over a defined lookback period (defaulted to 500):
When you see that cumulatively, more time has been spent in a bullish range or a bearish range, it can help you ascertain the prevailing sentiment at that time.
The indicator will also calculate the average price range based on the underlying oscillator value. It does this through use of ATR based techniques, as its not usually possible to calculate a price from an oscillator:
This is intended as a general reference and not a precise target, as it is using ATR as opposed to the actual technical value itself.
As this is an oscillator, you can use it to look for divergences as well. The advantage to having it formulated in this way is:
a) You get the power of all 3 indicators (stochastics, MFI and RSI) in one and
b) You are adding context to the underlying technical reading. The indicator is plotting out the average, max and min ranges for the selected ticker and performing assessments based on these ranges that add context to the current PA.
You also have the ability to see the specific technical levels associated with each specific technical indicator. If you open up the settings menu and select "Show Table", this will appear:
This will show you the exact values of each of the technicals the indicator is using in its range assessment.
And that is basically the bulk of the indicator!
I use this predominately on the smaller timeframes, especially when there is a lot of chop, to ascertain the overall sentiment.
I also will reference it on the 1 hour to see what the prevailing sentiment is and whether the stock is at an area of technical resistance or support. For example, here is what I referenced on SPY today:
QUICK NOTE:
It works best with RTH (regular trading hours) turned on and ETH (extended trading hours) turned off!
That's it!
Hopefully you like it and leave your comments and suggestions below!
Variation from Opening📈 Purpose: This script provides traders with a clear visualization of the percentage variation from the opening price for two major futures contracts: ES1! (S&P 500 futures) and NQ1! (Nasdaq 100 futures).
🔑 Key Features:
Real-Time Price Retrieval: Fetches the latest opening prices for ES1! and NQ1! contracts.
Percentage Variation Computation: Determines the percentage change from the opening price, offering traders an immediate view of market dynamics.
Clear Visualization: Plots the percentage variation for both contracts in distinct colors (red for ES1! and blue for NQ1!) for easy differentiation.
💡 Benefits:
Informed Trading: Understand intraday price movements to make better trading decisions.
Versatility: While tailored for ES1! and NQ1!, the script can be adapted for other securities.
Clean Display: A focused, clutter-free chart ensures traders can quickly gauge market movements.
🎯 Ideal For: Traders looking to monitor intraday price shifts of major futures contracts.
Equip yourself with the "Variation from Opening" script and enhance your trading insights!