TTM Squeeze ProCredits:
-> John Carter creating the TTM Squeeze and TTM Squeeze Pro
-> Lazybear's original interpretation of the TTM Squeeze: Squeeze Momentum Indicator
-> Makit0's evolution of Lazybear's script to factor in the TTM Squeeze Pro upgrades - Squeeze PRO Arrows
This is my version of their collective works, with amendments primarily to the Squeeze Conditions to more accurately reflect the color coding used by the official TMM Squeeze Pro indicator.
For those unfamiliar with the TTM Squeeze, it is simply a visual way of seeing how Bollinger Bands (standard deviations from a simple moving average ) relate to Keltner Channels (average true range bands) compared with the momentum of the price action. The concept is that as Bollinger Bands compress within Keltner Channels, price volatility decreases, giving way for a potential explosive price movement up or down.
Differences between the original TTM Squeeze and TTM Squeeze Pro:
-> Both use a 2 standard deviation Bollinger Band ;
-> The original squeeze only used a 1.5 ATR Keltner Channel; and
-> The pro version uses 1.0, 1.5 and 2.0 ATR Keltner Channels .
The pro version therefore helps differentiate between levels of squeeze (compression) as the Bollinger Bands moves through the Keltner Channels i.e. the greater the compression, the more potential for explosive moves - less compression means more squeezing.
The Histogram shows price momentum whereas the colored dots (along the zeroline) show where the Bollinger Bands are in relation to the Keltner Channels:
-> Cyan Bars = positive, increasing momentum;
-> Blue Bars = positive, decreasing momentum (indication of a reversal in price direction);
-> Red Bars = negative, increasing momentum;
-> Yellow Bars = negative, decreasing momentum (indication of a reversal in price direction);
-> Orange Dots = High Compression / large squeeze (One or both of the Bollinger Bands is inside the 1st (1.0 ATR) Keltner Channel);
-> Red Dots = Medium Squeeze (One or both of the Bollinger Bands is inside the 2nd (1.5 ATR) Keltner Channel);
-> Black Dots = Low compression / wide squeeze (One or both of the Bollinger Bands is inside the 3rd (2.0 ATR) Keltner Channels );
-> Green Dots = No Squeeze / Squeeze Fired (One or both of the Bollinger Bands is outside of the 3rd (2.0 ATR) Keltner Channel).
Ideal Scenario:
As the ticker enters the squeeze, black dots would warn of the beginning of a low compression squeeze. As the Bollinger bands continue to constrict within the Keltner Channels , red dots would highlight a medium compression. As the price action and momentum continues to compress an orange dot shows warning of high compression. As price action leaves the squeeze, the coloring would reverse e.g. orange to red to black to green. Any compression squeeze is considered fired at the first green dot that appears.
Note: This is an ideal progression of the different types of squeezes, however any type of squeeze (and color sequence) may appear at anytime, therefore the focus is primarily on the green dots after any type of compression.
Entry and Exit Guide:
-> John Carter recommends entering a position after at least 5 black dots or wait for 1st green dot ; and
-> Exit on second blue or yellow bar or, alternatively, remain in the position after confirming a continuing trend through a separate indicator.
ابحث في النصوص البرمجية عن "one一季度财报"
Fear Of Missing Out grid of forex tradingAbstract
This script finds potential safe grids placing limit orders without fear of missing out.
This script computes grids according to power of 1.0025 .
You can reference those price levels for your trading.
Introduction
Grid trading is a popular trading method.
Traders plan several price levels as grids and repeat buying at lower grids and selling at higher grids.
Grids can be round number like multiple of 100 pips.
Grids can also be support and resistance according to price history.
Some traders may think they need to adjust grids to trade.
However, there are several problems in choosing grids.
One problem is rate of change is related and therefore exponential. 20 to 30 is different from 30 to 40.
Another interesting point is there are some special impressing reversal price levels.
Several months ago, I had a question why usdjpy bounced near 108.3 .
After using a calculator, I found that 108.3 = 100 * 1.083 ≒ 100 * pow(1.0025,31) .
1.0025 , as known as 0.25% of change, is a potential stop out zone.
Therefore, we can compute grids and one grid is a little more than 1.0025 times than an another one.
After we finished computing grids, we can consider buy and sell near those grids.
Note that different traders may obtain different grid values.
For example, from 1.0 to 2.0 , it can be splited as 270 grids or 277 grids because pow(1.0025,277)<2 .
Those grids cannot always imply potential reversal points but they can be useful for traders looking for 0.25% profit targets with reducing fearing of buying or selling too early.
Computing grids
This script split from 1.0 to 10.0 into three segments.
One is 1.0 to 2.0 .
The second segment is from 2.0 to 5.0 .
The third segment is from 5.0 to 10.0 .
This script does the same thing for 0.1 to 1.0 , 10.0 to 100.0 , and so on.
For 1.0 to 2.0 and 5.0 to 10.0 , this script split a segment as 270 grids.
For 2.0 to 5.0 , this script split a segment as 360 grids.
The last step is display the next grids to the daily low and daily high.
Maybe also display the grids behind grids shown.
Parameters
x1,x2,x3,x4 : display the next x1,x2,x3,x4 grids to daily high and daily low. 1 means the next grid to daily high and daily low. 2 means the next grid to 1.
x_seg : default 2.0 . This script split from 1.0 to 10.0 into three segments. One is 1.0 to x_seg. The second segment is from x_seg to 10.0/x_seg . The third segment is from 10.0/x_seg to 10.0 .
x_grid1 : how many grids in the first segment
x_grid2 : how many grids in the second segment
x_lowprice : add this number for bigger grid distance. Generally, you don't need this number when trading forex but you may need it in stock trading. For stocks with price between 50 to 100, I recommend you use x_lowprice=100.
Conclusion and suggestions
This script can find potential grids for trading.
If price touches grids usually, we can consider buy and sell after price touches grids.
If price reverses before touching grids usually, we may consider buy and sell before price touches grids.
Those grids can remind us don't buy too much unless the price touches the next grid.
For instruments with less volatility, maybe we need more grids.
For traders with more money, they may also consider more grids for more dedicated range trading to collect more profit.
Reference
Sorry, I forgot them.
Kelt + BBand Combination (kingthies) █ Overview
The Kelt-BBand Combo is a trading approach that I've used for multiple years now, and works on any timeframe, chart possible. There are various versions of this approach published by myself and others who find value in measuring the deviations of price and strategize market entries and exits. For an entry-level description of each component, I'll type them up below.
█ Using This Indicator
While there are various strategies to use this tool, I'll share the one that has yielded me the most success across traditional and cryptocurrency markets - first understand the different appearances of both....
IF the bbands are inside the kelts, the squeeze is on. In 90% of cases this is often a bullish leaning event
IF the bbands are pinching (regardless of slope or kelt behavior),these are your primary support and resistances, respectively
When trending up, HA candles will touch between the upper kelt and upper bband on every candle, across all timeframes
When trending down, HA candles will touch between the lower kelt and lower bband on every candle, across all timeframes
If one timeframe is not giving clear indicator of trend direction or s/r to follow, zoom out. the higher timeframe will always win and show you the true direction
█ Intro to Bollinger Bands
Bollinger Bands consists of a center line representing the moving average of a security’s price over a certain period, and two additional parallel lines (called the trading bands) one of which is just the moving average plus k-times the standard deviation over the selected time frame, and the other being the moving average minus k-times the standard deviation over that same timeframe. This technique has been developed in the 1980’s by John Bollinger, who lately registered the terms “Bollinger Bands” as a U.S. trademark in 2011. Technical analysts typically use 20 periods and k = 2 as default settings to build Bollinger Bands, while they can choose a simple or exponential moving average. Bollinger Bands provide a relative definition of high and low prices of a security. When the security is trading within the upper band, the price is considered high, while it is considered low when the security is trading within the lower band.
There is no general consensus on the use of Bollinger Bands among traders. Some traders see a buy signal when the price hits the lower Bollinger Band and close their position when the price hits the moving average. Some others buy when the price crosses over the upper band and sell when the price crosses below the lower band. We can see here two opposing interpretations based on different rationales, depending whether we are in a reversal or continuation pattern. Another interesting feature of the Bollinger Bands is that they give an indication of the volatility levels; a widening gap between the upper and lower bands indicates an increasing volatility, while a narrowing band indicates a decreasing volatility. Moreover, when the bands have an almost flat slope (parallel to the x-axis) the price will generally oscillate between the bands as if trading through a channel.
█ Intro to Keltner Channels
Keltner Channels aka Kelts were first described by a Chicago grain trader called Chester W. Keltner in his 1960 book How to Make Money in Commodities. Though Keltner claimed no ownership of the original idea and simply called it the ten-day moving average trading rule, his name was applied by those who heard of this concept through his books.
Similarly to the Bollinger Bands, Keltner channel is a technical analysis tool based on three parallel lines. In fact, the Keltner indicator consists of a central moving average in addition to channel lines spread above and below it. The central line represents a 10-day simple moving average of what Chester W. Keltner called typical price. The typical price is defined as the average of the high, low and close. The distance between the central line and the upper, or lower line, is equivalent to the simple moving average of the preceding 10 days' trading ranges.
One way to interpret the Keltner Channel would be to consider the price breakouts outside of the channel. A trader would track price movement and consider any close above the upper line as a strong buy signal. Equivalently, any close below the lower line would be considered a strong sell signal. The trader would follow the trend emphasized by the indicator while complementing his analysis with the use of other indicators as well. However, the breakout method only works well when the market moves from a range-bound setting to an established trend. In a trend-less configuration, the Keltner Channel is better used as an overbought/oversold indicator. Thus, as the price breaks out below the lower band, a trader waits for the next close inside the Keltner Channel and considers this price behavior as an oversold situation indicating a potential buy signal. Similarly, as the price breaks out above the upper band, the trader waits for the next close inside the Keltner Channel and considers this price movement as an overbought situation indicating a potential sell signal. By waiting for the price to close within the Channel, the trader avoids getting caught in a real upside or downside breakout.
Happy Trading!
Combo 4+ KDJ STO RSI EMA3 Visual Trend Pine V5@RL! English !
Combo 4+ KDJ STO RSI EMA3 Visual Trend Pine V5 @ RL
Combo 4+ KDJ STO RSI EMA3 Visual Trend Pine V5 @ RL is a visual trend following indicator that groups and combines four trend following indicators. It is compiled in PINE Script Version V5 language.
• STOCH: Stochastic oscillator.
• RSI Divergence: Relative Strength Index Divergence. RSI Divergence is a difference between a fast and a slow RSI.
• KDJ: KDJ Indicator. (trend following indicator).
• EMA Triple: 3 exponential moving averages (Default display).
This indicator is intended to help beginners (and also the more experienced ones) to trade in the right direction of the market trend. It allows you to avoid the mistakes of always trading against the trend.
The calculation codes of the different indicators used are standard public codes used in the usual TradingView coding for these indicators.
The STO indicator calculation script is taken from TradingView's standard STOCH calculation.
The RSI indicator calculation script is a replica of the one created by @Shizaru.
The KDJ indicator calculation script is a replica of the one created by @iamaltcoin.
The Triple EMA indicator calculation script is a replica of the one created by @jwilcharts.
This indicator can be configured to your liking. It can even be used several times on the same graph (multi-instance), with different configurations or display of another indicator among the four that compose it, according to your needs or your tastes.
A single plot, among the 4 indicators that make it up, can be displayed at a time, but either with its own trend or with the trend of the 4 (3 by default) combined indicators (sell=green or buy=red, background color).
Trend indications (potential sell or buy areas) are displayed as a background color (bullish: green or bearish: red) when at least three of the four indicators (3 by default and configurable from 1 to 4) assume that the market is moving in the same direction. These trend indications can be configured and displayed, either only for the signal of the selected indicator and displayed, or for the signals of the four indicators together and combined (logical AND).
You can tune the input, style and visibility settings of each indicator to match your own preferences or habits.
A 'buy stop' or 'sell stop' signal is displayed (layouts) in the form of a colored square (green for 'stop buy' and red for 'stop sell'. These 'stop' signals can be configured and displayed, either only for the indicator chosen, or for the four indicators together and combined (logical OR).
Note that the presence of a Stop Long signal cancels the background color of the Long trend (green).
Likewise, the presence of a Stop Short signal cancels out the background color of the Short trend (red).
It is also made up of 3 labels:
• Trend Label
• signal Stop Label (signals Stop buy or sell )
• Info Label (Names of Long / Short / Stop Long / Stop Short indicators, and / Open / Close / High / Low ).
Each label is configurable (visibility and position on the graph).
• Trend label: indicates the number of indicators suggesting the same trend (Long or Short) as well as a strength index (PWR) of this trend: For example: 3 indicators in Short trend, 1 indicator in Long trend and 1 indicator in neutral trend will give: PWR SHORT = 2/4. (3 Short indicators - 1 Long indicator = 2 Pwr Short). And if PWR = 0 then the display is "Wait and See". It also indicates which current indicator is displayed and the display mode used (combined 1 to 4 indicators or not combined ).
• Signal Stop Label: Indicates a possible stop of the current trend.
• Label Info (Simple or Full) gives trend info for each of the 4 indicators and OHLC info for the chart (in “Full” mode).
It is possible to display this indicator several times on a chart (up to 3 indicators max with the Basic TradingView Plan and more with the paid plans), with different configurations: For example:
• 1-Stochastic - 2/4 Combined Signals - no Label displayed
• 1-RSI - Combined Signals 3/4 - Stop Label only displayed
• 1-KDJ - Combined Signals 4/4 - the 3 Labels displayed
• 1-EMA'3 - Non-combined signals (EMA only) - Trend Label displayed
Some indicators have filters / thresholds that can be configured according to your convenience and experience!
The choice of indicator colors is suitable for a graph with a "dark" theme, which you will probably need to modify for visual comfort, if you are using a "Light" mode or a custom mode.
This script is an indicator that you can run on standard chart types. It also works on non-standard chart types but the results will be skewed and different.
Non-standard charts are:
• Heikin Ashi (HA)
• Renko
• Kagi
• Point & Figure
• Range
As a reminder: No indicator is capable of providing accurate signals 100% of the time. Every now and then, even the best will fail, leaving you with a losing deal. Whichever indicator you base yourself on, remember to follow the basic rules of risk management and capital allocation.
BINANCE:BTCUSDT
**********************************************************************************************************************************************************************************************************************************************************************************
! Français !
Combo 4+ KDJ STO RSI EMA3 Visual Trend Pine V5@RL
Combo 4+ KDJ STO RSI EMA3 Visual Trend Pine V5@RL est un indicateur visuel de suivi de tendance qui regroupe et combine quatre indicateurs de suivi de tendance. Il est compilé en langage PINE Script Version V5.
• STOCH : Stochastique.
• RSI Divergence : Relative Strength Index Divergence. La Divergence RSI est une différence entre un RSI rapide et un RSI lent.
• KDJ : KDJ Indicateur. (indicateur de suivi de tendance).
• EMA Triple : 3 moyennes mobiles exponentielles (Affichage par défaut).
Cet indicateur est destiné à aider les débutants (et aussi les plus confirmé) à trader à dans le bon sens de la tendance du marché. Il permet d'éviter les erreurs qui consistent à toujours trader à contre tendance.
Les codes de calcul des différents indicateurs utilisés sont des codes publics standards utilisés dans le codage habituel de TradingView pour ces indicateurs !
Le script de calcul de l’indicateur STO est issu du calcul standard du STOCH de TradingView.
Le script de calcul de l’indicateur RSI Div est une réplique de celui créé par @Shizaru.
Le script de calcul de l’indicateur KDJ est une réplique de celui créé par @iamaltcoin.
Le script de calcul de l’indicateur Triple EMA est une réplique de celui créé par @jwilcharts
Cet indicateur peut être configuré à votre convenance. Il peut même être utilisé plusieurs fois sur le même graphique (multi-instance), avec des configurations différentes ou affichage d’un autre indicateur parmi les quatre qui le composent, selon vos besoins ou vos goûts.
Un seul tracé, parmi les 4 indicateurs qui le composent, peut être affiché à la fois mais, soit avec sa propre tendance soit avec la tendance des 4 (3 par défaut) indicateurs combinés (couleur de fond vente=vert ou achat=rouge).
Les indications de tendance (zones de vente ou d’achat potentielles) sont affichés sous la forme de couleur de fond (Haussier : vert ou baissier : rouge) lorsque au moins trois des quatre indicateurs (3 par défaut et configurable de 1 à 4) supposent que le marché évolue dans la même direction. Ces indications de tendance peuvent être configuré et affichés, soit uniquement pour le signal de l’indicateur choisi et affiché, soit pour les signaux des quatre indicateurs ensemble et combinés (ET logique).
Vous pouvez accorder les paramètres d’entrée, de style et de visibilité de chacun des indicateurs pour correspondre à vos propres préférences ou habitudes.
Un signal ‘stop achat’ ou ‘stop vente’ est affiché (layouts) sous la forme d’un carré de couleur (vert pour ‘stop achat’ et rouge pour ‘stop vente’. Ces signaux ‘stop’ peuvent être configuré et affichés, soit uniquement pour l’indicateur choisi, soit pour les quatre indicateurs ensemble et combinés (OU logique).
A noter que la présence d’un signal Stop Long annule la couleur de fond de la tendance Long (vert).
De même, la présence d’un signal Stop Short annule la couleur de fond de la tendance Short (rouge).
Il est aussi composé de 3 étiquettes (Labels) :
• Trend Label (infos de tendance)
• Signal Stop Label (signaux « Stop » achat ou vente)
• Infos Label (Noms des indicateurs Long/Short/Stop Long/Stop Short,
et /Open/Close/High/Low )
Chaque label est configurable (visibilité et position sur le graphique).
• Label Trend : indique le nombre d’indicateurs suggérant une même tendance (Long ou Short) ainsi qu’un indice de force (PWR) de cette tendance :
Par exemple : 3 indicateurs en tendance Short, 1 indicateur en tendance Long et 1 indicateur en tendance neutre donnera :
PWR SHORT = 2/4. (3 indicateurs Short – 1 indicateur Long=2 Pwr Short).
Et si PWR=0 alors l’affichage est « Wait and See » (Attendre et Observer).
Il indique aussi quel indicateur actuel est affiché et le mode d’affichage utilisé (combiné 1 à 4 indicateurs ou non combiné ).
• Signal Stop Label : Indique un possible arrêt de la tendance en cours.
• Infos Label (Simple ou complet) donne les infos de tendance de chacun des 4 indicateurs et les infos OHLC du graphique (en mode « Complet »).
Il est possible d’afficher ce même indicateur plusieurs fois sur un graphique (jusqu’à 3 indicateurs max avec le Plan Basic TradingView et plus avec les plans payants), avec des configurations différentes :
Par exemple :
• 1-Stochastique – Signaux Combinés 2/4 – aucun Label affiché
• 1-RSI – Signaux Combinés 3/4 – Label Stop uniquement affiché
• 1-KDJ – Signaux Combinés 4/4 – les 3 Labels affichés
• 1-EMA’3 - Signaux Non combinés (EMA seuls) – Trend Label affiché
Certains indicateurs ont des filtres/seuils (Thresholds) configurables selon votre convenance et votre expérience !
Le choix des couleurs de l’indicateur est adapté pour un graphique avec thème « sombre », qu’il vous faudra probablement modifier pour le confort visuel, si vous utilisez un mode « Clair » ou un mode personnalisé.
Ce script est un indicateur que vous pouvez exécuter sur des types de graphiques standard. Il fonctionne aussi sur des types de graphiques non-standard mais les résultats seront faussés et différents.
Les graphiques Non-standard sont :
• Heikin Ashi (HA)
• Renko
• Kagi
• Point & Figure
• Range
Pour rappel : Aucun indicateur n’est capable de fournir des signaux précis 100% du temps. De temps en temps, même les meilleurs échoueront, vous laissant avec une affaire perdante. Quel que soit l’indicateur sur lequel vous vous basez, n’oubliez pas de suivre les règles de base de gestion des risques et de répartition du capital.
BINANCE:BTCUSDT
Hx MTF Sorted MAs Panel with Freeze WarningThis script displays the close price and 4 sorted moving averages of your choice in a small repositionable panel and, when used on a higher timeframe, warns you when values may be different from actual values in the higher timeframe, inciting you to double check the actual values of the moving averages in the higher timeframe the panel is supposed to reflect.
The 4 moving averages and close are sorted together, providing you with a bird’s-eye view of their relative positions, the same way moving averages and last price values are displayed on the right scale.
The black header reminds of:
(1) the timeframe (resolution) used in the panel
(2) the remaining time before a new bar is created in the panel timeframe. Note that this remaining time is different from the one on the right scale, since it is only updated when a new transaction occurs.
Below, price and moving averages are sorted, color coded and followed by:
(1) a trend indicator ↗ or ↘ meaning that last change is up or down
(2) the number of bars since the moving average is above or below close (0 means current bar). This is obviously not displayed after the close price line (white background color).
Use
This panel was basically developed to display higher timeframe data but it can also be used with the same timeframe as chart for example if you do not want to plot moving averages on your chart but are still interested in their trends and relative positions vs price.
If you see something strange (like header is not black and displays NaN), it just means you requested moving averages that are not available in the panel timeframe. This may happen with newly introduced cryptos and “long” MA timeframes.
Different Timeframe
If you choose to use the panel on a different timeframe than the current one, be aware that you should only use timeframes higher than the current one, as per Tradingview recommendations.
If you select a lower timeframe than the current one, the panel timeframe header cell will turn to the alert color you set (fuchsia by default).
After tinkering for a while with the security function, I noticed that sometimes indicator values “freeze” (i.e. stop udating) and I have found no workaround.
What I mean is that when you look at a sma on a 5 minutes timeframe (the reference) and look at this same sma on a 5 minutes timeframe but from a lower timeframe through the security function set with a timeframe of 5 minutes, values returned by the security function are not always up to date and “freeze”. That’s the bad news.
Freeze warning
The better news is that this unexpected behaviour seems to be predictable, at least on minutes timeframes and I implemented an indicator that endeavors to detecting such situations. When the panel believes data may be frozen, the ‘Remaining Time’ header cell will turn to the alert color.
This feature is only implemented on minutes timeframes and can be switched on or off.
Other points of interest in this script
If you code, this function may also interest you:
sortWithIndexes (arrayToSort) returns a tuple (sortedArray, sortedIndexes) and therefore allows multi-dimensional arrays sorting without actually implementing a sorting algorithm 😉.
Default Settings
The default settings provide an example of commonly used moving averages with associated colors ranked from Hot (more nervous) to Cold (less nervous).
These settings are just an example and are NOT meant to be used as a trading system! DYOR!
Hope it will be useful.
Does the Freeze warning work for you? What do you think of my pseudo sorting algorithm?
Enjoy and please let me know what you think in the comments.
[CP]Pivot Boss Candlestick Scanner - No Repainting This indicator is based on the high probability candlestick patterns described in the ’Secrets of a Pivot Boss’ book.
The indicator does not suffer from repainting.
I have kept this indicator open source, so that you can take this indicator and design a complete trading system around it.
Although the patterns have some statistical edge in the markets, blindly using them as Buy/Sell Indicators will certainly result in a heavy loss.
I like some of these setups more than others, and I have listed them in the order of my likeness.
The first one I like the most, the last one, I like the least.
The patterns are universal and work well in both intraday, daily and even larger timeframes.
Signals in the example charts are manually marked by,
Hammer - profitable short signal
Rocket - profitable long signal
X - unprofitable long or short signal
GENERAL USER INPUTS:
These settings exist as the indicator uses ‘Labels’ to mark the patterns and Pine Script limits a maximum of 500 labels on a chart.
If you want to go back in the past and check how the indicator was doing, set the Start and End dates both and check the ’Use the date range above to mark the Candlestick Setups?’ option.
EXTREME REVERSAL SETUP:
This is by far my favorite setup in the lot. Classic Mean Reversion setup.
The logic, as explained in the book, goes like this,
1. The first bar of the pattern is about two times larger than the average size of the candles in the lookback period.
2. The body of the first bar of the pattern should encompass more than 50 percent of the bar’s total range, but usually not more than 85 percent.
3. The second bar of the pattern opposes the first.
The setup works extremely well in high beta stocks like Vedanta VEDL.
Feel free to play with the settings in order to better align this pattern with your favorite stock.
Check out the examples below,
No indicator is perfect, failed patterns are marked with an X.
OUTSIDE REVERSAL SETUP:
My second favorite setup, it is quite good at catching intraday trends.
Here’s the logic,
1. The engulfing bar of a bullish outside reversal setup has a low that is below the prior bar’s low and a close that is above the prior bar’s high. Reverse the conditions for bearish outside reversal.
2. The engulfing bar is usually 5 to 25 percent larger than the size of the average bar in the lookback period.
Settings for this pattern simply reflect these conditions. Feel free to modify them as you wish.
The pattern is pretty powerful and will sometimes help you catch literally all the highs and lows of the market, as shown in the examples of Vedanta VEDL and RELIANCE stocks below.
As usual, this pattern is not PERFECT either.
DOJI REVERSAL SETUP:
Doji candles signify market indecision and this pattern tries to profit off these market conditions.
Logic:
1. The open and close price of the doji should fall within 10 percent of each other, as measured by the total range of the candlestick.
2. For a bullish doji, the high of the doji candlestick should be below the ten-period simple moving average. Vice-versa for bearish.
3. For a bullish doji setup, one of the two bars following the doji must close above the high of the doji. Vice-versa for bearish.
Feel free to modify the settings and optimize according to the stock you are trading.
Don't optimize too much :)
This pattern works brilliantly well on larger intraday timeframes, like 15m/30m/60m.
This pattern also has a higher propensity to give false indications than the two described above.
Doji reversal typically helps to catch larger trend reversals. Check out the examples below from RELIANCE and NIFTY charts,
Note that the RELIANCE chart below is the same as shown for the Outside Reversal Setup above, notice the confluence of Outside
Reversal and Doji Reversal on the 31st August.
Confluence of patterns usually increases the probability of success.
RELIANCE 15m Chart - Pattern can catch nice trends on higher timeframes
NIFTY 15m Chart
WICK REVERSAL SETUP:
This pattern tries to capture candlesticks with large wick sizes, as they often indicate trend reversal when coupled with significant support and resistance levels.
Logic:
1. The body is used to determine the size of the reversal wick. A wick that is between 2.5 to 3.5 times larger than the size of the body is ideal.
2. For a bullish reversal wick to exist, the close of the bar should fall within the top 35 percent of the overall range of the candle.
3. For a bearish reversal wick to exist, the close of the bar should fall within the bottom 35 percent of the overall range of the candle.
This pattern must always be coupled with important support resistance levels, else there will be a lot of false signals.
The chart below is the same NIFTY chart as above with the Wick Reversal candles marked as well.
You can see that there are a lot of false signals, but the price also indicates ’pausing’ at important levels by printing a wick reversal setup.
You can use this information to your advantage when riding a trend.
FINAL WORDS:
Settings for various patterns simply reflect the logic described.
You will probably need to tweak and optimize the pattern settings for the stock that you are trading.
Higher Beta/Higher Volatility stocks are a great choice for these patterns.
Using these patterns at critical support and resistance levels will result in dramatically high accuracy.
Be creative and try to develop a proper system around this indicator, with rules for position sizing, stop loss etc.
You do not have to trade all the patterns. Even trading just one pattern with a proper system is good enough.
DO NOT USE THIS INDICATOR AS A BUY/SELL SYSTEM, YOU WILL LOSE MONEY.
Feel free to drop any feedback in the comments section below, or if you have any unique candlestick patterns that you would like me to code.
Chikou Span 'Open Space' ColorsThe Ichimoku Clouds strategy has been one of my favorite scripts to work with since I came across it a few months ago, so I thought I'd share one of the automated features I created for the strategy.
For the purpose of this script, I'll only explain the Chikou Span aspect of it since there are plenty of other explanations about Ichimoku Clouds.
The Chikou Span is one of the most useful aspects of the Ichimoku Clouds strategy despite it not being used in most people's strategies. It is calculated by simply taking the current closing value and plotting it backwards 26 bars. The Chikou Span is used to identify large trend moves and trend reversals by what is referred to as 'open space'. This occurs when the Chikou Span is not intersecting any candlestick within 10 bars (if you were to draw a horizontal line from the tip of the Chikou Span, it would not touch any part of a candle within 10 bars).
The purpose of this script is to better identify the Chikou Span reaching 'open space' by coloring the Chikou Span's line:
- Green when it is in upwards open space (bullish trend), and
- Red when it is in downwards open space (bearish trend).
I've also included my personal color scheme for the Ichimoku Clouds strategy as well as inputs to turn on/off every aspect of the strategy.
** Disclaimer: THIS IS NOT TRADING ADVICE. The Chikou Span should not be used on its own to make any trades. When trading with the Ichimoku Cloud strategy, one should utilize all 5 lines of the strategy to make realistic trades. If you'd like to learn more, I'd recommend reading "Trading with Ichimoku Clouds - The Essential Guide to Ichimoku Kinko Hyo Technical Analysis" **
Six Moving Averages Study (use as a manual strategy indicator)I made this based on a really interesting conversation I had with a good friend of mine who ran a long/short hedge fund for seven years and worked at a major hedge fund as a manager for 20 years before that. This is an unconventional approach and I would not recommend it for bots, but it has worked unbelievably well for me over the last few weeks in a mixed market.
The first thing to know is that this indicator is supposed to work on a one minute chart and not a one hour, but TradingView will not allow 1m indicators to be published so we have to work around that a little bit. This is an ultra fast day trading strategy so be prepared for a wild ride if you use it on crypto like I do! Make sure you use it on a one minute chart.
The idea here is that you get six SMA curves which are:
1m 50 period
1m 100 period
1m 200 period
5m 50 period
5m 100 period
5m 200 period
The 1m 50 period is a little thicker because it's the most important MA in this algo. As price golden crosses each line it becomes a stronger buy signal, with added weight on the 1m 50 period MA. If price crosses all six I consider it a strong buy signal though your mileage may vary.
*** NOTE *** The screenshot is from a 1h chart which again, is not the correct way to use this. PLEASE don't use it on a one hour chart.
Color Gradient Framework [PineCoders]█ OVERVIEW
This indicator shows how you can use the new color functions in Pine to generate color gradients. We provide functions that will help Pine coders generate gradients for multiple use cases using base colors for bull and bear states.
█ CONCEPTS
For coders interested in maximizing the use of color in their scripts, TradingView has added new color functions and new functionality to existing functions. For us coders, this translates in the ability to generate colors on the fly and use dynamic colors ("series color") in more places.
New functions allow us to:
• Generate colors dynamically from calculated RGBA components ("A" is the Alpha channel, known to Pine coders as the "transparency"). See color.rgb() .
• Extract RGBA components from existing colors. See color.r() , color.g() , color.b() and color.t() .
• Generate linear gradients between two colors. See color.from_gradient() .
Improvements to existing color/plotting functions allow more flexible use of color:
• plotcandle() now accepts a "series color" argument for its `wickcolor` and `bordercolor` parameters.
• plotarrow() now accepts a "series color" argument for its `colorup` and `colordown` parameters.
Gradients are not only useful to make script visuals prettier; they can be used to pack more information in your displays. Our gradient #4 goes overboard with the concept by using a different gradient for the source line, its fill, and the background.
█ OUR SCRIPT
The script presents four functions to generate gradients:
f_c_gradientRelative(_source, _min, _max, _c_bear, _c_bull)
f_c_gradientRelativePro(_source, _min, _max, _c_bearWeak, _c_bearStrong, _c_bullWeak, _c_bullStrong)
f_c_gradientAdvDec(_source, _center, _c_bear, _c_bull)
f_c_gradientAdvDecPro(_source, _center, _steps, _c_bearWeak, _c_bearStrong, _c_bullWeak, _c_bullStrong)
The relative gradient functions are useful to generate gradients on a source that oscillates between known upper/lower limits. They use the relative position of the source between the `_min` and `_max` levels to generate the color. A centerline is derived from the `_min` and `_max` levels. The source's position above/below that centerline determines if the bull/bear color is used, and the relative position of the source between the centerline and the max/min level determines the gradient of the bull/bear color.
The advance/decline gradient functions are useful to generate gradients on a source for which min/max levels are unknown. These functions use source advances and declines to determine a gradient level. The `f_c_gradientAdvDec()` version uses the historical maximum of advances/declines to determine how many correspond to the strongest bull/bear colors, making its gradients adaptive. The `f_c_gradientAdvDecPro()` version requires the explicit number of advances/declines that correspond to the strongest bull/bear colors. This is useful when coloring chart bars, for example, where too many gradient levels are difficult to distinguish. Using the Pro version of the function allows you to limit the number of gradient levels to 5, for example, so that transitions are fewer, but more obvious. The `_center` parameter of the advance/decline functions allows them to determine which of the bull/bear colors to use.
Note that the custom `f_colorNew(_color, _transp)` function we use in our script should soon no longer be necessary, as changes are under way to allow color.new() to accept series arguments.
Inputs
The script's inputs demonstrate one way you can allow users to choose base bull/bear colors. Because users can modify any of the colors, only two are technically needed: one for bull, one for bear, as we do for the configuration of the bull/bear colors for the background in the gradient #4 configuration. Providing a few presets from which users can choose can be useful for color-challenged script users, but that type of inputs has the disadvantage of not rendering optimally in all OS/Browser environments.
You can use the inputs to select one of eight gradient demonstrations to display.
█ THANKS
Thanks to the PineCoders team for validating the code and description of this publication.
Thanks also to the many TradingView devs from multiple teams who made these improvements to Pine colors possible.
Look first. Then leap.
Stan Weinstein 30-week Moving AverageStan Weinstein's book 'Secrets for Profiting in Bull and Bear Markets' is without doubt one of the classics books traders read.
Weinstein said that at any one point in time, a stock (or an index) will be in one of four market "stages":
Stage 1 the Basing Area (also known as consolidation or accumulation phase)
Stage 2 the Advancing Stage
Stage 3 the Top Area (also known as the distribution phase), or
Stage 4 the Declining Stage
One of the concepts from the book that became classic is the definition of the four stages a stock can be in. These stages basically classify the different periods in the lifetime of a stock. An important thing to understand is that Weinstein uses weekly charts and identifies the current stage based on the direction on the 30 week moving average.
This script plots the 30 week moving average and the 150 day moving average.
Gann Circle Intraday LevelsThis indicator is an intraday version of Gann Circle Swing Levels indicator. It further divides the Gann Circle into the Eighths in order to generate intraday Levels.
Introduction
This indicator is based on W. D. Gann's Square of 9 Chart and can be interpreted as the Gann Circle / Gann Wheel / 360 Degree Circle Chart or Square of the Circle Chart for intraday usage.
Spiral arrangement of numbers on the Square of 9 chart creates a very unique square root relationship amongst the numbers on the chart. If you take any number on the Square of 9 chart, take the square root of the number, then add 2 to the root and re-square it, resulting in one full 360 degree cycle (i.e. a 360 degree Circle) out from the center of the chart.
For example,
the square root of 121 = 11,
11 + 2 = 13,
and the square of 13 = 169
The number 169 is one full 360 degree cycle out (with reference to 121) from the center of the Square of 9 chart. If we further divide the circle in eight equal parts of 45 degree each, following intermediate resistance levels (ascending) would be generated:
127 (45 degree)
133 (90 degree)
139 (135 degree)
145 (180 degree)
151 (225 degree)
157 (270 degree)
163 (315 degree)
Similarly, if you take any number on the Square of 9 chart, take the square root of the number, then subtract 2 from the root and re-square it, resulting in one full 360 degree inward rotation towards the center of the chart.
For example,
the square root of 565 = 23.77,
23.77 - 2 = 21.77,
and the square of 21.77 = 473.93 (approximately equal to 474, which is directly below 565 on the Square of 9 chart)
The number 474 is one full 360 degree inward rotation (with reference to 565) towards the center of the chart. If we further divide the circle in eight equal parts of 45 degree each, following intermediate support levels (descending) would be generated:
553 (45 degree)
541 (90 degree)
529 (135 degree)
518 (180 degree)
507 (225 degree)
496 (270 degree)
485 (315 degree)
How to Use this Indicator ?
This indicator is designed to generate Gann Circle Intraday Levels based on HIGH and LOW of the opening bar for the day. You may use the bar interval (1 minute, 3 minutes, 5 minutes, 15 minutes etc.) which is suitable for the underlying instrument. Support and resistance lines for the day would be generated only after confirmation of the opening bar of the day.
Input :
Number of Gann Levels (Number of Gann Levels to be projected)
Color codes for the Support and Resistance Levels
Output :
Gann Support or Resistance Levels:
HIGH and LOW of the Opening bar for the day (dashed BLUE lines)
Support levels calculated with reference to the HIGH of the opening bar
Resistance levels calculated with reference to the LOW of the opening bar
Repulse-AORepulsion Engine is a proof of concept for a series of indicators using repulsion, as re-contextualized from the following:
www.quantamagazine.org
In my view, the technique is unique, and therefore a new category of indicator, but that distinction will, obviously, be left to the community and to the moderators. One thing that can be said is repulsion appears to be applicable to more than RSI, and while it's not featured here, it has been tested in other related work using SMA, EMA and HMA signal artefacts. Still, the script is raw and not overly clean. One might hope for a git-like versioning system and vertically oriented script window, but that would be playing the blame game, and I would lose that battle. Trading View is awesome as it is and getting better all the time.
This script features an experimental oscillator branch, also utilising some off-in-left-field number theory by which a link is posited to have been made to a fractal domain, around which the oscillator 'more subtly' picks up price movement. Three interrelated pairs are involved, but to avoid long-winded explanation, you might want to just play with changing out XRPUSDT and XRPBTC for two other similarly related securities. Several other scripts on the workbench over here automate this process.
No doubt, more able programmers will easily enhance this and other scripts which arise. If there's interest in this one, more of the raw 'it's not really ready' scripts will likely follow, so people can dig in and do their own mashups sooner rather than later, tossing what is bad and enhancing what is good.
It might be better, and garner a lot less flaming, if this indicator is described as experimental all the way through.
Stubs are present here for users to test performance on their own.
I hope you get something out of it, and if you make one of your own or move this along to a higher standard that you drop me a line to let me know. I'm always eager to learn and to grow.
Gann Circle Swing LevelsThis indicator is based on W. D. Gann's Square of 9 Chart and can be interpreted as the Gann Circle / Gann Wheel / 360 Degree Circle Chart or Square of the Circle Chart.
Spiral arrangement of numbers on the Square of 9 chart creates a very unique square root relationship amongst the numbers on the chart. If you take any number on the Square of 9 chart, take the square root of the number, then add 2 to the root and re-square it, resulting in one full 360 degree cycle (i.e. a 360 degree Circle) out from the center of the chart.
For example,
the square root of 121 = 11,
11 + 2 = 13,
and the square of 13 = 169
The number 169 is one full 360 degree cycle out (with reference to 121) from the center of the Square of 9 chart.
Similarly, if you take any number on the Square of 9 chart, take the square root of the number, then subtract 2 from the root and re-square it, resulting in one full 360 degree inward rotation towards the center of the chart.
For example,
the square root of 565 = 23.77,
23.77 - 2 = 21.77,
and the square of 21.77 = 473.93 (approximately equal to 474, which is directly below 565 on the Square of 9 chart)
The number 474 is one full 360 degree inward rotation (with reference to 565) towards the center of the chart.
How to Use this Indicator ?
This indicator is useful for finding coordinate squares on the Gann Circle that are making hard aspects to a previous position (such as a significant top or bottom) on the circle.
Input :
Swing Point (Significant price point, such as a top or a bottom)
Low / High ? (Is it a bottom or a top)
Number of Gann Levels (Number of Gann Cycles to be projected)
Output :
Gann Support or Resistance Levels (color coded as follows) :
Swing High or Swing Low (BLUE)
Support levels calculated with reference to the Swing High (RED)
Resistance levels calculated with reference to the Swing Low (LIME)
Peak Reversal v2This is a brand new version of my Peak Reversal indicator. As with the older version, the idea behind this indicator is simple: identify potential price reversal areas, and identifying markets which are trending. In this new version I focused on improving on the old concept, but introduced a bunch of features heavily inspired by Adam Grimes' ideas from The Art and Science of Trading. (I also blatantly stole the way he colors candles outside of the bands. Sorry.)
As you can see below this indicator gives traders a plethora of tools to judge whether a market is trending, and might be mean reverting soon.
Follow me, join my group, like the script. You know the drill.
Basic functions:
You have a triplet of Keltner (ATR-based) bands in Peak Reversal. They are defined by a multiplier and an EMA, which is referred to as "the mean". There's a tight, normal, and an extreme band. The multiplier defines how far apart your bands are. By default the indicator uses 1.125, 2.25, and 3.375. The tight band is off by default, but you can turn it on in the options. The mean is also off by default. This is more a personal preference thing for me, because I happen to use a different indicator to show a couple of moving averages.
Band crosses:
Peak Reversal can indicate whenever price crosses one of the bands. This can help traders identify points where a mean reversal play could be an option. Triangles indicate these crosses. New in version 2 is the ability to choose which of the bands to use to show these crosses. If you are more of an aggressive trader, you might find it better to show tight band crosses. If you are looking for more extreme market conditions, then choose extreme. The default is "normal".
Free bars:
Indicating free bars is also a concept from the book. A "free bar" is one which stands "freely" above the bands, which means its low price is completely outside of the bands. It can be argued that a freely standing bar is an even more extreme mean deviation, than just a band cross. Traders can gain an additional advantage studying the markets this way. Free bars are not shown by default, when on, a star shape on the candles indicates free bars. Both band crosses and free bars can be shown at the same time, but there might be overlap.
Deviations:
Also based on a concept from The Art and Science of Trading, is an indication of price "deviations". You will notice that when a candle "touches" a band (high and close above band), its colored. The idea here is to show traders when a market is in motion, but also when a mean reversal might be coming next. To accomplish this, the more colors deviate, the darker the color is. The idea here is also simple, the more price deviates off the mean, the likelier it is to return to it. This uses three different shades to show these deviations. 1-2 is one shade, 3-4 another, and upwards of 5 there's only the darkest shade. I didn't make extensive studies, which color for how many candles would be appropriate to use, but I do believe it doesn't matter that much in usage. It's clear what traders gain from using this information: more deviation, the likelier a snapback becomes.
Advanced mode:
Last but not least, I decided to add an advanced mode for advanced traders. This does nothing more than flip all colors and shapes upside down. Everything that is red, becomes green. The idea is where some traders say "buy low, sell high" (standard mode), other traders might say "buy high, sell higher" (advanced mode). See for yourself, which one you like better.
3SMA + Ichimoku 2leadlineThis indicator simultaneously displays two lines, which are the leading spans of the Ichimoku Kinko Hyo, and three simple moving averages.
To make it easier to distinguish between the simple moving average line and the line of the Ichimoku Kinko Hyo, the simple moving average line is set to level 2 thickness by default.
Also, the color of Reading Span 1 in the Ichimoku Kinko Hyo has been changed from green to lime to improve color visibility.
I (author of this indicator) use this indicator especially as a simple perspective on the cryptocurrency BTC / USD(USDT).
If this indicator is a problem, moderators don't know about tradingview beginners.
" Visibility " should be a high-priority item not only for indicators but also for graph requirements.
Visibility is one of the most important factors for investors who have to make instant decisions in one minute and one second.
The purpose of this indicator is to display two leading spans that are easily noticed in the Ichimoku cloud and three simple moving averages whose set values can be changed.
This is because chart analysis often uses a combination of a simple moving average of three periods and two lead spans of the Ichimoku cloud.
Also, in chart analysis, green is often displayed with the same thickness on both the moving average line and the Ichimoku cloud.
Therefore, if the moving average line and the Ichimoku cloud often use the same green color, the visibility will drop. Therefore, the green color of Ichimoku cloud was changed to lime color by default.
Tradingview beginners often refer only to the two lines of the leading span of Ichimoku Cloud. Therefore, we decided not to draw lines that are difficult to use.
Many Tradingview beginners don't know that you can change the thickness of the indicator .
Therefore, this indicator shows by DEFAULT the three commonly used simple moving averages that are thickened by one step at the same time.
Also, since the same green color is often used for the Ichimoku cloud and the moving average line, the green color of the preceding span of the Ichimoku cloud is changed to lime color by default.
The originality of this indicator is that it enhances " visibility " so that novice tradingview users will not be confused on the chart screen.
The lines other than the preceding span of the Ichimoku cloud are not displayed, and the moving average line is level 2 thick so that the user can easily see it.
This indicator not only combines a simple moving average and Ichimoku cloud, but also improves "visibility" by not incorporating lines that are difficult to see from the beginning and making it only the minimum display, making it easy for beginners to understand. The purpose is to do.
If any of the other TradingView indicators already meet the following, acknowledge that this indicator is not original.
・Display 3 simple moving averages at the same time
・For visibility, the thickness of the simple moving average line is set to level 2 from the beginning.
・A setting that does not dare to draw lines other than the lead span of Ichimoku cloud.
・Make the moving average line and the Ichimoku cloud line different colors and thicknesses from the beginning.
Flawless Victory Strategy - 15min BTC Machine Learning StrategyHello everyone, I am a heavy Python programmer bringing machine learning to TradingView. This 15 minute Bitcoin Long strategy was created using a machine learning library and 1 year of historical data in Python. Every parameter is hyper optimized to bring you the most profitable buy and sell signals for Bitcoin on the 15min chart. The historical Bitcoin data was gathered from Binance API, in case you want to know the best exchange to use this long strategy. It is a simple Bollinger Band and RSI strategy with two versions included in the tradingview settings. The first version has a Sharpe Ratio of 7.5 which is amazing, and the second version includes the best stop loss and take profit positions with a Sharpe Ratio of 2.5 . Let me talk a little bit more about how the strategy works. The buy signal is triggered when close price is less than lower Bollinger Band at Std Dev 1, and the RSI is greater than a certain value. The sell signal is triggered when close price is greater than upper Bollinger Band at Std Dev 1, and the RSI is greater than a certain value. What makes this strategy interesting is the parameters the Machine Learning library found when backtesting for the best Sharpe Ratio. I left my computer on for about 28 hours to fully backtest 5000 EPOCHS and get the results. I was able to create a great strategy that might be one of TradingView's best strategies out on the website today. I will continue to apply machine learning to all my strategies from here on forward. Please Let me know if you have any questions or certain strategies you would like me to hyper optimize for you. I'm always willing to create profitable strategies!
P.S. You can always pyramid this strategy for more gains! I just don't add pyramiding when creating my strategies because I want to show you the true win/loss ratio based buying one time and one selling one time. I feel like when creating a strategy that includes pyramiding right off the bat falsifies the win rate. This is my way of being transparent with you all. Have fun trading!
Monte Carlo Range Forecast [DW]This is an experimental study designed to forecast the range of price movement from a specified starting point using a Monte Carlo simulation.
Monte Carlo experiments are a broad class of computational algorithms that utilize random sampling to derive real world numerical results.
These types of algorithms have a number of applications in numerous fields of study including physics, engineering, behavioral sciences, climate forecasting, computer graphics, gaming AI, mathematics, and finance.
Although the applications vary, there is a typical process behind the majority of Monte Carlo methods:
-> First, a distribution of possible inputs is defined.
-> Next, values are generated randomly from the distribution.
-> The values are then fed through some form of deterministic algorithm.
-> And lastly, the results are aggregated over some number of iterations.
In this study, the Monte Carlo process used generates a distribution of aggregate pseudorandom linear price returns summed over a user defined period, then plots standard deviations of the outcomes from the mean outcome generate forecast regions.
The pseudorandom process used in this script relies on a modified Wichmann-Hill pseudorandom number generator (PRNG) algorithm.
Wichmann-Hill is a hybrid generator that uses three linear congruential generators (LCGs) with different prime moduli.
Each LCG within the generator produces an independent, uniformly distributed number between 0 and 1.
The three generated values are then summed and modulo 1 is taken to deliver the final uniformly distributed output.
Because of its long cycle length, Wichmann-Hill is a fantastic generator to use on TV since it's extremely unlikely that you'll ever see a cycle repeat.
The resulting pseudorandom output from this generator has a minimum repetition cycle length of 6,953,607,871,644.
Fun fact: Wichmann-Hill is a widely used PRNG in various software applications. For example, Excel 2003 and later uses this algorithm in its RAND function, and it was the default generator in Python up to v2.2.
The generation algorithm in this script takes the Wichmann-Hill algorithm, and uses a multi-stage transformation process to generate the results.
First, a parent seed is selected. This can either be a fixed value, or a dynamic value.
The dynamic parent value is produced by taking advantage of Pine's timenow variable behavior. It produces a variable parent seed by using a frozen ratio of timenow/time.
Because timenow always reflects the current real time when frozen and the time variable reflects the chart's beginning time when frozen, the ratio of these values produces a new number every time the cache updates.
After a parent seed is selected, its value is then fed through a uniformly distributed seed array generator, which generates multiple arrays of pseudorandom "children" seeds.
The seeds produced in this step are then fed through the main generators to produce arrays of pseudorandom simulated outcomes, and a pseudorandom series to compare with the real series.
The main generators within this script are designed to (at least somewhat) model the stochastic nature of financial time series data.
The first step in this process is to transform the uniform outputs of the Wichmann-Hill into outputs that are normally distributed.
In this script, the transformation is done using an estimate of the normal distribution quantile function.
Quantile functions, otherwise known as percent-point or inverse cumulative distribution functions, specify the value of a random variable such that the probability of the variable being within the value's boundary equals the input probability.
The quantile equation for a normal probability distribution is μ + σ(√2)erf^-1(2(p - 0.5)) where μ is the mean of the distribution, σ is the standard deviation, erf^-1 is the inverse Gauss error function, and p is the probability.
Because erf^-1() does not have a simple, closed form interpretation, it must be approximated.
To keep things lightweight in this approximation, I used a truncated Maclaurin Series expansion for this function with precomputed coefficients and rolled out operations to avoid nested looping.
This method provides a decent approximation of the error function without completely breaking floating point limits or sucking up runtime memory.
Note that there are plenty of more robust techniques to approximate this function, but their memory needs very. I chose this method specifically because of runtime favorability.
To generate a pseudorandom approximately normally distributed variable, the uniformly distributed variable from the Wichmann-Hill algorithm is used as the input probability for the quantile estimator.
Now from here, we get a pretty decent output that could be used itself in the simulation process. Many Monte Carlo simulations and random price generators utilize a normal variable.
However, if you compare the outputs of this normal variable with the actual returns of the real time series, you'll find that the variability in shocks (random changes) doesn't quite behave like it does in real data.
This is because most real financial time series data is more complex. Its distribution may be approximately normal at times, but the variability of its distribution changes over time due to various underlying factors.
In light of this, I believe that returns behave more like a convoluted product distribution rather than just a raw normal.
So the next step to get our procedurally generated returns to more closely emulate the behavior of real returns is to introduce more complexity into our model.
Through experimentation, I've found that a return series more closely emulating real returns can be generated in a three step process:
-> First, generate multiple independent, normally distributed variables simultaneously.
-> Next, apply pseudorandom weighting to each variable ranging from -1 to 1, or some limits within those bounds. This modulates each series to provide more variability in the shocks by producing product distributions.
-> Lastly, add the results together to generate the final pseudorandom output with a convoluted distribution. This adds variable amounts of constructive and destructive interference to produce a more "natural" looking output.
In this script, I use three independent normally distributed variables multiplied by uniform product distributed variables.
The first variable is generated by multiplying a normal variable by one uniformly distributed variable. This produces a bit more tailedness (kurtosis) than a normal distribution, but nothing too extreme.
The second variable is generated by multiplying a normal variable by two uniformly distributed variables. This produces moderately greater tails in the distribution.
The third variable is generated by multiplying a normal variable by three uniformly distributed variables. This produces a distribution with heavier tails.
For additional control of the output distributions, the uniform product distributions are given optional limits.
These limits control the boundaries for the absolute value of the uniform product variables, which affects the tails. In other words, they limit the weighting applied to the normally distributed variables in this transformation.
All three sets are then multiplied by user defined amplitude factors to adjust presence, then added together to produce our final pseudorandom return series with a convoluted product distribution.
Once we have the final, more "natural" looking pseudorandom series, the values are recursively summed over the forecast period to generate a simulated result.
This process of generation, weighting, addition, and summation is repeated over the user defined number of simulations with different seeds generated from the parent to produce our array of initial simulated outcomes.
After the initial simulation array is generated, the max, min, mean and standard deviation of this array are calculated, and the values are stored in holding arrays on each iteration to be called upon later.
Reference difference series and price values are also stored in holding arrays to be used in our comparison plots.
In this script, I use a linear model with simple returns rather than compounding log returns to generate the output.
The reason for this is that in generating outputs this way, we're able to run our simulations recursively from the beginning of the chart, then apply scaling and anchoring post-process.
This allows a greater conservation of runtime memory than the alternative, making it more suitable for doing longer forecasts with heavier amounts of simulations in TV's runtime environment.
From our starting time, the previous bar's price, volatility, and optional drift (expected return) are factored into our holding arrays to generate the final forecast parameters.
After these parameters are computed, the range forecast is produced.
The basis value for the ranges is the mean outcome of the simulations that were run.
Then, quarter standard deviations of the simulated outcomes are added to and subtracted from the basis up to 3σ to generate the forecast ranges.
All of these values are plotted and colorized based on their theoretical probability density. The most likely areas are the warmest colors, and least likely areas are the coolest colors.
An information panel is also displayed at the starting time which shows the starting time and price, forecast type, parent seed value, simulations run, forecast bars, total drift, mean, standard deviation, max outcome, min outcome, and bars remaining.
The interesting thing about simulated outcomes is that although the probability distribution of each simulation is not normal, the distribution of different outcomes converges to a normal one with enough steps.
In light of this, the probability density of outcomes is highest near the initial value + total drift, and decreases the further away from this point you go.
This makes logical sense since the central path is the easiest one to travel.
Given the ever changing state of markets, I find this tool to be best suited for shorter term forecasts.
However, if the movements of price are expected to remain relatively stable, longer term forecasts may be equally as valid.
There are many possible ways for users to apply this tool to their analysis setups. For example, the forecast ranges may be used as a guide to help users set risk targets.
Or, the generated levels could be used in conjunction with other indicators for meaningful confluence signals.
More advanced users could even extrapolate the functions used within this script for various purposes, such as generating pseudorandom data to test systems on, perform integration and approximations, etc.
These are just a few examples of potential uses of this script. How you choose to use it to benefit your trading, analysis, and coding is entirely up to you.
If nothing else, I think this is a pretty neat script simply for the novelty of it.
----------
How To Use:
When you first add the script to your chart, you will be prompted to confirm the starting date and time, number of bars to forecast, number of simulations to run, and whether to include drift assumption.
You will also be prompted to confirm the forecast type. There are two types to choose from:
-> End Result - This uses the values from the end of the simulation throughout the forecast interval.
-> Developing - This uses the values that develop from bar to bar, providing a real-time outlook.
You can always update these settings after confirmation as well.
Once these inputs are confirmed, the script will boot up and automatically generate the forecast in a separate pane.
Note that if there is no bar of data at the time you wish to start the forecast, the script will automatically detect use the next available bar after the specified start time.
From here, you can now control the rest of the settings.
The "Seeding Settings" section controls the initial seed value used to generate the children that produce the simulations.
In this section, you can control whether the seed is a fixed value, or a dynamic one.
Since selecting the dynamic parent option will change the seed value every time you change the settings or refresh your chart, there is a "Regenerate" input built into the script.
This input is a dummy input that isn't connected to any of the calculations. The purpose of this input is to force an update of the dynamic parent without affecting the generator or forecast settings.
Note that because we're running a limited number of simulations, different parent seeds will typically yield slightly different forecast ranges.
When using a small number of simulations, you will likely see a higher amount of variance between differently seeded results because smaller numbers of sampled simulations yield a heavier bias.
The more simulations you run, the smaller this variance will become since the outcomes become more convergent toward the same distribution, so the differences between differently seeded forecasts will become more marginal.
When using a dynamic parent, pay attention to the dispersion of ranges.
When you find a set of ranges that is dispersed how you like with your configuration, set your fixed parent value to the parent seed that shows in the info panel.
This will allow you to replicate that dispersion behavior again in the future.
An important thing to note when settings alerts on the plotted levels, or using them as components for signals in other scripts, is to decide on a fixed value for your parent seed to avoid minor repainting due to seed changes.
When the parent seed is fixed, no repainting occurs.
The "Amplitude Settings" section controls the amplitude coefficients for the three differently tailed generators.
These amplitude factors will change the difference series output for each simulation by controlling how aggressively each series moves.
When "Adjust Amplitude Coefficients" is disabled, all three coefficients are set to 1.
Note that if you expect volatility to significantly diverge from its historical values over the forecast interval, try experimenting with these factors to match your anticipation.
The "Weighting Settings" section controls the weighting boundaries for the three generators.
These weighting limits affect how tailed the distributions in each generator are, which in turn affects the final series outputs.
The maximum absolute value range for the weights is . When "Limit Generator Weights" is disabled, this is the range that is automatically used.
The last set of inputs is the "Display Settings", where you can control the visual outputs.
From here, you can select to display either "Forecast" or "Difference Comparison" via the "Output Display Type" dropdown tab.
"Forecast" is the type displayed by default. This plots the end result or developing forecast ranges.
There is an option with this display type to show the developing extremes of the simulations. This option is enabled by default.
There's also an option with this display type to show one of the simulated price series from the set alongside actual prices.
This allows you to visually compare simulated prices alongside the real prices.
"Difference Comparison" allows you to visually compare a synthetic difference series from the set alongside the actual difference series.
This display method is primarily useful for visually tuning the amplitude and weighting settings of the generators.
There are also info panel settings on the bottom, which allow you to control size, colors, and date format for the panel.
It's all pretty simple to use once you get the hang of it. So play around with the settings and see what kinds of forecasts you can generate!
----------
ADDITIONAL NOTES & DISCLAIMERS
Although I've done a number of things within this script to keep runtime demands as low as possible, the fact remains that this script is fairly computationally heavy.
Because of this, you may get random timeouts when using this script.
This could be due to either random drops in available runtime on the server, using too many simulations, or running the simulations over too many bars.
If it's just a random drop in runtime on the server, hide and unhide the script, re-add it to the chart, or simply refresh the page.
If the timeout persists after trying this, then you'll need to adjust your settings to a less demanding configuration.
Please note that no specific claims are being made in regards to this script's predictive accuracy.
It must be understood that this model is based on randomized price generation with assumed constant drift and dispersion from historical data before the starting point.
Models like these not consider the real world factors that may influence price movement (economic changes, seasonality, macro-trends, instrument hype, etc.), nor the changes in sample distribution that may occur.
In light of this, it's perfectly possible for price data to exceed even the most extreme simulated outcomes.
The future is uncertain, and becomes increasingly uncertain with each passing point in time.
Predictive models of any type can vary significantly in performance at any point in time, and nobody can guarantee any specific type of future performance.
When using forecasts in making decisions, DO NOT treat them as any form of guarantee that values will fall within the predicted range.
When basing your trading decisions on any trading methodology or utility, predictive or not, you do so at your own risk.
No guarantee is being issued regarding the accuracy of this forecast model.
Forecasting is very far from an exact science, and the results from any forecast are designed to be interpreted as potential outcomes rather than anything concrete.
With that being said, when applied prudently and treated as "general case scenarios", forecast models like these may very well be potentially beneficial tools to have in the arsenal.
Sharktank - Pi Cycle PredictionThe Pi Cycle indicator has called tops in Bitcoin quite accurately. Assuming history repeats itself, knowledge about when it might happen again could benefit you.
The indicator is fairly simple:
- A daily moving average of 350 ("long_ma" in script)
- A daily moving average of 111 ("short_ma" in script)
The value of the long moving average is multiplied by two. This way the longer moving average appears above the shorter one.
When the shorter one (orange colored) crosses above the longer (green colored) one, it could mean the top is in.
These moving averages rise at a certain rate. Using these rates we could try to estimate a possible crossover moment. That's exactly what this indicator does! It gives the user a prediction of when a crossover might happen.
Special thanks to:
- Ninorigo, for making his indicator public. This one uses his as a starting point.
- The_Caretaker, for coming up with this idea about calling a top. Yet, his is more price-based, this one is more time-based.
Price Action - Support & Resistance by DGTSᴜᴘᴘᴏʀᴛ ᴀɴᴅ Rᴇꜱɪꜱᴛᴀɴᴄᴇ , is undoubtedly one of the key concepts of technical analysis
█ Sᴜᴘᴘᴏʀᴛ ᴀɴᴅ Rᴇꜱɪꜱᴛᴀɴᴄᴇ Dᴇꜰɪɴɪᴛɪᴏɴ
Support and Resistance terms are used by traders to refer to price levels on charts that tend to act as barriers, preventing the price of an financial instrument from getting pushed in a certain direction.
A support level is a price level where buyers are more aggressive than sellers. This means that the price is more likely to "bounce" off this level rather than break through it. However, once the price has breached this level it is likely to continue falling until meeting another support level.
A resistance level is the opposite of a support level. It is where the price tends to find resistance as it rises. Again, this means that the price is more likely to "bounce" off this level rather than break through it. However, once the price has breached this level it is likely to continue rising until meeting another resistance level.
A previous support level will sometimes become a resistance level when the price attempts to move back up, and conversely, a resistance level will become a support level as the price temporarily falls back.
█ Iᴅᴇɴᴛɪꜰʏɪɴɢ Sᴜᴘᴘᴏʀᴛ ᴀɴᴅ Rᴇꜱɪꜱᴛᴀɴᴄᴇ
Support and resistance can come in various forms, and the concept is more difficult to master than it first appears. Identification of key support and resistance levels is an essential ingredient to successful technical analysis.
If the price stalls and reverses in the same price area on minimum of two different occasions, then a horizontal line is drawn to show that the market is struggling to move past that area. Those areas are static barriers, one of the most popular forms of support/resistance and are highlighted with horizontal lines.
Repeated test , the more often a support/resistance level is "tested" over an extended period of time (touched and bounced off by price), the more significance is given to that specific level
High volume , the more buying and selling that has occurred at a particular price level, the stronger the support or resistance level is likely to be
Market psychology , plays a major role as traders and investors remember the past and react to changing conditions to anticipate future market movement.
Psychological levels , is a price level that significantly affects the price of an underlying financial instrument. Typically, near round numbers often serve as support and resistance
The following support and resistance related topics are beyond the scope of this study, so they will be mentioned roughly only as a reference for support and resistance concept
Trendlines , Support and resistance levels in trends are dynamic. Throughout an uptrend, levels of support tend to look like a trendline, usually clustering around higher lows. As the price rises, the price where buyers consider the stock to be “too cheap” also changes, which creates new support levels on the way up. The same is also true for resistance levels. In an uptrend, a stock is continuously breaking through perceived resistance levels and making new highs
Moving Averages , is a constantly changing line that smooths out past price data while also allowing the trader to identify support and resistance. In the example Notice how the price of the asset finds support at the moving average when the trend is up, and how it acts as resistance when the trend is down
The Fibonacci Retracement/Extension tool , is a favorite among many short-term traders because it clearly identifies levels of potential support and resistance
Pivot Point Calculations , is another common technical analysis technique, where pivot point is calculated based on the high, low, and closing prices of previous trading session/day and support & resistance levels are projected based on the pivot point, different calculation techniques are available, as presented in this example of an pivot point indicator : PVTvX by DGT
█ Tʀᴀᴅɪɴɢ Bᴀꜱᴇᴅ ᴏɴ Sᴜᴘᴘᴏʀᴛ ᴀɴᴅ Rᴇꜱɪꜱᴛᴀɴᴄᴇ
Once an area or "zone" of support or resistance has been identified, those price levels can serve as potential entry or exit points because, as a price reaches a point of support or resistance, it will do one of two things—bounce back away from the support or resistance level (trading ranges), or violate the price level and continue in its direction (trading breakouts) —until it hits the next support or resistance level
The basic trading method for using support and resistance is to buy near support in uptrends or the parts of ranges or chart patterns where prices are moving up and to sell/sell short near resistance in downtrends or the parts of ranges and chart patterns where prices are moving down. Buying near support or selling near resistance can pay off, but there is no assurance that the support or resistance will hold. Therefore, consider waiting for some confirmation that the market is still respecting that area
Trading breakouts, a breakout is a potential trading opportunity that occurs when an asset's price moves above a resistance level or moves below a support level on increasing volume. The first step in trading breakouts is to identify current price trend patterns along with support and resistance levels in order to plan possible entry and exit points. Once the asset trades beyond the price barrier, volatility tends to increase and prices usually trend in the breakout's direction. Breakouts are such an important trading strategy since these setups are the starting point for future volatility increases, large price swings and, in many circumstances, major price trends. When trading breakouts, it is important to consider the underlying asset's support and resistance levels. The more times an asset price has touched these areas, the more valid these levels are and the more important they become. At the same time, the longer these support and resistance levels have been in play, the better the outcome when the asset price finally breaks out. Asset prices will often move slightly further than we expect them to. This doesn't happen all the time, but when it does it is called a false breakout. Therefore it is important to consider waiting for some confirmation while trading breakouts. It’s also popular for traders to sell 50% of their positions at the resistance level, and hold the rest in anticipation of a breakout above resistance
█ Pʀɪᴄᴇ Aᴄᴛɪᴏɴ - Sᴜᴘᴘᴏʀᴛ & Rᴇꜱɪꜱᴛᴀɴᴄᴇ ʙʏ DGT Sᴛᴜᴅʏ
This experimental study attempts to identify the support and resistance levels. Assumes a simple logic to discover moments where the price is rising or falling consecutively for minimum 3 bars with the condition volume increases on each bar and the last bar’s volume should be bigger than the long term volume moving average. A line will be drawn at the end of the move (highest or lowest, depending on the move direction), the line will be drawn at minimum on the 3rd bar and if condition holds for other consecutive bars the line will switch to 4th, 5th etc bar.
Lines will not be deleted so the historical ones will remain and will emphasis the levels significance when they overlap in feature. Strong levels are more likely to hold and cause the price to move in the other direction, whereas the minor levels may only cause the price to pause and keep moving in the same direction. Determining future levels of support and resistance can drastically improve the returns of a short-term investing strategy
Bar colors will be painted based on the volume of the specific bar to its long term volume moving average. This will help identifying the support and resistance levels significance and emphasis the sings of breakouts
Finally, Volume spikes will be marked on top of the price chart. A high volume usually indicates more interest in the security and the presence of institutional traders. However, a rapidly rising price in an uptrend accompanied by a huge volume may be a sign of exhaustion. Traders usually look for breaks of support and resistance to enter positions. When security break critical levels without volume , you should consider the breakout suspect and prime for a reversal off the highs/lows. Volume spikes are often the result of news-driven events. Volume spike will often lead to sharp reversals since the moves are unsustainable due to the imbalance of supply and demand
A good example with many support and resistance concepts observed on a stock chart and detected by the study
Settings:
Length of volume moving average, where volume moving average is used to detect support and resistance levels, is used as reference to compare with threshold values for volume spikes and colors of the bars
Hint, to get more historical lines scrolling chart to left will enable visualization of them. Please note they may appear to much all 500 line limit is used 😉
Special thanks to @HEMANT Telegram user, for his observations and suggestions
Disclaimer:
Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely
The script is for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script
Volume-based S/R Levels
█ OVERVIEW
After my last indicator "Order Block Finder" was unexpectedly popular with the TradingView community, I decided to publish another experimental indicator which again tries to identify "areas of interest"
Idea:
Often candles with long wicks represent strong buying & selling pressure, especially when they are combined with extraordinary volume. Especially interesting to me are the lower wicks on red candles and the upper wicks of green candles. These wicks can potentially indicate "areas of interest" by the bigger players in the market and price may interact with these levels again in the future.
This indicator tries to identify these "high volume / long wick" candles and paints a line of either Support or Resistance from the wick into the future.
█ CALCULATION LOGIC
Extraordinary Volume is identified by first calculating thresholds based on a volume Moving Average and Standard Deviations. Two Standard Deviation Values are entered to identify HIGH and EXTREME threshold levels. The current volume is classified by comparing the volume against these thresholds.
The following inputs can be made:
- Volume MA Length
- Standard Deviation Length
- Threshold for HIGH Volume (Number of StdDev)
- Threshold for EXTREME Volume (Number of StdDev)
Another entry parameter can be used to specify the Minimum Wick Length (in % of the candle body value) which identifies a "relevant" candle. If this value is set to 0, then there is no limit and all high volume candles are considered.
The identified Support/Resistance levels are shown as lines on the chart. The parameter "Length of lines (hours)" can be used to set the length of the lines (always in hours). Depending on the timeframe, this needs to be adjusted.
(I know that this can be solved more elegantly in pine, but it was just not important to me. As always everyone is free to copy the code and make improvements. Just give me a mention when you do.)
█ DISPLAY OPTIONS
Different display options are available in the settings:
- Display Support/Resistance: Select if you want to see only Support or Resistance lines - or both
- Display High/Extreme Volume: Select if you only want to see the Extreme Value Candles or the High Value Candles or both
- Display WICK / WICK Range: Select if you only want one line at the extreme value (High/Low) of the wick - or if you want to see a range (three lines - one at the top, one at the bottom and one in the middle of the wick)
- Show Signal Triangles?: This gives the option to show little triangles on all the identified candles
█ DISCLAIMER
This is an experimental indicator and I do not know if my theory works in real life. So treat this not as financial advise, but purely for entertainment and educational purposes.
As mentioned above, I publish this code open so that everyone can re-use it or hopefully even improve it.
Let me know if you have any ideas for improvement and if it is within my coding capabilities (which to be honest are quite limited), I will try to accomodate it.
Have fun.
On Chart Anticipated Moving Average Crossover IndicatorIntroducing the on chart moving average crossover indicator.
This is my On Chart Pinescript implementation of the Anticipated Simple Moving Average Crossover idea.
This indicator plots 6 user defined moving averages.
It also plots the 5 price levels required on the next close to cross a user selected moving average with the 5 other user defined moving averages
It also gives signals of anticipated moving average crosses as arrows on chart and also as tradingview alerts with a very high degree of accuracy
Much respect to the creator of the original idea Mr. Dimitris Tsokakis
Moving Averages
A moving average simplifies price data by smoothing it out by averaging closing prices and creating one flowing line which makes seeing the trend easier.
Moving averages can work well in strong trending conditions, but poorly in choppy or ranging conditions.
Adjusting the time frame can remedy this problem temporarily, although at some point, these issues are likely to occur regardless of the time frame chosen for the moving average(s).
While Exponential moving averages react quicker to price changes than simple moving averages. In some cases, this may be good, and in others, it may cause false signals.
Moving averages with a shorter look back period (20 days, for example) will also respond quicker to price changes than an average with a longer look back period (200 days).
Trading Strategies — Moving Average Crossovers
Moving average crossovers are a popular strategy for both entries and exits. MAs can also highlight areas of potential support or resistance.
The first type is a price crossover, which is when the price crosses above or below a moving average to signal a potential change in trend.
Another strategy is to apply two moving averages to a chart: one longer and one shorter.
When the shorter-term MA crosses above the longer-term MA, it's a buy signal, as it indicates that the trend is shifting up. This is known as a "golden cross."
Meanwhile, when the shorter-term MA crosses below the longer-term MA, it's a sell signal, as it indicates that the trend is shifting down. This is known as a "dead/death cross."
MA and MA Cross Strategy Disadvantages
Moving averages are calculated based on historical data, and while this may appear predictive nothing about the calculation is predictive in nature.
Moving averages are always based on historical data and simply show the average price over a certain time period.
Therefore, results using moving averages can be quite random.
At times, the market seems to respect MA support/resistance and trade signals, and at other times, it shows these indicators no respect.
One major problem is that, if the price action becomes choppy, the price may swing back and forth, generating multiple trend reversal or trade signals.
When this occurs, it's best to step aside or utilize another indicator to help clarify the trend.
The same thing can occur with MA crossovers when the MAs get "tangled up" for a period of time during periods of consolidation, triggering multiple losing trades.
Ensure you use a robust risk management system to avoid getting "Chopped Up" or "Whip Sawed" during these periods.
Profit MAX MTF HeatMapThis is a powerfull strategy which is made from combining 3 multi timeframes into one for profit max indicator
In this case we have daily, weekly and montly.
Our long conditions are the next ones :
if we have an uptrend on all 3 at the same time, we go long.
If we have a downtrend on all 3 of them at the same time we go short.
For exit, for long, as soon as one of the 3 converts into downtrend we exit the trade.
For exit, for short, as soon as one of the 3 converts into uptrend we exit the trade.
This tool can be used on all types of markets, and can also be changed the time frames.
MACD Hybrid BSHMACD = Moving Average Convergence and Divergence
Hybrid = Combining the two main MACD signals into one indicator
BSH = Buy Sell Hold
This indicator looks for a crossover of the MACD moving averages (12ema and 26ema) in order to generate a buy/sell signal and a crossover of the MACD line (12ema minus 26ema) and MACD signal line (9ema of MACD line) in order to generate a completely seperate buy/sell signal. The two buy/sell signals are combined into a hybrid buy/sell/hold indicator which looks for one, neither, or both signals to be "buys." If both signals are buys (fast crossed above slow), a "buy" signal is given (green bar color). If only one signal is a buy, a "hold" signal is given (yellow bar color). If neither signal is a buy, a "sell" signal is given (red bar color). Note: MACD moving averages crossing over is the same thing as the MACD line crossing the zero level in the MACD indicator.
It makes sense to have the MACD indicator loaded as a reference when using this but it isn't required. The lines plotted on the chart are the 12ema and a signal line which is the MACD signal line shown relative to the 12ema rather than the MACD line. The 26ema is not plotted on the chart because the chart becomes cluttered, plus the moving averages crossing over is indicated with the MACD indicator.
This indicator should be used with other indicators such as ATR (1), RSI (14), Bollinger bands (20, 2), etc. in order to determine the best course of action when a signal is given. One way to use this as a strict system is to take a neutral cash position when a yellow "hold" signal is given, to go long when a
green "buy" signal is given, and to go short when a red "sell" signal is given. It can be observed that for many tickers and timeframes that green-yellow-green and red-yellow-red sequences are stronger signals than green-yellow-red and red-yellow-green signals.
Note: Chart type must be "bars" in order for the bar colorization to work properly






















