PrasiGanFanFibntroduction
This is a combination of Fibonacci and Gann fan /retracements.
The script can automatically draw as many:
Fibonacci Retracements
Fibonacci Fan
Gann Retracements
Gann Fan
as the user requires on the chart. Each level set or fan consists of 7 lines based on the most important ratios of Fibonacci/ Gann .
Basics
What are Fibonacci retracements?
Fibonacci retracement levels are horizontal lines that indicate where support and resistance are likely to occur. They stem from Fibonacci’s sequence. Each level is associated with a percentage which is how much of a prior move the price has retraced. The Fibonacci retracement levels are 23.6%, 38.2%, 61.8%, and 78.6%. While not officially a Fibonacci ratio, 50% is also used. The indicator is useful because it can be drawn between any two significant price points, such as a high and a low. The indicator will then create the levels between those two points.
What are Gann retracements?
A developer of technical analysis and trading was W.D. Gann . Gann theory expects a normal retracement of 50 percent. This means that under normal selling pressure, the stock price will decline half the amount of its most recent rise, and vice versa. It also suggests that retracements occur at the halfway point of a move, such as 25 percent (half of 50 percent), 12.5 percent (half of 25 percent), and so on.
What is Fibonacci fan?
Fibonacci fan is a set of sequential trend lines drawn from a trough or peak through a set of points dictated by Fibonacci retracements. The first step to create it is to draw a trend line covering the local lowest and highest prices of a security. To reach retracement levels, the trader divides the difference in price at the low and high end by ratios determined by the Fibonacci series. The lines formed by connecting the starting point for the base trend line and each retracement level create the Fibonacci fan.
What is Gann fan?
A Gann fan consists of a series of lines called Gann angles. These angles are superimposed over a price chart to show potential support and resistance levels. The resulting image is supposed to help technical analysts predict price changes. Gann believed the 45-degree angle to be most important, but the Gann fan also draws angles at degrees like 75, 63.75, 26.25 and 15. The Gann fan originates at a low or high point. The resulting lines show areas of potential future support and resistance . The 45-degree line is known as the 1:1 line because the price will rise or fall at a 45-degree angle when the price moves up/down one unit for each unit of time. All other lines in the Gann fan are drawn above and below the 1:1 line. The other angles are associated with 2:1, 3:1, 4:1, 8:1 and 1:8, 1:4, 1:3, and 1:2 time-to-price moves.
Challenges
The most of the time I dedicated to writing this script has been spent on handling these problems:
1. Finding Local Highest/Lowest Prices
In order to draw Fibonacci and Gann fan /retracements, it's necessary to find local highest and lowest price points (Extrema) on the chart. As this could be so challenging, most traders and coders draw the lines covering the low and high prices over a given period of time or a limited number of bars back instead. I already wrote an indicator using this approach (Auto Fibonacci Combo).
In this new script I tried to find the exact highest and lowest prices based on this idea that: if a high point is formed lower than previous high which was after a lowest point, then that previous one was the local highest point, and vice versa if a low point is formed higher than previous low which was after a highest point, then that previous one was the local lowest point. So logically an extremum price on the chart won't be found until the next high/low point is formed.
2. Finding Proper Chart Scale for Gann Fan
Based on the theory, Gann angles are sensitive to the chart price scale and in order to have the right angles, the chart must be made with the proper scale. J.A. Hyerczyk in his book "Pattern, Price & Time - Using Gann Theory in Technical Analysis" suggests that the easiest way to determine the scale of a market is by taking the difference between top-to-top and bottom-to-bottom and dividing it by the time it took the market to move from top to top and bottom to bottom.
Thus on a properly constructed chart, the basic equation for calculating Gann angles is: Price * Time.
3. Drawing Fans and Relocating Fan Labels at Each New Bar in Pine (A Programming-Related Subject)
To do this, I used linear equations and line slopes. Of course it was so complicated and exhausting, but finally I overcame that thanks to my genius cousin.
Settings and Usage
By default, the script shows detected extremum points plus 1 Fibonacci fan, 1 Gann fan , 1 set of Fibonacci retracements and no Gann retracements on the chart. All of these could be changed in the indicator settings beside the color and transparency of each line.
Feel free to use this and send me your thoughts!
Cerca negli script per "top"
Fibonacci Zone Study w/Candles - R3c0nTraderCredits:
Thank you "eykpunter" for granting me permission to use "Fibonacci Zones" to create this study
What does this do? How is it different?
This study was created so it can be used with the strategy 'Fibonacci Zone DCA Strategy - R3c0nTrader' in order to generate buy/sell signals for a 3Commas bot.
I was not able to use "eykpunter's" "Fibonacci Zones" to create these signals as it was missing the code for this. To create the buy or sell signal you need to be able to create an alert for when the price moves through the Fib levels. Unfortunately, the "price" is not available to be selected when creating an alert with the original study. Hence the need to create this new study and to resolve the issue.
This study has overlay turned off by default so it will appear in a separate pane below your active chart. I did this so I can clearly view and separate the strategy from the study.
Steps Overview:
Add the study to your chart
Configure the study to match the Fib length you used in the strategy.
Create Alerts from the study to generate the buy or sell signals to 3Commas
The below steps for creating signals are just examples! Since there are numerous ways you can open or close a trade from a signal, please do your own testing. This cannot be understated.
Example of how to generate buy signals:
After adding the study, select the three dots for this study and click on "Add an alert on Fibonacci Zone Study /w Candles…"
Setup the condition to trigger the alert. If you want to initiate a buy when the price crosses over the top of the lower Fib zone (downtrend zone), then use the following:
Condition>Fibonacci Zone Study>Price High>Crossing Up>Fibonacci Zone Study>Top-Low Fib Border
Options>Once per bar
Expiration>Open-ended
Alert actions>Webhook URL (use the 3Commas webhook URL)
Alert name>Enter a name, "BUY Paper-Fib-Bot"
Message>Use the 3Commas message from the paper bot to open the trade
Example of how to generate sell signals:
After adding the study, select the three dots for this study and click on "Add an alert on Fibonacci Zone Study /w Candles…"
Setup the condition to trigger the alert. If you want to initiate a sell when the price reaches the top of the High Fib zone (uptrend zone), then try the following:
Condition>Fibonacci Zone Study>Price High>Crossing Up>Fibonacci Zone Study>Top-High Fib Border
(Note: I used "Crossing Up" but "Crossing" is another option; I just haven't tested it yet with a paper bot)
Options>Once per bar
Expiration>Open-ended
Alert actions>Webhook URL (use the 3Commas webhook URL)
Alert name>Enter a name, "SELL Paper-Fib-Bot"
Message>Use the 3Commas message from the paper bot to close the trade
Fibonacci Zone DCA Strategy - R3c0nTraderCredits:
Thank you "eykpunter" for granting me permission to use "Fibonacci Zones" to create this strategy
Thank you "junyou0424" for granting me permission to use "DCA Bot with SuperTrend Emulator" which I used for adding bot inputs, calculations, and strategy
Pre-requisites:
You can use this script without a 3Commas account and see how 3Commas DCA Bot would perform. However, I highly recommend signing up for their free account, going through their training, and testing this strategy with a paper bot. This would give you a base understanding of the settings you will see in this strategy and why you will need to know them.
What can this do?
First off, this is a Long only strategy as I wrote it with DCA in mind. It cannot be used for shorting. Shorting defeats the purpose of a DCA bot which has a goal that is Long a position not Short a position. If you want to short, there are plenty of free scripts out there that do this.
I created this script out of curiosity and I wanted to see how a strategy based on “Fibonacci” levels would work with a 3Commas DCA bot. I came across "eykpunter’s" "Fibonacci Zones" study and in TradingView and I found it to be a very interesting concept. The "Fib Zones" in his study are basically a "Donchian Channel" of 4 Fibonacci lines. These are the High @ 0.236, Center High @ 0.382, Center Low @ 0.618, and Low @ 0.764.
The Fib Zones in this strategy can be used as conditions to open a trade as well as closing a trade. There is also the option to close a trade based on a Target Take Profit (%).
Advanced Fibonacci trading is also supported by specifying additional parameters for Trade Entry and Exit.
For example, for order entry, you can increase the minimum trend strength to open an order via the "minimum ADX value" option. You can also further limit order entry by selecting the option to "Only open trades on bullish +DI" (Positive Directional Index).
Or you can play the contrarian. For example, I would look for "buying the dip" opportunities by doing the following under "Trade Entry Settings":
Set the "Min ADX value to open trade" to zero
Set the option "Open a trade when the price moves" to "1-To the bottom of Downtrend Fib zone" or "2-Higher than the top of the Downtrend Fib zone"
Uncheck option "Only open trades on bullish +DI"
Set the 'Min ADX value to open trade' to Zero
Set the 'Max +DI value to open trade' to a value between 10-20.
For Trade Exit settings, I can use a "Target Take Profit (%)" or one of the High Fib levels to close the trade.
Here's an example result when using a Contrarian-Fibonacci-Zone-DCA strategy:
Explanation of Chart lines and colors on chart
Six Options for Entering a Fibonacci Trade
Open a trade when the price moves:
1-To the bottom of Downtrend Fib zone
2-Higher than the top of the Downtrend Fib zone
3-Higher than the bottom of Ranging Fib Zone
4-Higher than the top of Ranging Fib Zone
5-Higher than the bottom of Uptrend Fib Zone
6-To the top of Uptrend Fib Zone
Three Options for Exiting a Fibonacci Trade
Take profit using:
"Target Take Profit (%)"
"High Fibonacci Border-1"
"High Fibonacci Border-2"
honest personal libraryLibrary "honestpersonallibrary"
thestratnumber() this will return the number 1,2 or 3 using the logic from Rob Smiths #thestrat which uses these type of bars for setups
getBodySize() Gets the current candle's body size (in POINTS, divide by 10 to get pips)
Returns: The current candle's body size in POINTS
getTopWickSize() Gets the current candle's top wick size (in POINTS, divide by 10 to get pips)
Returns: The current candle's top wick size in POINTS
getBottomWickSize() Gets the current candle's bottom wick size (in POINTS, divide by 10 to get pips)
Returns: The current candle's bottom wick size in POINTS
getBodyPercent() Gets the current candle's body size as a percentage of its entire size including its wicks
Returns: The current candle's body size percentage
strictBearPinBar(float, float) This it to find pinbars with a very long wick compared to the body that are bearish
Parameters:
float : minTopMulitplier (default=4) The minimum number of times that the top wick has to be bigger than the candle body size
float : maxBottomMultiplier (default=2) The maximum number of times that the bottom wick can be bigger than the candle body size
Returns: a bool function true if current candle is withing the parameters
strictBullPinBar(float, float) This it to find pinbars with a very long wick compared to the body that are bearish
Parameters:
float : minTopMulitplier (default=4) The minimum number of times that the top wick has to be bigger than the candle body size
float : maxBottomMultiplier (default=2) The maximum number of times that the bottom wick can be bigger than the candle body size
Returns: a bool function true if current candle is withing the parameters
Market PulseBINANCE:BTCUSDT
This is the "Market Pulse" indicator from TOS Indicators.
The scope of this indicator is to identify which one of the four market stages we're in
█ WHAT ARE THE 4 STAGES?
ACCELERATION (or uptrend)
DECELERATION (or downtrend)
ACCUMULATION (occurs after the market has presumably found a bottom and buyers are coming in)
DISTRIBUTION (occurs after the market has presumably found a top and sellers are coming in)
█ WHAT ARE THE TOOLS THAT IT USES TO IDENTIFY THEM?
3 VWMA (Volume Weighted Moving Average)
1 VMA (Variable Moving Average)
VWMA = is a moving average which takes volume into account, and gives closes with higher volume an higher weight
vwma(src, len) => ta.sma(src * volume, len) / ta.sma(volume, len)
VMA = is a moving average which automatically adjusts the smoothing constant using Market Volatility
vma(src, len) =>
vi = ta.cmo(src, len) / 100
alpha = 2 / (len + 1) * math.abs(vi)
vma = 0.0
vma := alpha * src + nz(vma ) * (1 - alpha)
█ HOW CAN I INTERPRET THE INDICATOR?
1) On the top right you can see a box which tells you the Market Stage of the chart you are currently using:
If VWMA8 > VWMA21 > VWMA34 it signals ACCELERATION, color coded in green
If VWMA8 < VWMA21 < VWMA34 it signals DECELERATION, color coded in red
If neither of the previous two conditions are met it signals ACCUMULATION (yellow) if price closes above the VMA and DISTRIBUTION (orange) if price closes below the VMA
2) Next you have the actual VMA which is the line plotted on the chart and color coded in green, red or gray accordingly to the Market Stage with a filter applied:
for a bullish signal (green label) the market needs to be in ACCELERATION and price must be above the VMA
for a bearish signal (red label) the market needs to be in DECELERATION and price must be below the VMA
This characteristic makes it sometimes slower at giving direction indications, but also makes it more suitable to be considered as actual signals for buying and selling
ACCUMULATION and DISTRIBUTION are both rapresented with color gray, if you want you can consider:
the line going from green to gray as ACCUMULATION, your bias is bullish until the line turns red
the line going from red to gray as DISTRIBUTION, your bias is bearish until the line turns green
3) Then you can choose to plot the 3 VWMA to indentify pullbacks and entries for your trades
4) Finally you have the Market Screener, which you can choose to plot and gives a fast look to the markets you are interested on
It basically gives you the Market Stage for every Symbol you choose using the timeframes you input
The maximum number of Symbols you can set is 20, and for all of them you have 2 different timeframes you can choose to analyse.
By default the Symbols are set to the top 20 Cryptocurrency by Market Cap, and the timeframes to 4h and D
There is an option which is on by default and color codes ACCUMULATION and DISTRIBUTION the same as the box on the top right, you can turn it off to make them gray
As I've written in the tooltip inside the indicator you should only use the screener to analyse timeframes which are equal or higher than the one you are currently on your chart.
If you don't plan to use the screener you can delete every symbol from the input boxes to make the indicator update faster when changing timeframe or market.
Be aware that the screener is on BETA and may give repainting signals!
logLibrary "log"
A Library to log and display messages in a table, with different colours.
The log consists of 3 columns:
Bar Index / Message / Log
Credits
QuantNomad - for his idea on logging messages as Error/Warnings and displaying the color based on the type of the message
setHeader(_t, _location, _header1, _header2, _header3, _halign, _valign, _size) Sets the header for the table to be used for displaying the logs.
Parameters:
_t : table, table to be used for printing
_location : string, Location of the table.
_header1 : string, the name to put into the Index Queue Header. Default is 'Bar #'
_header2 : string, the name to put into the Message Queue Header. Default is 'Message'
_header3 : string, the name to put into the Log Queue Header. Default is 'Log'
_halign : string, the horizontal alignment of header. Options - Left/Right/Center
_valign : string, the vertical alignment of header. Options - Top/Bottom/Center
_size : string, the size of text of header. Options - Tiny/Small/Normal/Large/Huge/Auto
Returns: Void
initHeader(_location, _rows, _header1, _header2, _header3, _halign, _valign, _size, _frameBorder, _cellBorder) Creates the table for logging.
3 columns will be displayed.
Bar Index Q / Message Q / Log Q
Parameters:
_location : string, Location of the table.
_rows : int, table size, excluding the header. Default value is 40.
_header1 : string, the name to put into the Index Queue Header. Default is 'Bar #'
_header2 : string, the name to put into the Message Queue Header. Default is 'Message'
_header3 : string, the name to put into the Log Queue Header. Default is 'Log'
_halign : string, the horizontal alignment of header. Options - Left/Right/Center
_valign : string, the vertical alignment of header. Options - Top/Bottom/Center
_size : string, the size of text of header. Options - Tiny/Small/Normal/Large/Huge/Auto
_frameBorder : int, table Frame BorderWidth. Default value is 1.
_cellBorder : int, table Cell Borders Width, Default value is 2.
Returns: table
init(_rows) Initiate array variables for logging.
Parameters:
_rows : int, table size, excluding the header. Default value is 40.
Returns: tuple, arrays - > error code Q, bar_index Q, Message Q, Log Q
log(_ec, _idx, _1, _2, _m1, _m2, _code, _prefix, _suffix) logs a message to logging queue.
Parameters:
_ec : int , Error/Codes (1-7) for colouring.
Default Colour Code is 1 - Gray, 2 - Orange, 3 - Red, 4 - Blue, 5 - Green, 6 - Cream, 7 - Offwhite
_idx : int , bar index Q. The index of current bar is logged automatically
you can add before and after this index value, whatever you choose to, via the _prefix and _suffix variables.
_1 : string , Message Q.
_2 : string , Log Q
_m1 : string, message needed to be logged to Message Q
_m2 : string, detailed log needed to be logged to Log Q
_code : int, Error/Code to be assigned. Default code is 1.
_prefix : string, prefix to Bar State Q message
_suffix : string, suffix to Bar State Q message
Order of logging would be Bar Index Q / Message Q / Log Q
Returns: void
resize(_ec, _idx, _1, _2, _rows) Resizes the all messaging queues.
a resize will delete the existing table, so a new header/table has to be initiated after the resize.
This is because pine doesnt allow changing the table dimensions once they have been recreated.
If size is decreased then removes the oldest messages
Parameters:
_ec : int , Error/Codes (1-7) for colouring.
_idx : int , bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_rows : int, the new size needed for the queue. Default value is 40.
Returns: void
print(_t, _ec, _idx, _1, _2, halign, halign, _size) Prints Bar Index Q / Message Q / Log Q
Parameters:
_t : table, table to be used for printing
_ec : int , Error/Codes (1-7) for colouring.
Default Colour Code is 1 - Gray, 2 - Orange, 3 - Red, 4 - Blue, 5 - Green, 6 - Cream, 7 - Offwhite
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
halign : string, the horizontal alignment of all message column. Options - Left/Right/Center
halign : string, the vertical alignment of all message column. Options - Top/Bottom/Center
_size : string, the size of text across the table, excepr the headers. Options - Tiny/Small/Normal/Large/Huge/Auto
Returns: void
printx(_t, _idx, _1, _2, _ec, _fg, _bg, _halign, _valign, _size) Prints Bar Index Q / Message Q / Log Q, but with custom options to format the table and colours
Parameters:
_t : table, table to be used for printing
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_ec : int , Error/Codes (1-7) for colouring.
_fg : color , Color array specifying colours for foreground. Maximum length is seven. Need not provide all seven, but atleast one. If not enough provided then last colour in the array is used for missing codes
_bg : color , Same as fg.
_halign : string, the horizontal alignment of all message column. Options - Left/Right/Center
_valign : string, the vertical alignment of all message column. Options - Top/Bottom/Center
_size : string, the size of text across the table, excepr the headers. Options - Tiny/Small/Normal/Large/Huge/Auto
Returns: void
flush(_t, _idx, _1, _2, _ec) Clears queues of existing messages, filling with blanks and 0
Parameters:
_t : table, table to be flushed
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_ec : int , Error/Codes (1-7) for colouring.
Returns: void.
erase(_idx, _1, _2, _ec) Deletes message queue and the table used for displaying the queue
Parameters:
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_ec : int , Error/Codes (1-7) for colouring.
Returns: void
Auto Fibonacci and Gann Fan/Retracements ComboIntroduction
This is a combination of Fibonacci and Gann fan/retracements.
The script can automatically draw as many:
Fibonacci Retracements
Fibonacci Fan
Gann Retracements
Gann Fan
as the user requires on the chart. Each level set or fan consists of 7 lines based on the most important ratios of Fibonacci/Gann.
Basics
What are Fibonacci retracements?
Fibonacci retracement levels are horizontal lines that indicate where support and resistance are likely to occur. They stem from Fibonacci’s sequence. Each level is associated with a percentage which is how much of a prior move the price has retraced. The Fibonacci retracement levels are 23.6%, 38.2%, 61.8%, and 78.6%. While not officially a Fibonacci ratio, 50% is also used. The indicator is useful because it can be drawn between any two significant price points, such as a high and a low. The indicator will then create the levels between those two points.
What are Gann retracements?
A developer of technical analysis and trading was W.D. Gann. Gann theory expects a normal retracement of 50 percent. This means that under normal selling pressure, the stock price will decline half the amount of its most recent rise, and vice versa. It also suggests that retracements occur at the halfway point of a move, such as 25 percent (half of 50 percent), 12.5 percent (half of 25 percent), and so on.
What is Fibonacci fan?
Fibonacci fan is a set of sequential trend lines drawn from a trough or peak through a set of points dictated by Fibonacci retracements. The first step to create it is to draw a trend line covering the local lowest and highest prices of a security. To reach retracement levels, the trader divides the difference in price at the low and high end by ratios determined by the Fibonacci series. The lines formed by connecting the starting point for the base trend line and each retracement level create the Fibonacci fan.
What is Gann fan?
A Gann fan consists of a series of lines called Gann angles. These angles are superimposed over a price chart to show potential support and resistance levels. The resulting image is supposed to help technical analysts predict price changes. Gann believed the 45-degree angle to be most important, but the Gann fan also draws angles at degrees like 75, 63.75, 26.25 and 15. The Gann fan originates at a low or high point. The resulting lines show areas of potential future support and resistance. The 45-degree line is known as the 1:1 line because the price will rise or fall at a 45-degree angle when the price moves up/down one unit for each unit of time. All other lines in the Gann fan are drawn above and below the 1:1 line. The other angles are associated with 2:1, 3:1, 4:1, 8:1 and 1:8, 1:4, 1:3, and 1:2 time-to-price moves.
Challenges
The most of the time I dedicated to writing this script has been spent on handling these problems:
1. Finding Local Highest/Lowest Prices
In order to draw Fibonacci and Gann fan/retracements, it's necessary to find local highest and lowest price points (Extrema) on the chart. As this could be so challenging, most traders and coders draw the lines covering the low and high prices over a given period of time or a limited number of bars back instead. I already wrote an indicator using this approach ( Auto Fibonacci Combo ).
In this new script I tried to find the exact highest and lowest prices based on this idea that: if a high point is formed lower than previous high which was after a lowest point, then that previous one was the local highest point, and vice versa if a low point is formed higher than previous low which was after a highest point, then that previous one was the local lowest point. So logically an extremum price on the chart won't be found until the next high/low point is formed.
2. Finding Proper Chart Scale for Gann Fan
Based on the theory, Gann angles are sensitive to the chart price scale and in order to have the right angles, the chart must be made with the proper scale. J.A. Hyerczyk in his book "Pattern, Price & Time - Using Gann Theory in Technical Analysis" suggests that the easiest way to determine the scale of a market is by taking the difference between top-to-top and bottom-to-bottom and dividing it by the time it took the market to move from top to top and bottom to bottom.
Thus on a properly constructed chart, the basic equation for calculating Gann angles is: Price * Time.
3. Drawing Fans and Relocating Fan Labels at Each New Bar in Pine (A Programming-Related Subject)
To do this, I used linear equations and line slopes. Of course it was so complicated and exhausting, but finally I overcame that thanks to my genius cousin.
Settings and Usage
By default, the script shows detected extremum points plus 1 Fibonacci fan, 1 Gann fan, 1 set of Fibonacci retracements and no Gann retracements on the chart. All of these could be changed in the indicator settings beside the color and transparency of each line.
Feel free to use this and send me your thoughts!
Pi Cycle bitcoin bottomFull credits go to the owner, but for reasons i cannot diclose.
Introduction
With the adoption of cryptographic assets reaching new heights, it is undeniably important to continuously expand and improve current indicators just like how these assets update with new lines of code over time.
Philip Swift’s Pi-Cycle Top Indicator has effectively signaled market and local tops to within 3 days, with the most recent occurrence being on May 12th 2021.
If it were possible to find the cycle/local top of each cycle, a similar analogy could be used to pinpoint the bottom of Bitcoin’s price.
These Pi-Cycle indicators are merely just two moving averages which, when divided by each other, are equal to the value of π.
π = Long MA / Short MA
350/111 = 3.153; as per the existing Bitcoin Pi-Cycle Top indicator.
Pi-Cycle Bottom for Bitcoin
At first, the existing “Pi moving average” pair (350/111) was realigned to see whether they cross at the bottom of the Bitcoin price.
They did not, only to be a lagging indicator in both 2015 and 2018 cycle bottoms.
A possible pair was discovered when the short MA was set to 150:
π = Long MA / 150
Long MA = π * 150
Long MA = 471 (rounded to the nearest whole number)
This resulted in a Pi MA pair of 471/150.
Using the multiple x0.745 of the 471-day SMA and the 150-day EMA (exponential average to take into account of short term volatility ), the price of Bitcoin bottoms at where they two moving averages cross:
When the 150-day EMA crossed below the 471 SMA *0.475, Bitcoin’s price had bottomed for the market cycle.
Over the last two market cycles, this indicator has been accurate to within 3 days also.
Double Bollinger StrategyFrom "Bitcoin Trading Strategies: Algorithmic Trading Strategies For Bitcoin And Cryptocurrency That Work" by David Hanson.
*Works better with 1hr time frame and some input optimisations.
"Double Bollinger Band Scalping System
Recommended Timeframe: 1 minute or 5 minute *
Required Indicators:
// - RSI with a length of 14 (default settings)
// - Bollinger band #1 settings: Length = 50, stDev = 1 Hide the basis/middle line (basis line not needed for this strategy)
Note: This is the slower bollinger band in the directions
// - Bollinger band #2 settings: Length 20, stDev = 1 Hide the basis/middle line (basis line not needed for this strategy)
Note: This is the faster bollinger band in the directions
Enter Long/Buy Trade When:
// - RSI is above the level 50
// - A candle closes above the top of the faster bollinger band
Enter a long when a candle then closes above the top of the slower bollinger band, and price is above the top of both bands
Place a stop loss under the low of the entry candle Example of a long trade using this strategy
Exit Long Trade When: A candle closes below the top band of the fast bollinger band
Enter Short/Sell Trade When:
// - RSI is below the level 50
// - A candle closes below the bottom of the faster bollinger band
Enter a short when a candle then closes below the bottom of the slower bollinger band, and price is below both bands
Place a stop loss above the high of the entry candle Example of a short trade using this strategy
Exit Short Trade When: Price closes inside the bottom of the faster bollinger band"
RSI band with Signal alert//th/en
//th
สวัสดีครับท่านสมาชิก
ก่อนอื่นต้องขอเกริ่นก่อนเลยว่า Indicator ตัวนี้ถูกสร้างขึ้นมาบนพื้นฐานของ RSI จริง เพียงแต่ใช้ค่า EMA27 ในการสร้าง เนื่องจากผมยังไม่สามารถเขียน RSI band ที่โยงกับราคาได้ในส่วนนี้เองได้
แต่ทั้งนี้ขอให้ท่านใจเย็น ๆ และฟังผมสักหน่อย เนื่องจากก่อนหน้านี้ผมได้สังเกตเห็นว่า EMA27 นั้นมีค่าเท่ากับ RSI14 ที่ค่า 50 พอดี ดังนั้นผมจึงเลือกที่จะสร้างมันขึ้นมาด้วย EMA27 เพราะง่ายต่อการเขียน
วิธีการใช้งานมีดังต่อไปนี้
Indicator ตัวนี้ใช้งานเหมือน RSI14 วิธีการอ่านคือให้นับเส้น EMA27 เป็นค่า 50 ของ RSI14 ดังนั้นให้เราพิจารณาการซื้อขายดังต่อไปนี้ (โดยหลังจากนี้ผมจะเรียก EMA27 ที่สร้างขึ้นว่า RSI band)
พิจารณาเข้าซื้อ : เมื่อราคาทะลุ RSI band ขึ้นไปและย่อตัวทำ Higher Low เหนือเส้น RSI band
พิจารณาขายออก : เมื่อราคาทะลุ RSI band ลงมาและรีบาวน์ทำ Lower High ใต้เส้น RSI band
# ทั้งนี้ผมได้ทำสีแท่งเทียนไว้เพื่อให้ง่ายต่อการสังเกต โดยการนำไปใช้อาจนำสีของเส้นขอบแท่งเทียนออก แล้วในส่วนของไส้แท่งเทียนให้ใช้สีที่ไม่เจาะจงราคาบวกลบอย่างสี #434651
โดยเราสามารถดู Divergence โดยการเทียบความต่างระหว่างราคาและ RSI band ได้ดังนี้
ในแนวโน้มขาลง : ให้เปรียบเทียบความต่างระหว่างราคากับ RSI band ของ Lower Low ปัจจุบันกับ Low ก่อนหน้า โดยถ้าความต่างของ Low ลดลงเรื่อย ๆ จนราคาเข้าใกล้เส้น RSI band ให้พิจารณาเข้าซื้อ
ในแนวโน้มขาขึ้น : ให้เปรียบเทียบความต่างระหว่างราคากับ RSI band ของ Higher High ปัจจุบันกับ High ก่อนหน้า โดยถ้าความต่างของ High ดลงเรื่อย ๆ จนราคาเข้าใกล้เส้น RSI band ให้พิจารณาขายออก
ทั้งนี้ผมได้สร้าง Signal alert ไว้เพื่อให้ง่ายต่อการสังเกต โดยสร้างมาจากเงื่อนไขดังนี้ (ห้ามทำการซื้อขายตาม Signal alert เด็ดขาด เพราะเค้าแค่บอกจุดตามเงื่อนไขที่ตั้งไว้ บางทีอาจมีสัญญาณซื้อแล้วให้ซื้อต่อโดยไม่มีสัญญาณขายเลยก็ได้)
Buy : เมื่อ RSI14 ตัดขึ้นที่ค่า 50 พร้อมกับ RSI14 ตัดขึ้น Signal ที่ผมตั้งไว้ (ผมใช้ EMA7 ของ RSI14)
Prepare to Sell : เมื่อ RSI14 ตัดลง Signal ในขณะที่ RSI14 นั้น มีค่ามากกว่า 70
Sell/Short Top : เมื่อ RSI14 ตัดลงที่ค่า 70 พร้อมกับ RSI14 ตัดลง Signal (จะมีขึ้นแสดงว่า Peak ในกราฟ)
Buy : เมื่อ RSI14 ตัดลงที่ค่า 50 พร้อมกับ RSI14 ตัดลง Signal
Prepare to Buy : เมื่อ RSI14 ตัดขึ้น Signal ในขณะที่ RSI14 นั้น มีค่าน้อยกว่า 30
TP Short/Buy Bottom : เมื่อ RSI14 ตัดขึ้นที่ค่า 30 พร้อมกับ RSI14 ตัดขึ้น Signal (จะมีขึ้นแสดงว่า Deep ในกราฟ)
# สาเหตุที่ใส่ข้อความใน Signal alert เพียงแค่ตอน Sell/Short Top และ TP Short/Buy Bottom เพื่อลดโอกาสเกิดการแพนิคที่เกิดจากการสังเกตได้ โดยในสัญญาณตัวอื่นจะมีแค่เครื่องหมาย * เพียงอย่างเดียว
ขอให้โชคดีครับ
Firstssk
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//en (Google Translate)
Hello, Trader
First of all, I have to say that this indicator is built on the basis of a real RSI, just using the EMA27 value to create it, since I still can't write an RSI band that is tied to the price in this section.
But please be patient and listen to me a bit. Since I previously noticed that EMA27 is exactly equal to RSI14 at 50, so I chose to build it with EMA27 because it's easier to write.
Here's how to use it:
This indicator works like RSI14. The reading method is to count the EMA27 line as the 50 value of RSI14, so let's consider the following trading. (After this I will call the created EMA27 RSI band)
Consider buying : When the price breaks the RSI band up and makes a Higher low above the RSI band.
Consider selling : When the price breaks the RSI band down and rebounds to make a Lower high below the RSI band.
# However, I have colored the candlesticks to make them easier to spot. By applying it may remove the color of the candlestick border. Then for the wick part, use a color that does not specify the price plus and minus color #434651
We can see the divergence by comparing the difference between the price and the RSI band as follows.
In a downtrend : Compare the difference between the price and the RSI band of the current Lower Low and the previous Low. If the divergence of the Low continues to decrease until the price approaches the RSI band, consider buying.
In an uptrend : Compare the price difference between the RSI band of the current Higher High and the previous high. If the divergence of the High continues to decrease until the price approaches the RSI band, consider selling.
I have created a Signal alert for easy observation. It was created from the following conditions: (Do not trade according to Signal alert strictly because they just tell the point according to the conditions set There may be a buy signal and then buy again without a sell signal.)
Buy : When RSI14 crosses above 50 with RSI14 crosses up the signal I set (I use EMA7 of RSI14).
Prepare to Sell : When RSI14 crosses signal while RSI14 is greater than 70.
Sell/Short Top : When RSI14 crosses down at 70 with RSI14 crosses down Signal (it will show "Peak" on the chart)
Buy : When RSI14 crosses down to 50 with RSI14 crosses down signal.
Prepare to Buy : When RSI14 crosses signal while RSI14 is less than 30.
TP Short/Buy Bottom : When RSI14 crosses above 30 with RSI14 crosses up signal (it will show "Deep" in the chart).
# The reason why I put the message in Signal alert only at Sell/Short Top and TP Short/Buy Bottom to reduce the chance of panic occurring from observation. In other signals, there will only be a * sign.
Good luck.
Firstssk
Momentum Trader + Trinity LinesThis is an updated version of the 'Momentum Trader' by user ProfitProgrammers + the 'Bollinger Bands %b & RSI & Stochastic Smoothed Indicator & Alert' by the user Zamboniman.
Links to those original scripts are below:
script/7S49kLWh-Bollinger-Bands-b-RSI-Stochastic-Smoothed-Indicator-Alert/
script/OMULR9es-Momentum-Trader/
The only real updates are so that it works on Version 4 of pinescript and some color and visual updates that makes these two scripts work well together. This must be used on normal candles and not HA or any other types or you can get misleading entry / exit points.
Here is some info about this indicator and the moving parts within it:
Chande Momentum Oscillator:
-Measures trend strength, with higher absolute values meaning greater strength.
-Also tracks divergence. When price increases, but is not accompanied by an increase in Chande Momentum Oscillator values, it signifies bearish divergence and a reversal is likely to follow.
-Shown as the teal and pink histogram.
Percentage Price Oscillator:
-Similar to the MACD , except that it expresses the difference between the two moving averages in terms of a percentage. This makes it a little easier to visualize.
-PPO values greater than zero indicate an uptrend, as that means the fast EMA is greater than the slow (and vice versa).
Trinity Lines:
-These 3 colored lines at the top are RSI + normalized Bollinger Band &b + normalized smoothed Stochastic.
-A confirmation entry for a long is when the lines are in the order from top to bottom of Green Yellow Red.
Entry and Exit Conditions:
Enter When:
1) Chande Momentum crosses over zero from negative to positive territory. AND
2) Chande Momentum is rising(positive slope). AND
3) Trinity lines are Green, Yellow, Red (Top to bottom)
Exit When:
1) Chande Momentum is greater than the upper line. AND
2) PPO has a negative slope. AND
3) Trinity lines are Red, Yellow, Green (Top to bottom)
Hilega-MilegaPublishing this script on special request.
script siulates the strategy given by very polite and veteran trader from Patna ( NK Stock Talk ) . according to him, one can predict the market movement in any timeframe by applying some correlations of volume and price on top of strength.
He recommends to apply weighted moving avergage ( to predict volume factor ) on top of RSI and EMA to predict price ( on top of RSI again ) along with VWAP . i could not include VWAP here in script but it can be added separatly by just striking "/" on chart.
for more information and understanding on the strategy, one can refer the channel of NK Stock talk
search "Hilega To Milega (Hilbe_milbe ) Trading & Investing super System" on youtube.
Hopefully this will be usefull for all those who are using basic serverice of trading view and could not do indicator on top of indicator.
Disclaimer : I am just publishing for public use and nothing is recommendation. please understand it first before applying to trading. purpose of this script is solely on giving example how pine can be used to solved indicator on indicator problems. all credit to person who created this strategy.
Thanks
-daytraderph
Vix SpikeThis script calculates spikes Vix tops and bottoms. The Vix Market Bottom is calculated using CM_Williams_Vix_Fix Finds Market Bottoms (Chris Moody). The Vix Market Top is calculated as the inverse of CM Williams’ formula.
The highest Vix Bottom and the highest Vix Top are averaged (over the Highest Vix Lookback period).
Buys are signaled when the Vix Bottom line crosses below the Highest Vix Average.
Sells are signaled when the Vix Top line crosses below Highest Vix Average.
BINANCE:ETHUSDT 5 min
BYBIT:XRPUSD 5 min
Point and Figure Chart - LiveHello Traders,
This is "Point and Figure Chart (PnF)" script that run in separated window in real time. The separated PnF chart window is timeless, so no relation with the time on the chart. PnF chart consist of "X" and "O" columns. While "X" columns represents rising prices, "O" column represents a falling price. If you have no idea about what PnF charting is then you should search for "Point and Figure Charting" on the net and get some info before using this script.
Now lets talk about details. PnF Chart requires at least two variables to be set => Box size and Reversal. Box size represents the size of each X/O in PnF chart and the reversal is used to calculate new X/O or reversal. for example if currrent column is X column then for new "X", "box size * 1" move is needed and for new "O" column or reversal, "box size * revelsal" move is needed. in the script I use lines as X/O columns.
In the options you can set "Box Size Assingment Method". you have 3 options Traditional, ATR, Percentage . what are they?
Traditional: user-defined box size, means you can set the box size as you wish, using the option . if you use this option then you should set it accordingly.
ATR : that's dynamic box size scaling and on each columns it's calculated once, you can set length for ATR
Percentage: that's also dynamic box size scaling according to closing price when new column appeared. if you use this option then you should set it accordingly.
Reversal: The reversal is typically 3 but you can change it as you wish
"Change Bar Color by PnF Trend": if you enable this option then bar color changes by PnF columns, by default it's not enabled
"Change Column Color When Breakout Occurs": PnF color changes if Double Top/Bottom breakout accours. enabled by default and you can set the colors as you wish using the options
"Change Bar Color When Breakout Occurs": bar colors changed if Double Top/Bottom breakout accours. enabled by default and you can set the colors as you wish using the options
the script checks only Double Top/Bottom breakouts at the moment. there are many other breakouts such Triple/Quadruple, Ascending/Descending Triple Top/Bottom breakouts, Catapult etc.
Also the script shows new X/O level and reversal Levels in PnF window. An example:
If you enable "Change Bar Color by PnF Trend" option:
An example if you disable the option "Change Column Color When Breakout Occurs
You may want to see my another/older "Point and Point Chart" script as well. you can find it in my profile/published scripts and in the Public Library. I use same PnF calculation algorithm in both scripts.
Enjoy!
Cyclic Smoothed RSI with Motive-Corrective Wave Indicator
This indicator uses the cyclic smoothed Relative Strength Index (cRSI) instead of the traditional Relative Strength Index (RSI). See below for more info on the benefits to the cRSI.
My key contributions
1) A Weighted Moving Average (WMA) to track the general trend of the cRSI signal. This is very helpful in determining when the equity switches from bullish to bearish, which can be used to determine buy/sell points. This is then is used to color the region between the upper and lower cRSI bands (green above, red below).
2) An attempt to detect the motive (impulse) and corrective and waves. Corrective waves are indicated A, B, C, D, E, F, G. F and G waves are not technically Elliot Waves, but the way I detect waves it is really hard to always get it right. Once and a while you could actually see G and F a second time. Motive waves are identified as s (strong) and w (weak). Strong waves have a peak above the cRSI upper band and weak waves have a peak below the upper band.
3) My own divergence indicator for bull, hidden bull, bear, and hidden bear. I was not able to replicate the TradingView style of drawing a line from peak to peak, but for this indicator I think in the end it makes the chart cleaner.
There is a latency issue with an indicator that is based on moving averages. That means they tend to trigger right after key events. Perfect timing is not possible strictly with these indicators, but they do work very well "on average." However, my implementation has minimal latency as peaks (tops/bottoms) only require one bar to detect.
As a bit of an Easter Egg, this code can be tweaked and run as a strategy to get buy/sell signals. I use this code for both my indicator and for trading strategy. Just copy and past it into a new strategy script and just change it from study to a strategy, something like this:
strategy("cRSI + Waves Strategy with VWMA overlay", overlay=overlay)
The buy/sell code is at the end and just needs to be uncommented. I make no promises or guarantees about how good it is as a strategy, but it gives you some code and ideas to work with.
Tuning
1) Volume Weighted Moving Average (VWMA): This is a “hidden strategy” feature implemented that will display the high-low bands of the VWMA on the price chart if run the code using “overlay = true”.
- If the equity does not have volume, then the VWMA will not show up. Uncheck this box and it will use the regular WMA (no volume).
- defines how far back the WMA averages price.
2) cRSI (Black line in the indicator)
- Increase to length that amount of time a band (upper/lower) stays high/low after a peak. Reduce the value to shorten the time. Just increment it up/down to see the effect.
- defines how far back the SMA averages the cRSI. This affects the purple line in the indicator.
- defines how many bars back the peak detector looks to determine if a peak has occurred. For example, a top is detected like this: current-bar down relative to the 1-bar-back, 1-bar-back up relative to 2-bars-back (look back = 1), c) 2-bars-back up relative to 3-bars-back (lookback = 2), and d) 3-bars-back up relative to 4-bars-back (lookback = 3). I hope that makes sense. There are only 2 options for this setting: 2 or 3 bars. 2 bars will be able to detect small peaks but create more “false” peaks that may not be meaningful. 3 bars will be more robust but can miss short duration peaks.
3) Waves
- The check boxes are self explanatory for which labels they turn on and off on the plot.
4) Divergence Indicators
- The check boxes are self explanatory for which labels they turn on and off on the plot.
Hints
- The most common parameter to change is the . Different stocks will have different levels of strength in their peaks. A setting of 2 may generate too many corrective waves.
- Different times scales will give you different wave counts. This is to be expected. A counter impulse wave inside a corrective wave may actually go above the cRSI WMA on a smaller time frame. You may need to increase it one or two levels to see large waves.
- Just because you see divergence (bear or hidden bear) does not mean a price is going to go down. Often price continues to rise through bears, so take note and that is normal. Bulls are usually pretty good indicators especially if you see them on C,E,G waves.
----------------------------------------------------------------------------------------------------------------------------
cyclic smoothed RSI (cRSI) indicator
----------------------------------------------------------------------------------------------------------------------------
The “core” code for the cyclic smoothed RSI (cRSI) indicator was written by Lars von Theinen and is subject to the terms of the Mozilla Public License 2.0 at mozilla.org Copyright (C) 2017 CC BY, whentotrade / Lars von Thienen. For more details on the cRSI Indicator:
The cyclic smoothed RSI indicator is an enhancement of the classic RSI, adding
1) additional smoothing according to the market vibration,
2) adaptive upper and lower bands according to the cyclic memory and
3) using the current dominant cycle length as input for the indicator.
It is much more responsive to market moves than the basic RSI. The indicator uses the dominant cycle as input to optimize signal, smoothing, and cyclic memory. To get more in-depth information on the cyclic-smoothed RSI indicator, please read Decoding The Hidden Market Rhythm - Part 1: Dynamic Cycles (2017), Chapter 4: "Fine-tuning technical indicators." You need to derive the dominant cycle as input parameter for the cycle length as described in chapter 4.
Hope this helps and good luck.
Bitcoin Logarithmic Growth CurvesThis plots logarithmic curves fitted to major Bitcoin bear market tops & bottoms. Top line is fitted to bull tops, bottom line is fitted to lower areas of the logarithmic price trend (which is not always the same as bear market bottoms). Middle line is the median of the top & bottom, and the faded solid lines are fibonacci levels in between.
Inspired by & based on a Medium post by Harold Christopher Burger, which shows how linear Bitcoin's long-term price growth is when plotted on a double-log chart (log scaling on the price AND time axis).
These curves will only make sense for tickers representing Bitcoin vs. USD (such as BITSTAMP:BTCUSD, BITMEX:XBTUSD, BLX index). Plotting on other assets will probably end up with lines that shoot off into space without any relationship to the underlying price action.
The upper, middle & lower curves can be projected into the future, which can be turned on or off in the indicator settings. The fibonacci levels can also be switched on/off. And the upper & lower curve intercepts & slopes can be tweaked.
I'm releasing this open-source, if you end up making something cool based off of this code, I don't need attribution but please hit me up on here or on twitter (same username) so I can check out what ya made. Thanks, hope y'all enjoy it.
Volume Profile Free Ultra SLI (100 Levels Value Area VWAP) - RRBVolume Profile Free Ultra SLI by RagingRocketBull 2019
Version 1.0
This indicator calculates Volume Profile for a given range and shows it as a histogram consisting of 100 horizontal bars.
This is basically the MAX SLI version with +50 more Pinescript v4 line objects added as levels.
It can also show Point of Control (POC), Developing POC, Value Area/VWAP StdDev High/Low as dynamically moving levels.
Free accounts can't access Standard TradingView Volume Profile, hence this indicator.
There are several versions: Free Pro, Free MAX SLI, Free Ultra SLI, Free History. This is the Free Ultra SLI version. The Differences are listed below:
- Free Pro: 25 levels, +Developing POC, Value Area/VWAP High/Low Levels, Above/Below Area Dimming
- Free MAX SLI: 50 levels, 2x SLI modes for Buy/Sell or even higher res 150 levels
- Free Ultra SLI: 100 levels, packed to the limit, 2x SLI modes for Buy/Sell or even higher res 300 levels
- Free History: auto highest/lowest, historic poc/va levels for each session
Features:
- High-Res Volume Profile with up to 100 levels (line implementation)
- 2x SLI modes for even higher res: 300 levels with 3x vertical SLI, 100 buy/sell levels with 2x horiz SLI
- Calculate Volume Profile on full history
- POC, Developing POC Levels
- Buy/Sell/Total volume modes
- Side Cover
- Value Area, VAH/VAL dynamic levels
- VWAP High/Low dynamic levels with Source, Length, StdDev as params
- Show/Hide all levels
- Dim Non Value Area Zones
- Custom Range with Highlighting
- 3 Anchor points for Volume Profile
- Flip Levels Horizontally
- Adjustable width, offset and spacing of levels
- Custom Color for POC/VA/VWAP levels, Transparency for buy/sell levels
WARNING:
- Compilation Time: 1 min 20 sec
Usage:
- specify max_level/min_level/spacing (required)
- select range (start_bar, range length), confirm with range highlighting
- select volume type: Buy/Sell/Total
- select mode Value Area/VWAP to show corresponding levels
- flip/select anchor point to position the buy/sell levels
- use Horiz Buy/Sell SLI mode with 100 or Vertical SLI with 300 levels if needed
- use POC/Developing POC/VA/VWAP High/Low as S/R levels. Usually daily values from 1-3 days back are used as levels for the current day.
SLI:
use SLI modes to extend the functionality of the indicator:
- Horiz Buy/Sell 2x SLI lets you view 100 Buy/Sell Levels at the same time
- Vertical Max_Vol 3x SLI lets you increase the resolution to 300 levels
- you need at least 2 instances of the indicator attached to the same chart for SLI to work
1) Enable Horiz SLI:
- attach 2 indicator instances to the chart
- make sure all instances have the same min_level/max_level/range/spacing settings
- select volume type for each instance: you can have a buy/sell or buy/total or sell/total SLI. Make sure your buy volume instance is the last attached to be displayed on top of sell/total instances without overlapping.
- set buy_sell_sli_mode to true for indicator instances with volume_type = buy/sell, for type total this is optional.
- this basically tells the script to calculate % lengths based on total volume instead of individual buy/sell volumes and use ext offset for sell levels
- Sell Offset is calculated relative to Buy Offset to stack/extend sell after buy. Buy Offset = Zero - Buy Length. Sell Offset = Buy Offset - Sell Length = Zero - Buy Length - Sell Length
- there are no master/slave instances in this mode, all indicators are equal, poc/va levels are not affected and can work independently, i.e. one instance can show va levels, another - vwap.
2) Enable Vertical SLI:
- attach the first instance and evaluate the full range to roughly determine where is the highest max_vol/poc level i.e. 0..20000, poc is in the bottom half (third, middle etc) or
- add more instances and split the full vertical range between them, i.e. set min_level/max_level of each corresponding instance to 0..10000, 10000..20000 etc
- make sure all instances have the same range/spacing settings
- an instance with a subrange containing the poc level of the full range is now your master instance (bottom half). All other instances are slaves, their levels will be calculated based on the max_vol/poc of the master instance instead of local values
- set show_max_vol_sli to true for the master instance. for slave instances this is optional and can be used to check if master/slave max_vol values match and slave can read the master's value. This simply plots the max_vol value
- you can also attach all instances and set show_max_vol_sli to true in all of them - the instance with the largest max_vol should become the master
Auto/Manual Ext Max_Vol Modes:
- for auto vertical max_vol SLI mode set max_vol_sli_src in all slave instances to the max_vol of the master indicator: "VolumeProfileFree_MAX_RRB: Max Volume for Vertical SLI Mode". It can be tricky with 2+ instances
- in case auto SLI mode doesn't work - assign max_vol_sli_ext in all slave instances the max_vol value of the master indicator manually and repeat on each change
- manual override max_vol_sli_ext has higher priority than auto max_vol_sli_src when both values are assigned, when they are 0 and close respectively - SLI is disabled
- master/slave max_vol values must match on each bar at all times to maintain proper level scale, otherwise slave's levels will look larger than they should relative to the master's levels.
- Max_vol (red) is the last param in the long list of indicator outputs
- the only true max_vol/poc in this SLI mode is the master's max_vol/poc. All poc/va levels in slaves will be irrelevant and are disabled automatically. Slaves can only show VWAP levels.
- VA Levels of the master instance in this SLI mode are calculated based on the subrange, not the whole range and may be inaccurate. Cross check with the full range.
WARNING!
- auto mode max_vol_sli_src is experimental and may not work as expected
- you can only assign auto mode max_vol_sli_src = max_vol once due to some bug with unhandled exception/buffer overflow in Tradingview. Seems that you can clear the value only by removing the indicator instance
- sometimes you may see a "study in error state" error when attempting to set it back to close. Remove indicator/Reload chart and start from scratch
- volume profile may not finish to redraw and freeze in an ugly shape after an UI parameter change when max_vol_sli_src is assigned a max_vol value. Assign it to close - VP should redraw properly, but it may not clear the assigned max_vol value
- you can't seem to be able to assign a proper auto max_vol value to the 3rd slave instance
- 2x Vertical SLI works and tested in both auto/manual, 3x SLI - only manual seems to work (you can have a mixed mode: 2nd instance - auto, 3rd - manual)
Notes:
- This code uses Pinescript v3 compatibility framework
- This code is 20x-30x faster (main for cycle is removed) especially on lower tfs with long history - only 4-5 sec load/redraw time vs 30-60 sec of the old Pro versions
- Instead of repeatedly calculating the total sum of volumes for the whole range on each bar, vol sums are now increased on each bar and passed to the next in the range making it a per range vs per bar calculation that reduces time dramatically
- 100 levels consist of 50 main plot levels and 50 line objects used as alternate levels, differences are:
- line objects are always shown on top of other objects, such as plot levels, zero line and side cover, it's not possible to cover/move them below.
- all line objects have variable lengths, use actual x,y coords and don't need side cover, while all plot levels have a fixed length of 100 bars, use offset and require cover.
- all key properties of line objects, such as x,y coords, color can be modified, objects can be moved/deleted, while this is not possible for static plot levels.
- large width values cause line objects to expand only up/down from center while their length remains the same and stays within the level's start/end points similar to an area style.
- large width values make plot levels expand in all directions (both h/v), beyond level start/end points, sometimes overlapping zero line, making them an inaccurate % length representation, as opposed to line objects/plot levels with area style.
- large width values translate into different widths on screen for line objects and plot levels.
- you can't compensate for this unwanted horiz width expansion of plot levels because width uses its own units, that don't translate into bars/pixels.
- line objects are visible only when num_levels > 50, plot levels are used otherwise
- Since line objects are lines, plot levels also use style line because other style implementations will break the symmetry/spacing between levels.
- if you don't see a volume profile check range settings: min_level/max_level and spacing, set spacing to 0 (or adjust accordingly based on the symbol's precision, i.e. 0.00001)
- you can view either of Buy/Sell/Total volumes, but you can't display Buy/Sell levels at the same time using a single instance (this would 2x reduce the number of levels). Use 2 indicator instances in horiz buy/sell sli mode for that.
- Volume Profile/Value Area are calculated for a given range and updated on each bar. Each level has a fixed length. Offsets control visible level parts. Side Cover hides the invisible parts.
- Custom Color for POC/VA/VWAP levels - UI Style color/transparency can only change shape's color and doesn't affect textcolor, hence this additional option
- Custom Width - UI Style supports only width <= 4, hence this additional option
- POC is visible in both modes. In VWAP mode Developing POC becomes VWAP, VA High and Low => VWAP High and Low correspondingly to minimize the number of plot outputs
- You can't change buy/sell level colors from input (only transparency) - this requires 2x plot outputs => 2x reduces the number of levels to fit the max 64 limit. That's why 2 additional plots are used to dim the non Value Area zones
- You can change level transparency of line objects. Due to Pinescript limitations, only discrete values are supported.
- Inverse transp correlation creates the necessary illusion of "covered" line objects, although they are shown on top of the cover all the time
- If custom lines_transp is set the illusion will break because transp range can't be skewed easily (i.e. transp 0..100 is always mapped to 100..0 and can't be mapped to 50..0)
- transparency can applied to lines dynamically but nva top zone can't be completely removed because plot/mixed type of levels are still used when num_levels < 50 and require cover
- transparency can't be applied to plot levels dynamically from script this can be done only once from UI, and you can't change plot color for the past length bars
- All buy/sell volume lengths are calculated as % of a fixed base width = 100 bars (100%). You can't set show_last from input to change it
- Range selection/Anchoring is not accurate on charts with time gaps since you can only anchor from a point in the future and measure distance in time periods, not actual bars, and there's no way of knowing the number of future gaps in advance.
- Adjust Width for Log Scale mode now also works on high precision charts with small prices (i.e. 0.00001)
- in Adjust Width for Log Scale mode Level1 width extremes can be capped using max deviation (when level1 = 0, shift = 0 width becomes infinite)
- There's no such thing as buy/sell volume, there's just volume, but for the purposes of the Volume Profile method, assume: bull candle = buy volume, bear candle = sell volume
P.S. I am your grandfather, Luke! Now, join the Dark Side in your father's steps or be destroyed! Once more the Sith will rule the Galaxy, and we shall have peace...
Volume Profile Free Pro (25 Levels Value Area VWAP) by RRBVolume Profile Free Pro by RagingRocketBull 2019
Version 1.0
All available Volume Profile Free Pro versions are listed below (They are very similar and I don't want to publish them as separate indicators):
ver 1.0: style columns implementation
ver 2.0: style histogram implementation
ver 3.0: style line implementation
This indicator calculates Volume Profile for a given range and shows it as a histogram consisting of 25 horizontal bars.
It can also show Point of Control (POC), Developing POC, Value Area/VWAP StdDev High/Low as dynamically moving levels.
Free accounts can't access Standard TradingView Volume Profile, hence this indicator.
There are 3 basic methods to calculate the Value Area for a session.
- original method developed by Steidlmayr (calculated around POC)
- classical method using StdDev (calculated around the mean VWAP)
- another method based on the mean absolute deviation (calculated around the median)
POC is a high volume node and can be used as support/resistance. But when far from the day's average price it may not be as good a trend filter as the other methods.
The 80% Rule: When the market opens above/below the Value Area and then returns/stays back inside for 2 consecutive 30min periods it has 80% chance of filling VA (like a gap).
There are several versions: Free, Free Pro, Free MAX. This is the Free Pro version. The Differences are listed below:
- Free: 30 levels, Buy/Sell/Total Volume Profile views, POC
- Free Pro: 25 levels, +Developing POC, Value Area/VWAP High/Low Levels, Above/Below Area Dimming
- Free MAX: 50 levels, packed to the limit
Features:
- Volume Profile with up to 25 levels (3 implementations)
- POC, Developing POC Levels
- Buy/Sell/Total/Side by Side View modes
- Side Cover
- Value Area, VAH/VAL dynamic levels
- VWAP High/Low dynamic levels with Source, Length, StdDev as params
- Show/Hide all levels
- Dim Non Value Area Zones
- Custom Range with Highlighting
- 3 Anchor points for Volume Profile
- Flip Levels Horizontally
- Adjustable width, offset and spacing of levels
- Custom Color for POC/VA/VWAP levels and Transparency for buy/sell levels
Usage:
- specify max_level/min_level for a range (required in ver 1.0/2.0, auto/optional in ver 3.0 = set to highest/lowest)
- select range (start_bar, range length), confirm with range highlighting
- select mode Value Area or VWAP to show corresponding levels.
- flip/select anchor point to position the buy/sell levels, adjust width and spacing as needed
- select Buy/Sell/Total/Side by Side view mode
- use POC/Developing POC/VA/VWAP High/Low as S/R levels. Usually daily values from 1-3 days back are used as levels for the current day.
- Green - buy volume of a specific price level in a range, Red - sell volume. Green + Red = Total volume of a price level in a range
There's no native support for vertical histograms in Pinescript (with price axis as base)
Basically, there are 4 ways to plot a series of horizontal bars stacked on top of each other:
1. plotshape style labeldown (ver 0 prototype discarded)
- you can have a set of fixed width/height text labels consisting of a series of underscores and moving dynamically as levels. Level offset controls visible length.
- you can move levels and scale the base width of the volume profile histogram dynamically
- you can calculate the highest/lowest range values automatically. max_level/min_level inputs are optional
- you can't fill the gaps between levels/adjust/extend width, height - this results in a half baked volume profile and looks ugly
- fixed text level height doesn't adjust and looks bad on a log scale
- fixed font width also doesn't scale and can't be properly aligned with bars when zooming
2. plot style columns + hist_base (ver 1.0)
- you can plot long horizontal bars using a series of small adjacent vertical columns with level offsets controlling visible length.
- you can't hide/move levels of the volume profile histogram dynamically on each bar, they must be plotted at all times regardless - you can't delete the history of a plot.
- you can't scale the base width of the volume profile histogram dynamically, can't set show_last from input, must use a preset fixed width for each level
- hist_base can only be a static const expression, can't be assigned highest/lowest range values automatically - you have to specify max_level/min_level manually from input
- you can't control spacing between columns - there's an equalizer bar effect when you zoom in, and solid bars when you zoom out
- using hist_base for levels results in ugly load/redraw times - give it 3-5 sec to finalize its shape after each UI param change
- level top can be properly aligned with another level's bottom producing a clean good looking histogram
- columns are properly aligned with bars automatically
3. plot style histogram + hist_base (ver 2.0)
- you can plot long horizontal bars using a series of small vertical bars (horizontal histogram) instead of columns.
- you can control the width of each histogram bar comprising a level (spacing/horiz density). Large enough width will cause bar overlapping and give level a "solid" look regardless of zoom
- you can only set width <= 4 in UI Style - custom textbox input is provided for larger values. You can set width and plot transparency from input
- this method still uses hist_base and inherits other limitations of ver 2.0
4. plot style lines (ver 3.0)
- you can also plot long horizontal bars using lines with level offsets controlling visible length.
- lines don't need hist_base - fast and smooth redraw times
- you can calculate the highest/lowest range values automatically. max_level/min_level inputs are optional
- level top can't be properly aligned with another level's bottom and have a proper spacing because line width uses its own units and doesn't scale
- fixed line width of a level (vertical thickness) doesn't scale and looks bad on log (level overlapping)
- you can only set width <= 4 in UI Style, a custom textbox input is provided for larger values. You can set width and plot transparency from input
Notes:
- hist_base for levels results in ugly load/redraw times - give it 3-5 sec to finalize its shape after each UI param change
- indicator is slow on TFs with long history 10000+ bars
- Volume Profile/Value Area are calculated for a given range and updated on each bar. Each level has a fixed width. Offsets control visible level parts. Side Cover hides the invisible parts.
- Custom Color for POC/VA/VWAP levels - UI Style color/transparency can only change shape's color and doesn't affect textcolor, hence this additional option
- Custom Widh for levels - UI Style supports only width <= 4, hence this additional option
- POC is visible in both modes. In VWAP mode Developing POC becomes VWAP, VA High and Low => VWAP High and Low correspondingly to minimize the number of plot outputs
- You can't change buy/sell level colors (only plot transparency) - this requires 2x plot outputs exceeding max 64 limit. That's why 2 additional plots are used to dim the non Value Area zones
- Use Side by Side view to compare buy and sell volumes between each other: base width = max(total_buy_vol, total_sell_vol)
- All buy/sell volume lengths are calculated as % of a fixed base width = 100 bars (100%). You can't set show_last from input
- Sell Offset is calculated relative to Buy Offset to stack/extend sell on top of buy. Buy Offset = Zero - Buy Length. Sell Offset = Buy Offset - Sell Length = Zero - Buy Length - Sell Length
- If you see "loop too long error" - change some values in UI and it will recalculate - no need to refresh the chart
- There's no such thing as buy/sell volume, there's just volume, but for the purposes of the Volume Profile method, assume: bull candle = buy volume, bear candle = sell volume
- Volume Profile Range is limited to 5000 bars for free accounts
P.S. Cantaloupia Will be Free!
Links on Volume Profile and Value Area calculation and usage:
www.tradingview.com
stockcharts.com
onlinelibrary.wiley.com
MIDAS VWAP Jayy his is just a bash together of two MIDAS VWAP scripts particularly AkifTokuz and drshoe.
I added the ability to show more MIDAS curves from the same script.
The algorithm primarily uses the "n" number but the date can be used for the 8th VWAP
I have not converted the script to version 3.
To find bar number go into "Chart Properties" select " "background" then select Indicator Titles and "Indicator values". When you place your cursor over a bar the first number you see adjacent to the script title is the bar number. Put that in the dialogue box midline is MIDAS VWAP . The resistance is a MIDAS VWAP using bar highs. The resistance is MIDAS VWAP using bar lows.
In most case using N will suffice. However, if you are flipping around charts inputting a specific date can be handy. In this way, you can compare the same point in time across multiple instruments eg first trading day of the year or an election date.
Adding dates into the dialogue box is a bit cumbersome so in this version, it is enabled for only one curve. I have called it VWAP and it follows the typical VWAP algorithm. (Does that make a difference? Read below re my opinion on the Difference between MIDAS VWAP and VWAP ).
I have added the ability to start from the bottom or top of the initiating bar.
In theory in a probable uptrend pick a low of a bar for a low pivot and start the MIDAS VWAP there using the support.
For a downtrend use the high pivot bar and select resistance. The way to see is to play with these values.
Difference between MIDAS VWAP and the regular VWAP
MIDAS itself as described by Levine uses a time anchored On-Balance Volume (OBV) plotted on a graph where the horizontal (abscissa) arm of the graph is cumulative volume not time. He called his VWAP curves Support/Resistance VWAP or S/R curves. These S/R curves are often referred to as "MIDAS curves".
These are the main components of the MIDAS chart. A third algorithm called the Top-Bottom Finder was also described. (Separate script).
Additional tools have been described in "MIDAS_Technical_Analysis"
Midas Technical Analysis: A VWAP Approach to Trading and Investing in Today’s Markets by Andrew Coles, David G. Hawkins
Copyright © 2011 by Andrew Coles and David G. Hawkins.
Denoting the different way in which Levine approached the calculation.
The difference between "MIDAS" VWAP and VWAP is, in my opinion, much ado about nothing. The algorithms generate identical curves albeit the MIDAS algorithm launches the curve one bar later than the VWAP algorithm which can be a pain in the neck. All of the algorithms that I looked at on Tradingview step back one bar in time to initiate the MIDAS curve. As such the plotted curves are identical to traditional VWAP assuming the initiation is from the candle/bar midpoint.
How did Levine intend the curves to be drawn?
On a reversal, he suggested the initiation of the Support and Resistance VVWAP (S/R curve) to be started after a reversal.
It is clear in his examples this happens occasionally but in many cases he initiates the so-called MIDAS S/R VWAP right at the reversal point. In any case, the algorithm is problematic if you wish to start a curve on the first bar of an IPO .
You will get nothing. That is a pain. Also in Levine's writings, he describes simply clicking on the point where a
S/R VWAP is to be drawn from. As such, the generally accepted method of initiating the curve at N-1 is a practical and sensible method. The only issue is that you cannot draw the curve from the first bar on any security, as mentioned without resorting to the typical VWAP algorithm. There is another difference. VWAP is launched from the middle of the bar (as per AlphaTrends), You can also launch from the top of the bar or the bottom (or anywhere for that matter). The calculation proceeds using the top or bottom for each new bar.
The potential applications are discussed in the MIDAS Technical Analysis book.
Pump_Doctor Trends**You must enable bar colors in the options for the script if you wish to see them**
This indicator is very useful for spotting trends / tops / bottoms.
This is the ultimate altcoin pump spotting tool. Use on higher timeframes for greatest accuracy. If altcoin is newish (ZEC for example), try 4h rather than 1D or 3D.
Green = Uptrend
Red = Downtrend
Gray = Top/local top, bottom/local bottom, or continuation. You will need some knowledge of price action to determine which condition applies.
You can use the oscillator at the bottom as a measure of momentum / trend strength. You can draw trendlines on the oscillator on the top/bottom or the interior.
Full VZ-Score (price & Volume)Z score is an Indicator really close to CCI, only difference is that CCI use a 1.5 factor of standard deviation, and Z score use only 1 deviation. This difference make CCI to have a range wider then Z score, but also less sharpe. Here I had use a light filter to smooth both price and volume. So we have same indicator with different source: Histogram is VOLUME Z score, and LINE is PRICE (hlc3). Remember that top volume is not always top price, it could be button one. Volume help to see how strong is the move of the Z score. Inversion could happen when top/high volume and top/bottom price. Low buttom volume with low/high price usualy means end of trend.
Price Action Doji Harami v0.2 by JustUncleLThis is an updated and final version of this indicator. This version distinguishes between the true Harami and the other Doji candlestick patterns as used with the Heikin Ashi candle charts. These candle patterns indicate a potential trend reversal or pullback.
The patterns identified are:
- Bearish Harami (Red Highlight above Bar):
One to three (default 3) large body Bull (green) candles followed by a small (red)
or no body candle (less than 0.5pip) with wicks top and bottom that are at least 60% of candle.
- Bullish Harami (Green Highlight below Bar):
One to three (default 3) large body Bear (red) candles followed by a small (green)
or no body candle (less than 0.5pip) with wicks top and bottom that are at least 60% of candle.
- Bearish Doji (Fuchsia Highlight above Bar):
One to three (default 3) large body Bull (green) candles followed by a small (green)
with wicks top and bottom that are at least 60% of candle.
- Bullish Doji (Aqua Highlight below Bar):
One to three (default 3) large body Bear (red) candles followed by a small (red)
with wicks top and bottom that are at least 60% of candle.
You can optionally specify how large the candles prior to Harami/Doji are in pips, default is 0 pip.
If you set this to zero then it will have no candle size consideration. You can also specify how many look back candles (1-3) are used in Harami/Doji calculations (default 3).
Included option to perform Calculations purely on Heikin Ashi candles, this helps when you want to see the HA Doji/Harami bars with the normal candle stick chart.
Also can optionally set an alert condition for when Harami/Doji found, this also displays a circle on the bottom of the screen when alert is triggered.
Sniper Stochastics Sniper Stochastics is a triple stochastic system.
Basically, watch the 20 and 80 crossovers. However, the settings of the three stochastics correspond to Fibonacci numbers 55, 89, and 144.
Since we have a fast, medium and slow speed stochastics; we can also watch the crossovers.
I have found that When the Red (144) is on top, it usually signals a turn upwards; conversely, a blue (89) on top of the others means that the market is going to go down.
So red on top = bullish and blue on top= bearish.
You can also think of them in terms of efficiency. If they all display the same and are overlapping in a single line; crossing an 80 or 20 line, this is a strong signal - bullish or bearish.
If on the other hand, you see them splayed out and moving away from eachother but the same direction; it signals a more inefficient process and thus a weaker signal.
I really enjoy using these and I hope you will too.
On the settings, I have turned off the %D so that they display only %K's. The Default is 55, 89 ,144.