Custom Trend Indicator with Reversal ArrowsThe Custom Trend Indicator with Reversal Arrows is a user-friendly script designed to help traders identify trends and trend reversals on the TradingView platform. This indicator analyzes price action and generates trend lines based on user-defined rules for uptrends, downtrends, and no-trend conditions. Additionally, it highlights trend reversal points with arrows for easy identification.
Features:
Customizable Line Offset Multiplier: Allows users to set the distance between the trend line and the candlesticks. This makes the trend lines more visually discernible.
Trend Identification:
Uptrend: The indicator plots a green line when the current high, low, and close are greater than the previous high, low, and close, respectively.
Downtrend: The indicator plots a red line when the current high, low, and close are less than the previous high, low, and close, respectively.
No Trend: The indicator plots a black line when neither an uptrend nor a downtrend is identified.
Trend Reversal Arrows: The script displays green arrows pointing upwards for bullish trend reversals and red arrows pointing downwards for bearish trend reversals.
To use this indicator, simply copy and paste the provided Pine Script into the Pine editor on TradingView, and add the indicator to your chart. This powerful and customizable tool will enhance your ability to identify trends and capitalize on trend reversals in your trading strategy.
Please note that this indicator is intended for educational purposes only and should not be considered as financial advice. Always perform your own due diligence and consult with a financial professional before making any trading decisions.
Komut dosyalarını "high low" için ara
NSDT Fair Value GapThis script is our version of the "Fair Value Gap".
A Fair Value Gap is nothing more than a series of 3 candles with a gap between a candle high/low and a candle high/low two candles prior.
For example:
A Gap Up - the Low of a candle is higher than the High of two candles back.
A Gap Down - the High of a candle is lower than the Low of two candles back.
Typically, on a Gap Up, the trader would wait for the price to re-enter the Gap, and take a Long position.
Typically, on a Gap Down, the trader would wait for the price to re-enter the Gap, and take a Short position.
We found that simply trading through the Gaps (fill the gap) produced a better result. So we reversed the procedure and the colors to show our suggested direction.
We have added inputs so the trader can determine the size of the Gaps to be plotted on the chart. A minimum and maximum can be set.
The number of Gaps to be displayed can be adjusted.
There is a option to remove Gaps that had been filled, to help keep a clean chart.
RD Key Levels (Weekly, Daily, Previous vWAP)The RexDog Key Levels indicator plots the weekly open, daily open, and the previous day vWAP close.
These are all critical price levels (zones) to know when trading any market or instrument. These areas are also high probability reaction areas that you can trade using simple confirmation trading patterns.
First, I'll cover an overview of the indicator then I'll share general usage tips.
Weekly Open - default is white/orange. White is when price is above the weekly open. Orange is when price is below the weekly open.
Weekly High/Low - there are options to turn on the weekly high and lows. Default plot is circles. Green is the high. Red is the low.
Daily Open - default is green/red. Green is when price is above the daily open. Red is when price is below the daily open.
Previous vWAPs - aqua single lines. These are the closing price of the daily vWAPs.
Top Indicators - The triangles at the top of the chart signify is price is currently above or below the weekly open. This is helpful on lower timeframe charts (5m, 15m) to get a quick indication when price is far extended beyond the weekly open. Green triangle = above weekly open. Red triangle = below weekly open.
General Usage
Each one of these levels are important levels markets look use for continuation or failure of momentum and bias. I also find it extremely helpful to think of these levels as magnets, dual magnets. They both attract and repel price at the same time. Now you might say, how is that helpful to have opposing views at the same time? Be indifferent to direction, create your own rules on when these price zones repel or attract price, I have my own.
Here's the easiest way to use these price levels.
As price approaches one of these levels to expect a reaction. A reaction is price is going in one direction and price hits a price level zone and reacts in the opposite direction.
These are price zones, sometimes you will see a reaction right at the price but visualize these areas as zones of reaction.
A high percentage of the time when price approaches these level zones there will be a reaction. So trade the reaction .
How do you do that?
Simple. Trade patterns that repeat. I have 3 solid patterns I trade around these key levels:
The first pattern is early entry with precise scale in rules and a very effective protective stop loss placement.
The second pattern is wait for confirmation that the level holds. This requires more patience and for you to fully trust the chart. The benefit of this pattern is with confirmation you have even more precise stop placement.
There is a bonus third pattern I trade around these levels. I call this the confirmation and bluff entry. It's a combination of both of the patterns above. You wait for confirmation but on any pull back you call the bluff on the market and enter on key test. Trade management here is critical. In addition to the pattern you trade you should have a series of failure patterns that tell you to get out of the trade, I use 2 primary failure patterns.
I trade all markets, same system, same rules, so I'll show a few examples.
Usually I start with Bitcoin but let's start with equities:
BA - Boeing - 8 Trades
Here we see weekly low patterns, previous week low test, vwAP hold patterns, day magnets and day holding. Then 2 week failures and a double hold pattern.
These are all straightforward trades to execute following really simple patterns.
BTCUSD Previous vWAP and Day Open Trades
We see here on the circle areas both daily open and previous day vWAP zone tests. Within this chart are all 3 highly effective patterns I trade.
SPY - 7 High Probability Trades
Here we see a pDay vWAP mixed with a daily failure. Next a daily retest, then a pDay vWAP failure, then a vWAP capture and test. Then a double weekly failure test (great trade there) and finally a daily test.
I could provide more examples but most are just derivatives of the above examples.
Balance Zone ExtensionBalance zones are an aspect of trading that many traders notice. Balance Zones are formed when a market is in equilibrium and respects a certain high and low multiple times. These zones could also be called accumulation or distribution areas depending on the price action. If the term "choppy" is used to describe a given markets price action, it is probably a fair statement to say that the market is currently in a Balance Zone.
This script is a take on vwaptrader1's teachings where you take a balance zone and "double it" to get a target if/when it does break out of balance. It provides an automated way of extending levels based on a given balance range.
The lines plotted by the script are calculated based off of the balance high/low inputs, how many sections are desired per zone, and how many boxes to plot based on the other user inputs.
Warning: Due to a current limitation of the Pine, this script is only allowed to plot up to 500 lines total. If you start to notice lines starting to disappear or you begin getting a script error, double check the input settings as the script may have crossed the 500 line threshold.
This can be used in conjunction with Fixed Range Volume Profile . Select the balance range with the Fixed Volume Profile . Note the Value Area High and Value Area Low prices and input those into the balance range High/Low inputs.
Use to create price targets from Balance Zone Breakouts
A recent example of this idea in action on ticker ES1! 2 hour chart where the balance range was found and the target (double the box size of the balance range) was hit.
Another example of this same concept but on a normal security like AAPL but on a 30 minute chart:
Extending the usefulness even further to crypto on BTCUSD with a 5 minute chart:
Use to create reference levels for future price action
The other way to utilize this is to provide future reference levels from a key balance range from the past.
Here is another example utilizing the AMD daily chart . First, a balance zone was noted for all of 2017:
Moving forward to the most recent price action in 2023, notice that the box extension levels are still fairly well respected almost 6 years later!
Dynamic Reactor [CHE]This simple Pine script is an implementation of the Dynamic Reactor indicator. The indicator is designed to dynamically adjust to market conditions and identify trend reversals.
The indicator takes one input parameter: the length of the Dynamic Reactor. The script calculates the high, low, and midpoint values of the Dynamic Reactor using a simple moving average (SMA) function. The plot colors are determined by the current price in relation to the high and low values. If the price is above the high value, the plot is colored green. If the price is below the low value, the plot is colored red. Otherwise, the plot is colored gray. The area between the high and low values is filled with a transparent color to help visualize the range of the indicator.
Three Bar Gap (Simple Price Action - with 1 line plot)This script is tailored towards experienced traders who prefer to view raw price charts during live execution. It searches for a three-bar pattern of what is colloquially called "fair value gap", or "imbalance" and uses a single line to plot the results. The goal is to display price in a way that is as simple as possible so that chart readers who don't prefer to add indicators on their screen will still find this indicator as an acceptable option to consider for.
From a code perspective, this script explores a new PineScript feature called UDT (user-defined types). This is an incredible update because it brings developers one step close to having the ability to create abstract data types.
█ What is price action?
Experienced traders will tell you that the chart that they use for live execution is raw, clean, and uses no indicators. They say they execute on price action, so what exactly is price action?
There is no formal definition to it, but one can agree that it implies the process of analyzing price without considering the fundamentals, without needing to know what the news was about, and without needing to know any of the Greeks (except for the desire to “seek alpha” Ha.haa...). This is not to say that price action traders are executing in their own vacuums without the need to know what is happening around the world. Surely fundamentals and financial models can be used beforehand for developing a bias for what is being traded, but it’s price-first at the moment of execution. That said, Factor (A) is Price.
Factor (B) is time-perception, it’s how the trader reads the tape. How the trader perceives price to change with respect to time is valuable information. Interpretation of "time" will be elaborated in the next section that talks about candlestick patterns detected by this script.
Putting this together, price action means the analysis of price movement by only considering (A) price, and (B) time, to predict which direction the market will move. A speculative trader is timing the market with the expectation to make a quick in-and-out profit; she/she is using price action. On the other hand, a long term investor holding a diversified portfolio with a strategy based on modern portfolio theory combined with fundamental analysis (at this point candlesticks are irrelevant) but has one additional criteria of, say, can only go Long on a stock when it has closed Green on Daily; he/she is also considered to be executing on price action.
█ Candlestick patterns
This script calculates the displacement of highs and lows over three consecutive bars.
A) Down move = When High of the recent confirmed bar is lower than the Low of the previous-previous candle
B) Up move = When Low of the recent confirmed bar is higher than the High of the previous-previous candle
(Note that its the confirmed bar that is being talked about, so it does not repaint)
An ATR filter will be applied to reduce the number of lines generated as many times they might just be associated with minor price changes.
Interpretations:
When price moves quickly across three bars, it can be thought that it has gapped. Although the candle in the middle appears to be solid, it’s not from a conceptual perspective. This is because time itself is arbitrary; timeframes don’t necessarily have to be fixed intervals. Take stocks with regular trading hours for example, if price makes a breakaway gap and you bundle the after-hours and pre-market sessions together as one candle, never minding that intervals should be fixed, then you will see the exact three-bar-gap patterns. Similar happens during intraday sessions on lower timeframes, if you zoom-in closer, you’ll see that ticks within the middle candle are sparsely dispersed. This is why it's called a gap.
█ Parameters with fixed inputs & assumptions used:
ATR is used for filtering out minor movements that will likely be deemed as irrelevant by trader for the purpose of live execution. The following inputs are required:
A) ATR lookback period
B) Multiplier
The product of ATR(len=A) and B produces a threshold for minimum distance that price must gap by. Initially, it was proposed to be only based on one ATR, but often an ATR is too wide and using it will filter out too many lines. Because of this observation, a multiplier (Parameter B) has been introduced to allow users to apply fractional ATR as a threshold.
█ Applications:
For trend followers: Follow the direction of the gap. Entering above recent high/low points above/below the first impulse with a stop-limit order is a viable tactic.
For contrarians fading a trend: The mid-point is a good point of reference for predicting potential areas of support/resistance.
MLExtensionsLibrary "MLExtensions"
normalizeDeriv(src, quadraticMeanLength)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src : The input series (i.e., the first-order derivative for price).
quadraticMeanLength : The length of the quadratic mean (RMS).
Returns: nDeriv The normalized derivative of the input series.
normalize(src, min, max)
Rescales a source value with an unbounded range to a target range.
Parameters:
src : The input series
min : The minimum value of the unbounded range
max : The maximum value of the unbounded range
Returns: The normalized series
rescale(src, oldMin, oldMax, newMin, newMax)
Rescales a source value with a bounded range to anther bounded range
Parameters:
src : The input series
oldMin : The minimum value of the range to rescale from
oldMax : The maximum value of the range to rescale from
newMin : The minimum value of the range to rescale to
newMax : The maximum value of the range to rescale to
Returns: The rescaled series
color_green(prediction)
Assigns varying shades of the color green based on the KNN classification
Parameters:
prediction : Value (int|float) of the prediction
Returns: color
color_red(prediction)
Assigns varying shades of the color red based on the KNN classification
Parameters:
prediction : Value of the prediction
Returns: color
tanh(src)
Returns the the hyperbolic tangent of the input series. The sigmoid-like hyperbolic tangent function is used to compress the input to a value between -1 and 1.
Parameters:
src : The input series (i.e., the normalized derivative).
Returns: tanh The hyperbolic tangent of the input series.
dualPoleFilter(src, lookback)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src : The input series (i.e., the hyperbolic tangent).
lookback : The lookback window for the smoothing.
Returns: filter The smoothed hyperbolic tangent of the input series.
tanhTransform(src, smoothingFrequency, quadraticMeanLength)
Returns the tanh transform of the input series.
Parameters:
src : The input series (i.e., the result of the tanh calculation).
smoothingFrequency
quadraticMeanLength
Returns: signal The smoothed hyperbolic tangent transform of the input series.
n_rsi(src, n1, n2)
Returns the normalized RSI ideal for use in ML algorithms.
Parameters:
src : The input series (i.e., the result of the RSI calculation).
n1 : The length of the RSI.
n2 : The smoothing length of the RSI.
Returns: signal The normalized RSI.
n_cci(src, n1, n2)
Returns the normalized CCI ideal for use in ML algorithms.
Parameters:
src : The input series (i.e., the result of the CCI calculation).
n1 : The length of the CCI.
n2 : The smoothing length of the CCI.
Returns: signal The normalized CCI.
n_wt(src, n1, n2)
Returns the normalized WaveTrend Classic series ideal for use in ML algorithms.
Parameters:
src : The input series (i.e., the result of the WaveTrend Classic calculation).
n1
n2
Returns: signal The normalized WaveTrend Classic series.
n_adx(highSrc, lowSrc, closeSrc, n1)
Returns the normalized ADX ideal for use in ML algorithms.
Parameters:
highSrc : The input series for the high price.
lowSrc : The input series for the low price.
closeSrc : The input series for the close price.
n1 : The length of the ADX.
regime_filter(src, threshold, useRegimeFilter)
Parameters:
src
threshold
useRegimeFilter
filter_adx(src, length, adxThreshold, useAdxFilter)
filter_adx
Parameters:
src : The source series.
length : The length of the ADX.
adxThreshold : The ADX threshold.
useAdxFilter : Whether to use the ADX filter.
Returns: The ADX.
filter_volatility(minLength, maxLength, useVolatilityFilter)
filter_volatility
Parameters:
minLength : The minimum length of the ATR.
maxLength : The maximum length of the ATR.
useVolatilityFilter : Whether to use the volatility filter.
Returns: Boolean indicating whether or not to let the signal pass through the filter.
backtest(high, low, open, startLongTrade, endLongTrade, startShortTrade, endShortTrade, isStopLossHit, maxBarsBackIndex, thisBarIndex)
Performs a basic backtest using the specified parameters and conditions.
Parameters:
high : The input series for the high price.
low : The input series for the low price.
open : The input series for the open price.
startLongTrade : The series of conditions that indicate the start of a long trade.`
endLongTrade : The series of conditions that indicate the end of a long trade.
startShortTrade : The series of conditions that indicate the start of a short trade.
endShortTrade : The series of conditions that indicate the end of a short trade.
isStopLossHit : The stop loss hit indicator.
maxBarsBackIndex : The maximum number of bars to go back in the backtest.
thisBarIndex : The current bar index.
Returns: A tuple containing backtest values
init_table()
init_table()
Returns: tbl The backtest results.
update_table(tbl, tradeStatsHeader, totalTrades, totalWins, totalLosses, winLossRatio, winrate, stopLosses)
update_table(tbl, tradeStats)
Parameters:
tbl : The backtest results table.
tradeStatsHeader : The trade stats header.
totalTrades : The total number of trades.
totalWins : The total number of wins.
totalLosses : The total number of losses.
winLossRatio : The win loss ratio.
winrate : The winrate.
stopLosses : The total number of stop losses.
Returns: Updated backtest results table.
Market Structure MA Based BOS [liwei666]
🎲 Overview
🎯 This BOS(Break Of Structure) indicator build based on different MA such as EMA/RMA/HMA, it's usually earlier than pivothigh() method
when trend beginning, customer your BOS with 2 parameters now.
🎲 Indicator design logic
🎯 The logic is simple and code looks complex, I‘ll explain core logic but not code details.
1. use close-in EMA's highest/lowest value mark as SWING High/Low when EMA crossover/under,
not use func ta.pivothigh()/ta.pivotlow()
2. once price reaching EMA’s SWING High/Low, draw a line link High/Low to current bar, labled as BOS
3. find regular pattern benefit your trading.
🎲 Settings
🎯 there are 4 input properties in script, 2 properties are meaningful in 'GRP1' another 2 are display config in 'GRP2'.
GRP1
MA_Type: MA type you can choose(EMA/RMA/SMA/HMA), default is 'HMA'.
short_ma_len: MA length of your current timeframe on chart
GRP2
show_short_zz: Show short_ma Zigzag
show_ma_cross_signal: Show ma_cross_signal
🎲 Usage
🎯 BOS signal usually worked fine in high volatility market, low volatility is meaningless.
🎯 We can see that it performs well in trending market of different symbols, and BOS is an opportunity to add positions
BINANCE:BTCUSDTPERP
BINANCE:ETHUSDTPERP
🎯 MA Based signal is earlier than pivothigh()/pivotlow() method when trend beginning. it means higher profit-loss rate.
🎯 any questions or suggestion please comment below.
Additionally, I plan to publish 20 profitable strategies in 2023; indicatior not one of them,
let‘s witness it together!
Hope this indicator will be useful for you :)
enjoy! 🚀🚀🚀
Pivot High/Low ComparisonThis script will show you at a glance the following trends:
Higher Highs (Green line on top)
Lower Highs (Red line on top)
Higher Lows (Green line on bottom)
Lower Lows (Red line on bottom)
It utilizes the Pivot High and Pivot Low functions to determine if the previous pivot was higher or lower than the current pivot .
Multi-timeframe Harmonic PatternsHello friends. In recent months I have been busy with my academic research and haven't had much time to publish new scripts. To fill the gap of these months, I decided to publish the indicator Multi-timeframe Harmonic Patterns . Harmonic technical chart patterns can predict the next price trend and provide traders with clues to the price direction, which is one of the indicators widely used by professional traders.
(1) Indicator description
This indicator is built on ZigZag Multi Time Frame with Fibonacci Retracement@LonesomeTheBlue . Thanks to LonesomeTheBlue for contributing the awesome indicator
The indicator supports 6 different timeframes , and 25 different harmonic patterns
This indicator supports indicating key indicator prices: entry price, stop loss price, and two take profit prices
(2) Key parameters
timeframe resolution: The timeframe of the harmonic pattern
pivot high/low source: Calculation method of high/low pivot points
timeframe pivot period: Minimum period of high/low pivot points
delay for confirmations: Wait for N candles to confirm the chart pattern
bullish/bearish colors: Bullish/bearish pattern colors
enable harmonic patterns: Enable current harmonic patterns
show harmonic patterns: Show harmonic patterns found
show trading prices of patterns: Show key prices of harmonic patterns
(3) Supported Patterns:
Gartlay
Cypher
Bat
Deepcrab
Crab
Butterfly
Shark
0-5
AB=CD
3-Drives
Anti-Gartlay
Anti-Cypher
Anti-Bat
Anti-Crab
Anti-Butterfly
Anti-Shark
Black-Swan
White-Swan
Descending-Triangle
Ascending-Triangle
Symmetrical-Triangle
Headers&Shoulders
Inverse-Headers&Shoulders
Double-Top
Double-Bottom
————————————————————————————————————————
各位朋友大家好。最近几个月我忙于自己的学术研究没有过多时间更新脚本。为弥补这几个月的空缺,我决定发布该 多时间周期的谐波指标 。谐波技术图表形态在一定程度上可以预测下一个价格走势,为交易者提供价格方向的线索,是广大专业交易人员广泛使用的指标之一。
(1) 指标说明
该指标建立于 ZigZag Multi Time Frame with Fibonacci Retracement@LonesomeTheBlue ,感谢LonesomeTheBlue贡献的出色指标
该指标支持 6种不同的时间周期 ,以及 25种不同的谐波形态
该指标支持指示关键的指标价格:入场价格、止损价格、以及两种止盈价格
(2) 关键参数
timeframe resolution: 谐波形态的时间周期
pivot high/low source: 高/低枢纽点的计算方式
timeframe pivot period: 高/低枢纽点的最小周期
delay for confirmations: 等待N个蜡烛以确认图表形态
bullish/bearish colors: 看涨/看跌的形态颜色
enable harmonic patterns: 使能当前的谐波形态
show harmonic patterns: 显示被发现的谐波形态
show trading prices of patterns: 显示谐波形态的关键价格
(3) 支持形态:
Gartlay
Cypher
Bat
Deepcrab
Crab
Butterfly
Shark
0-5
AB=CD
3-Drives
Anti-Gartlay
Anti-Cypher
Anti-Bat
Anti-Crab
Anti-Butterfly
Anti-Shark
Black-Swan
White-Swan
Descending-Triangle
Ascending-Triangle
Symmetrical-Triangle
Headers&Shoulders
Inverse-Headers&Shoulders
Double-Top
Double-Bottom
Yearly High/Low IndicatorThis is a basic line drawing script which will draw lines for the highest and lowest prices for each year on a chart. High lines will be green and low lines will be red. Each line is labeled with the year and price that it represents. It takes in a single input value which is the year to start marking from. By default, the script will only draw the yearly high lines and a check-box can be selected to enable the low lines. The high line can, similarly, be disable should you only want the low lines. I chose this default because I noticed that more often than not, with both enabled, the screen got a little too cluttered.
Known Issues:
If you set the starting year to the current year, the labels don't show up. I spent a while trying to figure out why but I gave up after realizing that if you only have one year selected, it's less important that they be labeled and it didn't bother me after that. If it bothers you, fix it and feel free to let me know how you did it but I'm not interested in working any harder on a fix right now.
Improved Chaikin Money FlowChaikin Money Flow is a well-known Indicator for gauging buying/selling pressure. Marc Chaikin intended this to be used on the daily timeframe to capture the behavior of price action at or near the daily close when larger-scale actors influence the market. The calculation is straight forward as described within the built-in TradingView "CMF" indicator:
1. Period Money Flow Multiplier = ((Close - Low) - (High - Close)) /(High - Low)
2. Period Money Flow Volume = Period Money Flow Multiplier x Volume for the Period
3. Chaikin Money Flow = 21 Period Sum of Money Flow Volume / 21 Period Sum of Volume
There is, however, a problem with this algorithm: it does not account for daily gaps in price action. This leads to the indicator sometimes moving out-of-sync with price action and/or an under-emphasis of the magnitude change of the indicator relative to the change in price action. This is a significant problem for someone trying to read divergences against an underlying.
Note: I have never seen a published attempt to improve this indicator which is why I decided that there had to be a way to do it.
In order to mitigate this issue, I have taken the basic script provided by TradingView and made a key modification. If the open of a candle is outside the range of the previous candle, then the close of the previous candle is used as the "high" for the current candle (in the case of a gap down) or the "low" for the current candle (in the case of a gap up). However, if the close of the current candle exceeds the previous close, highs and lows for the current candle are calculated as normal. I believe this accounts for gaps in price action without significantly altering the original intent of the indicator.
I have made four other minor tweaks:
1. Default style is color coded area above and below the Zero Line
2. Range scaled to +/-100 instead of +/-1 (displays better on graph)
3. Set timeframe to Daily (as that is the timeframe for which this indicator was intended by Chaikin)
4. Length defaults to 21 (which is what Chaikin uses)
taLibrary "ta"
This library is a Pine Script™ programmer’s tool containing calcs for my oscillators and some helper functions.
buoyancy(src, targetPeriod, maxLookback)
Calculates buoyancy using a target of `src` summed over `targetPeriod` bars, not searching back farther than `maxLookback` bars. See:
Parameters:
src : (series float) The source value that is summed to constitute the target.
targetPeriod : (series int) The qty of bars to sum `src` for in order to calculate the target.
maxLookback : (simple int) The maximum number of bars back the function will search.
Returns: (series float) Buoyancy: the gap between the avg distance of past up and dn bars added to reach the target, divided by the max distance reached. Returns zero when an error condition occurs.
efficientWork(length)
Calculates Efficient Work on `length` bars. See:
Parameters:
length : (simple int) The length of the ALMA used to calculate the result.
Returns: (series float) A -1 to +1 value representing the efficiency of price travel, bar to bar.
ma(type, src, length)
Returns the `type` MA of the `src` over the `length`.
Parameters:
type : (simple string) The type of MA required (uses constants that must be defined earlier in the script).
src : (series float) The source value used to calculate the MA.
length : (simple int) The length value used to calculate the MA.
Returns: (series float) The MA value.
divergenceChannel(divergence, hiSrc, loSrc, breachHiSrc, breachLoSrc)
Calculates the levels and states of divergence channels, which are created when divergences occur.
Parameters:
divergence : (series bool) `true` on divergences, which can be defined any way. On breached channels it creates a new channel, otherwise, channel levels are expanded.
hiSrc : (series float) The price source used to set the channel's hi level when a divergence occurs.
loSrc : (series float) The price source used to set the channel's lo level when a divergence occurs.
breachHiSrc : (series float) The price source that must breach over the channel's `channelHi` level for a breach to occur.
breachLoSrc : (series float) The price source that must breach under the channel's `channelLo` level for a breach to occur.
Returns: A tuple containing the following values:
sourceStrToFloat(srcString)
Converts the name of a source in the `srcString` to its numerical equivalent.
Parameters:
srcString : (series string) The string representing the name of the source value to be returned.
Returns: (series float) The source's value.
RSI Shadow by TartigradiaHave you ever wondered how much the RSI can vary during an open session? How much wicks can make the RSI overshoots before it retraces for the close?
This indicator plots the RSI shadow, which is the area between the highest and lowest RSI values attained during each open session, from the high/low wick price candle (ie, not the open value).
Technically, we calculate the RSI as usual for all past bars, except for current bar for which we use the high and low values to calculate the RSI Shadow bounds. The invisible PineScript loop then repeats this process for each bar.
In practice, the RSI Shadow provides 2 different informations:
1. This allows to visually represent the variability that historically happened for each bar, which help in better understanding the context at the time and may help predict future similar patterns.
2. The closer the RSI is to one bound, high or low, the more bullish or bearish respectively the price action is. Intuitively, when RSI is close to the high shadow bound, it means that price action is so bullish it often closes in proximity to the highest value attained during the open session, hence very bullish sentiment. And inversely for low and bearish sentiment. To ease visualization of these sentiments, a background highlighting is provided.
The indicator works under all timeframes, but it appears to provide a very reliable information with longer timeframe. The background highlighting showing the bullish/bearish sentiment based on the RSI Shadow appears to indicate crypto market cycles relatively reliably, with 2-3 consecutive bars with the same background color indicating a strong trend.
False positives can be reduced by looking at both the background color and the RSI direction, if both are congruent (ie, both bullish), then the trend indication is good, otherwise the trend indicated by the background color should be disregarded. An option was added to uncolor background if incongruent with RSI's direction.
There is also a "shadow margin" setting that allows to further reduce the number of false positives, at the expense of reduced sensitivity (a margin of 3 seems to eliminate most false positives).
Note: if you need a more complete RSI indicator with overbought/oversold signals, check out RSI+ (alt), which includes all RSI related indicators I make (such as RSI Shadow):
Fibonacci Ratios with Volatility(Weekly Time Frame.)Script is based on weekly time Frame. Fib ratios are drawn at the Open of the Market. Open price is compared with Previous week High , low and close. If weekly open is above Previous week high or low, Fib 0 % is plotted above High or the low as the case may be . If weekly open is between previous week high and low Fib 0% is equal to previous week Close and other fib ratios are plotted accordingly. As its vol based, works fantastically. This script is inspired by Fibonacci and Volatility script by PB GHOSH.
Simple LevelsSImple levels is a clean way to automatically plot important daily levels including:
Yesterday's High
Yesterday's Low
50% level between Prior High/Low
Today's Open
Premarket Low
Premarket High
This Daily Levels indicator is unique in its ability to:
-Plot all of the daily level PLUS premarket high/low levels (extended hours must be turned ON)
-Can hide past days levels, only plotting levels on the current day, to keep chart cleaner
-Can extend line levels right or fullscreen
-Plots the level price at each level on the chart
-Can show/hide price levels labels
-Can add supplemental premarket levels plot to show levels being formed during the premarket time period
-Coded with line.new vs plot so dashed lines are available as a style
-Automatically hides the indicator if the timeframe selected is Daily or greater