Moving average to price cloudHi all!
This indicator shows when the price crosses the defined moving average. It plots a green or red cloud (depending on trend) and the moving average. It also plots an arrow when the trend changes (this can be disabled in 'style'->'labels' in the settings).
The moving average itself can be used as dynamic support/resistance. The trend will change based on your settings (described below). By default the trend will change when the whole bar is above/below the moving average for 2 bars (that's closed). This can be changed by "Source" and "Bars".
Settings
• Length (choose the length of the moving average. Defaults to 21)
• Type (choose what type of moving average).
- "SMA" (Simple Moving Average)
- "EMA" (Exponential Moving Average)
- "HMA" (Hull Moving Average)
- "WMA" (Weighted Moving Average)
- "VWMA" (Volume Weighted Moving Average)
- "DEMA" (Double Exponential Moving Average)
Defaults to"EMA".
• Source (Define the price source that must be above/below the moving average for the trend to change. Defaults to 'High/low (passive)')
- 'Open' The open of the bar has to cross the moving average
- 'Close' The close of the bar has to cross the moving average
- 'High/low (passive)' In a down trend: the low of the bar has to cross the moving average
- 'High/low (aggressive)' In a down trend: the high of the bar has to cross the moving average
• Source bar must be close. Defaults to 'true'.
• Bars (Define the number bars whose value (defined in 'Source') must be above/below the moving average. All the bars (defined by this number) must be above/below the moving average for the trend to change. Defaults to 2.)
Let me know if you have any questions.
Best of trading luck!
在腳本中搜尋"bar"
Uptrick: Volume StrengthPurpose:
The "Uptrick: Volume Strength" indicator, known by its short title 'VolStrength,' is meticulously designed to evaluate the strength of volume activity within a market, providing traders with valuable insights into liquidity dynamics. By visualizing volume bars and comparing them to a predefined threshold, traders can gauge the intensity of buying or selling pressure, thereby assessing market liquidity and potential price movements.
Explanation:
Input Parameters:
Traders benefit from the ability to customize the threshold for high volume, allowing them to adapt the indicator to varying market conditions and trading strategies.
The calculation of the average volume over a specified period adds depth to the analysis, offering traders a reference point for assessing current volume levels relative to historical averages and evaluating liquidity trends.
Volume Analysis:
The script discerns between bars where the closing price exceeds the opening price (up bars) and bars where the closing price is lower than the opening price (down bars), facilitating the identification of bullish or bearish market sentiment.
High-volume bars that surpass the predefined threshold are prominently highlighted, serving as indicators of increased trading activity and enhanced liquidity levels.
Average Volume Visualization:
A line representing the average volume over the specified period is plotted on the chart, providing traders with a visual reference for evaluating current volume levels against historical averages. This aids in assessing the overall liquidity conditions in the market.
Volume Bar Representation:
The colorization of volume bars is contingent upon their direction (up or down) and whether they exceed the high volume threshold.
Up bars, symbolizing buying pressure, are typically depicted in green, while down bars, indicative of selling pressure, are rendered in red.
Notably, when volume surpasses the high volume threshold, the respective bar color is applied, accentuating significant volume spikes and their potential impact on liquidity and price dynamics.
Through its meticulous design and comprehensive features, the "Uptrick: Volume Strength" indicator equips traders with actionable insights into market liquidity dynamics. By integrating volume analysis into their trading strategies, traders can effectively assess liquidity conditions, identify potential price movements, and make informed trading decisions.
Median RSI**Description:**
The "Median RSI with Buy/Sell Signals and Bar Color" indicator on TradingView calculates the median Relative Strength Index (RSI) alongside buy and sell signals and customizable bar colors. RSI is a momentum oscillator that measures the speed and change of price movements. This indicator provides traders with insights into the relative strength of a security by comparing its recent gains to its recent losses.
**How it Works:**
1. **RSI Calculation:** The script computes the RSI using a specified length parameter. This RSI value indicates whether a security is overbought or oversold, helping traders identify potential reversal points.
2. **Median RSI Calculation:** It calculates the highest and lowest RSI values over a certain period and finds the median value. This median RSI acts as a benchmark, guiding traders in assessing the relative strength of a security compared to its recent performance.
3. **Bar Color Customization:** The script allows users to customize the bar color based on the relationship between the RSI and the median RSI. Bars are colored differently to visually represent whether the RSI is above, below, or equal to the median RSI. Additionally, the script highlights bars when they cross the median RSI, providing visual cues for potential shifts in market momentum.
**Benefits:**
- **RSI Insights:** Provides insights into the relative strength of a security by comparing its recent gains to its recent losses.
- **Buy/Sell Signals:** Generates buy and sell signals based on the RSI crossing above or below the median RSI, aiding traders in timing their trades.
- **Customizable Bar Colors:** Allows traders to customize bar colors based on the relationship between the RSI and the median RSI, facilitating quick visual analysis.
- **Visual Representation:** Visualizes the RSI median RSI, and bar color on the price chart for easy interpretation.
**Ideal Usage:**
- **Trend Confirmation:** Traders can use the indicator to confirm the direction of the trend before entering trades.
- **Reversal Signals:** Changes in RSI direction, indicated by crosses above or below the median RSI, can signal potential reversals in market momentum.
- **Combination with Other Indicators:** It can be used in conjunction with other technical indicators to enhance trading strategies, providing additional confirmation signals.
**Warnings:**
- **False Signals:** Like any technical indicator, false signals may occur, especially during periods of low volume or choppy market conditions. Additional analysis and risk management techniques should be used to avoid potential losses.
- **Parameter Sensitivity:** Traders should test different parameter settings and consider market conditions when using the indicator, as adjustments may affect its sensitivity to price movements.
By providing insights into RSI dynamics, and offering customizable bar colors, the "Median RSI with Buy/Sell Signals and Bar Color" indicator equips traders with valuable tools for technical analysis and decision-making in the financial markets.
Kaufman Efficiency Ratio-Based Risk PercentageOVERVIEW
The Kaufman Efficiency Ratio-Based Exposure Management indicator uses the Kaufman Efficiency Ratio (KER) to calculate how much you should risk per trade.
If KER is high, then the indicator will tell you to risk more per trade.
A high KER value indicates a trending market, so if you are a trend trader, it makes sense to risk more during these times.
If KER is low, then the indicator will tell you to risk less per trade.
A low KER value indicates a trending market, so if you are a trend trader, it makes sense to risk less during these times.
CONCEPTS
The Kaufman Efficiency Ratio (also known as the Efficiency Ratio, KER, or ER) is a separate indicator developed by Perry J. Kaufman and first published in Kaufman's book, "New Trading Systems and Methods" in 1987.
The KER used to measure the efficiency of a financial instrument's price movement. It is calculated as follows:
KER = (change in price over x bars) / (sum of absolute price changes over x bars)
The first part of the formula, "change in price over x bars" measures the difference between the current close price and the close price x bars ago. The second part of the formula "sum of absolute price changes over x bars" measures the sum of the |open-close| range of each bar between now and x bars ago.
If there is a high change in price over x bars relative to the sum of absolute price changes over x bars, a trending/volatile market is likely in place.
If there is a low change in price over x bars relative to the sum of absolute price changes over x bars, a ranging/choppy market is likely in place.
If you are a trend trader, you can assume that entries taken during high KER periods are more likely to lead to a trend. This indicator helps capitalize on that assumption by increasing risk % per trade during high KER periods, and decreasing risk % per trade during low KER periods.
It uses the following formulas to calculate a KER-adjusted risk % per trade:
Linearly-increasing risk % = min risk + (KER * (max risk - min risk))
Exponentially-increasing risk % = min risk + ((KER^n) * (max risk - min risk))
min risk = the smallest amount you'd be willing to risk on a trade
max risk = the largest amount you'd be willing to risk on a trade
KER = the current Kaufman Efficiency Ratio value
n = an exponent factor used to control the rate of increase of the risk %
Here is an example of how these formulas work:
Assuming that min risk is 0.5%, max risk is 2%, and KER is 0.8 (indicating a trending market), we can calculate the following risk per trade amounts:
Linearly-increasing risk % = 0.5 + (0.8 * (2 - 0.5)) = 1.7%
Exponentially-increasing risk % = 0.5 + ((0.8^3) * (2 - 0.5)) = 1.27%
Now, lets do the same calculations with a lower KER of 0.2 , which indicates a choppy market:
Linearly-increasing risk % = 0.5 + (0.2 * (2 - 0.5)) = 0.8%
Exponentially-increasing risk % = 0.5 + ((0.2^3) * (2 - 0.5)) = 0.51%
With a high KER, we risk more per trade to capitalize on the higher chance of a trending market. With a lower KER, we risk less per trade to protect ourselves from the higher chance of a choppy market.
MACDh with divergences & impulse system (overlayed on prices)-----------------------------------------------------------------
General Description:
This indicator ( the one on the top panel above ) consists on some lines, arrows and labels drawn over the price bars/candles indicating the detection of regular divergences between price and the classic MACD histogram (shown on the low panel). This script is special because it can be adjusted to fit several criteria when trading divergences filtering them according to the "height" and "width" of the patterns. The script also includes the "extra features" Impulse System and Keltner Channels, which you will hardly find anywhere else in similar classic MACD histogram divergence indicators.
The indicator helps to find trend reversals, and it works on any market, any instrument, any timeframe, and any market condition (except against really strong trends that do not show any other sign of reversion yet).
Please take on consideration that divergences should be taken with caution.
-----------------------------------------------------------------
Definition of classic Bullish and Bearish divergences:
* Bearish divergences occur in uptrends identifying market tops. A classical or regular bearish divergence occurs when prices reach a new high and then pull back, with an oscillator (MACD histogram in this case) dropping below its zero line. Prices stabilize and rally to a higher high, but the oscillator reaches a lower peak than it did on a previous rally.
In the chart above (weekly charts of NKE, Nike, Inc.), in area X (around August 2021), NKE rallied to a new bull market high and MACD-Histogram rallied with it, rising above its previous peak and showing that bulls were extremely strong. In area Y, MACD-H fell below its centerline and at the same time prices punched below the zone between the two moving averages. In area Z, NKE rallied to a new bull market high, but the rally of MACD-H was feeble, reflecting the bulls’ weakness. Its downtick from peak Z completed a bearish divergence, giving a strong sell signal and auguring a nasty bear market.
* Bullish divergences , in the other hand, occur towards the ends of downtrends identifying market bottoms. A classical (also called regular) bullish divergence occurs when prices and an oscillator (MACD histogram in this case) both fall to a new low, rally, with the oscillator rising above its zero line, then both fall again. This time, prices drop to a lower low, but the oscillator traces a higher bottom than during its previous decline.
In the example in the chart above (weekly charts of NKE, Nike, Inc.), you see a bearish divergence that signaled the October 2022 bear market bottom, giving a strong buy signal right near the lows. In area A, NKE (weekly charts) appeared in a free fall. The record low A of MACD-H indicated that bears were extremely strong. In area B, MACD-H rallied above its centerline. Notice the brief rally of prices at that moment. In area C, NKE slid to a new bear market low, but MACD-H traced a much more shallow low. Its uptick completed a bullish divergence, giving a strong buy signal.
-----------------------------------------------------------------
Some cool features included in this indicator:
1. This indicator also includes the “ Impulse System ”. The Impulse System is based on two indicators, a 13-day exponential moving average and the MACD-Histogram, and identifies inflection points where a trend speeds up or slows down. The moving average identifies the trend, while the MACD-Histogram measures momentum. This unique indicator combination is color coded into the price bars for easy reference.
Calculation:
Green Price Bar: (13-period EMA > previous 13-period EMA) and
(MACD-Histogram > previous period's MACD-Histogram)
Red Price Bar: (13-period EMA < previous 13-period EMA) and
(MACD-Histogram < previous period's MACD-Histogram)
Price bars are colored blue when conditions for a Red Price Bar or Green Price Bar are not met. The MACD-Histogram is based on MACD(12,26,9).
The Impulse System works more like a censorship system. Green price bars show that the bulls are in control of both trend and momentum as both the 13-day EMA and MACD-Histogram are rising (you don't have permission to sell). A red price bar indicates that the bears have taken control because the 13-day EMA and MACD Histogram are falling (you don't have permission to buy). A blue price bar indicates mixed technical signals, with neither buying nor selling pressure predominating (either both buying or selling are permitted).
2. Another "extra feature" included here is the " Keltner Channels ". Keltner Channels are volatility-based envelopes set above and below an exponential moving average.
3. It were also included a couple of EMAs.
Everything can be removed from the chart any time.
-----------------------------------------------------------------
Options/adjustments for this indicator:
*Horizontal Distance (width) between two tops/bottoms criteria.
Refers to the horizontal distance between the MACH histogram peaks involved in the divergence
*Height of tops/bottoms criteria (for Histogram).
Refers to the difference/relation/vertical distance between the MACH HISTOGRAM peaks involved in the divergence: 1st Histogram Peak is X times the 2nd.
*Height/Vertical deviation of tops/bottoms criteria (for Price).
Deviation refers to the difference/relation/vertical distance between the PRICE peaks involved in the divergence.
*Plot Regular Bullish Divergences?.
*Plot Regular Bearish Divergences?.
*Delete Previous Cancelled Divergences?.
*Shows a pair of EMAs.
*Shows Keltner Channels (using ATR)
Keltner Channels are volatility-based envelopes set above and below an exponential moving average.
*This indicator also has the option to show the Impulse System over the price bars/candles.
MACDh with divergences & impulse system-----------------------------------------------------------------
General Description:
This indicator ( the one on the low panel ) is a classic MACD that also shows regular divergences between its histogram and the prices. This script is special because it can be adjusted to fit several criteria when trading divergences filtering them according to the "height" and "width" of the patterns. The script also includes the "extra feature" Impulse System, which you will hardly find anywhere else in similar classic MACD histogram divergence indicators.
The indicator helps to find trend reversals, and it works on any market, any instrument, any timeframe, and any market condition (except against really strong trends that do not show any other sign of reversion yet).
Please take on consideration that divergences should be taken with caution.
-----------------------------------------------------------------
Definition of classic Bullish and Bearish divergences:
* Bearish divergences occur in uptrends identifying market tops. A classical or regular bearish divergence occurs when prices reach a new high and then pull back, with an oscillator (MACD histogram in this case) dropping below its zero line. Prices stabilize and rally to a higher high, but the oscillator reaches a lower peak than it did on a previous rally.
In the chart above (weekly charts of NKE, Nike, Inc.), in area X (around August 2021), NKE rallied to a new bull market high and MACD-Histogram rallied with it, rising above its previous peak and showing that bulls were extremely strong. In area Y, MACD-H fell below its centerline and at the same time prices punched below the zone between the two moving averages. In area Z, NKE rallied to a new bull market high, but the rally of MACD-H was feeble, reflecting the bulls’ weakness. Its downtick from peak Z completed a bearish divergence, giving a strong sell signal and auguring a nasty bear market.
* Bullish divergences , in the other hand, occur towards the ends of downtrends identifying market bottoms. A classical (also called regular) bullish divergence occurs when prices and an oscillator (MACD histogram in this case) both fall to a new low, rally, with the oscillator rising above its zero line, then both fall again. This time, prices drop to a lower low, but the oscillator traces a higher bottom than during its previous decline.
In the example in the chart above (weekly charts of NKE, Nike, Inc.), you see a bearish divergence that signaled the October 2022 bear market bottom, giving a strong buy signal right near the lows. In area A, NKE (weekly charts) appeared in a free fall. The record low A of MACD-H indicated that bears were extremely strong. In area B, MACD-H rallied above its centerline. Notice the brief rally of prices at that moment. In area C, NKE slid to a new bear market low, but MACD-H traced a much more shallow low. Its uptick completed a bullish divergence, giving a strong buy signal.
-----------------------------------------------------------------
Extra feature: Impulse System
This indicator also includes the “ Impulse System ”. The Impulse System is based on two indicators, a 13-day exponential moving average and the MACD-Histogram, and identifies inflection points where a trend speeds up or slows down. The moving average identifies the trend, while the MACD-Histogram measures momentum. This unique indicator combination is color coded into the price bars or macd histogram bars for easy reference.
Calculation:
Green Price Bar: (13-period EMA > previous 13-period EMA) and
(MACD-Histogram > previous period's MACD-Histogram)
Red Price Bar: (13-period EMA < previous 13-period EMA) and
(MACD-Histogram < previous period's MACD-Histogram)
Histogram bars are colored blue when conditions for a Red Histogram Bar or Green Histogram Bar are not met. The MACD-Histogram is based on MACD(12,26,9).
The Impulse System works more like a censorship system. Green histogram bars show that the bulls are in control of both trend and momentum as both the 13-day EMA and MACD-Histogram are rising (you don't have permission to sell). A red histogram bar indicates that the bears have taken control because the 13-day EMA and MACD Histogram are falling (you don't have permission to buy). A blue histogram bar indicates mixed technical signals, with neither buying nor selling pressure predominating (either both buying or selling are permitted).
The impulse system can be removed from the chart any time.
-----------------------------------------------------------------
Options/adjustments for this indicator:
*Horizontal Distance (width) between two tops/bottoms criteria.
Refers to the horizontal distance between the MACH histogram peaks involved in the divergence
*Height of tops/bottoms criteria (for Histogram).
Refers to the difference/relation/vertical distance between the MACH HISTOGRAM peaks involved in the divergence: 1st Histogram Peak is X times the 2nd.
*Height/Vertical deviation of tops/bottoms criteria (for Price).
Deviation refers to the difference/relation/vertical distance between the PRICE peaks involved in the divergence.
*Plot Regular Bullish Divergences?.
*Plot Regular Bearish Divergences?.
*Delete Previous Cancelled Divergences?.
*This indicator also has the option to show the Impulse System over the MACD histogram bars
RSI Xray + VolumeRSI Analysis:
The indicator calculates the Relative Strength Index (RSI) using a user-defined length (default: 14).
It colors the bars based on RSI levels to identify potential overbought and oversold conditions.
Bars exceeding the overbought level (default: 70) are colored, while bars below the oversold level (default: 30) are colored too.
This helps traders identify potential trend reversals or market exhaustion points.
Midpoint Analysis:
The indicator calculates the midpoint of each bar, which is the average of the high and low prices.
It colors the bars based on their relation to the midpoint.
Bars above the midpoint are colored, indicating potential bullish momentum.
Bars below the midpoint are colored, suggesting potential bearish momentum.
Volume Analysis:
The indicator offers the ability to analyze volume changes and identify high volume bars.
It colors the bars when the volume exceeds a user-defined threshold.
This feature helps traders identify potential areas of market interest and increased participation.
Moving Average (SMA):
The indicator plots a Simple Moving Average (SMA) line of the closing price over a user-defined period (default: 9).
This moving average line helps traders identify potential trends and spot areas of support or resistance.
RSI Extreme Conditions:
The indicator identifies extreme RSI conditions by comparing the current RSI value with the highest and lowest RSI values calculated from a user-defined number of previous bars (default: 10).
When the RSI exceeds the overbought level but is lower than the highest RSI value within the specified range, the bar color changes to a customizable color (default: blue).
Conversely, when the RSI falls below the oversold level but is higher than the lowest RSI value within the specified range, the bar color changes to the same customizable color.
This feature helps traders identify potential RSI-based trading opportunities and market turning points.
Customization:
The indicator offers customizable settings for colors, RSI levels, SMA length, volume thresholds, RSI extreme levels, and RSI label color.
Traders can modify these settings based on their preferences and trading strategies.
Overall, the 'RSI Xray + Volume' indicator provides a comprehensive view of RSI levels, market momentum, volume changes, and RSI extreme conditions. Traders can use this information to identify potential trade setups, validate market trends, and make more informed trading decisions. It can be applied to various timeframes and instruments, making it a valuable tool for both short-term and long-term traders.
Sushi Trend [HG]🍣 The Sushi Roll, a trading concept conceived at a restaurant by Mark Fisher.
While the indicator itself goes by Sushi Trend, it is completely backed by the idea of Mark Fisher's Sushi Roll Reversal Pattern. No, it has nothing to do with raw fish, it just so happens that somebody was ordering sushi during the discussion of the idea, and that's how it got its name.
📝 Origin
First mentioned in his book, The Logical Trader --- the idea of the Sushi Roll is to serve as an early warning system to identify reversals in the market. Fisher defines the pattern as a series of 10 bars, split into two different sections, seen as 5 and 5. In order for the pattern to be emitted, the 5 bars to the right must completely engulf the 5 bars to the left. It's not a super complex system and is in fact extremely simple to grasp.
📈 Supertrend Similarities
Instead of displaying the pattern in the way Fisher meant for it to be portrayed (as seen in the photo above), I instead turned it into an indicator similar to that of Supertrend while also inheriting the same concepts from the pattern. I did this because the pattern itself has inconsistencies which can be quite noticeable when trading with it after a while. For example, these patterns can occur even during consolidating periods, and even though the pattern is meant to be recognized during trending markets, the engulfing bars can sometimes be left with indecisive directions.
➡️ The Result
Here is the result, visualized to be better in a trending format. (The indicator will not contain the boxes.)
While Fisher does mention the pattern to include 10 bars, you can actually use this pattern with any number of bars. At the end of the day, it's a concept derived from a discussion at a Japanese restaurant, and a pattern that has been around for years that has seen results. Due to this, I added an input option to control the series of bars for right-bar engulf detection.
To reassure the meaning of the pattern --> "A series of 10 bars" means 5 left bars and 5 right bars. So if you want to check if 5 right bars are engulfing the previous 5 bars (as seen in the photo above), you would want to select 5 in the input settings.
You can learn more about it from the following links
Market Reversals and the Sushi Roll Technique
The Logical Trader
libKageMiscLibrary "libKageMisc"
Kage's Miscelaneous library
print(_value)
Print a numerical value in a label at last historical bar.
Parameters:
_value : (float) The value to be printed.
Returns: Nothing.
barsBackToDate(_year, _month, _day)
Get the number of bars we have to go back to get data from a specific date.
Parameters:
_year : (int) Year of the specific date.
_month : (int) Month of the specific date. Optional. Default = 1.
_day : (int) Day of the specific date. Optional. Default = 1.
Returns: (int) Number of bars to go back until reach the specific date.
bodySize(_index)
Calculates the size of the bar's body.
Parameters:
_index : (simple int) The historical index of the bar. Optional. Default = 0.
Returns: (float) The size of the bar's body in price units.
shadowSize(_direction)
Size of the current bar shadow. Either "top" or "bottom".
Parameters:
_direction : (string) Direction of the desired shadow.
Returns: (float) The size of the chosen bar's shadow in price units.
shadowBodyRatio(_direction)
Proportion of current bar shadow to the bar size
Parameters:
_direction : (string) Direction of the desired shadow.
Returns: (float) Ratio of the shadow size per body size.
bodyCloseRatio(_index)
Proportion of chosen bar body size to the close price
Parameters:
_index : (simple int) The historical index of the bar. Optional. Default = 0.()
Returns: (float) Ratio of the body size per close price.
lastDayOfMonth(_month)
Returns the last day of a month.
Parameters:
_month : (int) Month number.
Returns: (int) The number (28, 30 or 31) of the last day of a given month.
nameOfMonth(_month)
Return the short name of a month.
Parameters:
_month : (int) Month number.
Returns: (string) The short name ("Jan", "Feb"...) of a given month.
pl(_initialValue, _finalValue)
Calculate Profit/Loss between two values.
Parameters:
_initialValue : (float) Initial value.
_finalValue : (float) Final value = Initial value + delta.
Returns: (float) Profit/Loss as a percentual change.
gma(_Type, _Source, _Length)
Generalist Moving Average (GMA).
Parameters:
_Type : (string) Type of average to be used. Either "EMA", "HMA", "RMA", "SMA", "SWMA", "WMA" or "VWMA".
_Source : (series float) Series of values to process.
_Length : (simple int) Number of bars (length).
Returns: (float) The value of the chosen moving average.
xFormat(_percentValue, _minXFactor)
Transform a percentual value in a X Factor value.
Parameters:
_percentValue : (float) Percentual value to be transformed.
_minXFactor : (float) Minimum X Factor to that the conversion occurs. Optional. Default = 10.
Returns: (string) A formated string.
isLong()
Check if the open trade direction is long.
Returns: (bool) True if the open position is long.
isShort()
Check if the open trade direction is short.
Returns: (bool) True if the open position is short.
lastPrice()
Returns the entry price of the last openned trade.
Returns: (float) The last entry price.
barsSinceLastEntry()
Returns the number of bars since last trade was oppened.
Returns: (series int)
getBotNameFrosty()
Return the name of the FrostyBot Bot.
Returns: (string) A string containing the name.
getBotNameZig()
Return the name of the FrostyBot Bot.
Returns: (string) A string containing the name.
getTicksValue(_currencyValue)
Converts currency value to ticks
Parameters:
_currencyValue : (float) Value to be converted.
Returns: (float) Value converted to minticks.
getSymbol(_botName, _botCustomSymbol)
Formats the symbol string to be used with a bot
Parameters:
_botName : (string) Bot name constant. Either BOT_NAME_FROSTY or BOT_NAME_ZIG. Optional. Default is empty string.
_botCustomSymbol : (string) Custom string. Optional. Default is empy string.
Returns: (string) A string containing the symbol for the bot. If all arguments are empty, the current symbol is returned in Binance format.
showProfitLossBoard()
Calculates and shows a board of Profit/Loss through the years.
Returns: Nothing.
AntaresLibrary "Antares"
this library contains some utility functions that I use in my open source scripts including moving average helpers, candlstick helpers, money management, formatters, convertors, webhook integration, analysis, filters and drawing helpers
ma(type, length, source)
Wraps all ma functions
Parameters:
type : Either SMA or EMA or RMA or WMA or VWMA
length : Number of bars (length).
source : Series of values to process.
Returns: Moving average of `source` for `length` bars back by the of MA.
bb(ma, length, mult, source)
Overwrites `ta.bb` duo to limitations of simple int.float mult. Bollinger Bands. A Bollinger Band is a technical analysis tool defined by a set of lines plotted two standard deviations (positively and negatively) away from a simple moving average (SMA) of the security's price, but can be adjusted to user preferences.
Parameters:
ma : Either SMA or EMA or RMA or WMA or VWMA
length : Number of bars (length).
mult : Standard deviation factor.
source : Series of values to process.
Returns: Bollinger Bands.
atr(length, h, l, c)
Overwrites `ta.atr` duo to limitations of simple int length. Function atr (average true range) returns the RMA of true range. True range is max(high - low, abs(high - close ), abs(low - close )).
Parameters:
length : Number of bars (length).
h : High price high price.
l : low price.
c : Close price close price.
Returns: Average true range.
rsi(length, source)
Overwrites `ta.rsi` duo to limitations of simple int length. Relative strength index. It is calculated using the `ta.rma()` of upward and downward changes of `source` over the last `length` bars.
Parameters:
length : Number of bars (length).
source : Series of values to process.
Returns: Relative strength index.
lowest(length, source, start)
Lowest value for a given number of bars back.
Parameters:
length : Number of bars (length).
source : Series of values to process.
start : Series number of bars that should be skipped before process.
Returns: Lowest value in the series.
highest(length, source, start)
Highest value for a given number of bars back.
Parameters:
length : Number of bars (length).
source : Series of values to process.
start : Series number of bars that should be skipped before process.
Returns: Highest value in the series.
atr_multiplier(rsi, atr_max_multiplier)
Dynamic atr multiplier calculated by RSI.
Parameters:
rsi : Relative strength index.
atr_max_multiplier : The maximum multiplier of atr
Returns: Dynamic multiplier of ATR
offset(atr, atr_multiplier)
Safe dynamic offset you need to use in your stoploss, stop buy/sell, etc.
Parameters:
atr : Average true range.
atr_multiplier : ATR multiplier got from `atr_multiplier(rsi, atr_max_multiplier)`
Returns: Dynamic offset
rsi_emotional(rsi, bottom, top)
Tells you if RSI is in emotional zone.
Parameters:
rsi : Relative Strength Index
bottom : The zone that below it market reacts emotionally
top : The zone that above it market reacts emotionally
Returns: false if RSI was between `bottom` and `top` otherwise true
rsi_signal(rsi, bottom, top)
Tells you if RSI is in good point to check your other strategy conditions.
Parameters:
rsi : Relative Strength Index
bottom : The zone that below it market reacts emotionally
top : The zone that above it market reacts emotionally
Returns: 1 if RSI crossed out 30, 50 or 70. -1 if RSI crossed under 70, 50, 30. otherwise is 0
Lagging Session Regression ChannelHello Traders !
Note :
This is my very first published script on trading view & from brainstorming an idea to developing to the finched product it was imperative to me for the indiactor and every one of its features to be of some meaningfull use. If you like the idea of statsitics being able to predict future prices in the market then this indicator may be usefull in your trading arsenal.
Introduction :
Lagging Session Regression Channel (LSRC) is a statistical trend analysis indicator that "laggs" the market by the user defined session, by defualt a day, by doing so the indicator leverges the ability of simple linear regression to predict future asset price.(This can be used on any asset in any market in any time frame)
Options & inputs :
- Bar regression lookback :
The value of bars back from the lats session change, if the seesion time is equivelnt to the the chart timefrmae then the regression line will not lag price, i.e it will act as a stantdard lineer regression channel chnaging on evrey last confimred bar.
- Standard Deviation lookback :
The value of bars from the last session change to cacluate the unbiased standard deviation, The lookback can be set to > or < the regression lookback to cauture > or < less asset volatility. (note this is the same as the residual standard deviation)
- Predicted price at nth bar :
if you whant to know the predicted close price value at any given point in the regression and to the RHS of the regression.
- Regression Line colors group :
Changes the colors of each plotted line.
- OLS Line color : is only changeable when trend color is set to false / unticked.
- Visable deviations group :
Plots the lines that you want on chart, e.g if "Show DEV1" and "Sow DEV SUB1" are the only inputs ticked then they will be the only lines ploted along with the simple linear regression line.
- Regression Line Dynamics group :
All inputs in this group change the regressions calculations given the bar lookback is constant / the same.
- Trend color : if set too true, when the close of the proceding real time bar is greater than the simple linear regression line from the last confimred session the line will be colored green, if otherwise the close is below the simple linear regression line the line will be colored red.
- Extend regression line :
This is the same chart image as seen on the publication chart image but with Extend regression line set to true, this allows the trader to test the valdity of the regression and how well it predicts future price, as seen on the M15 chart of BTCUSD above the indicator was pritty good at doing this.
- Standard deviation channel source :
Source for standard deviation to be calculated on. note if this is set to a varible other than the close then this will no longer be the resdiaul standard deviation, as of now "LSRC 1.0" the regression uses only the close for y / predicted values.
- Time elasped unitl next regression calculation :
The session time until the next LSRC will be calculated and plotted
Label LSRC stats :
- STAN DEV : the standard deviation used to cacluateed the deviation channels
- MIN : The lowest price across the regression
- MAX : The highest price across the regression
- n bars above dev 1 : The number of bars that closed above the first standard deviation channel across the entire regression calculation
- n bars below sub dev1 : The number of bars that closed below the first standard deviation channel.
- Regression Price : The output of "Predicted price at nth bar" input.
Hope you find this usefull !
I will continue too try improve this script and update it accordingly.
Triple ThreatThis indicator provides buy and sell signals for Bitcoin based on confluence from well-known momentum, volatility, and trend indicators. It has successfully captured the major directional trends on Bitcoin's daily chart since 2018, and the settings are currently optimized for this chart in particular. This indicator implements RSI to gauge momentum, BBWP to gauge volatility, and an EMA to gauge trend. Maximum confluence signals are represented by horizontal bars in the indicator's pane, where the tallest green bar is a confirmed buy signal, and the tallest red bar is a confirmed sell signal. The shortest bar represents a momentum-only signal, and the second-shortest bar represents a volatility signal in confluence with the previously given momentum signal.
To track momentum, the RSI is plotted to the indicator plane against a moving average of the RSI. A momentum signal is generated when the RSI crosses over its moving average, retests/approaches the moving average, and then continues in the crossover direction (i.e., it fails to cross the moving average to the opposite side, creating a successful retest). The settings that affect this trigger are the "Crossover Threshold," which specifies how much the RSI should exceed the moving average to be considered a crossover, and the "Retest threshold," which specifies how closely the RSI should approach the moving average to be considered a retest. A momentum signal is ALSO generated if the RSI or its moving average exceed their counterpart by a certain threshold. For example, if the threshold was set at 10, a BUY signal would be generated when the RSI exceeds the moving average by 10, or a SELL signal would be generated when the moving average exceeds the RSI by 10. This threshold can be set using the "Instant Signal Threshold" setting. Either type of momentum signal will be plotted on the pane as the shortest horizontal bar, with its color indicating the signal's direction.
Volatility is primarily measured using the Bollinger Band Width Percentile (BBWP) indicator, which was created by The_Caretaker. BBWP plots the volatility of the asset's price, given by Bollinger Band width, relative to past volatility by assigning the volatility readings into percentiles. The indicator also includes a moving average of the BBWP itself, where a crossover to the upside represents expanding volatility and a crossover to the downside represents contracting volatility. This indicator is used to confirm a signal given by the momentum indicators - a momentum signal that is given during a period of expanding volatility has a greater likelihood of success. Therefore, when the BBWP crosses above its moving average by a given threshold, a previously triggered momentum signal is considered to be "confirmed." The threshold for this crossover can be set using the "BBWP Confirmation Threshold" setting. However, it is also relevant that periods of extreme volatility often accompany an extremity in price action (a "top" or "bottom"), in which case the BBWP is likely to contract after price reaches such an extremity. This phenomenon is captured by also using "extreme reads" on the momentum indicator to signal that there has already been enough volatility to confirm a momentum signal. If the RSI gives an "extreme read" before triggering a signal, the momentum signal is also considered to be confirmed. For example, if the RSI is above 80, breaks below 80, and then gives a SELL signal, this sell signal is considered to be confirmed without requiring the BBWP to crossover its moving average to the upside. The threshold that would confirm a SELL signal can be set with the "Overbought" setting, and the threshold that would confirm a BUY signal can be set with the "Oversold" setting. Whenever a volatility signal confirms a momentum signal, a medium-sized horizontal bar will be plotted on the pane in the same directional color as the momentum signal. Note that a momentum signal may trigger at the exact same time as the volatility signal which confirms it; in this case, only the medium-sized bar will be visible on the pane, but its direction can still be identified by its color.
Lastly, to reduce the likelihood of "false signals," a trend indicator is used to confirm the direction of the signal. This is typically an exponential moving average. If a confirmed volatility SELL signal is given, and the closing price is below the moving average, then the SELL signal is also confirmed by the trend. Likewise, if a confirmed volatility BUY signal is given, and the closing price is above the moving average, then the BUY signal is confirmed by the trend. The type and length of the moving average used to verify the trend can be set using the "Moving Average Type" and "Moving Average Length" settings found below the momentum/volatility settings. A trend signal is plotted on the pane as a tall horizontal bar, and is more deeply colored than the momentum and volatility signals.
For maximum confluence, it is recommended that the trend signal, given by the tallest bar, is the one that forms the basis of trades executed while using the Triple Threat indicator. It is possible to enter more aggressive trades with better entries by using only the volatility signal, given by the medium-sized bar, however this entails greater risk and should only be done in confluence with an additional trading strategy of your own discretion. Backtesting has shown that using the volatility signal alone underperforms using the volatility signal in confluence with the trend signal.
Please also be advised that the default setting are optimized for Bitcoin's daily chart only. The indicator is still applicable to other timeframes and asset classes, but the settings may need to be modified. I have a list of settings for other Bitcoin timeframes, and I would be happy to share them upon request.
I hope you can find this indicator to be of some use to your trading strategies. I'd be happy to hear any feedback from the community, so please don't hesitate to reach out. Stay safe, and happy trading.
MovingAveragesLibrary "MovingAverages"
Contains utilities for generating moving average values including getting a moving average by name and a function for generating a Volume-Adjusted WMA.
sma(_D, _len) Simple Moving Avereage
Parameters:
_D : The series to measure from.
_len : The number of bars to measure with.
ema(_D, _len) Exponential Moving Avereage
Parameters:
_D : The series to measure from.
_len : The number of bars to measure with.
rma(_D, _len) RSI Moving Avereage
Parameters:
_D : The series to measure from.
_len : The number of bars to measure with.
wma(_D, _len) Weighted Moving Avereage
Parameters:
_D : The series to measure from.
_len : The number of bars to measure with.
vwma(_D, _len) volume-weighted Moving Avereage
Parameters:
_D : The series to measure from. Default is 'close'.
_len : The number of bars to measure with.
alma(_D, _len) Arnaud Legoux Moving Avereage
Parameters:
_D : The series to measure from. Default is 'close'.
_len : The number of bars to measure with.
cma(_D, _len, C, compound) Coefficient Moving Avereage (CMA) is a variation of a moving average that can simulate SMA or WMA with the advantage of previous data.
Parameters:
_D : The series to measure from. Default is 'close'.
_len : The number of bars to measure with.
C : The coefficient to use when averaging. 0 behaves like SMA, 1 behaves like WMA.
compound : When true (default is false) will use a compounding method for weighting the average.
dema(_D, _len) Double Exponential Moving Avereage
Parameters:
_D : The series to measure from. Default is 'close'.
_len : The number of bars to measure with.
zlsma(_D, _len) Arnaud Legoux Moving Avereage
Parameters:
_D : The series to measure from. Default is 'close'.
_len : The number of bars to measure with.
zlema(_D, _len) Arnaud Legoux Moving Avereage
Parameters:
_D : The series to measure from. Default is 'close'.
_len : The number of bars to measure with.
get(type, len, src) Generates a moving average based upon a 'type'.
Parameters:
type : The type of moving average to generate. Values allowed are: SMA, EMA, WMA, VWMA and VAWMA.
len : The number of bars to measure with.
src : The series to measure from. Default is 'close'.
Returns: The moving average series requested.
AO-ZoneThe Zone is mention in New Trading Dimensions by Bill Williams,PhD.
The Zone is used for Entry Signal
Green Zone are painting Green when Awesome Oscillator (AO) and Accelerater/Decelerator (AC) are both increasing.
Red Zone are painting Red when Awesome Oscillator (AO) and Accelerater/Decelerator (AC) are both decreasing.
Gray Zone are painting Gray when AO and AC in difference changing
Gray Zone are indicate the indecision between bulls and bears.
Bill Williams, PhD. mention that Green Zone or Red Zone usually happen 6-8 bars Continuously.
(in my opinion, it happen lower than in intraday time frame)
The First Bar that change to be Green or Red color is the Signal Bar.
Entry Signal is the second bar in the same color as the Signal bar happen with Volume
Price go higher the high of previous Green Bar is Buy Signal. Entry Buy (Long) and place Stop at 1 tick lower the Low of previous bar.
Price go lower the Low of previous Red Bars is Sell Signal. Entry Sell (Short) and place Stop at 1 tick higher the High of previous bar.
Can Entry from 2nd bar to 5th bar.
Do not Entry if Green Bars or Red Bars completed 5 bars continuously.
This indicator have AO , AC and Zone in 1 tools and there are counter to show the number of Green bar or Red bar.
Green counter will happen when AO >0 and Green zone because AO > 0 show uptrend condition.
Red Counter will happen when AO < 0 and Red Zone because AO <0 show downtrend condition.
When we entry , we should follow the trend. So I design to non-show the counter if zone is against the trend.
#WaveRiders
[OBV] [MACD] [Accelerator/Awesome Oscillator] + PivDiv 2Here is an indicator with 4 options:
- OBV
- MACD (uses default EMA, you can change this to SMA)
- AC
- AO
All accompanied with my "Divergences (Pivots)" with 3 settings:
- 'Long Period', default checks 19 bars to the Left (="History") and 1 bar to the Right (="Future")
- 'Medium Period', default checks 14 bars to the Left (="History") and 1 bar to the Right (="Future")
- 'Short Period', default checks 9 bars to the Left (="History") and 1 bar to the Right (="Future")
When choosing an indicator, it comes with their accompanying "Divergences"!
Each Bar checks an amount of Bars at the Left (="History") and Bars to the Right (="Future"), insuring this particular Bar is the Highest or Lowest of them all at "close",
this is compared to the or or and so we have our Divergences.
There is always a slight delay (number of Bar(s) at the Right side (="Future")
If you like a setting, where the amount of “RightBars” equals the ”LeftBars” you can enable the " > Only change 'LeftBars'" button.
Then you only have to adjust the amount of “LeftBars” and the amount of “RightBars” automatically will be the same.
Bullish divergences are "Green"
- 'Short' - 'Medium' "period" > "▲"
- 'Long' "period" > "⇧"
Bearish divergences are "Red"
- 'Short' - 'Medium' "period" > "▼"
- 'Long' "period" > "⇩"
Hidden divergences ( Bullish and Bearish ) are:
- 'Short' - 'Medium' "period" > "▲▼" - "White"
- 'Long' "period" > "⬆︎⬇︎" - "Yellow"
Since for me, at this moment, it is impossible to let this indicator work as our eyes work, it will miss sometimes. I've tried to solve this by putting 3 different "Periods",
but it is not perfect, so look at it as an aiding tool, a "hint" so you can look in detail if there is something of importance or not.
What also helps is to switch timeframes.
For example on a 1 hour chart a "Highest" point can be missed sometimes, but could be perfectly visible on a 2 or 4 hour chart.
Also, try to change the numbers in a way that suits you the best.
Enjoy!
Edward PriceAction
This is an updated version of my previous script, I have added a few extra Patterns and some patterns specs have chnaged over those specified by "Price Action Battle Station by theforexguy".
Because this script has diverted from the original specification of "theforexguy", I have decided to release it as a new version. Improvements have been made to some of the pattern finding calculations, for example Hammer and Shooting Stars are now special Pin Bars, they now must have preceding and succeeding confirm bars, so they do not occur very often.
NOTE: All the identification of PA candles is disabled by default.
Changes made in Version 2.0 :
Added Forex Morning and Evening Stars (the centre small candle is not a specific color).
Abbreviated text names for less cluttered look.
Change minimum/maximum bar sizes to be a % of current ATR, rather than pips, this makes relative sizing independent on Time Frame, and make the script work better with non-currency assets like stocks and commodities .
Change definition of Hammer and shooting Star so the the previous candle is part of a trend and is followed by a confirm candle.
Added some precendence test to reduce multiple action labels.
版本注释: After some feedback from fellow traders I have made the following changes:
Definition for Outside Bar now does not require the previous bar to be opposite Colour (this the same as Inside Bars), but added a requirement for minimum size ratio compared to previous Bar (set to 1.1 by default). If you require previous Bar to be opposite colour, you could use Engulfing candles with Outside Bar option enabled.
Added Maximum size ratio requirement for Inside Bars (set to 0.9 by default).
版本注释: Minor Update.
Added OverSized candle Pattern, the pattern is labelled when candle is some ratio (default 5) bigger than current ATR of chart time frame.
Added Option to Change ATR Length.
版本注释: Patch
Correct Polarity of Oversize Bar labelling.
中文解释:
价格行为交易,此指标能够显示出来K线所代表的意思,比如PB就是PINBAR的意思 就是倒锤头线,反转概率大于延续概率。
OB就是吞没的意思,不管是阴吞没还是阳吞没 我们根据PA入场就行,标准是回撤50%入场。而ODJI就是黄昏星,启明星的意思。
这个指标在添加的时候是空白的,需要人工去点设置,把需要使用的功能打上钩钩确认。这样就能够在图表上面显示出来了。
如果不希望显示彩色K线同样也可以设置哈!
数值和样式都 可以设置,在不懂指标的前提下推荐使用默认设置。只负责打勾勾就行。确认后就能够看到图表上面显示的指标了。
Multi SMA EMA WMA HMA BB (5x8 MAs Bollinger Bands) MAX MTF - RRBMulti SMA EMA WMA HMA 4x7 Moving Averages with Bollinger Bands MAX MTF by RagingRocketBull 2019
Version 1.0
All available MAX MTF versions are listed below (They are very similar and I don't want to publish them as separate indicators):
ver 1.0: 4x7 = 28 MTF MAs + 28 Levels + 3 BB = 59 < 64
ver 2.0: 5x6 = 30 MTF MAs + 30 Levels + 3 BB = 63 < 64
ver 3.0: 3x10 = 30 MTF MAs + 30 Levels + 3 BB = 63 < 64
ver 4.0: 5(4+1)x8 = 8 CurTF MAs + 32 MTF MAs + 20 Levels + 3 BB = 63 < 64
ver 5.0: 6(5+1)x6 = 6 CurTF MAs + 30 MTF MAs + 24 Levels + 3 BB = 63 < 64
ver 6.0: 4(3+1)x10 = 10 CurTF MAs + 30 MTF MAs + 20 Levels + 3 BB = 63 < 64
Fib numbers: 8, 13, 21, 34, 55, 89, 144, 233, 377
This indicator shows multiple MAs of any type SMA EMA WMA HMA etc with BB and MTF support, can show MAs as dynamically moving levels.
There are 4 MA groups + 1 BB group, a total of 4 TFs * 7 MAs = 28 MAs. You can assign any type/timeframe combo to a group, for example:
- EMAs 9,12,26,50,100,200,400 x H1, H4, D1, W1 (4 TFs x 7 MAs x 1 type)
- EMAs 8,13,21,30,34,50,55,89,100,144,200,233,377,400 x M15, H1 (2 TFs x 14 MAs x 1 type)
- D1 EMAs and SMAs 8,13,21,30,34,50,55,89,100,144,200,233,377,400 (1 TF x 14 MAs x 2 types)
- H1 WMAs 13,21,34,55,89,144,233; H4 HMAs 9,12,26,50,100,200,400; D1 EMAs 12,26,89,144,169,233,377; W1 SMAs 9,12,26,50,100,200,400 (4 TFs x 7 MAs x 4 types)
- +1 extra MA type/timeframe for BB
There are several versions: Simple, MTF, Pro MTF, Advanced MTF, MAX MTF and Ultimate MTF. This is the MAX MTF version. The Differences are listed below. All versions have BB
- Simple: you have 2 groups of MAs that can be assigned any type (5+5)
- MTF: +2 custom Timeframes for each group (2x5 MTF) +1 TF for BB, TF XY smoothing
- Pro MTF: 4 custom Timeframes for each group (4x3 MTF), 1 TF for BB, MA levels and show max bars back options
- Advanced MTF: +4 extra MAs/group (4x7 MTF), custom Ticker/Symbols, Timeframe <>= filter, Remove Duplicates Option
- MAX MTF: +2 subtypes/group, packed to the limit with max possible MAs/TFs: 4x7, 5x6, 3x10, 4(3+1)x10, 5(4+1)x8, 6(5+1)x6
- Ultimate MTF: +individual settings for each MA, custom Ticker/Symbols
MAX MTF version tests the limits of Pinescript trying to squeeze as many MAs/TFs as possible into a single indicator.
It's basically a maxed out Advanced version with subtypes allowing for mixed types within a group (i.e. both emas and smas in a single group/TF)
Pinescript has the following limits:
- max 40 security calls (6 calls are reserved for dupe checks and smoothing, 2 are used for BB, so only 32 calls are available)
- max 64 plot outputs (BB uses 3 outputs, so only 61 plot outputs are available)
- max 50000 (50kb) size of the compiled code
Based on those limits, you can only have the following MAs/TFs combos in a single script:
1. 4x7, 5x6, 3x10 - total number of MTF MAs must always be <= 32, and you can still have BB and Num Levels = total MAs, without any compromises
2. 5(4+1)x8, 6(5+1)x6, 4(3+1)x10 - you can use the Current Symbol/Timeframe as an extra (+1) fixed TF with the same number of MTF MAs
- you don't need to call security to display MAs on the Current Symbol/Timeframe, so the total number of MTF MAs remains the same and is still <= 32
- to fit that many MAs into the max 64 plot outputs limit you need to reduce the number of levels (not every MA Group will have corresponding levels)
Features:
- 4x7 = 28 MAs of any type
- 4x MTF groups with XY step line smoothing
- +1 extra TF/type for BB MAs
- 2 MA subtypes within each group/TF
- 4x7 = 28 MA levels with adjustable group offsets, indents and shift
- supports any existing type of MA: SMA, EMA, WMA, Hull Moving Average (HMA)
- custom tickers/symbols for each group
- show max bars back option
- show/hide both groups of MAs/levels/BB and individual MAs
- timeframe filter: show only MAs/Levels with TFs <>= Current TF
- hide MAs/Levels with duplicate TFs
- support for custom TFs that are not available in free accounts: 2D, 3D etc
- support for timeframes in H: H, 2H, 4H etc
Notes:
- Uses timeframe textbox instead of input resolution dropdown to allow for 240 120 and other custom TFs
- Uses symbol textbox instead of input symbol to avoid establishing multiple dummy security connections to the current ticker - otherwise empty symbols will prevent script from running
- Possible reasons for missing MAs on a chart:
- there may not be enough bars in history to start plotting it. For example, W1 EMA200 needs at least 200 bars on a weekly chart.
- for charts with low/fractional prices i.e. 0.00002 << 0.001 (default Y smoothing step) decrease Y smoothing as needed (set Y = 0.0000001) or disable it completely (set X,Y to 0,0)
- for charts with high price values i.e. 20000 >> 0.001 increase Y smoothing as needed (set Y = 10-20). Higher values exceeding MAs point density will cause it to disappear as there will be no points to plot. Different TFs may require diff adjustments
- TradingView Replay Mode UI and Pinescript security calls are limited to TFs >= D (D,2D,W,MN...) for free accounts
- attempting to plot any TF < D1 in Replay Mode will only result in straight lines, but all TFs will work properly in history and real-time modes. This is not a bug.
- Max Bars Back (num_bars) is limited to 5000 for free accounts (10000 for paid), will show error when exceeded. To plot on all available history set to 0 (default)
- Slow load/redraw times. This indicator becomes slower, its UI less responsive when:
- Pinescript Node.js graphics library is too slow and inefficient at plotting bars/objects in a browser window. Code optimization doesn't help much - the graphics engine is the main reason for general slowness.
- the chart has a long history (10000+ bars) in a browser's cache (you have scrolled back a couple of screens in a max zoom mode).
- Reload the page/Load a fresh chart and then apply the indicator or
- Switch to another Timeframe (old TF history will still remain in cache and that TF will be slow)
- in max possible zoom mode around 4500 bars can fit on 1 screen - this also slows down responsiveness. Reset Zoom level
- initial load and redraw times after a param change in UI also depend on TF. For example: D1/W1 - 2 sec, H1/H4 - 5-6 sec, M30 - 10 sec, M15/M5 - 4 sec, M1 - 5 sec. M30 usually has the longest history (up to 16000 bars) and W1 - the shortest (1000 bars).
- when indicator uses more MAs (plots) and timeframes it will redraw slower. Seems that up to 5 Timeframes is acceptable, but 6+ Timeframes can become very slow.
- show_last=last_bars plot limit doesn't affect load/redraw times, so it was removed from MA plot
- Max Bars Back (num_bars) default/custom set UI value doesn't seem to affect load/redraw times
- In max zoom mode all dynamic levels disappear (they behave like text)
- Dupe check includes symbol: symbol, tf, both subtypes - all must match for a duplicate group
- For the dupe check to work correctly a custom symbol must always include an exchange prefix. BB is not checked for dupes
Good Luck! Feel free to learn from/reuse the code to build your own indicators.
By Traders For TradersThis is an updated version of my previous script, I have added a few extra Patterns and some patterns specs have chnaged over those specified by "Price Action Battle Station by theforexguy".
Because this script has diverted from the original specification of "theforexguy", I have decided to release it as a new version. Improvements have been made to some of the pattern finding calculations, for example Hammer and Shooting Stars are now special Pin Bars, they now must have preceding and succeeding confirm bars, so they do not occur very often.
NOTE: All the identification of PA candles is disabled by default.
Changes made in Version 2.0 :
Added Forex Morning and Evening Stars (the centre small candle is not a specific color).
Abbreviated text names for less cluttered look.
Change minimum/maximum bar sizes to be a % of current ATR, rather than pips, this makes relative sizing independent on Time Frame, and make the script work better with non-currency assets like stocks and commodities .
Change definition of Hammer and shooting Star so the the previous candle is part of a trend and is followed by a confirm candle.
Added some precendence test to reduce multiple action labels.
版本注释: After some feedback from fellow traders I have made the following changes:
Definition for Outside Bar now does not require the previous bar to be opposite Colour (this the same as Inside Bars), but added a requirement for minimum size ratio compared to previous Bar (set to 1.1 by default). If you require previous Bar to be opposite colour, you could use Engulfing candles with Outside Bar option enabled.
Added Maximum size ratio requirement for Inside Bars (set to 0.9 by default).
版本注释: Minor Update.
Added OverSized candle Pattern, the pattern is labelled when candle is some ratio (default 5) bigger than current ATR of chart time frame.
Added Option to Change ATR Length.
版本注释: Patch
Correct Polarity of Oversize Bar labelling.
VWAP forex Yesterday Hi/Low update fix This script is an updte fix of an earlier script that stopped functioning when TradingView updated Pine script. This script plots Forex (24 hour session) VWAP, yesterday's high, low, open and close (HLOC),
the day before's HLOC -
Also plots higher timeframe 20 emas
1 minute 5, 15, 60 period 20 ema
5 minute 15, 60 period 20 ema
15 minute 60, 120 , 240 period 20 ema
60 minute 120, 240 period 20 ema
120 minute 240, D period 20 ema
240 minute D period 20 ema
Also signals inside bars (high is less than or equal to the previous bar's high and the low is greater than or equal to the previous low) the : true inside bars have a maroon triangle below the bar as well as a ">" above the bar.
If subsequest bars are inside the last bar before the last true inside bar they also are marked with an ">"
This is probably a slight variation from the way Leaf_West plots the inside bars.
It appears that he marks all bars that are inside the original bar until one a bar has a high or low
outside the original bar. But I would need to see an example on his charts.
The Time Session Glitch and the Fix FX_IDC, COINBASE and BITSTAMP:
The script will correctly default to 1700 hrs to 1700hrs EDT/EST session for FXCM.
Strangely some securities appear to erroneously start their session at 1200 hrs ie. My guess is that they are somehow tied to GMT+0 instead of New York time (GMT+5). See this for yourself by selecting EURUSD using the FXCM exchange (FX:EURUSD) and then EURUSD from the IDC exchange (FX_IDC:EURUSD). The FX-IDC session opening range starts 5 hours before it actually should at 1700 hrs EDT/EST. To correct for this I have implemented an automatic fix (default) and a user selected "5 hour time shift adjust. ment needed on some securities".
There is also a 4 hour time shift button which might be necessary when New York reverts from Eastern Standard Time to Eastern Daylight Time (1 hour difference) in March (and then back again in November). In the default auto adjust mode you will need to select the 1 hour time shift. That is if this glitch still exists at that time.
I have looked at other scripts, other than my own and where the script is available, that need to use information about the opening bar and all have the same time shift issue
COINBASE and BITSTAMP open at 0000 hours GMT. Since I use lines instead of circles or crosses I had to make a small adjustment to plot the lines correctly.
If it needs work let me know.
Jayy
Indicators: Better Volume Indicator & InstrumentVolumeBetter Volume Indicator
-----------------------------------------
This is a direct port of a famous indicator from Tradestation platform.
BVI improves on your typical volume histogram by coloring the bars based on 5 criteria:
* Volume Climax Up – high volume, high range, up bars (red)
* Volume Climax Down – high volume, high range, down bars (white)
* High Volume Churn – high volume, low range bars (green, barcolor= blue)
* Low Volume – low volume bars (yellow)
* Volume Climax plus High Volume Churn – both the above conditions (magenta)
When there are no volume signals the default histogram bar coloring is cyan.
Bars can also be colored to match volume color. Enable "Change BarColors?" in the options page.
Volume Climax Up bars are typically seen at:
* The start of up trends
* The end of up trends, and
* Pullbacks during down trends.
Volume Climax Down bars are typically seen at:
* The start of down trends
* The end of down trends, and
* Pullbacks during up trends.
High Volume Churn bars are typically seen at:
* The end of up trends
* The end of down trends, and
* Profit taking mid-trend.
Low Volume bars are typically seen at:
* The end of up trends
* The end of down trends, and
* Pullbacks mid-trend.
More info:
emini-watch.com
Instrument Volume
-----------------------------------------
This is a simple script that allows you to plot volume for any instrument.
Very handy when you want to compare volumes. Just add multiple instances and select the symbol you want via Options page.
This script also gets close/open for the selected symbol. If you are itching to get started on Pinescripting (scripting language used at TV), I suggest trying out the following, using this script as the template:
- Show RSI for any instrument
(hint: "close" for the selected symbol is already in script. Do a "plot(rsi(c, 14))")
- MACD / CCI / ....
- Plot the difference (not correlation). This may be of interest in some instruments.
For ex. BTC in BTCE exchange mostly lags BITSTAMP.
Hope this piques your interest in Pine. Feel free to post in the Pinescript room if you have any queries.
Confluence of signals# Confluence of Signals
## Overview
The "Confluence of Signals" is a powerful Pine Script indicator designed for TradingView that allows traders to define and visualize multiple technical conditions for both long and short trading signals. When all specified conditions align (reach confluence), the indicator generates a clear buy or sell signal, providing a structured approach to trading decision-making.
## Key Features
### Multiple Condition Support
- **8 Long Conditions**: Configure up to 8 different technical conditions for long entries
- **8 Short Conditions**: Configure up to 8 different technical conditions for short entries
- **Flexible Activation**: Enable or disable any condition based on your trading strategy
### Signal Types and Flexibility
- **Rich Condition Types**:
- Crossing (standard crosses)
- Crossing Up (bullish crosses)
- Crossing Down (bearish crosses)
- Greater Than (value comparisons)
- Less Than (value comparisons)
- Equals (exact matches)
- Rising (trend conditions over specified bars)
- Falling (trend conditions over specified bars)
- Toggle (signals that remain active for a specified number of bars)
### Multi-Timeframe Analysis
- Apply conditions from different timeframes
- Supports unified analysis across multiple chart periods
### Signal Management
- **Trade Limiting**: Set minimum bars between trades to avoid overtrading
- **Session Control**: Limit signals to specific trading sessions
- **Signal Expiration**: Set a date after which signals will no longer be generated
### Visual Feedback
- **Signal Table**: Clear BUY/SELL/NONE status display in the top-right corner
- **Condition Markers**: Visual indicators showing which specific conditions are active
- **Confluence Markers**: Triangle markers showing when all conditions align
- **Session Highlighting**: Optional background highlighting for the active session
## Usage Instructions
### Setting Up Conditions
1. Enable the conditions you wish to use by checking the "Use" option for each
2. Configure each condition with:
- **Source**: The price or indicator value to evaluate (e.g., close, SMA, RSI)
- **Event**: The type of condition (crossing, greater than, etc.)
- **Value/Source**: The threshold or comparison source
- **Timeframe**: Optional higher timeframe for the condition
- **Bar Close**: Whether the condition should only be evaluated on bar close
### Toggle Mode
For conditions set to "Toggle" mode:
1. Specify the number of bars the signal should remain active
2. The condition will remain true for the specified number of bars after triggering
3. Useful for conditions you want to remain valid for a certain period
### Trade Management
- **Bars Between Trades**: Prevents signals from occurring too frequently
- **Session Control**: Limit trading to specific market sessions
- **Expiration**: Set a cutoff date for all signals
### Visualization Controls
- Show/hide individual condition markers
- Show/hide confluence markers
- Enable/disable session highlighting
## Installation
1. Open TradingView and navigate to the Pine Editor
2. Copy the entire Confluence of Signals script
3. Paste it into the Pine Editor
4. Click "Save" and give your indicator a name
5. Click "Add to Chart" to apply the indicator
## Example Setups
### Simple Moving Average Crossover
- **Long Condition 1**: When (Close) Crossing Up (200 SMA)
- **Short Condition 1**: When (Close) Crossing Down (200 SMA)
### RSI with Support/Resistance
- **Long Condition 1**: When (RSI) Crossing Up (30)
- **Long Condition 2**: When (Close) Greater Than (50 SMA)
- **Short Condition 1**: When (RSI) Crossing Down (70)
- **Short Condition 2**: When (Close) Less Than (50 SMA)
### Multi-Timeframe Strategy
- **Long Condition 1**: When (Close) Greater Than (200 SMA)
- **Long Condition 2**: When (MACD) Crossing Up (Signal)
- **Short Condition 1**: When (Close) Less Than (200 SMA)
- **Short Condition 2**: When (MACD) Crossing Down (Signal)
## Best Practices
1. Start with fewer conditions and gradually add more as needed
2. Test different combinations of conditions to find optimal setups
3. Use the toggle feature for conditions that should remain valid for multiple bars
4. Consider using multi-timeframe conditions for confirmation from higher timeframes
5. Set appropriate trade limits to prevent overtrading
## Customization
The indicator can be further customized by modifying the script:
- Change colors and visual elements
- Add additional conditions if needed
- Modify the signaling logic
## Compatibility
- **Platform**: TradingView
- **Script Version**: Pine Script v5
- **Chart Types**: Compatible with all chart types
- **Timeframes**: Works on all timeframes
## Disclaimer
This indicator is provided for informational and educational purposes only. Always conduct your own analysis and risk management before making trading decisions. Past performance is not indicative of future results.
## Version History
- v1.0: Initial release with basic condition support
- v1.1: Added toggle functionality
- v1.2: Added multi-timeframe support
- v1.3: Added session control and expiration options
- v2.0: Expanded to 8 conditions for both long and short signals
GCM Price Based ColorIndicator Name:
GCM Price Based Color Indicator
Detailed Description:
The GCM Price Based Color Indicator is a unique tool designed to help traders spot potential "pump" events in the market. Unlike traditional Volume Rate of Change (VROC) indicators, this script is conditional: it calculates a VROC value only when both the average volume and the price are increasing. This focus helps filter out volume surges that don't accompany immediate price appreciation, highlighting more relevant "pump" signals.
Key Features & Calculation Logic:
Conditional Volume Rate of Change (VROC):
It first calculates a Simple Moving Average (SMA) of the volume over a user-defined length (lookback period).
It then checks two conditions:
Is the current SMA volume greater than the previous bar's SMA volume (i.e., volumeIncreasing)?
Is the current close price greater than the previous bar's close price (i.e., valueIncreasing)?
Only if both volume Increasing AND value Increasing are true, a VROC value is calculated as (current _ MA _ volume - previous _ MA _ volume) * (100 / previous _ MA _ volume). Otherwise, the VROC for that bar is 0.
Historical Normalization:
The raw VROC value is then normalized against its own historical maximum value observed since the indicator was applied. This scaling brings all VROC values into a common 0-100 range.
Why is this important? Normalization makes the indicator's readings comparable across different assets (e.g., high-volume vs. low-volume stocks/cryptos) and different timeframes, making it easier to interpret the strength of a "pump" relative to its own past.
Dynamic Plot Color (Price-Based):
The plot line's color itself provides an immediate visual cue about the current bar's price action:
Green: close is greater than close (price is up for the current bar).
Red: close is less than close (price is down for the current bar).
Grey: close is equal to close (price is flat for the current bar).
Important Note: The plot color reflects the price movement of the current bar, not the magnitude of the VROC Normalized value itself. This means you can have a high vrocNormalized value (indicating a strong conditional volume surge) but a red plot color if the very next bar's price closes lower, providing a multi-faceted view.
Thresholds & Alerts:
Two horizontal lines (small Pump Threshold and big Pump Threshold) are plotted to visually mark significant levels of normalized pump strength.
Customizable alerts can be set up to notify you when VROC Normalized reaches or exceeds these thresholds, helping you catch potential pump events in real-time.
How to Use It:
Identify Potential Pumps: Look for upward spikes in the VROC Normalized line. Higher spikes indicate stronger pump signals (i.e., a larger increase in average volume coinciding with an increasing price).
Monitor Thresholds: Pay attention when the VROC Normalized line crosses above your small Pump Threshold or big Pump Threshold. These are configurable levels to suit different assets and trading styles.
Observe Plot Color: The line color provides crucial context. A high VROC Normalized (strong pump signal) with a green line indicates current price momentum is still positive. If VROC Normalized is high but the line turns red, it might suggest the initial pump is losing steam or experiencing a pullback.
Combine with Other Tools: This indicator is best used in conjunction with other technical analysis tools (e.g., support/resistance, trend lines, other momentum indicators) for confirmation and a more holistic trading strategy.
Indicator Inputs:
Lookback period (1 - 4999) (default: 420): This length determines the period for the Simple Moving Average (SMA) of volume. A higher value will smooth the volume average more, reacting slower, while a lower value will make it more reactive. Adjust based on the timeframe and asset volatility.
Big Pump Threshold (0.01 - 99.99) (default: 10.0): The normalized VROC Normalized level that signifies a "Big Pump." When VROC Normalized reaches or exceeds this level, an alert can be triggered.
Small Pump Threshold (0.01 - 99.99) (default: 0.5): The normalized VROC Normalized level that signifies a "Small Pump." This is a lower threshold for earlier or less significant pump activity.
Alerts:
Small Pump: Triggers when VROC Normalized crosses above or equals the small Pump Threshold.
Big Pump: Triggers when VROC Normalized crosses above or equals the big Pump Threshold.
Best Practices & Considerations:
Timeframes: The indicator can be used on various timeframes, but its effectiveness may vary. Experiment to find what works best for your chosen asset and trading style.
Volatility: Highly volatile assets might require different threshold settings compared to less volatile ones.
Lag: Due to the use of a Simple Moving Average (SMA) for volume, there will be some inherent lag in the calculation.
Normalization Start: The historic Max for normalization starts with a default value of 10.0. For the very first bars, or if there hasn't been a significant VROC yet, the VROC Normalized might behave differently until a true historical maximum VROC establishes itself.
Not Financial Advice: This indicator is a tool for analysis and does not constitute financial advice. Always perform your own research and manage your risk.
DrawZigZag🟩 OVERVIEW
This library draws zigzag lines for existing pivots. It is designed to be simple to use. If your script creates pivots and you want to join them up while handling edge cases, this library does that quickly and efficiently. If you want your pivots created for you, choose one of the many other zigzag libraries that do that.
🟩 HOW TO USE
Pine Script libraries contain reusable code for importing into indicators. You do not need to copy any code out of here. Just import the library and call the function you want.
For example, for version 1 of this library, import it like this:
import SimpleCryptoLife/DrawZigZag/1
See the EXAMPLE USAGE sections within the library for examples of calling the functions.
For more information on libraries and incorporating them into your scripts, see the Libraries section of the Pine Script User Manual.
🟩 WHAT IT DOES
I looked at every zigzag library on TradingView, after finishing this one. They all seemed to fall into two groups in terms of functionality:
• Create the pivots themselves, using a combination of Williams-style pivots and sometimes price distance.
• Require an array of pivot information, often in a format that uses user-defined types.
My library takes a completely different approach.
Firstly, it only does the drawing. It doesn't calculate the pivots for you. This isn't laziness. There are so many ways to define pivots and that should be up to you. If you've followed my work on market structure you know what I think of Williams pivots.
Secondly, when you pass information about your pivots to the library function, you only need the minimum of pivot information -- whether it's a High or Low pivot, the price, and the bar index. Pass these as normal variables -- bools, ints, and floats -- on the fly as your pivots confirm. It is completely agnostic as to how you derive your pivots. If they are confirmed an arbitrary number of bars after they happen, that's fine.
So why even bother using it if all it does it draw some lines?
Turns out there is quite some logic needed in order to connect highs and lows in the right way, and to handle edge cases. This is the kind of thing one can happily outsource.
🟩 THE RULES
• Zigs and zags must alternate between Highs and Lows. We never connect a High to a High or a Low to a Low.
• If a candle has both a High and Low pivot confirmed on it, the first line is drawn to the end of the candle that is the opposite to the previous pivot. Then the next line goes vertically through the candle to the other end, and then after that continues normally.
• If we draw a line up from a Low to a High pivot, and another High pivot comes in higher, we *extend* the line up, and the same for lines down. Yes this is a form of repainting. It is in my opinion the only way to end up with a correct structure.
• We ignore lower highs on the way up and higher lows on the way down.
🟩 WHAT'S COOL ABOUT THIS LIBRARY
• It's simple and lightweight: no exported user-defined types, no helper methods, no matrices.
• It's really fast. In my profiling it runs at about ~50ms, and changing the options (e.g., trimming the array) doesn't make very much difference.
• You only need to call one function, which does all the calculations and draws all lines.
• There are two variations of this function though -- one simple function that just draws lines, and one slightly more advanced method that modifies an array containing the lines. If you don't know which one you want, use the simpler one.
🟩 GEEK STUFF
• There are no dependencies on other libraries.
• I tried to make the logic as clear as I could and comment it appropriately.
• In the `f_drawZigZags` function, the line variable is declared using the `var` keyword *inside* the function, for simplicity. For this reason, it persists between function calls *only* if the function is called from the global scope or a local if block. In general, if a function is called from inside a loop , or multiple times from different contexts, persistent variables inside that function are re-initialised on each call. In this case, this re-initialisation would mean that the function loses track of the previous line, resulting in incorrect drawings. This is why you cannot call the `f_drawZigZags` function from a loop (not that there's any reason to). The `m_drawZigZagsArray` does not use any internal `var` variables.
• The function itself takes a Boolean parameter `_showZigZag`, which turns the drawings on and off, so there is no need to call the function conditionally. In the examples, we do call the functions from an if block, purely as an illustration of how to increase performance by restricting the amount of code that needs to be run.
🟩 BRING ON THE FUNCTIONS
f_drawZigZags(_showZigZag, _isHighPivot, _isLowPivot, _highPivotPrice, _lowPivotPrice, _pivotIndex, _zigzagWidth, _lineStyle, _upZigColour, _downZagColour)
This function creates or extends the latest zigzag line. Takes real-time information about pivots and draws lines. It does not calculate the pivots. It must be called once per script and cannot be called from a loop.
Parameters:
_showZigZag (bool) : Whether to show the zigzag lines.
_isHighPivot (bool) : Whether the current bar confirms a high pivot. Note that pivots are confirmed after the bar in which they occur.
_isLowPivot (bool) : Whether the current bar confirms a low pivot.
_highPivotPrice (float) : The price of the high pivot that was confirmed this bar. It is NOT the high price of the current bar.
_lowPivotPrice (float) : The price of the low pivot that was confirmed this bar. It is NOT the low price of the current bar.
_pivotIndex (int) : The bar index of the pivot that was confirmed this bar. This is not an offset. It's the `bar_index` value of the pivot.
_zigzagWidth (int) : The width of the zigzag lines.
_lineStyle (string) : The style of the zigzag lines.
_upZigColour (color) : The colour of the up zigzag lines.
_downZagColour (color) : The colour of the down zigzag lines.
Returns: The function has no explicit returns. As a side effect, it draws or updates zigzag lines.
method m_drawZigZagsArray(_a_zigZagLines, _showZigZag, _isHighPivot, _isLowPivot, _highPivotPrice, _lowPivotPrice, _pivotIndex, _zigzagWidth, _lineStyle, _upZigColour, _downZagColour, _trimArray)
Namespace types: array
Parameters:
_a_zigZagLines (array)
_showZigZag (bool) : Whether to show the zigzag lines.
_isHighPivot (bool) : Whether the current bar confirms a high pivot. Note that pivots are usually confirmed after the bar in which they occur.
_isLowPivot (bool) : Whether the current bar confirms a low pivot.
_highPivotPrice (float) : The price of the high pivot that was confirmed this bar. It is NOT the high price of the current bar.
_lowPivotPrice (float) : The price of the low pivot that was confirmed this bar. It is NOT the low price of the current bar.
_pivotIndex (int) : The bar index of the pivot that was confirmed this bar. This is not an offset. It's the `bar_index` value of the pivot.
_zigzagWidth (int) : The width of the zigzag lines.
_lineStyle (string) : The style of the zigzag lines.
_upZigColour (color) : The colour of the up zigzag lines.
_downZagColour (color) : The colour of the down zigzag lines.
_trimArray (bool) : If true, the array of lines is kept to a maximum size of two lines (the line elements are not deleted). If false (the default), the array is kept to a maximum of 500 lines (the maximum number of line objects a single Pine script can display).
Returns: This function has no explicit returns but it modifies a global array of zigzag lines.