Low Volatility Range Breaks [BigBeluga]Low Volatility Range Breaks
The Low Volatility Range Breaks indicator is an advanced technical analysis tool designed to identify periods of low volatility and potential breakout opportunities. By visualizing low volatility ranges as ranges and tracking subsequent price movements, this indicator helps traders spot potential high-probability trade setups.
🔵 KEY FEATURES
● Low Volatility Detection
Identifies periods of low volatility based on highest and lowest periods and user-defined sensitivity
Uses a combination of highest/lowest price calculations and ATR for dynamic adaptation
● Volatility Box Visualization
Creates a box to represent the low volatility range
Box height is adjustable based on ATR multiplier
Includes a mid-line for reference within the box
● Breakout Detection
Identifies when price breaks above or below the volatility box
Labels breakouts as "Break Up" or "Break Dn" on the chart
Changes box appearance to indicate a completed breakout
● Probability Tracking
Counts the number of closes above and below the box's mid-line
Displays probability counters for potential upward and downward moves
Resets counters after a confirmed breakout
🔵 HOW TO USE
● Identifying Low Volatility Periods
Watch for the formation of volatility boxes on the chart
These boxes represent periods where price movement has been confined
● Anticipating Breakouts
Monitor price action as it approaches the edges of the volatility box
Use the probability counters to gauge the likely direction of the breakout
● Trading Breakouts
Consider posible entering trades when price breaks above or below the volatility box
Use the breakout labels ("Break Up" or "Break Dn") as a trading opportunity
● Managing Risk
Use the opposite side of the volatility box as a potential invalidation level
Consider the box height for position sizing and risk management
● Trend Analysis
Multiple upward breakouts may indicate a developing uptrend
Multiple downward breakouts may suggest a forming downtrend
Use in conjunction with other trend indicators for confirmation
🔵 CUSTOMIZATION
The Low Volatility Box Breaks indicator offers several customization options:
Adjust the volatility length to change the period for highest/lowest price calculations
Modify the volatility level to fine-tune the sensitivity of low volatility detection
Adjust the box height multiplier to change the size of volatility boxes
By fine-tuning these settings, traders can adapt the indicator to various market conditions and personal trading strategies.
The Low Volatility Range Breaks indicator provides a unique approach to identifying potential breakout opportunities following periods of consolidation. By visually representing low volatility periods and tracking subsequent price movements, it offers traders a powerful tool for spotting high-probability trade setups.
This indicator can be particularly useful for traders focusing on breakout strategies, mean reversion tactics, or those looking to enter trades at the beginning of new trends. The combination of visual cues (boxes and breakout labels) and quantitative data (probability counters) provides a comprehensive view of market dynamics during and after low volatility periods.
As with all technical indicators, it's recommended to use the Low Volatility Range Breaks indicator in conjunction with other forms of analysis and within the context of a well-defined trading strategy. While this indicator can provide valuable insights into potential breakouts, it should be considered alongside other factors such as overall market trends, volume, and fundamental analysis when making trading decisions.
BOX
Jurik Price Bands and Range Box [BigBeluga]Jurik Price Bands and Range Box
The Jurik Price Bands and Range Box - BigBeluga indicator is an advanced technical analysis tool that combines Jurik Moving Average (JMA) based price bands with a dynamic range box. This versatile indicator is designed to help traders identify trends, potential reversal points, and price ranges over a specified period.
🔵 KEY FEATURES
● Jurik Price Bands
Utilizes Jurik Moving Average for smoother, more responsive bands
//@function Calculates Jurik Moving Average
//@param src (float) Source series
//@param len (int) Length parameter
//@param ph (int) Phase parameter
//@returns (float) Jurik Moving Average value
jma(src, len, ph) =>
var float jma = na
var float e0 = 0.0
var float e1 = 0.0
var float e2 = 0.0
phaseRatio = ph < -100 ? 0.5 : ph > 100 ? 2.5 : ph / 100 + 1.5
beta = 0.45 * (len - 1) / (0.45 * (len - 1) + 2)
alpha = math.pow(beta, phaseRatio)
e0 := (1 - alpha) * src + alpha * nz(e0 )
e1 := (src - e0) * (1 - beta) + beta * nz(e1 )
e2 := (e0 + phaseRatio * e1 - nz(jma )) * math.pow(1 - alpha, 2) + math.pow(alpha, 2) * nz(e2 )
jma := e2 + nz(jma )
jma
Consists of an upper band, lower band, and a smooth price line
Bands adapt to market volatility using Jurik MA on ATR
Helps identify potential trend reversal points and overextended market conditions
● Dynamic Range Box
Displays a box representing the price range over a specified period
Calculates high, low, and mid-range prices
Option for adaptive mid-range calculation based on average price
Provides visual representation of recent price action and volatility
● Price Position Indicator
Shows current price position relative to the mid-range
Displays percentage difference from mid-range
Color-coded for quick trend identification
● Dashboard
Displays key information including current price, range high, mid, and low
Shows trend direction based on price position relative to mid-range
Provides at-a-glance market context
🔵 HOW TO USE
● Trend Identification
Use the middle of the Range Box as the primary trend reference point
Price above the middle of the Range Box indicates an uptrend
Price below the middle of the Range Box indicates a downtrend
The bar on the right shows the percentage distance of the close from the middle of the box
This percentage indicates both trend direction and strength
Refer to the dashboard for quick trend direction confirmation
● Potential Reversal Points
Upper and lower Jurik Bands can indicate potential trend reversal points
Price reaching or exceeding these bands may suggest overextended conditions
Watch for price reaction at these levels for possible trend shifts or pullbacks
Range Box high and low can serve as additional reference points for price action
● Range Analysis
Use Range Box to gauge recent price volatility and trading range
Mid-range line can act as a pivot point for short-term price movements
Percentage difference from mid-range helps quantify price position strength
🔵 CUSTOMIZATION
The Jurik Price Bands and Range Box indicator offers several customization options:
Adjust Range Box length for different timeframe analysis
Toggle between standard and adaptive mid-range calculation
Standard:
Adaptive:
Modify Jurik MA length and deviation for band calculation
Toggle visibility of Jurik Bands
By fine-tuning these settings, traders can adapt the indicator to various market conditions and personal trading strategies.
The Jurik Price Bands and Range Box indicator provides a multi-faceted approach to market analysis, combining trend identification, potential reversal point detection, and range analysis in one comprehensive tool. The use of Jurik Moving Average offers a smoother, more responsive alternative to traditional moving averages, potentially providing more accurate signals.
This indicator can be particularly useful for traders looking to understand market context quickly, identify potential reversal points, and assess current market volatility. The combination of dynamic bands, range analysis, and the informative dashboard provides traders with a rich set of data points to inform their trading decisions.
As with all technical indicators, it's recommended to use the Jurik Price Bands and Range Box in conjunction with other forms of analysis and within the context of a well-defined trading strategy. While this indicator provides valuable insights, it should be considered alongside other factors such as overall market conditions, volume, and fundamental analysis when making trading decisions.
DeleteArrayType█ OVERVIEW
Here are common functions usually delete drawing once array of drawing is recall.
Method is used as in pine script version 5 instead of custom function.
It is an upgrade from DeleteArrayObject , which may not support overload parameter in future.
Library "DeleteArrayType"
TODO: Delete array type especially for drawings
method deleteLabel(id)
TODO: Delete array
Namespace types: array
Parameters:
id (array)
Returns: TODO: label.delete()
method deleteLine(id)
TODO: Delete array
Namespace types: array
Parameters:
id (array)
Returns: TODO: line.delete()
method deleteLineFill(id)
TODO: Delete array
Namespace types: array
Parameters:
id (array)
Returns: TODO: linefill.delete()
method deletePolyLine(id)
TODO: Delete array
Namespace types: array
Parameters:
id (array)
Returns: TODO: polyline.delete()
method deleteBox(id)
TODO: Delete array
Namespace types: array
Parameters:
id (array)
Returns: TODO: box.delete()
method deleteTable(id)
TODO: Delete array
Namespace types: array
Parameters:
id (array)
Returns: TODO: table.delete()
Buy/Sell BoxThis indicator tries to identify the points where the price exceeds or falls below a rectangle based on the opening and closing prices of the previous period, the creation of the boxes occurs when a doji is detected therefore it will calculate the coordinates of the rectangle that will be drawn around it, therefore the indicator offers buy or sell signals based on this logic. Specifically, the buy signal is generated if the closing price is above the top of the rectangle and satisfies some previous price conditions while the sell signal is generated if the closing price is below the bottom of the rectangle and satisfies some conditions of previous prices within a further threshold based on the Ema 150.
Lines are then drawn on the graph to visually display the extreme price levels, which can be useful for any confirmation of buy and sell signals, Stop Loss and Take Profit, Trend Filter (to visually understand if the trend is bullish or bearish)
A potentially effective trading strategy could involve identifying buy and sell signals near the extreme price level lines drawn by the indicator. This approach can be used to try to improve the accuracy of your trading signals and make more informed decisions. For example:
When you receive a buy or sell signal based on the dojis and rectangles generated by the indicator, check whether the price is also near one of the extreme price level lines. If you are receiving a buy signal and notice that the current price is near a low of the lower level line, this may further confirm the buying opportunity, as the price is near a significant resistance level. On the contrary, if the sell signal was close to a maximum price level it could confirm an excellent short entry.
It is also possible to use the boxes as reference points to set the stop loss and take profit levels. If you are entering a buy position, you might consider setting your stop loss just below an upper line of the last box. Additionally, you may want to set your take profit near a higher price level if you are looking to maximize profits. This will help manage risks and protect your capital.
Psychological Support/Resistence [BigBeluga]The Psychological Support/Resistance indicator aims to provide the user with hypothetical support and resistance zones that are likely to provoke a strong reaction in price, either in both directions, providing good bouncing zones or significant movements once those levels are breached.
🔶 CALCULATION
The script takes into consideration the total number of sequential candles moving in the same direction, as determined by the user's settings. When this sequence is identified, a level is created.
A level is considered broken when the candle's close is above the top/bottom of the level.
Users have the option to select the width of the area based on the Average (AVG), Open, or Close.
AVG will provide the average width of the level of the area.
Close will offer a broader range to work with.
Open will provide a very narrow area.
🔶 METHODOLOGY
The idea behind these areas is that the price will be more likely to produce either a substantial move in the ongoing direction or, when breached, a strong price reaction.
The more the support level is touched or tested, the more likely it is to break.
The longer it has been since its creation and the less it has been tested, the more likely it is to offer strong support or resistance.
Wicks starting to close above the level will indicate a potential breakout to the upside or downside if a candle manages to close above it.
🔶 INPUTS
Users have the option to determine the number of sequential candles.
Users also have the option to decide how many zones to display on the chart.
Color changes are possible.
The possibility to show volume on the creation of the zone is included."
Contraction Box & Doji LinesContraction & Doji Lines indicator is designed to identify and visualize potential support and resistance levels on a price chart. It does this by detecting doji candlestick patterns and drawing horizontal lines from the middle of the doji bodies to the right. Additionally, it also highlights price contraction zones with colored boxes.
The indicator first identifies doji candlestick patterns that it suggests indecision in the market, a horizontal line and these horizontal lines can act as potential support or resistance levels. Traders can observe price reactions around these lines. If the price approaches a line and bounces off it, it may indicate a significant level in the market.
In addition to doji lines, this indicator also highlights price contraction zones. When a contraction zone is detected, a colored box is drawn to highlight this zone. The box extends from the fifth bar ago (left side) to the current bar (right side), with the highest high and lowest low of the identified zone. The color and width of this box can be customized using the "Box Line Border Color," "Box Background Color," and "Box Width" parameters.
A possible strategy could be can use the doji lines as potential support and resistance levels to make trading decisions. For example, if the price breaks above a doji line and holds, it may indicate a bullish signal.
The colored boxes highlight areas of price contraction, which often precede significant price movements. Traders can use these zones to anticipate potential breakouts or breakdowns.
For example, you might enter a long (buy) position if it anticipate a breakout from a contraction zone with a target price set above the breakout level. Conversely, you might enter a short (sell) position if they anticipate a breakdown from a contraction zone with a target price set below the breakdown level.
Bollinger Bands Heatmap (BBH)The Bollinger Bands Heatmap (BBH) Indicator provides a unique visualization of Bollinger Bands by displaying the full distribution of prices as a heatmap overlaying your price chart. Unlike traditional Bollinger Bands, which plot the mean and standard deviation as lines, BBH illustrates the entire statistical distribution of prices based on a normal distribution model.
This heatmap indicator offers traders a visually appealing way to understand the probabilities associated with different price levels. The lower the weight of a certain level, the more transparent it appears on the heatmap, making it easier to identify key areas of interest at a glance.
Key Features
Dynamic Heatmap: Changes in real-time as new price data comes in.
Fully Customizable: Adjust the scale, offset, alpha, and other parameters to suit your trading style.
Visually Engaging: Uses gradients of colors to distinguish between high and low probabilities.
Settings
Scale
Tooltip: Scale the size of the heatmap.
Purpose: The 'Scale' setting allows you to adjust the dimensions of each heatmap box. A higher value will result in larger boxes and a more generalized view, while a lower value will make the boxes smaller, offering a more detailed look at price distributions.
Values: You can set this from a minimum of 0.125, stepping up by increments of 0.125.
Scale ATR Length
Tooltip: The ATR used to scale the heatmap boxes.
Purpose: This setting is designed to adapt the heatmap to the instrument's volatility. It determines the length of the Average True Range (ATR) used to size the heatmap boxes.
Values: Minimum allowable value is 5. You can increase this to capture more bars in the ATR calculation for greater smoothing.
Offset
Tooltip: Offset mean by ATR.
Purpose: The 'Offset' setting allows you to shift the mean value by a specified ATR. This could be useful for strategies that aim to capitalize on extreme price movements.
Values: The value can be any floating-point number. Positive values shift the mean upward, while negative values shift it downward.
Multiplier
Tooltip: Bollinger Bands Multiplier.
Purpose: The 'Multiplier' setting determines how wide the Bollinger Bands are around the mean. A higher value will result in a wider heatmap, capturing more extreme price movements. A lower value will tighten the heatmap around the mean price.
Values: The minimum is 0, and you can increase this in steps of 0.2.
Length
Tooltip: Length of Simple Moving Average (SMA).
Purpose: This setting specifies the period for the Simple Moving Average that serves as the basis for the Bollinger Bands. A higher value will produce a smoother average, while a lower value will make it more responsive to price changes.
Values: Can be set to any integer value.
Heat Map Alpha
Tooltip: Opacity level of the heatmap.
Purpose: This controls the transparency of the heatmap. A lower value will make the heatmap more transparent, allowing you to see the price action more clearly. A higher value will make the heatmap more opaque, emphasizing the bands.
Values: Ranges from 0 (completely transparent) to 100 (completely opaque).
Color Settings
High Color & Low Color: These settings allow you to customize the gradient colors of the heatmap.
Purpose: Use contrasting colors for better visibility or colors that you prefer. The 'High Color' is used for areas with high density (high probability), while the 'Low Color' is for low-density areas (low probability).
Usage Scenarios for Settings
For Volatile Markets: Increase 'Scale ATR Length' for better smoothing and set a higher 'Multiplier' to capture wider price movements.
For Trend Following: You might want to set a larger 'Length' for the SMA and adjust 'Scale' and 'Offset' to focus on more probable price zones.
These are just recommendations; feel free to experiment with these settings to suit your specific trading requirements.
How To Interpret
The heatmap gives a visual representation of the range within which prices are likely to move. Areas with high density (brighter color) indicate a higher probability of the price being in that range, whereas areas with low density (more transparent) indicate a lower probability.
Bright Areas: Considered high-probability zones where the price is more likely to be.
Transparent Areas: Considered low-probability zones where the price is less likely to be.
Tips For Use
Trend Confirmation: Use the heatmap along with other trend indicators to confirm the strength and direction of a trend.
Volatility: Use the density and spread of the heatmap as an indication of market volatility.
Entry and Exit: High-density areas could be potential support and resistance levels, aiding in entry and exit decisions.
Caution
The Bollinger Bands Heatmap assumes a normal distribution of prices. While this is a standard assumption in statistics, it is crucial to understand that real-world price movements may not always adhere to a normal distribution.
Conclusion
The Bollinger Bands Heatmap Indicator offers traders a fresh perspective on Bollinger Bands by transforming them into a visual, real-time heatmap. With its customizable settings and visually engaging display, BBH can be a useful tool for traders looking to understand price probabilities in a dynamic way.
Feel free to explore its features and adjust the settings to suit your trading strategy. Happy trading!
ObjectHelpersLibrary "ObjectHelpers"
Line | Box | Label | Linefill -- Maker, Setter, Getter Library
TODO: add table functionality
set(object)
set all params for `line`, `box`, `label`, `linefill` objects with 1 function
***
## Overloaded
***
```
method set(line Line, int x1=na, float y1=na, int x2=na, float y2=na,string xloc=na,string extend=na,color color=na,string style=na,int width=na,bool update=na) => line
```
### Params
- **Line** `line` - line object | `required`
- **x1** `int` - value to set x1
- **y1** `float` - value to set y1
- **x2** `int` - value to set x2
- **y2** `float` - value to set y2
- **xloc** `int` - value to set xloc
- **yloc** `int` - value to set yloc
- **extend** `string` - value to set extend
- **color** `color` - value to set color
- **style** `string` - value to set style
- **width** `int` - value to set width
- **update** `bool` - value to set update
***
```
method set(box Box,int left=na,float top=na,int right=na, float bottom=na,color bgcolor=na,color border_color=na,string border_style=na,int border_width=na,string extend=na,string txt=na,color text_color=na,string text_font_family=na,string text_halign=na,string text_valign=na,string text_wrap=na,bool update=false) => box
```
### Params
- **Box** `box` - box object
- **left** `int` - value to set left
- **top** `float` - value to set top
- **right** `int` - value to set right
- **bottom** `float` - value to set bottom
- **bgcolor** `color` - value to set bgcolor
- **border_color** `color` - value to set border_color
- **border_style** `string` - value to set border_style
- **border_width** `int` - value to set border_width
- **extend** `string` - value to set extend
- **txt** `string` - value to set _text
- **text_color** `color` - value to set text_color
- **text_font_family** `string` - value to set text_font_family
- **text_halign** `string` - value to set text_halign
- **text_valign** `string` - value to set text_valign
- **text_wrap** `string` - value to set text_wrap
- **update** `bool` - value to set update
***
```
method set(label Label,int x=na,float y=na, string txt=na,string xloc=na,color color=na,color textcolor=na,string size=na,string style=na,string textalign=na,string tooltip=na,string text_font_family=na,bool update=false) => label
```
### Paramas
- **Label** `label` - label object
- **x** `int` - value to set x
- **y** `float` - value to set y
- **txt** `string` - value to set text add`"+++"` to the _text striing to have the current label text concatenated to the location of the "+++")
- **textcolor** `color` - value to set textcolor
- **size** `string` - value to set size
- **style** `string` - value to set style (use "flip" ,as the style to have label flip to top or bottom of bar depending on if open > close and vice versa)
- **text_font_family** `string` - value to set text_font_family
- **textalign** `string` - value to set textalign
- **tooltip** `string` - value to set tooltip
- **update** `bool` - update label to next bar
***
```
method set(linefill Linefill=na,line line1=na,line line2=na,color color=na) => linefill
```
### Params
- **linefill** `linefill` - linefill object
- **line1** `line` - line object
- **line2** `line` - line object
- **color** `color` - color
Parameters:
object (obj)
Returns: `line`, `box`, `label`, `linefill`
method set(Line, x1, y1, x2, y2, xloc, extend, color, style, width, update)
set the location params of a line with 1 function auto detects time or bar_index for xloc param
Namespace types: series line
Parameters:
Line (line) : `line` - line object | `required`
x1 (int) : `int` - value to set x1
y1 (float) : `float` - value to set y1
x2 (int) : `int` - value to set x2
y2 (float) : `float` - value to set y2
xloc (string) : `int` - value to set xloc
extend (string) : `string` - value to set extend
color (color) : `color` - value to set color
style (string) : `string` - value to set style
width (int) : `int` - value to set width
update (bool) : `bool` - value to set update
Returns: `line`
method set(Box, left, top, right, bottom, bgcolor, border_color, border_style, border_width, extend, txt, text_color, text_font_family, text_halign, text_valign, text_wrap, update)
set the location params of a box with 1 function
Namespace types: series box
Parameters:
Box (box) : `box` - box object | `required`
left (int) : `int` - value to set left
top (float) : `float` - value to set top
right (int) : `int` - value to set right
bottom (float) : `float` - value to set bottom
bgcolor (color) : `color` - value to set bgcolor
border_color (color) : `color` - value to set border_color
border_style (string) : `string` - value to set border_style
border_width (int) : `int` - value to set border_width
extend (string) : `string` - value to set extend
txt (string) : `string` - value to set _text
text_color (color) : `color` - value to set text_color
text_font_family (string) : `string` - value to set text_font_family
text_halign (string) : `string` - value to set text_halign
text_valign (string) : `string` - value to set text_valign
text_wrap (string) : `string` - value to set text_wrap
update (bool) : `bool` - value to set update
Returns: `box`
method set(Label, x, y, txt, xloc, color, textcolor, size, style, textalign, tooltip, text_font_family, update)
set the location params of a label with 1 function auto detects time or bar_index for xloc param
Namespace types: series label
Parameters:
Label (label) : `label` | `required`
x (int) : `int` - value to set x
y (float) : `float` - value to set y
txt (string) : `string` - value to set text add`"+++"` to the _text striing to have the current label text concatenated to the location of the "+++")
xloc (string)
color (color)
textcolor (color) : `color` - value to set textcolor
size (string) : `string` - value to set size
style (string) : `string` - value to set style (use "flip" ,as the style to have label flip to top or bottom of bar depending on if open > close and vice versa)
textalign (string) : `string` - value to set textalign
tooltip (string) : `string` - value to set tooltip
text_font_family (string) : `string` - value to set text_font_family
update (bool) : `bool` - update label to next bar
Returns: `label`
method set(Linefill, line1, line2, color)
change the 1 or 2 of the lines in a linefill object
Namespace types: series linefill
Parameters:
Linefill (linefill)
line1 (line) : `line` - line object
line2 (line) : `line` - line object
color (color) : `color` - color
Returns: `linefill`
get(object)
get all of the location variables for `line`, `box`, `label` objects or the line objects from a `linefill`
***
## Overloaded
***
```
method get(line Line) =>
```
### Params
- **Line** `line` - line object | `required`
***
```
method get(box Box) =>
```
### Params
- **Box** `box` - box object | `required`
***
```
method get(label Label) =>
```
### Paramas
- **Label** `label` - label object | `required`
***
```
method get(linefill Linefill) =>
```
### Params
- **Linefill** `linefill` - linefill object | `required`
Parameters:
object (obj)
Returns: ` `
method get(Line)
Gets the location paramaters of a Line
Namespace types: series line
Parameters:
Line (line) : `line` - line object
Returns:
method get(Box)
Gets the location paramaters of a Box
Namespace types: series box
Parameters:
Box (box) : `box` - box object
Returns:
method get(Label)
Gets the `x`, `y`, `text` of a Label
Namespace types: series label
Parameters:
Label (label) : `label` - label object
Returns:
method get(Linefill)
Gets `line 1`, `line 2` from a Linefill
Namespace types: series linefill
Parameters:
Linefill (linefill) : `linefill` - linefill object
Returns:
method set_x(Line, x1, x2)
set the `x1`, `x2` of a line
***
### Params
- **Line** `line` - line object | `required`
- **x1** `int` - value to set x1 | `required`
- **x2** `int` - value to set x2 | `required`
Namespace types: series line
Parameters:
Line (line) : `line` - line object
x1 (int) : `int` - value to set x1
x2 (int) : `int` - value to set x2
Returns: `line`
method set_y(Line, y1, y2)
set `y1`, `y2` of a line
***
### Params
- **Line** `line` - line object | `required`
- **y1** `float` - value to set y1 | `required`
- **y2** `float` - value to set y2 | `required`
Namespace types: series line
Parameters:
Line (line) : `line` - line object
y1 (float) : `float` - value to set y1
y2 (float) : `float` - value to set y2
Returns: `line`
method Line(x1, y1, x2, y2, extend, color, style, width)
Similar to `line.new()` but can detect time or bar_index for xloc param and has defaults for all params but `x1`, `y1`, `x2`, `y2`
***
### Params
- **x1** `int` - value to set
- **y1** `float` - value to set
- **x2** `int` - value to set
- **y2** `float` - value to set
- **extend** `string` - extend value to set line
- **color** `color` - color to set line
- **style** `string` - style to set line
- **width** `int` - width to set line
Namespace types: series int, simple int, input int, const int
Parameters:
x1 (int) : `int` - value to set
y1 (float) : `float` - value to set
x2 (int) : `int` - value to set
y2 (float) : `float` - value to set
extend (string) : `string` - extend value to set line
color (color) : `color` - color to set line
style (string) : `string` - style to set line
width (int) : `int` - width to set line
Returns: `line`
method Box(left, top, right, bottom, extend, border_color, bgcolor, text_color, border_width, border_style, txt, text_halign, text_valign, text_size, text_wrap)
similar to box.new() with the but can detect xloc param and has defaults for everything but location params
***
### Params
- **left** `int` - value to set
- **top** `float` - value to set
- **right** `int` - value to set
- **bottom** `float` - value to set
- **extend** `string` - extend value to set box
- **border_color** `color` - color to set border
- **bgcolor** `color` - color to set background
- **text_color** `color` - color to set text
- **border_width** `int` - width to set border
- **border_style** `string` - style to set border
- **txt** `string` - text to set
- **text_halign** `string` - horizontal alignment to set text
- **text_valign** `string` - vertical alignment to set text
- **text_size** `string` - size to set text
- **text_wrap** `string` - wrap to set text
Namespace types: series int, simple int, input int, const int
Parameters:
left (int) : `int` - value to set
top (float) : `float` - value to set
right (int) : `int` - value to set
bottom (float) : `float` - value to set
extend (string) : `string` - extend value to set box
border_color (color) : `color` - color to set border
bgcolor (color) : `color` - color to set background
text_color (color) : `color` - color to set text
border_width (int) : `int` - width to set border
border_style (string) : `string` - style to set border
txt (string) : `string` - text to set
text_halign (string) : `string` - horizontal alignment to set text
text_valign (string) : `string` - vertical alignment to set text
text_size (string) : `string` - size to set text
text_wrap (string) : `string` - wrap to set text
Returns: `box`
method Label(txt, x, y, yloc, color, textcolor, style, size, textalign, text_font_family, tooltip)
Similar to label.new() but can detect time or bar_index for xloc param and has defaults for all params but x, y, txt, tooltip
***
### Params
- **txt** `string` - string to set
- **x** `int` - value to set
- **y** `float` - value to set
- **yloc** `string` - y location to set
- **color** `color` - label color to set
- **textcolor** `color` - text color to set
- **style** `string` - style to set
- **size** `string` - size to set
- **textalign** `string` - text alignment to set
- **text_font_family** `string` - font family to set
- **tooltip** `string` - tooltip to set
Namespace types: series string, simple string, input string, const string
Parameters:
txt (string) : `string` - string to set
x (int) : `int` - value to set
y (float) : `float` - value to set
yloc (string) : `string` - y location to set
color (color) : `color` - label color to set
textcolor (color) : `color` - text color to set
style (string) : `string` - style to set
size (string) : `string` - size to set
textalign (string) : `string` - text alignment to set
text_font_family (string) : `string` - font family to set
tooltip (string) : `string` - tooltip to set
Returns: `label`
obj
Fields:
obj (series__string)
Wicked Good S&R Zones// Hello tradeurs, ChasinAlts here with a script you've DEFINITELY never seen before. Hope everyone is well. Ok, so heres the low-down...When a wick's
// % size is above the threshold set by the user it is plotted with light blue (these aren't really the significant ones) and are put into an array.
// These large wick lines are great S&R lines but we're looking to filter out to only the best ones. So, after all the large wicks are recorded for the
// chart and lines drawn, it then calculates the area between each of these lines in % (you can think of the lines as the upper and lower lines to a box
// if you'd like...ie. it is one of the ways to view the final BEST S&R lines). What we are want is the largest of ALL the % areas between lines and to
// use these as our ultimate S&R Areas. Depending on the Min % Wick size that is chosen, you will find price usually either bouncing between these levels or
// that price will keep bouncing off of the same level until a large spike (up or down) occurs in price and the price will finally breach the level its been
// testing over and over. Once this DOES occur the level that was just broken many times will be the furthest point back for the retest. Now, as stated
// before there are 2 ways to view the output data. Either way it will show the largest % area between the lines as it is developing down the line of
// progressing bars on the chart (that means it WILL change but usually a portion of the previous area/box will be used for the newer smaller box or that
// the area/box will jump back and forth between the same few areas every now and again). Viewing it as a box will show the updated largest box
// (as stated twice now) but viewing it in it's S&R Line form will draw a new S&R line at the top and bottom of where the box would be if it was selected
// EXCEPT that these lines will persist across bars and you will continuously see how these levels will continue to be revisited and constantly used
// as S&R Lines as time progresses. (SO box only show the largest area and lines draws line at the top and bottom of box and persists across bars).
// There is not repainting that can occur. I hope you all enjoy this as I've found it EXTREMELY beneficial bc it's rare that when price first gets to a
// printed S&R level that it will shoot through it so you can depend on it bouncing off the the levels often multiple times. I've included comments in all
// of the code for your convenience. Also, the higher subscription plan you have (thus the more bars/data you have access to...the more S&R Lines will be drawn).
// Wish you all the best in your endeavors and may the force be with your trades, and as ALWAYS...Peace and Love people....Peace and Love. -ChasinAlts out.
Trading range display with BoxThis script is just for reference to see the trading range.
Do not use this strategy logic, it is just Test strategy.
The trading range is colored depending on whether it is profitable or not.
You can change the color if you want.
When you declare the strategy, put (process_orders_on_close=true,calc_on_every_tick=true, max_boxes_count=500) in your script.
Then it can show you current open trading as well.
If you use switching strategy (e.g longposition to shortposition right away), it may not show you the range properly.
In that case, reduse the test period.
IT IS Repainting Reference.
If you want to see your strategy result visually,
Just copy and paste from line 22 in my script.
Good Luck everyone.
전략 거래 기간 동안을 보여주는 지표입니다.
이 지표에 쓰인 전략은 단순 테스트용 입니다. 절대 사용하지 마세요.
각 거래기간은 수익이냐 아니냐에 따라 색깔이 정해 집니다.
색깔은 여러분이 변경하실 수 있습니다.
전략을 선언부에 process_orders_on_close=true,calc_on_every_tick=true, max_boxes_count=500 을 넣으시면 현재 오픈 거래도 보실 수 있습니다.
스위칭 전략(롱에서 숏으로 바로 전환하는 전략)을 쓰시는 분들은 아마 테스트 기간을 줄이라는 경고를 받으실 수 있습니다.
이 지표는 리페이팅이 될 수 있습니다.
전략 결과를 눈으로 보고 싶으신 분들은 22번째 줄 부터 카피하시면 됩니다.
행운이 있길..
---strategy set---
default_qty_value=10
commission_value=0.04
slippage=2
Educational: lines, linefill, labels & boxesThis educational script contains different examples regarding lines , linefill , labels & boxes
First part shows the use of array.new() without first
retrieving line.new() which then are put in a linefill.new()
At every start of the week a linefill.new() is added with the top line being
previous Weekly high , and the bottom line being previous Weekly low ,
if close doesn't go above top line, or below bottom line, both lines will be made longer
with 1 bar_index ( line.set_x2 ), otherwise the lines stop, and change color
Please read the comments in the script as well
Cheers!
BoxLine_LibLibrary "BoxLine_Lib"
personal Library for line and box built in functions
lineXY(x)
get x1,y1,x2,y2 in a tuple
Parameters:
x : TODO: line
Returns: tuple of x1,y1,x2,y2
line(x)
Create line with only the y1 value(when line == na) or all
when line != na set x1,y1,x2,y2 individually just 1 or all
- use just the line value to set the x2 to current bar or time will set to time
- will auto pick xloc.bar_index or xloc.bar_time if not used
Parameters:
x : (line line,int x1,float y1,int x2,float y2,
string xloc,string extend,color color,string style,int width)
Returns: Line
boxXY(x)
get left,top,right,bottom in a tuple
Parameters:
x : box
Returns: tuple of left,top,right,bottom
box(x)
Create line with only the top,bottom value(when line == na) or all
when box != na set left,top,right,bottom individually just 1 or all
- use just the box value to set the right to current bar or time will set to time
- if right is above a number that a bar_index wouldnt be
Parameters:
x : box box,int left,float top,int right,
float bottom,color border_color, int border_width,
string border_style,string extend,string xloc,
color bgcolor,string text,string text_size, color text_color,
string text_halign,string text_valign,string text_wrap)
Returns: TODO: Box
DeleteArrayObject█ OVERVIEW
Delete array object according to array size such as label, line, linefill, box and table.
█ CREDITS
HeWhoMustNotBeNamed
Morningstar Equity Style Box HeatmapStyle boxes are a classification scheme created by Morningstar. They visually provide a graphical representation of investing categories for equity investments. A style box is a valuable tool for investors to use when determining asset allocation.
There are 9 categories:
Large Value, Large Blend, Large Growth
Medium Value, Medium Blend, Medium Growth
Small Value, Small Blend, Small Growth
The strength of the 9 categories are found by using 9 Vanguard ETF's that follow the respective CRSP index of their category.
The 20MA gameThis indicator shows us if the price is moving up or down based on the 20MA of the 20MA.
If the line is green then this indicates that the price is moving up, and if red the price is moving down.
How to use:
Not applicable here because its all about the 20MA.
Markets:
It can be used to all markets.
BTC 1D Safety tradeImportant: use only the BTC/USD pair on the 1D timeframe
The indicator is designed to determine the zones for entry to buy or sell, as well as for closing deals.
The indicator is based on a moving average with a period of 12.
The parameters are not changeable, since the optimal settings (Safety trade) were used for the BTC/USD pair on the 1D timeframe.
The code is open, please change it according to your parameters.
Upper zones for closing long or opening short.
Lower zones for opening long or closing short.
ObjectStackLibrary "ObjectStack"
init()
push()
push()
push()
push()
push()
nextIndex()
nextIndex()
nextIndex()
nextIndex()
nextIndex()
delete()
delete()
delete()
delete()
delete()
cleanOldest()
cleanOldest()
cleanOldest()
cleanOldest()
cleanOldest()
AG FX - Pivot PointsPivot Points High Low
Definition
The Pivot Points High Low indicator is used to determine and anticipate potential changes in market price and reversals. The Highs referred to in the title are created based on the number of bars that exhibit lower highs on either side of a Pivot Point High, whereas the Lows are created based on the number of bars that exhibit higher lows on either side of a Pivot Point Low.
Calculations
As mentioned above, Pivot Point Highs are calculated by the number of bars with lower highs on either side of a Pivot Point High calculation. Similarly, Pivot Point Lows are calculated by the number of bars with higher lows on either side of a Pivot Point Low calculation.
Takeaways and what to look for
A Pivot Point is more significant or noteworthy if the trend is extended or longer than average. This can mean if a trader selects a higher period for before and after the Pivot Point, the trend could be longer and therefore prove the Pivot Point itself more notable.
Additionally, Pivot Points can help a trader assess where would be best to draw. By analyzing price changes and reversals, a trader has more of an ability to determine and predict price patterns and general price trends.
Summary
The Pivot Points High Low indicator can predict and determine price changes and potential reversals in the market. Pivot Points can also help traders identify price patterns and trends, depending on the period and significance of the Pivot Point value.
Beakdoo swing trading boxHi forks,
I'm trader Baekdoosan who trading Equity from South Korea. This Baekdoo swing trading box indicate good buying position when it crossover the box.
Here's the ideas
1. It needs to crossover 1 month highest value and higher than 5 ema and 20 ema line
2. It also needs to crossover 1 month volume as well
3. Once 1,2 soaring candle emerge, it needs to correction time
4. 5 ema or 20 ema or center candle's 2/3 point x 0.95 (5% lower) would be the resistant line
5. center candle's 2/3 point line would be the buying point (you may can trade when it cross over
you can check above example chart and take a look what you have interested in.
hope this will help your trading on equity as well as crypto. I didn't try it on futures . Best of luck all of you. Gazua~!
Box-Cox Log BandsExperimental:
Uses the Box-Cox Transformer with a deflection on the inversion to create log bands.
to be used in log scaled charts.
FunctionBoxCoxTransformLibrary "FunctionBoxCoxTransform"
Methods to compute the Box-Cox Transformer.
regular(sample, lambda) Regular transform.
Parameters:
sample : float array, sample data values.
lambda : float, scaling factor.
Returns: float array.
inverse(sample, lambda) Regular transform.
Parameters:
sample : float array, sample data values.
lambda : float, scaling factor.
Returns: float array.
Volume Profile Auto [line]This project is about:
- VPSV
- array.new_line()
- array.new_box()
VPSV (pine) is one of the rare features that draws lines/figures BETWEEN bars
It doesn't run on Pine script, which makes it possible to do such things.
I wanted to have something similar while a restriction of Pine script is the impossibility to draw between bars, the only way I could think of is by using line width
In this script the higher timeframe is started with several lines (left) and a box, this box goes further until the higher timeframe ends.
During the creation of the box, each candle (lower timeframe) in this box (higher timeframe - period) is checked for position and volume, the volume is added to the left line, so when you see a thicker line, this means at that level there is more volume traded.
One of the big differences with other volume profiles is that many look back to a previous period, here when a period starts, the lines collect data - volume until the period ends, it is especially very visible in very low TF's (seconds)
This is my first script with array.new_line() - array.new_box(), which is a very nice Pine feature!
I hope this script can be helpful to see the possibilities
Settings:
'Parts' -> amount of lines (left of box)
5 Parts:
15 Parts:
25 Parts:
50 Parts:
'Max Width' -> Sets the max width of the lines
'Automatic Settings' -> Sets the higher time frame automatically, see the tooltip ⓘ for more info
The yellow line is the max volume line of that period, last period has a red line (POC), also referring the max.
Cheers!
[CLX][#03] Object-Stack (Labels/Lines/Boxes)This script shows an example of how to manage objects (lines/labels/boxes) and prevent the need of garbage collecting and missing objects.
You only have to push your object into the right array.
*_FIXED (left-lock) or *_FORWARD (right-lock)
We hope you enjoy it! 🎉
CRYPTOLINX - jango_blockchained 😊👍
Disclaimer:
Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely.
The script is for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold cryptolinx TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script.