DMI ForLoop [InvestorUnknown]Overview
This indicator utilizes the Directional Movement Index (DMI) combined with a for-loop to provide a robust trend analysis (ADX is not a part of this indicator).
Settings
DMI ForLoop Settings:
Start Length (a): The initial length for DMI calculation (inclusive).
End Length (b): The final length for DMI calculation (inclusive).
EMA Length (c): The length for the Exponential Moving Average applied to the DMI values, in order so smoothen the signal.
Signal Settings:
Signal Mode: Determines the mode of signal calculation. Options are "Fast", "Slow", "Thresholds Crossing", and "Fast Threshold". Default is "Fast".
1. Slow: is a simple crossing of the midline (0).
2. Fast: positive signal depends if the current "DMIema" is above "DMIema " or above 0.99, otherwise the signal is negative.
3. Thresholds Crossing: simple ta.crossover and ta.crossunder of the user defined threshold for Long and Short.
4. Fast Threshold: signal changes if the value of "DMIema" changes by more than user defined threshold against the current signal.
// Slow
dmicol1 = DMIema > 0 ? colup : coldn
// Fast
dmicol2 = DMIema > DMIema or DMIema > 0.99 ? colup : coldn
// Thresholds Crossing
var color dmicol3 = na
if ta.crossover(DMIema,longth)
dmicol3 := colup
if ta.crossunder(DMIema,shortth)
dmicol3 := coldn
// Fast Threshold
var color dmicol4 = na
if (DMIema > DMIema + fastth)
dmicol4 := colup
if (DMIema < DMIema - fastth)
dmicol4 := coldn
color dmicol = na
if sigmode == "Slow"
dmicol := dmicol1
if sigmode == "Fast"
dmicol := dmicol2
if sigmode == "Thresholds Crossing"
dmicol := dmicol3
if sigmode == "Fast Threshold"
dmicol := dmicol4
else
na
Functionality
The DMI ForLoop indicator calculates an array of DMI values over a specified range of lengths, then averages these values and applies an EMA for smoothing. The result is a dynamic trend indicator that adapts to market conditions.
DMI Calculation:
The indicator iterates through lengths from Start Length to End Length, calculating the positive and negative directional movement (DM) for each period and calculates the average of all the signals at the end. A custom function version of the DMI is used here in order to use DMI with "series" inputs.
// Function to calculate an array of DMI values over a range of lengths
DMIArray(a, b, c) =>
// Initialize an array to store DMI values, with size based on the range (b - a + 1)
var dmiArray = array.new_float(b - a + 1, 0.0)
// Loop through each length from a to b
for x = 0 to (b - a)
// Calculate the smoothing factor alpha for the current length
alpha = 1.0 / (a + x)
// Initialize variables for positive and negative DM
float plus = na
float minus = na
// Calculate the up and down movements
up = ta.change(high)
down = -ta.change(low)
// Determine the positive DM (plusDM)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
// Determine the negative DM (minusDM)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
// Calculate the smoothed positive DM using either SMA or EMA
plus := na(plus ) ? ta.sma(plusDM, (a + x)) : alpha * plusDM + (1 - alpha) * nz(plus )
// Calculate the smoothed negative DM using either SMA or EMA
minus := na(minus ) ? ta.sma(minusDM, (a + x)) : alpha * minusDM + (1 - alpha) * nz(minus )
// Determine the trend direction: 1 for positive trend, -1 for negative trend, 0 for no trend
trend = plus > minus ? 1 : plus < minus ? -1 : 0
// Store the trend value in the DMI array
array.set(dmiArray, x, trend)
// Calculate the average of the DMI array
dmiAvg = array.avg(dmiArray)
// Apply an EMA to the average DMI value
DMIema = ta.ema(dmiAvg, c)
// Return the DMI array, its average, and the EMA of the average
// Call the DMIArray function with the input parameters and assign the results to variables
= DMIArray(a, b, c)
This indicator is versatile and can be tailored to fit various trading/investing strategies by adjusting the input parameters and signal modes.
Cari dalam skrip untuk "Up down"
Buy-Sell Volume Bar Gauge [By MUQWISHI]▋ INTRODUCTION :
The Buy-Sell Volume Bar Gauge is developed to provide traders with a detailed analysis of volume in bars using a low timeframe, such as a 1-second interval, to measure the dominance of buy and sell for each bar. By highlighting the balance between buying and selling activities, the Buy-Sell Volume Bar Gauge helps traders identify potential volume momentum of a bar; aimed at being a useful tool for day traders and scalpers.
_______________________
▋ OVERVIEW:
_______________________
▋ METHODOLOGY:
The concept is based on bars from a lower timeframe within the current chart timeframe bar, where volume is categorized into Up, Down, and Neutral Volume, with each one displayed as a portion of a column plot. Up Volume is recorded when the price experiences a positive change, Down Volume occurs when the price experiences a negative change, and Neutral Volume is observed when the price shows no significant change.
_______________________
▋ INDICATOR SETTINGS:
(1) Fetch data from the selected lower timeframe. Note: If the selected timeframe is invalid (higher than chart), the indicator will automatically switch to 1 second.
(2) Price Source.
(3) Treating Neutral Data (Price Source) as
Neutral: In a lower timeframe, when the bar has no change in its price, the volume is counted as Neutral Volume.
Previous Move: In a lower timeframe, when the bar has no change in its price, the volume is counted as the previous change; “Up Volume” if the previous change was positive, and “Down Volume” if the previous change was negative.
Opposite Previous Move: In a lower timeframe, when the bar has no change in its price, the volume is counted as the opposite previous change; “Up Volume” if the previous change was negative, and “Down Volume” if the previous change was positive.
(4) Average Volume Length, it's used for lighting/darkening columns in a plot.
(5) Enable Alert.
(7) Total bought (%) Level.
(8) Total Sold (%) Level.
_____________________
▋ COMMENT:
The Buy-Sell Volume Bar Gauge can be taken as confirmation for predicting the next move, but it should not be considered a major factor in making a trading decision.
ALT Trend DetectionALT Trend Detection Indicator
Overview:
The "ALT Trend Detection" indicator is designed to help traders analyze the relationship between Bitcoin's dominance, Bitcoin's price, and the potential impact on altcoin prices. This indicator uses various time frames and average true range (ATR) calculations to detect trends and provide insights into the altcoin market conditions based on Bitcoin's movements.
How It Works:
BTC Dominance and Price Data:
The indicator fetches Bitcoin dominance data (percentage of the total cryptocurrency market cap that Bitcoin represents) and Bitcoin price data using the selected time frame.
It calculates whether Bitcoin dominance and price are trending up, down, or remaining stable based on ATR calculations.
Altcoin Trend Detection:
The indicator then evaluates different scenarios based on the combination of Bitcoin dominance and price movements. These scenarios help predict the potential impact on altcoin prices.
For instance, if Bitcoin dominance is up and Bitcoin price is up, it might indicate a bearish trend for altcoins. Conversely, if Bitcoin dominance is down and Bitcoin price is up, it might indicate a bullish trend for altcoins (altseason).
Table Display:
The indicator displays a table on the chart that summarizes the current conditions for Bitcoin dominance, Bitcoin price, and the expected impact on altcoins. Each cell in the table is color-coded to provide a quick visual representation of the trends.
Usage:
Add the indicator to your TradingView chart.
Customize the time frame, ATR multiplier, table position, table size, and background color as per your preference.
Observe the table displayed on the chart. It shows the current state of Bitcoin dominance, Bitcoin price, and the potential trend for altcoin prices based on predefined scenarios.
Use this information to make informed trading decisions about altcoins. For example, if the table shows "ALT SEASON" in green, it might be a good time to consider investing in altcoins.
By analyzing the interaction between Bitcoin dominance and price, this indicator helps traders identify potential opportunities and risks in the altcoin market.
Enhanced Volume by SR7SiddharthaRay007's Enhanced Volume Indicator works on any Timeframe
⦿ Volume Labels:
1. Current Volume, Volume Change%, Average Volume, Average Doller Volume, Up/Down Ratio, ADR%.
=>Average value can be changed using 'Lookback Length' (Default: 20)
⦿ Simple Moving Average: MA (Default: 50). Color of MA changes based on the up down volume ratio.
1. Up/Down Ratio > 1: Blue
2. Up/Down Ratio < 1: Orange
⦿ Volume Bar Colors:
1. High Relative Volume Positive Candle: Lime Green .
2. High Relative Volume Negative Candle: Red .
3. Normal Volume Positive Candle: Blue .
4. Normal Volume Negative Candle: Fuchsia .
5. Low Relative Volume Positive/Negative Candle: Orange .
=>High Relative Volume > 300% of Average Volume; Low Relative Volume < 30% of Average Volume
⦿ Pocket Pivot (A pocket pivot is an up day with volume greater than any of the down days volume in the past 10 days)
1. 10 day Pocket Pivots: Lime Green Diamond below volume bar
2. 5 day Pocket Pivots: Blue Diamond below volume bar
⦿ 'Highest Volume (HV) ' on top of the Volume Bar:
1. Highest Volume Ever (HVE)
2. Highest Volume in Over a Year (HVY)
⦿ Projected Volume Bar: Aqua
⦿ Plot a line at 2x and 3x Average Volume and set Alerts
Multi-Timeframe Momentum Indicator [Ox_kali]The Multi-Timeframe Momentum Indicator is a trend analysis tool designed to examine market momentum across various timeframes on a single chart. Utilizing the Relative Strength Index (RSI) to assess the market’s strength and direction, this indicator offers a multidimensional perspective on current trends, enriching technical analysis with a deeper understanding of price movements. Other oscillators, such as the MACD and StochRSI, will be integrated in future updates.
Regarding the operation with the RSI: when its value is below 50 for a given period, the trend is considered bearish. Conversely, a value above 50 indicates a bullish trend. The indicator goes beyond the isolated analysis of each period by calculating an average of the displayed trends, based on user preferences. This average, ranging from “Strong Down” to “Strong Up,” reflects the percentage of periods indicating a bullish or bearish trend, thus providing a precise overview of the overall market condition.
Key Features:
Multi-Timeframe Analysis : Allows RSI analysis across multiple timeframes, offering an overview of market dynamics.
Advanced Customization : Includes options to adjust the RSI period, the RSI trend threshold, and more.
Color and Transparency Options : Offers color styles for bullish and bearish trends, as well as adjustable transparency levels for personalized visualization.
Average Trend Display : Calculates and displays the average trend based on activated timeframes, providing a quick summary of the current market state.
Flexible Table Positioning : Allows users to choose the indicator’s display location on the chart for seamless integration.
List of Parameters:
RSI Period : Defines the RSI period for calculation.
RSI Up/Down Threshold: Threshold for determining bullish or bearish trends of the RSI.
Table Position: Location of the indicator’s display on the chart.
Color Style : Selection of the color style for the indicator.
Strong Down/Up Color (User) : Customization of colors for strong market movements.
Table TF Transparency : Adjustment of the transparency level for the timeframe table.
Show X Minute/Hour/Day/Week Trend : Activation of the RSI display for specific timeframes.
Show AVG : Option to display or not the calculated average trend.
the Multi-Timeframe Momentum Indicator , stands as a comprehensive tool for market trend analysis across various timeframes, leveraging the RSI for in-depth market insights. With the promise of future updates including the integration of additional oscillators like the MACD and StochRSI, this indicator is set to offer even more robust analysis capabilities.
Please note that the MTF-Momentum is not a guarantee of future market performance and should be used in conjunction with proper risk management. Always ensure that you have a thorough understanding of the indicator’s methodology and its limitations before making any investment decisions. Additionally, past performance is not indicative of future results.
Statistics • Chi Square • P-value • SignificanceThe Statistics • Chi Square • P-value • Significance publication aims to provide a tool for combining different conditions and checking whether the outcome is significant using the Chi-Square Test and P-value.
🔶 USAGE
The basic principle is to compare two or more groups and check the results of a query test, such as asking men and women whether they want to see a romantic or non-romantic movie.
–––––––––––––––––––––––––––––––––––––––––––––
| | ROMANTIC | NON-ROMANTIC | ⬅︎ MOVIE |
–––––––––––––––––––––––––––––––––––––––––––––
| MEN | 2 | 8 | 10 |
–––––––––––––––––––––––––––––––––––––––––––––
| WOMEN | 7 | 3 | 10 |
–––––––––––––––––––––––––––––––––––––––––––––
|⬆︎ SEX | 10 | 10 | 20 |
–––––––––––––––––––––––––––––––––––––––––––––
We calculate the Chi-Square Formula, which is:
Χ² = Σ ( (Observed Value − Expected Value)² / Expected Value )
In this publication, this is:
chiSquare = 0.
for i = 0 to rows -1
for j = 0 to colums -1
observedValue = aBin.get(i).aFloat.get(j)
expectedValue = math.max(1e-12, aBin.get(i).aFloat.get(colums) * aBin.get(rows).aFloat.get(j) / sumT) //Division by 0 protection
chiSquare += math.pow(observedValue - expectedValue, 2) / expectedValue
Together with the 'Degree of Freedom', which is (rows − 1) × (columns − 1) , the P-value can be calculated.
In this case it is P-value: 0.02462
A P-value lower than 0.05 is considered to be significant. Statistically, women tend to choose a romantic movie more, while men prefer a non-romantic one.
Users have the option to choose a P-value, calculated from a standard table or through a math.ucla.edu - Javascript-based function (see references below).
Note that the population (10 men + 10 women = 20) is small, something to consider.
Either way, this principle is applied in the script, where conditions can be chosen like rsi, close, high, ...
🔹 CONDITION
Conditions are added to the left column ('CONDITION')
For example, previous rsi values (rsi ) between 0-100, divided in separate groups
🔹 CLOSE
Then, the movement of the last close is evaluated
UP when close is higher then previous close (close )
DOWN when close is lower then previous close
EQUAL when close is equal then previous close
It is also possible to use only 2 columns by adding EQUAL to UP or DOWN
UP
DOWN/EQUAL
or
UP/EQUAL
DOWN
In other words, when previous rsi value was between 80 and 90, this resulted in:
19 times a current close higher than previous close
14 times a current close lower than previous close
0 times a current close equal than previous close
However, the P-value tells us it is not statistical significant.
NOTE: Always keep in mind that past behaviour gives no certainty about future behaviour.
A vertical line is drawn at the beginning of the chosen population (max 4990)
Here, the results seem significant.
🔹 GROUPS
It is important to ensure that the groups are formed correctly. All possibilities should be present, and conditions should only be part of 1 group.
In the example above, the two top situations are acceptable; close against close can only be higher, lower or equal.
The two examples at the bottom, however, are very poorly constructed.
Several conditions can be placed in more than 1 group, and some conditions are not integrated into a group. Even if the results are significant, they are useless because of the group formation.
A population count is added as an aid to spot errors in group formation.
In this example, there is a discrepancy between the population and total count due to the absence of a condition.
The results when rsi was between 5-25 are not included, resulting in unreliable results.
🔹 PRACTICAL EXAMPLES
In this example, we have specific groups where the condition only applies to that group.
For example, the condition rsi > 55 and rsi <= 65 isn't true in another group.
Also, every possible rsi value (0 - 100) is present in 1 of the groups.
rsi > 15 and rsi <= 25 28 times UP, 19 times DOWN and 2 times EQUAL. P-value: 0.01171
When looking in detail and examining the area 15-25 RSI, we see this:
The population is now not representative (only checking for RSI between 15-25; all other RSI values are not included), so we can ignore the P-value in this case. It is merely to check in detail. In this case, the RSI values 23 and 24 seem promising.
NOTE: We should check what the close price did without any condition.
If, for example, the close price had risen 100 times out of 100, this would make things very relative.
In this case (at least two conditions need to be present), we set 1 condition at 'always true' and another at 'always false' so we'll get only the close values without any condition:
Changing the population or the conditions will change the P-value.
In the following example, the outcome is evaluated when:
close value from 1 bar back is higher than the close value from 2 bars back
close value from 1 bar back is lower/equal than the close value from 2 bars back
Or:
close value from 1 bar back is higher than the close value from 2 bars back
close value from 1 bar back is equal than the close value from 2 bars back
close value from 1 bar back is lower than the close value from 2 bars back
In both examples, all possibilities of close against close are included in the calculations. close can only by higher, equal or lower than close
Both examples have the results without a condition included (5 = 5 and 5 < 5) so one can compare the direction of current close.
🔶 NOTES
• Always keep in mind that:
Past behaviour gives no certainty about future behaviour.
Everything depends on time, cycles, events, fundamentals, technicals, ...
• This test only works for categorical data (data in categories), such as Gender {Men, Women} or color {Red, Yellow, Green, Blue} etc., but not numerical data such as height or weight. One might argue that such tests shouldn't use rsi, close, ... values.
• Consider what you're measuring
For example rsi of the current bar will always lead to a close higher than the previous close, since this is inherent to the rsi calculations.
• Be careful; often, there are na -values at the beginning of the series, which are not included in the calculations!
• Always keep in mind considering what the close price did without any condition
• The numbers must be large enough. Each entry must be five or more. In other words, it is vital to make the 'population' large enough.
• The code can be developed further, for example, by splitting UP, DOWN in close UP 1-2%, close UP 2-3%, close UP 3-4%, ...
• rsi can be supplemented with stochRSI, MFI, sma, ema, ...
🔶 SETTINGS
🔹 Population
• Choose the population size; in other words, how many bars you want to go back to. If fewer bars are available than set, this will be automatically adjusted.
🔹 Inputs
At least two conditions need to be chosen.
• Users can add up to 11 conditions, where each condition can contain two different conditions.
🔹 RSI
• Length
🔹 Levels
• Set the used levels as desired.
🔹 Levels
• P-value: P-value retrieved using a standard table method or a function.
• Used function, derived from Chi-Square Distribution Function; JavaScript
LogGamma(Z) =>
S = 1
+ 76.18009173 / Z
- 86.50532033 / (Z+1)
+ 24.01409822 / (Z+2)
- 1.231739516 / (Z+3)
+ 0.00120858003 / (Z+4)
- 0.00000536382 / (Z+5)
(Z-.5) * math.log(Z+4.5) - (Z+4.5) + math.log(S * 2.50662827465)
Gcf(float X, A) => // Good for X > A +1
A0=0., B0=1., A1=1., B1=X, AOLD=0., N=0
while (math.abs((A1-AOLD)/A1) > .00001)
AOLD := A1
N += 1
A0 := A1+(N-A)*A0
B0 := B1+(N-A)*B0
A1 := X*A0+N*A1
B1 := X*B0+N*B1
A0 := A0/B1
B0 := B0/B1
A1 := A1/B1
B1 := 1
Prob = math.exp(A * math.log(X) - X - LogGamma(A)) * A1
1 - Prob
Gser(X, A) => // Good for X < A +1
T9 = 1. / A
G = T9
I = 1
while (T9 > G* 0.00001)
T9 := T9 * X / (A + I)
G := G + T9
I += 1
G *= math.exp(A * math.log(X) - X - LogGamma(A))
Gammacdf(x, a) =>
GI = 0.
if (x<=0)
GI := 0
else if (x
Chisqcdf = Gammacdf(Z/2, DF/2)
Chisqcdf := math.round(Chisqcdf * 100000) / 100000
pValue = 1 - Chisqcdf
🔶 REFERENCES
mathsisfun.com, Chi-Square Test
Chi-Square Distribution Function
Supply Demand Profiles [LuxAlgo]The Supply Demand Profiles is a charting tool that measures the traded volume at all price levels on the market over a specified time period and highlights the relationship between the price of a given asset and the willingness of traders to either buy or sell it, in other words, highlights key concepts as significant supply & demand zones, the distribution of the traded volume, and market sentiment at specific price levels within a specified time period, allowing traders to reveal dominant and/or significant price levels and to analyze the trading activity of a particular user-selected range.
In other words, this tool highlights key concepts as significant supply & demand zones, the distribution of the traded volume, and market sentiment at specific price levels within a specified time period, allowing traders to reveal dominant and/or significant price levels and to analyze the trading activity of a particular user-selected range.
Besides having the tool as a combo tool, the uniqueness of this version of the tool compared to its early versions is its ability to benefit from different volume data sources and its ability to use a variety of different polarity methods, where polarity is a measure used to divide the total volume into either up volume (trades that moved the price up) or down volume (trades that moved the price down).
🔶 USAGE
Supply & demand zones are presented as horizontal zones across the selected range, hence adding the ability to visualize the price interaction with them
By default, the right side of the profile is the volume profile which highlights the distribution of the traded activity at different price levels, emphasizing the value area, the range of price levels in which the specified percentage of all volume was traded during the time period, and levels of significance, such as developing point of control line, value area high/low lines, and profile high/low labels
The left side of the profile is the sentiment profile which highlights the market sentiment at specific price levels
🔶 DETAILS
🔹 Volume data sources
The users have the option to select volume data sources as either 'volume' (regular volume) or 'volume delta', where volume represents all the recorded trades that occur at a given bar and volume delta is the difference between the buying and the selling volume, that is, the net demand at a given bar
🔹 Polarity methods
The users are able to choose the methods of how the tool to take into consideration the polarity of the bar (the direction of a bar, green (bullish) or red (bearish) bar) among a variety of different options, such as 'bar polarity', 'bar buying/selling pressure', 'intrabar (chart bars at a lower timeframe than the chart's) polarity', 'intrabar buying/selling pressure', and 'heikin ashi bar polarity'.
Finally, the interactive mode of the tool is activated, as such users can easily modify the intervals of their interest just by selecting the indicator and moving the points on the chart
🔶 SETTINGS
The script takes into account user-defined parameters and plots the profiles and zones
🔹 Calculation Settings
Volume Data Source and Polarity: This option is to set the desired volume data source and polarity method
Lower Timeframe Precision: This option is applicable in case any of the 'Intrabar (LTF)' options are selected, please check the tooltip for further details
Value Area Volume %: Specifies the percentage for the value area calculation
🔹 Presentation Settings
Supply & Demand Zones: Toggles the visibility of the supply & demand zones
Volume Profile: Toggles the visibility of the volume profile
Sentiment Profile: Toggles the visibility of the sentiment profile
🔹 Presentation, Others
Value Area High (VAH): Toggles the visibility of the VAH line and color customization option
Point of Control (POC): Toggles the visibility of the developing POC line and color customization option
Value Area Low (VAL): Toggles the visibility of the VAL line and color customization option
🔹 Supply & Demand, Others
Supply & Demand Threshold %: This option is used to set the threshold value to determine supply & demand zones
Supply/Demand Zones: Color customization option
🔹 Volume Profile, Others
Profile, Up/Down Volume: Color customization option
Value Area, Up/Down Volume: Color customization option
🔹 Sentiment Profile, Others
Sentiment, Bullish/Bearish: Color customization option
Value Area, Bullish/Bearish: Color customization option
🔹 Others
Number of Rows: Specify how many rows the profile will have
Placment: Specify where to display the profile
Profile Width %: Alters the width of the rows in the profile, relative to the profile range
Profile Price Levels: Toggles the visibility of the profile price levels
Profile Background, Color: Fills the background of the profile range
Value Area Background, Color: Fills the background of the value area range
Start Calculation/End Calculation: The tool is interactive, where the user may modify the range by selecting the indicator and moving the points on the chart or can set the start/end time using these options
🔶 RELATED SCRIPTS
Volume-Profile
Volume-Profile-Maps
Volume-Delta
Support and Resistance Backtester [SS]Hey everyone,
Excited to release this indicator I have been working on.
I conceptualized it as an idea a while ago and had to nail down the execution part of it. I think I got it to where I am happy with it, so let me tell you about it!
What it does?
This provides the user with the ability to quantify support and resistance levels. There are plenty of back-test strategies for RSI, stochastics, MFI, any type of technical based indicator. However, in terms of day traders and many swing traders, many of the day traders I know personally do not use or rely on things like RSI, stochastics or MFI. They actually just play the support and resistance levels without attention to anything else. However, there are no tools available to these people who want to, in a way, objectively test their identified support and resistance levels.
For me personally, I use support and resistance levels that are mathematically calculated and I am always curious to see which levels:
a) Have the most touches,
b) Have provided the most support,
c) Have provided the most resistance; and,
d) Are most effective as support/resistance.
And, well, this indicator answers all four of those questions for you! It also attempts to provide some way to support and resistance traders to quantify their levels and back-test the reliability and efficacy of those levels.
How to use:
So this indicator provides a lot of functionality and I think its important to break it down part by part. We can do this as we go over the explanation of how to use it. Here is the step by step guide of how to use it, which will also provide you an opportunity to see the options and functionality.
Step 1: Input your support and resistance levels:
When we open up the settings menu, we will see the section called "Support and Resistance Levels". Here, you have the ability to input up to 5 support and resistance levels. If you have less, no problem, simply leave the S/R level as 0 and the indicator will automatically omit this from the chart and data inclusion.
Step 2: Identify your threshold value:
The threshold parameter extends the range of your support and resistance level by a desired amount. The value you input here should be the value in which you would likely stop out of your position. So, if you are willing to let the stock travel $1 past your support and resistance level, input $1 into this variable. This will extend the range for the assessment and permit the stock to travel +/- your threshold amount before it counts it as a fail or pass.
Step 3: Select your source:
The source will tell the indicator what you want to assess. If you want to assess close, it will look at where the ticker closes in relation to your support and resistance levels. If you want to see how the highs and lows behave around the S/R levels, then change the source to High or Low.
It is recommended to leave at close for optimal results and reliability however.
Step 4: Determine your lookback length:
The lookback length will be the number of candles you want the indicator to lookback to assess the support and resistance level. This is key to get your backtest results.
The recommendation is on timeframes 1 hour or less, to look back 300 candles.
On the daily, 500 candles is recommended.
Step 5: Plot your levels
You will see you have various plot settings available to you. The default settings are to plot your support and resistance levels with labels. This will look as follows:
This will plot your basic support and resistance levels for you, so you do not have to manually plot them.
However, if you want to extend the plotted support and resistance level to visually match your threshold values, you can select the "Plot Threshold Limits" option. This will extend your support and resistance areas to match the designated threshold limits.
In this case on MSFT, I have the threshold limit set at $1. When I select "Plot Threshold Limits", this is the result:
Plotting Passes and Fails:
You will notice at the bottom of the settings menu is an option to plot passes and plot fails. This will identify, via a label overlaid on the chart, where the support and resistance failures and passes resulted. I recommend only selecting one at a time as the screen can get kind of crowded with both on. here is an example on the MSFT chart:
And on the larger timeframe:
The chart
The chart displays all of the results and counts of your support and resistance results. Some things to pay attention to use the chart are:
a) The general success rate as support vs resistance
Rationale: Support levels may act as resistance more often than they do support or vice versa. Let's take a look at MSFT as an example:
The chart above shows the 334.07 level has acted as very strong support. It has been successful as support almost 82% of the time. However, as resistance, it has only been successful 33% of the time. So we could say that 334 is a strong key support level and an area we would be comfortable longing at.
b) The number of touches:
Above you will see the number of touches pointed out by the blue arrow.
Rationale: The number of touches differs from support and resistance. It counts how many times and how frequently a ticker approaches your support and/or resistance area and the duration of time spent in that area. Whereas support and resistance is determined by a candle being either above or below a s/r area, then approaching that area and then either failing or bouncing up/down, the number of touches simply assesses the time spent (in candles) around a support or resistance level. This is key to help you identify if a level has frequent touches/consolidation vs other levels and can help you filter out s/r levels that may not have a lot of touches or are infrequently touched.
Closing comments:
So this is pretty much the indicator in a nutshell. Hopefully you find it helpful and useful and enjoy it.
As always let me know your questions/comments and suggestions below.
As always I appreciate all of you who check out, try out and read about my indicators and ideas. I wish you all the safest trades and good luck!
Price Legs: Average Heights; 'Smart ATR'Price Legs: Average Heights; 'Smart ATR'. Consol Range Gauge
~~ Indicator to show small and large price legs (based on short and long input pivot lengths), and calculating the average heights of these price legs; counting legs from user-input start time ~~
//Premise: Wanted to use this as something like a 'Smart ATR': where the average/typical range of a distinct & dynamic price leg could be calculated based on a user-input time interval (as opposed to standard ATR, which is simply the average range over a consistent repeating period, with no regard to market structure). My instinct is that this would be most useful for consolidated periods & range trading: giving the trader an idea of what the typical size of a price leg might be in the current market state (hence in the title, Consol Range gauge)
//Features & User inputs:
-Start time: confirm input when loading indicator by clicking on the chart. Then drag the vertical line to change start time easily.
-Large Legs (toggle on/off) and user-input pivot lookback/lookforward length (larger => larger legs)
-Small Legs (toggle on/off) and user-input pivot lookback/lookforward length (smaller => smaller legs)
-Display Stats table: toggle on/off: simple view- shows the averages of large (up & down), small (up & down), and combined (for each).
-Extended stats table: toggle on/off option to show the averages of the last 3 legs of each category (up/down/large/small/combined)
-Toggle on/off Time & Price chart text labels of price legs (time in mins/hours/days; price in $ or pips; auto assigned based on asset)
-Table position: user choice.
//Notes & tips:
-Using custom start time along with replay mode, you can select any arbitrary chunk of price for the purpose of backtesting.
-Play around with the pivot lookback lengths to find price legs most suitable to the current market regime (consolidating/trending; high volatility/ low volatility)
-Single bar price legs will never be counted: they must be at least 2 bars from H>>L or L>>H.
//Credits: Thanks to @crypto_juju for the idea of applying statistics to this simple price leg indicator.
Simple View: showing only the full averages (counting from Start time):
View showing ONLY the large legs, with Time & Price labels toggled ON:
Vollinger BandsI'm happy to present to you... VOLLINGER BANDS. Loosely based on bollinger bands, this indicator uses the new Up/Down Volume indicator from tradingview, which I have add moving averages, and a width calculation between them to determine squeeze. Essentially I have created a volume squeeze bollinger band derivative, hence the term "Vollinger Band".
The bands are NOT a deviation of any middle line or moving average, but rather their own moving averages of the volume delta, respectively.
Blue background = Volume Squeeze (vollinger bands width is less than the squeeze strength line), meaning consolidation, and a big move may happen soon.
Top line = A moving average of the Up Volume delta
Bottom line = A moving average of the Down Volume delta
Vol MA = the moving average length of both the top/bottom line
> If you zoom in, you can see a white line, which is the squeeze represented as a single line, calculated using bollinger bands width. The squeeze strength is a moving average of the squeeze line, which then determines if the width is below that moving average, then the squeeze will occur (white line below purple)
The bands are colored based on the sum of the Up/Down volume over the specified number of bars (preset at 5). If the volume is more buying than selling over that amount of bars, then the line is colored green, and vice versa.
Line Colorizer - DurbtradeThe Line Colorizer is a simple indicator that can plot up/down-colorized lines for up to 10 unique individual sources!
Plot up/down colors are based on whether the current value is above or below the previous value.
Also included is a separate color for when the current value is equal to the previous value.
All colors can be modified, along with the plot styles.
--------------------------------------------
--------------------------------------------
Here is the Inputs tab of the Settings menu :
As you can see, you can plot a colorized line of up to 10 individual sources!
Checking the checkbox turns on that particular colorized plot,
and clicking on the drop down menu allows you select the source for that plot.
The plot styles, up/equal/down colors, and opacities
are customizable under the Style tab within the Settings menu :
Overall, it is pretty easy to use.
--------------------------------------------
Let's look at some examples of the Line Colorizer being used...
Colorize a basic Bollinger Bands indicator :
Want to colorize 3 EMA's? Go for it :
Spice up the standard MACD salad :
Customize the colors of your RSI's :
Try using the Line Colorizer on all of your favorite indicators.
--------------------------------------------
Script Stats :
Pinescript Version : 5
Code Length : 44 Lines
Max Unique Input Sources : 10
Max Visible Plots : 10
Total Colors/Opacities : 30
--------------------------------------------
Tips :
Typically you will want this indicator to be on a layer above (in front of) the source plot layer.
Stay mindful of line thicknesses,
and whether the original source plot is still visible or not.
The final output of the colorized plots are drawn in numerical order,
so, Colorized Source #1 is drawn first, and will appear below Colorized Source #2 on the chart...
and so on, with Colorized Source #10 being drawn last, at the very top.
Final Thoughts :
I like having this indicator.
The idea and script is simple, and the indicator is practical.
It's one method of easily separating some of the aspects of color from your favorite indicators and scripts,
and then customizing those aspects to your liking.
Especially practical for those who do not want to learn about writing their own scripts.
I think that this indicator can be a useful tool in the shed,
used for customizing the visuals of multiple unique sources
that are all on the same price/value scale.
It can help increase chart clarity and/or detail...
whether using it on top of a main chart that is simple,
or on top of a standalone indicator that is crowded with oscillating information.
I hope that you enjoy it and find it useful!
- Please feel free to comment your thoughts, critiques, or suggestions. They are all very helpful!
- Also, please feel free to comment any positive feedback, or awesome screencaps/ideas of the indicator in action!
- Check out my other Pinescript indicators if you like this one... they work well together.
- May your trades be successful!
--------------------------------------------
// Durbtrade
Universal MA Trend(Republishing in Open source)
Hello traders,
Many existing moving average indicators have not been satisfactory in terms of the number, types, and length adjustments of moving averages.
Feeling the inconvenience, I created a moving average indicator and collected numerous famous moving averages.
Fortunately, there was a PineCoder "andre_007" who had already compiled various Moving Averages,
so I was able to find a new Moving Average and combine it with the indicator. Here is the link below
Among these, for the JMA, which has not been publicly disclosed, I utilized the source code from TradingView Wizard everget:
For VIDYA, I also used everget's source code:
And also MAMA / FAMA Coded from Pinescript Wizard everget :
Ehlers MESA Adaptive Moving Averages (MAMA & FAMA)
For Frama, I used the code from nemozny's source code :
Thanks to all these Pinecoders.
---
By using these excellent moving averages together, I found that the simultaneous Up/Down changes of various moving averages with different characteristics tend to be maintained for quite a long time.
Therefore, this indicator not only collects various moving averages but also displays areas with simultaneous trends as background.
An example can be found here:
Furthermore, to prevent the up/down changes of the moving averages due to factors like whipsaws, a smoothing filter has been introduced.
And Also, Alert is able when trend changes.
---
(오픈소스화 후 재발행)
안녕하세요 트레이더여러분.
기존의 이동평균선 지표들은, 이동평균선의 갯수, 종류, 길이조절 등에서 만족스럽지 못한 점들이 많았습니다.
불편함을 느끼고 직접 이동평균선 지표를 만들면서, 유명한 수 많은 이동평균선들을 모았습니다.
그리고 이미 이러한 수많은 이동평균선을 손수 모아서 정리해주신 고마우신 파인코더(andere_007 님)가 있어서, 그 분의 코드를 많이 이용했습니다. 링크는 아래와 같습니다.
이 중 소스가 공개되지 않은 이동평균선 중 JMA는 트레이딩뷰 위자드이신 everget의 소스코드를 이용했습니다.
VIDYA 역시 everget의 소스코드를 이용했습니다.
MAMA와 FAMA의 코드 역시 everget님의 코드를 가져왔습니다.
Ehlers MESA Adaptive Moving Averages (MAMA & FAMA)
Frama는 nemozny님의 코드를 이용했습니다.
의 코드를 이용했습니다.
이 자리를 빌어 위의 파인코더님들께 감사의 말씀을 전합니다.
---
이러한 좋은 이동평균선을 모아서 사용해보니, 다양한 특성을 갖고 있는 이동평균선의 동시적인 Up/Down 변화는 꽤 오랫동안 유지된다는 점을 발견했습니다.
그래서 이 지표는, 위의 여러가지 이동평균선을 모아놓은 것 뿐만 아니라,
그것에서 동시적인 트랜드가 나오는 곳을 배경화면으로 표시해두었습니다.
예시는 다음과 같습니다.
나아가 휩쏘 등으로 이동평균선의 up/down이 바뀌는 것을 막고자, Smoothing 필터도 도입했습니다.
또한 트랜드가 바뀔 때 얼러트가 울리도록, 얼러트 기능을 설정해놓을 수 있게 해놓았으며, 현재 이동평균선과 상태를 보기 쉽도록 테이블을 만들어놓았습니다.
Ectopic Bar by Moti RakamEctopic Bar is an indicator that highlights a pin-bar candle that has divergence in it's shape and volume delta. To find volume delta, code of standard Up/Down volume indicator has been used.
PIN BAR : pin bar are marked by using Close Range option parameter. Default value is set to 0.35 which implies any candle that closes in the 35% of its high/low will be considered a pin bar (of course the code also ensures that rest of the bar body is only a wick).
HOW IT WORKS:
Up/Down volume variables "Up Volume" and "Down Volume" are checked against the shape of the pin bar to find an ectopic situation. For example, if a bullish pin bar candle (a bullish hammer) has more sell volume than buy volume, that's an ectopic situation. The bullish hammer shows a buying push from the bottom of the wick, instead the up/down volume indicator shows there were more sell orders than buy orders. Hence the ectopic situation. Similarly, an inverted hammer (a bearish hammer) in general should have more sell volume, but instead if it has more buying volume, the indicator highlights it as an ectopic bar.
Ectopic Bars are painted in yellow colour.
Multi-Timeframe Trend IndicatorThe Multi-Timeframe Trend Indicator (MTFTI) is a trend analysis tool designed to help traders quickly and easily assess the market direction across multiple timeframes. With the help of a table to visualize the trends on different timeframes.
Key features:
Multi-timeframe trend indicator for the following timeframes: 5 minutes, 15 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, 6 hours, 12 hours, 1 day, and 1 week and average.
Displays trends for selected timeframes in a table.
Considers short and long-term exponential moving averages (EMAs) to determine trends.
Calculation of the average trend for all timeframes.
Display of trends with appropriate coloring for better readability (green for "Up", red for "Down", and intermediate shades for neutral or strong trends).
List of Parameters
Customization of the table's position on the screen (top-left, top-right, middle-left, middle-right, bottom-left, bottom-right).
Setting the lengths of the short and long-term exponential moving averages.
Option to activate or deactivate the display of EMAs for better customization (true by default).
Please note that the MTFTI is not a guarantee of future market performance and should be used in conjunction with proper risk management. Always ensure that you have a thorough understanding of the indicator’s methodology and its limitations before making any investment decisions. Additionally, past performance is not indicative of future results.
Range Analysis - By LeviathanThe Interactive Range Analysis script is an essential tool for analyzing price ranges. It automatically draws important range levels, generates a Volume Profile or Open Interest profile and horizontal/vertical heatmaps, plots the anchored VWAP, draws Fibonacci levels, and much more.
How to use the indicator:
1. The script will prompt you to select the "Start Time" and "End Time" using Tradingview's interactive interface. These two points will determine the length of the range.
2. Once you have selected the range, the script will automatically anchor the range highs and lows to the highest and lowest close/wick/hlc3/ohlc4 (whichever you prefer).
3. You can then begin exploring different tools and options such as Quarters, Eighths, Fibonacci, Outer Levels, VWAP, Horizontal Volume/OI Heatmap, Vertical Volume/OI Heatmap, Fixed Range Volume Profile, Open Interest Profile, Value Area, VAH, VAL, and POC.
4. You can adjust the range by dragging the Start Time and End Time anchors or by removing/reapplying the script.
Tool overview
Range Levels
After selecting your preferred time range, the script will identify and draw a range high level and a range low level, which serve as a base for other important levels. “Half” is the level halfway between the range high and range low. “Quarters” will, as the name suggests, split the range into four equal zones (quarters) and “Eighths” will split the range into eight equal zones (eighths).
”Fibonacci” option allows you to display Fibonacci retracement levels (0.786, 0.618, 0.382, 0.236). “VWAP” will plot a Volume Weighted Average Price, anchored to the start of the range. “Direction” input lets you choose whether your range is UP or DOWN trending in order to make sure that the Fibonacci levels and labels are generated and assigned correctly. With “Outer” turned ON, the script will also generate active levels (quarters/eighths/Fibonacci) above and below the selected price range. “Extend Right” will extend all levels to the right indefinitely, while “Extend (+Bars)” lets you choose how far right the levels get extended. “Diagonal Line” is drawn from the bottom left of the range to the top right of the range or from the top left of the range to the bottom right of the range, depending on the “Direction” input.
Volume Profile / Open Interest Profile
After selecting the “Data Type”, Volume Profile or OI Profile can be generated by turning ON the “Volume/OI Profile” option.
“Resolution” input defines the amount of nodes/rows in the range that are used in profile/heatmap generation for distributing the data. While you can increase the “Resolution” to get better, more granular profiles, you should keep in mind that you might need to lower the resolution when generating profiles for larger ranges.
”Node Type” offers you two options when it comes to the representation of data: Up/Down - divides a node in two sections for up volume/OI and down volume/OI, Total - one node for total volume/OI and Delta - net difference in up volume/OI and down volume/OI.
”Profile Position” lets you choose whether the profile is positioned on the left side of the range or on the right side of the range.
“Profile Direction” determines whether the profile nodes are facing right or left.
“Profile Type” enables you to visualize the nodes in a classic way (Type 1) or in a way where down volume/negative OI are positioned on the left side of the y axis and up volume/positive OI on the right side of the y axis.
“Node Size (%)” defines how much space in the range can be taken by the profile’s nodes. Eg. 50% will allow the largest node to extend to the middle of the range (and others scaled accordingly), 100% will allow the largest node to extend the max right point of the range (and others scaled accordingly).
”Value Area (%)” defines the VA zone, which represents the area where the most volume occured (usually 70% or 68%).
”Horizontal Heatmap” will display a heatmap-like overlay, that will help you identify the price levels where most volume/open interest action occurred.
”Vertical Heatmap” will display a heatmap-like overlay, that will help you identify the points in time where most volume/open interest action occurred.
A more detailed description of this indicator is coming in the next few days.
Important:
* If volume or OI profile does not get generated, try lowering the resolution.
* Once in a while, the script will disappear from your chart. Just remove and reapply.
* Open Interest data is only avaiable on Binance Perpetual Futures pairs
To learn more, read the tooltips in the indicator’s settings and stay tuned for upcoming additions (Range Market Structure, Liquidation Levels, Range Statistics,…)
Dynamo
╭━━━╮
╰╮╭╮┃
╱┃┃┃┣╮╱╭┳━╮╭━━┳╮╭┳━━╮
╱┃┃┃┃┃╱┃┃╭╮┫╭╮┃╰╯┃╭╮┃
╭╯╰╯┃╰━╯┃┃┃┃╭╮┃┃┃┃╰╯┃
╰━━━┻━╮╭┻╯╰┻╯╰┻┻┻┻━━╯
╱╱╱╱╭━╯┃
╱╱╱╱╰━━╯
Overview
Dynamo is built to be the Swiss-knife for price-movement & strength detection, it aims to provide a holistic view of the current price across multiple dimensions. This is achieved by combining 3 very specific indicators(RSI, Stochastic & ADX) into a single view. Each of which serve a different purpose, and collectively provide a simple, yet powerful tool to gauge the true nature of price-action.
Background
Dynamo uses 3 technical analysis tools in conjunction to provide better insights into price movement, they are briefly explained below:
Relative Strength Index(RSI)
RSI is a popular indicator that is often used to measure the velocity of price change & the intensity of directional moves. RSI computes the relative strength of the current price by comparing the security’s bullish strength versus bearish strength for a given period, i.e. by comparing average gain to average loss.
It is a range bound(0-100) variable that generates a bullish reading if average gain is higher, and a bullish reading if average loss is higher. Values over 50 are generally considered bullish & values less than 50 indicate a bearish market. Values over 70 indicate an overbought condition, and values below 30 indicate oversold condition.
Stochastic
Stochastic is an indicator that aims to measure the momentum in the market, by comparing most recent closing price of the security to its price range for a given period. It is based on the assumption that price tends to close near the recent high in an up trend, and it closes near the recent low during a down trend.
It is also range bound(0-100), values over 80 indicate overbought condition and values below 20 indicate oversold condition.
Average Directional Index(ADX)
ADX is an indicator that can quantify trend strength, it is derived from two underlying indices, known as Directional Movement Index(DMI). +DMI represents strength of the up trend, and -DMI represents strength of the down trend, and ADX is the average of the two.
ADX is non-directional or trend-neutral, which means, it does not follow the direction of the price, instead ADX will rise only when there is a strong trend, it does not matter if it’s an up trend or a down trend. Typical ranges of ADX are 25-50 for a strong trend, anything below 25 is considered as no trend or weak trend. ADX can frequently shoot upto higher values, but it generally finds exhaustion levels around the 60-75 range.
About the script
All these indicators are very powerful tools, but just like any other indicator they have their limitations. Stochastic & ADX can generate false signals in volatile markets, meaning price wouldn’t always follow through with what’s being indicated. ADX may even fail to generate a signal in less volatile markets, simply because it is based on moving averages, it tends to react slower to price changes. RSI can also lose it’s effectiveness when markets are trending strong, as it can stay in the overbought or oversold ranges for an extended period of time.
Dynamo aims to provide the trader with a much broader perspective by bringing together these contrasting indicators into a single simplified view. When Stochastic becomes less reliable in highly volatile conditions, one can cross validate their deduction by looking at RSI patterns. When RSI gets stuck in overbought or oversold range, one can refer to ADX to get better picture about the current trend. Similarly, various combinations of rules & setups can be formulated to get a more deterministic view, when working with either of these indicators.
There many possible use cases for a tool like this, and it totally depends on how you want to use it. An obvious option is to use it to trigger signals only after it has been confirmed by two or more indicators, for example, RSI & Stochastic make a great combination for cross-over or cross-under strategies. Some of the other options include trend detection, strength detection, reversals or price rejection points, possible duration of a trend, and all of these can very easily be translated into effective entry and exit points for trades.
How to use it
Dynamo is an easy-to-use tool, just add it to your chart and you’re good to start with your market analysis. Output consists of three overlapping plots, each of which tackle price movement from a slightly different angle.
Stochastic: A momentum indicator that plots the current closing price in relation to the price-range over a given period of time.
Can be used to detect the direction of the price movement, potential reversals, or duration of an up/down move.
Plotted as grey coloured histograms in the background.
Relative Strength Index(RSI): RSI is also a momentum indicator that measures the velocity with which the price changes.
Can be used to detect the speed of the price movement, RSI divergences can be a nice way to detect directional changes.
Plotted as an aqua coloured line.
Average Directional Index(ADX): ADX is an indicator that is used to measure the strength of the current trend.
Can be used to measure how strong the price movement is, both up and down, or to establish long terms trends.
Plotted as an orange coloured line.
Features
Provides a well-rounded view of the market movement by amalgamating some of the best strength indicators, helping traders make better informed decisions with minimal effort.
Simplistic plots that aim to convey clean signals, as a result, reducing clutter on the chart, and hopefully in the trader's head too.
Combines different types of indicators into a single view, which leads to an optimised use of the precious screen real-estate.
Final Note
Dynamo is designed to be minimalistic in functionality and in appearance, as it is being built to be a general purpose tool that is not only beginner friendly, but can also be highly-configurable to meet the needs of pro traders.
Thresholds & default values for the indicators are only suggestions based on industry standards, they may not be an exact match for all markets & conditions. Hence, it is advisable for the user to test & adjust these values according their securities and trading styles.
The chart highlights one of many possible setups using this tool, and it can used to create various types of setups & strategies, but it is also worth noting that the usability & the effectiveness of this tool also depends on the user’s understanding & interpretation of the underlying indicators.
Lastly, this tool is only an indicator and should only be perceived that way. It does not guarantee anything, and the user should do their own research before committing to trades based on any indicator.
Bar metrics / quantifytools— Overview
Rather than eyeball evaluating bullishness/bearishness in any given bar, bar metrics allow a quantified approach using three basic fundamental data points: relative close, relative volatility and relative volume. These data points are visualized in a discreet data dashboard form, next to all real-time bars. Each value also has a dot in front, representing color coded extremes in the values.
Relative close represents position of bar's close relative to high and low, high of bar being 100% and low of bar being 0%. Relative close indicates strength of bulls/bears in a given bar, the higher the better for bulls, the lower the better for bears. Relative volatility (bar range, high - low) and relative volume are presented in a form of a multiplier, relative to their respective moving averages (SMA 20). A value of 1x indicates volume/volatility being on par with moving average, 2x indicates volume/volatility being twice as much as moving average and so on. Relative volume and volatility can be used for measuring general market participant interest, the "weight of the bar" as it were.
— Features
Users can gauge past bar metrics using lookback via input menu. Past bars, especially recent ones, are helpful for giving context for current bar metrics. Lookback bars are highlighted on the chart using a yellow box and metrics presented on the data dashboard with lookback symbols:
To inspect bar metric data and its implications, users can highlight bars with specified bracket values for each metric:
When bar highlighter is toggled on and desired bar metric values set, alert for the specified combination can be toggled on via alert menu. Note that bar highlighter must be enabled in order for alerts to function.
— Visuals
Bar metric dots are gradient colored the following way:
Relative volatility & volume
0x -> 1x / Neutral (white) -> Light (yellow)
1x -> 1.7x / Light (yellow) -> Medium (orange)
1.7x -> 2.4x / Medium (orange) -> Heavy (red)
Relative close
0% -> 25% / Heavy bearish (red) -> Light bearish (dark red)
25% -> 45% / Light bearish (dark red) -> Neutral (white)
45% - 55% / Neutral (white)
55% -> 75% / Neutral (white) -> Light bullish (dark green)
75% -> 100% / Light bullish (dark green) -> Heavy bullish (green)
All colors can be adjusted via input menu. Label size, label distance from bar (offset) and text format (regular/stealth) can be adjusted via input menu as well:
— Practical guide
As interpretation of bar metrics is highly contextual, it is especially important to use other means in conjunction with the metrics. Levels, oscillators, moving averages, whatever you have found useful for your process. In short, relative close indicates directional bias and relative volume/volatility indicates "weight" of directional bias.
General interpretation
High relative close, low relative volume/volatility = mildly bullish, bias up/consolidation
High relative close, medium relative volume/volatility = bullish, bias up
High relative close, high relative volume/volatility = exuberantly bullish, bias up/down depending on context
Medium relative close, low relative volume/volatility = noise, no bias
Medium relative close, medium to high relative volume/volatility = indecision, further evidence needed to evaluate bias
Low relative close, low relative volume/volatility = mildly bearish, bias down/consolidation
Low relative close, medium relative volume/volatility = bearish, bias down
Low relative close, high relative volume/volatility = exuberantly bearish, bias down/up depending on context
Nuances & considerations
As to relative close, it's important to note that each bar is a trading range when viewed on a lower timeframe, ES 1W vs. ES 4H:
When relative close is high, bulls were able to push price to range high by the time of close. When relative close is low, bears were able to push price to range low by the time of close. In other words, bulls/bears were able to gain the upper hand over a given trading range, hinting strength for the side that made the final push. When relative close is around middle range (40-60%), it can be said neither side is clearly dominating the range, hinting neutral/indecision bias from a relative close perspective.
As to relative volume/volatility, low values (less than ~0.7x) imply bar has low market participant interest and therefore is likely insignificant, as it is "lacking weight". Values close to or above 1x imply meaningful market participant interest, whereas values well above 1x (greater than ~1.3x) imply exuberance. This exuberance can manifest as initiation (beginning of a trend) or as exhaustion (end of a trend):
Simple STRAT Tool by nnamWhat this Indicator Does
This indicator is a very simple tool created specifically for experienced Straters. It was created for those Straters who fully understand the 1-2-3 Strat Scenarios, are in need of an easy to use tool, and do not want or need a lot of messy markings on their chart.
The indicator simply allows the user to color code the Strat 1, 2 ,3 (Inside /Outside /Up / Down) Bars as desired and by default extends lines to the right of the chart from the Highs and Lows of the previous 2 Bars giving the user a simple reference for Strat scenario structure breaks.
As shown above, the bars are color coded, but the original bar color is maintained via the border and wick.
If a bar is an Outside Bar or an Inside Bar, it is still easy to identify whether or not the bar was a Bullish or Bearish 1 or 3.
The same goes for 2UP and 2Down Bars - It is easy to identify Bullish or Bearish UP or DOWN Bars.
Optionally, as show in the screenshot below, the user can extend the lines in both directions to get an "at a glance" better understanding of where price is currently vs previous support and resistance areas.
For Straters that prefer to trade only INSIDE BAR BREAKOUTS there is an optional input setting labeled "Trade Inside Bars ONLY".
This setting turns OFF the lines that extend from the 2nd previous bar back and only displays and extend lines from the previous bar IF and ONLY IF the current bar is an INSIDE (one) bar. .
The User Input settings allow for the following customizations:
1. Custom Outside Bar Color
2. Custom Inside Bar Color
3. Custom 2 Up Bar Color
4. Custom 2 Down Bar Color
5. Turn ON or OFF color coded bars
6. Trade only INSIDE Bar Breakouts
7. Extend Lines Both Directions
8. Hide all Lines
The customizable settings above allow the user to hide all lines and turn OFF color coding without having to fully remove the indicator from the chart. This is convenient when the user has another indicator that uses color coded bars or the lines conflict with another indicator and they need to be temporarily disabled.
If you have any questions regarding this indicator please let me know. If you have any suggestions for minor tweaks to the indicator do not hesitate to ask for them.
I hope you enjoy this indicator and get some usefulness from it... HAPPY TRADING!!
Volume composition / quantifytools— Overview
While net volume is useful information, it can be a blunt data point. Volume composition breaks down the content of volume, allowing a more detailed look inside each volume node. Volume composition consists of the following information:
Total volume (buy and sell). By default gray node.
Dominating volume (buy or sell). By default dark green/dark red node.
Dominating active volume (buy or sell). By default light green/light red node.
Dominating volume as percentage of total volume.
Dominating active volume as percentage of total active volume.
Buy and sell volume is defined by volume associated with lower timeframe up/down moves. This classification is further broken down to passive/active, standing for decreasing/increasing volume, e.g. a move up with volume higher than previous bar volume = active buy volume, a move up with volume lower than previous bar volume = passive buy volume.
Volume data is fetched from a lower timeframe that is automatically adjusted to fit the timeframe you're using. By default, the following settings are applied:
Charts <= 30 min: 1 minute timeframe
Charts > 30 min & <= 3 hours : 5 minute timeframe
Charts > 3 hours & <= 8 hours : 15 minute timeframe
Charts > 8 hours & <= 1D: 1 hour timeframe
Charts > 1D & <= 3D : 2 hour timeframe
Charts > 3D: 4 hour timeframe
Timeframe settings can be changed via input menu. The lower the timeframe, the more precision you get but with the cost of less historical data and slower loading time. Users can also choose which source to use for determining buy/sell volume, e.g. using close as source, a close that is higher than previous close would be considered as buy volume. This could be replaced with OHLC4 for example, resulting in a volume direction based on OHLC average.
Volume composition of current chart can also be replaced with any other chart volume composition:
— Visuals
Breakdown of visual elements:
1. Symbol and timeframe used for volume composition calculations. By default the chart that is viewed and automatically selected lower timeframe.
2. Dominating volume threshold exceeded. Can be defined via input menu, 70% of total volume by default.
3. Dominating volume as percentage of total volume. Plotted below volume nodes, without % symbol.
4. Dominating active volume, + or - symbol, standing for buy and sell. Plotted below dominating volume percentage. When dominating volume and dominating active volume sides are in a disagreement (e.g. dominating volume is on buy side while dominating active volume is on sell side) this symbol will appear inside brackets, (+) or (-).
5. Dominating active volume as percentage of total active volume. Plotted below +/- symbol.
6. Dominating active volume threshold exceeded. Can be defined via input menu, 70% by default.
Dominating volume & active volume percentages can be rounded to single numbers to avoid clutter caused by overlapping values. The percentage values will be rounded to closest single number value, e.g. dominating volume percentage at 54% = 5, dominating volume percentage at 55% = 6.
Volume anomalies can be highlighted on the chart with a color for studying the events and their past implications in greater detail. Available anomalies for highlights are the following:
Buy volume threshold exceeded
Sell volume threshold exceeded
Active buy volume threshold exceeded
Active sell volume threshold exceeded
Volume & active volume divergence
— Practical guide
Volume is arguably one of the most important data points as it directly relates to liquidity. High volume can be an indication of strength (price likely to continue moving) or absorption (price likely to halt/turn). Same applies to active volume, but with an element of aggression. High active volume serves as an indication of exuberance or otherwise forceful transacting, like stop losses triggering. With these principles in mind, the composition of volume allows distinguishing potentially important events.
Example #1 : Identifying areas of trapped market participants
Often when volume spikes distinctively, we can make the case that price has found sufficient liquidity to halt/turn. Since we know which side was absorbed, in what quantity and type (passive/active), we can identify areas of trapped market participants. In such scenarios, the higher the dominant active volume and volume spike itself, the better.
Example #2 : Identifying a healthy trend
A healthy trend is one that has an active and consistent bid driving it. When this is the case, it can be seen in consistently supportive active volume.
Example #3 : Identifying inflection points
When dominant side of volume and dominant side of active volume diverge, something is up. A divergence often marks an area of indecision, hinting an imminent move one way or the other.
Volume CVD and Open InterestVolume, Cumulative Delta Volume and Open Interest are great indications of strength and sentiment in the market. Until now they have required separate indicators, but this indicator can show them all.
With a clean and aesthetic plot, this indicator has the option to choose the data source:
- Volume - the total volume of transactions, buys and sells
- Up Volume - the total volume from buys only
- Down Volume - the total volume from sells only
- Up/Down Volume (Net) - the difference in the Buy Volume and Sell Volume
- Cumulative Delta - the sum of the up/down volume for the previous 14 bars
- Cumulative Delta EMA - a smoothed average of the sum of the up/down volume for the previous 14 bars, over a 14 period EMA
- Open Interest - a user defined ticker, whose value is added to the plot, while this is designed to be used with Open Interest tickers, you can actually choose any ticker you want, perhaps you want to see DXY while charting Bitcoin!
There are several customization features for the colour of the plot, with a nice gradient colouring from high to low. You can choose the lookback which defines only the highest and lowest values for the colour gradient. There is also an option for how the Open Interest value is determined, based on Close, Open or differences between previous values.
While similar, Volume and Open Interest are not the same. To me the simplest explanation is Volume shows the trades that have been executed and the buy/sell direction, while Open Interest shows the value of open trades that are yet to be completed.
Volume shows strength, sentiment and volatility.
Open Interest does not show direction, but does indicate momentum and liquidity in the market.
Adaptive Fisherized Trend Intensity Index Introduction
Here, I modified the script "Trend Intensity Index" (TII) of @everyget.
TTI was developed by M.H. Pee, who also published other trend analysis indicators like the Trend Trigger/Continuation Factor
It helps to determine how strong the current trend is.
The stronger the trend, the higher the chance the price may continue moving in the current direction.
Features
Adaptive mode (based on Ehlers dominant cycle determination) => automatically determines the length
Inverse Fisher Transform => gives sharper signals
Customizable MA Types => discover the impact of different ma bases
Hann Window and NET smoothing => state-of-the-art smoothing
Trend Visualization => shows you the up/down/side trend
Usage
This indicator here offers a perfect trend filtering system. It is capable of up/down/side trend detection.
There are a lot of trend indicators which don't respect sidetrends, which makes this indicator pretty useful.
A lot of traders use trend-following trading systems.
A trader will usually make his/her entry in the market during a strong trend and ride it, until the TII provides an indication of a reversal.
For mean-revertive trading systems, you could use TII to just trade in side trend.
A lot of mean-revertive signal emitters like Bollinger Bands or RSI work most of the times better in side trend.
Furthermore, every timeframe could be used, but higher timeframes have more impact because trends are stronger there.
Signals
Green zone (Top) => Etablished bullish trend
"Peachy" Zone (Middle) => Sidetrend/flat market
Red Zone (Bottom) => Etablished bearish trend
Enjoy guys!
(Let me know your opinions!)
--
Credits to:
@blackcat1402
@DasanC
@cheatcountry
@everget
Boyle Trinomial Options Pricing Model [Loxx]Boyle Trinomial Options Pricing Model is an options pricing indicator that builds an N-order trinomial tree to price American and European options. This is different form the Binomial model in that the Binomial assumes prices can only go up and down wheres the Trinomial model assumes prices can go up, down, or sideways (shoutout to the "crab" market enjoyers). This method also allows for dividend adjustment.
The Trinomial Tree via VinegarHill Finance Labs
A two-jump process for the asset price over each discrete time step was developed in the binomial lattice. Boyle expanded this frame of reference and explored the feasibility of option valuation by allowing for an extra jump in the stochastic process. In keeping with Black Scholes, Boyle examined an asset (S) with a lognormal distribution of returns. Over a small time interval, this distribution can be approximated by a three-point jump process in such a way that the expected return on the asset is the riskless rate, and the variance of the discrete distribution is equal to the variance of the corresponding lognormal distribution. The three point jump process was introduced by Phelim Boyle (1986) as a trinomial tree to price options and the effect has been momentous in the finance literature. Perhaps shamrock mythology or the well-known ballad associated with Brendan Behan inspired the Boyle insight to include a third jump in lattice valuation. His trinomial paper has spawned a huge amount of ground breaking research. In the trinomial model, the asset price S is assumed to jump uS or mS or dS after one time period (dt = T/n), where u > m > d. Joshi (2008) point out that the trinomial model is characterized by the following five parameters: (1) the probability of an up move pu, (2) the probability of an down move pd, (3) the multiplier on the stock price for an up move u, (4) the multiplier on the stock price for a middle move m, (5) the multiplier on the stock price for a down move d. A recombining tree is computationally more efficient so we require:
ud = m*m
M = exp (r∆t),
V = exp (σ 2∆t),
dt or ∆t = T/N
where where N is the total number of steps of a trinomial tree. For a tree to be risk-neutral, the mean and variance across each time steps must be asymptotically correct. Boyle (1986) chose the parameters to be:
m = 1, u = exp(λσ√ ∆t), d = 1/u
pu =( md − M(m + d) + (M^2)*V )/ (u − d)(u − m) ,
pd =( um − M(u + m) + (M^2)*V )/ (u − d)(m − d)
Boyle suggested that the choice of value for λ should exceed 1 and the best results were obtained when λ is approximately 1.20. One approach to constructing trinomial trees is to develop two steps of a binomial in combination as a single step of a trinomial tree. This can be engineered with many binomials CRR(1979), JR(1979) and Tian (1993) where the volatility is constant.
Further reading:
A Lattice Framework for Option Pricing with Two State
Trinomial tree via wikipedia
Inputs
Spot price: select from 33 different types of price inputs
Calculation Steps: how many iterations to be used in the Trinomial model. In practice, this number would be anywhere from 5000 to 15000, for our purposes here, this is limited to 220.
Strike Price: the strike price of the option you're wishing to model
Market Price: this is the market price of the option; choose, last, bid, or ask to see different results
Historical Volatility Period: the input period for historical volatility ; historical volatility isn't used in the Trinomial model, this is to serve as a comparison, even though historical volatility is from price movement of the underlying asset where as implied volatility is the volatility of the option
Historical Volatility Type: choose from various types of implied volatility , search my indicators for details on each of these
Option Base Currency: this is to calculate the risk-free rate, this is used if you wish to automatically calculate the risk-free rate instead of using the manual input. this uses the 10 year bold yield of the corresponding country
% Manual Risk-free Rate: here you can manually enter the risk-free rate
Use manual input for Risk-free Rate? : choose manual or automatic for risk-free rate
% Manual Yearly Dividend Yield: here you can manually enter the yearly dividend yield
Adjust for Dividends?: choose if you even want to use use dividends
Automatically Calculate Yearly Dividend Yield? choose if you want to use automatic vs manual dividend yield calculation
Time Now Type: choose how you want to calculate time right now, see the tool tip
Days in Year: choose how many days in the year, 365 for all days, 252 for trading days, etc
Hours Per Day: how many hours per day? 24, 8 working hours, or 6.5 trading hours
Expiry date settings: here you can specify the exact time the option expires
Included
Option pricing panel
Loxx's Expanded Source Types
Related indicators
Implied Volatility Estimator using Black Scholes
Cox-Ross-Rubinstein Binomial Tree Options Pricing Model
Tick StatisticsTick Statistics:
I have seen many questions/queries related to tick data in TV telegram channels. This script will help pine scripts to understand how ticks work, how to capture and process tick data.
This is an educational indicator script for pine scripters.
The indicator shall work only on real time candles. Tick data capture is initiated as soon as indicator is loaded on the chart. You might not get correct statistics on 1st candle in case indicator is loaded when real time candle is in progress, in such case you can monitor the statistics generated for subsequent candles.
Generated statistics is shown on the chart by placing 2 diamond shapes above and below the candle.
Diamond shape below the candle will have candles ‘tick data’ listed in a table. This can be view by placing mouse pointer on the diamond shape. Refer to point 1 below for more details.
Diamond shape above the candle will have statistics as mentioned in point no 2 onwards. To view the statistics place the mouse point on the diamond shape. The shape will appear in green color when both tick price and tick volume are both moving in the same direction. The diamond shape in red color means tick price and tick volume are moving in opposite direction.
The script captures tick by tick data and generate statistics below:
1. List of tick data with details below: (this is stored in the diamond shape placed below the candle)
a. Tick no
b. Tick type – Up tick (Up), Down tick (Dn), No change (--)
c. Tick price
d. Volume
e. Price difference (as compared to previous tick price)
f. Volume difference (as compared to previous tick volume)
2. Tick statistics
a. Total ticks
b. Number of up ticks
c. Number of down ticks
d. Number of No change ticks
3. Volume Statistics
a. Total volume
b. Up tick volume
c. Down tick volume
d. Volume associated with ticks where there is no change
e. Candle volume (just for reconciliation purpose)
4. Max-min statistics
a. Max volume = <> at price = <> at tick no = <>
b. Min volume = <> at price = <> at tick no = <>
c. Max price = <> at volume = <> at tick no = <>
d. Min price = <> at volume = <> at tick no = <>
5. Candle summary
a. Price << Up >> (if price is up as compared to 1st tick <> otherwise
b. Volume <> (if up tick volume is more than down tick volume <> otherwise