Multi Timeframe Relative Strength Index {DCAquant}Overview
The Multi Timeframe Relative Strength Index (MTF RSI) is a powerful technical analysis tool designed to provide insights into market momentum and potential trend reversals across multiple timeframes. Leveraging the Relative Strength Index (RSI) formula, this indicator offers traders a comprehensive view of market sentiment and identifies overbought and oversold conditions.
Key Features
RSI Calculation:
Utilizes the standard RSI calculation formula to measure the magnitude of recent price changes and assess the strength of market trends.
Employs a user-defined length parameter to customize the sensitivity of the RSI calculation based on trading preferences.
Multiple Timeframe Analysis:
Allows traders to analyze RSI values across up to six different timeframes, ranging from minutes to days, providing a holistic perspective on market dynamics.
Calculates RSI values independently for each selected timeframe, enabling comparison and trend identification.
Threshold Levels:
Defines overbought and oversold levels to highlight potential reversal points in market trends.
Offers flexibility in adjusting threshold levels based on individual risk tolerance and trading strategies.
Neutral Zone:
Establishes upper and lower neutral thresholds to identify periods of consolidation or sideways movement in price.
Helps traders distinguish between trending and ranging market conditions for more accurate analysis.
Moving Average Smoothing:
Provides the option to apply moving average smoothing to aggregated RSI values for enhanced clarity and reduced noise.
Enables smoother visualization of RSI trends, facilitating easier interpretation for traders.
Visual Representation:
Plots the aggregated MTF RSI values on the price chart, allowing traders to visually assess market momentum and potential reversal points.
Utilizes color-coded backgrounds to indicate Long, Short, or Neutral conditions for quick identification.
Dynamic Table Display:
Displays trading signals alongside graphical indicators (rocket for Long, snowflake for Short, and star for Neutral) in a customizable table format.
Offers flexibility in table placement and size to accommodate user preferences.
How to Use:
Parameter Configuration:
Adjust the length parameter to fine-tune the sensitivity of the RSI calculation based on the desired timeframe and trading strategy.
Define overbought and oversold levels to identify potential reversal points in market trends.
Customize upper and lower neutral thresholds to differentiate between trending and ranging market conditions.
Interpretation:
Monitor the aggregated MTF RSI values plotted on the price chart for signals of overbought or oversold conditions.
Pay attention to color-coded backgrounds and graphical indicators in the table for actionable trading insights.
Trading Strategy:
Consider entering Long positions when the aggregated MTF RSI is above the upper neutral threshold, indicating potential bullish momentum.
Evaluate Short opportunities when the aggregated MTF RSI falls below the lower neutral threshold, signaling possible bearish momentum.
Exercise caution during Neutral conditions, as there may be uncertainty in market direction.
Risk Management:
Combine MTF RSI analysis with robust risk management strategies, including stop-loss and take-profit levels, to manage trading risks effectively.
Practice prudent risk management and trade within your risk tolerance to minimize potential losses.
Disclaimer
Trading in financial markets involves risk, and past performance is not indicative of future results. The use of the MTF RSI indicator does not guarantee profits or prevent losses. Traders should conduct their own analysis, exercise caution, and seek advice from qualified financial professionals before making trading decisions.
在腳本中搜尋"Table"
colorLabLibrary "colorLab"
The ColorLab library presents an essential solution for color optimization, leveraging color terms and philosophy. Through its capabilities, it furnishes the necessary versatility to attain optimal color representation and coherence by integrating functions.
tint_level(colour, level)
Determines a Tinted color
Parameters:
colour (color) : (series color) Pure color.
level (float) : (series float) Optional argument, default = 50. A level of tent color. 0 is entered color and 100 is white color.
Returns: (series color) A color Computed from a linear "Tint" gradient.
shade_level(colour, level)
Determines a Shaded color.
Parameters:
colour (color) : (series color) Pure color.
level (float) : (series float) Optional argument, default = 50. A level of tent color. 0 is entered color and 100 is Black color.
Returns: (series color) A color Computed from a linear "Shade" gradient.
tone_level(colour, level)
Determines a Tone color.
Parameters:
colour (color) : (series color) Pure color.
level (float) : (series float) Optional argument, default = 50. A level of tent color. 0 is entered color and 100 is Gray color.
Returns: (series color) A color Computed from a linear "Tone" gradient.
lightness_gradient(colour, value, bottom_value, top_value, bottom_lightness, top_lightness)
Determines a color from a "Lightness" gradient, based on the position of an entered value within a defined range.
Parameters:
colour (color) : (series color) Pure color.
value (float) : (series float) Value.
bottom_value (float) : (series float) Bottom Value.
top_value (float) : (series float) Top Value.
bottom_lightness (simple float) : (simple float) Optional argument, default = 70. Lightness Percentage. 100% is lightest and 0% is darkest
top_lightness (simple float) : (simple float) Optional argument, default = 30. Lightness Percentage. 100% is lightest and 0% is darkest
Returns: (series color) A color Computed a the linear "Lightness" gradient.
saturation_gradient(colour, value, bottom_value, top_value, bottom_saturated, top_saturated)
Determines a color from a "Saturation" gradient, based on the position of an entered value within a defined range.
Parameters:
colour (color) : (series color) Pure color.
value (float) : (series float) Value.
bottom_value (float) : (series float) Bottom Value.
top_value (float) : (series float) Top Value.
bottom_saturated (simple float) : (simple float) Optional argument, default = 15. Low Saturated Percentage.
top_saturated (simple float) : (simple float) Optional argument, default = 80. High Saturated Percentage.
Returns: (series color) A color Computed from a linear "Saturation" gradient.
hue_gradient(colour, value, bottom_value, top_value, bottom_hue, top_hue)
Determines a color from a "Hue" gradient, based on the position of an entered value within a defined range.
Parameters:
colour (color) : (series color) Pure color.
value (float) : (series float) Value.
bottom_value (float) : (series float) Bottom Value.
top_value (float) : (series float) Top Value.
bottom_hue (simple float) : (simple float) Optional argument, Default = 0. Low Hue is a degree where value in range 0 to 360 degrees.
top_hue (simple float) : (simple float) Optional argument, default = 300. High Hue is a degree where value in range 0 to 360 degrees.
Returns: (series color) A color Computed from a linear "Saturation" gradient.
opposColor(colour)
Generates the opposite color of inputted color.
Parameters:
colour (color) : (series color) Pure color.
Returns: (series color) An opposite color.
randColor(seed)
Generates a random color.
Parameters:
seed (simple int) : (simple int) Optional argument. With identifying seed, it will generate similar color sequence.
Returns: (series color) A random color.
bk_or_wh(colour, lightness)
Determines a white or back fits with an inputted color.
Parameters:
colour (color) : (series color) Pure color.
lightness (float) : (series float) Optional argument, default = 50. If the lightness percentage of inputted color is higher, the output is white; otherwise, it's black.
Returns: (series color) white or back color.
monochrome(colour, lightness, saturation)
Generates a monochromatic color scheme.
Parameters:
colour (color) : (series color) Pure color.
lightness (float) : (series float) Optional argument, default = NA. To custom Lightness percentage manually, 100% is lightest and 0% is darkest.
saturation (float) : (series float) Optional argument, default = NA. To custom Saturation percentage manually, 100% is highest and 0% is lowest saturated.
Returns: (tuple of two color series) .
complementary(colour)
Generates a complementary color scheme.
Parameters:
colour (color) : (series color) Pure color.
Returns: (tuple of two color series) .
analogous(colour)
Generates an analogous color scheme.
Parameters:
colour (color) : (series color) Pure color.
Returns: (tuple of three color series) .
triadic(colour)
Generates an Triadic color scheme.
Parameters:
colour (color) : (series color) Pure color.
Returns: (tuple of three color series) .
tetradic(colour)
Generates an Tetradic color scheme.
Parameters:
colour (color) : (series color) Main color.
Returns: (tuple of four color series) .
tst_scheme(colour, size, _type)
Generates an array of requested type (tint, shade, or tone) scheme colors.
Parameters:
colour (simple color) : (simple color) Pure color.
size (simple int) : (simple input) Number of elements in color array.
_type (simple string) : (simple string) Type of color scheme, possible input "tint", "shade", and "tone".
Returns: (simple array) An array contains elements of the requested type scheme colors.
lsh_scheme(colour, size, _type, topLevel, botLevel)
Generates an array of requested type (lightness, saturation or hue) scheme colors.
Parameters:
colour (simple color) : (simple color) Pure color.
size (simple int) : (simple input) Number of elements in color array.
_type (simple string) : (simple string) Type of color scheme, possible input "lightness", "saturation" and "hue".
topLevel (simple float) : (simple float) Optional argument, default = NA.
1. if "lightness", in a percentage where value in range 0 to 100, 100% lightest.
2. if "saturation", in a percentage where value in range 0 to 100, 100% highest saturated.
3. if "hue", in a degree where value in range 0 to 360 degrees.
botLevel (simple float) : (simple float) Optional argument, default = NA.
1. if "lightness", in a percentage where value in range 0 to 100, 0% darkest.
2. if "saturation", in a percentage where value in range 0 to 100, 0% lowest saturated.
3. if "hue", in a degree where value in range 0 to 360 degrees.
Returns: (simple array) An array contains elements of the requested type scheme colors.
display_color(colour, location)
Displays color including RGB and HSL.
Parameters:
colour (simple color) : (simple color) Pure color.
location (simple string) : (simple string) Optional argument, default = "top_right". cell location.
Returns: (simple table) A table cell contains RGB and HSL of entered color.
display_scheme(arrayColour, location)
Displays Scheme colors including RGB and HSL.
Parameters:
arrayColour (array)
location (simple string) : (simple string) Optional argument, default = "top_right". cell location.
Returns: (simple table) A table cells contain RGB and HSL of entered color.
PositionCalculatorPositionCalculator is a simple position calculator that helps to calculate position size or lot size based on custom settings. The calculation result is presented as a table on the chart screen.
Settings description:
MAIN SECTION:
Risk level in percentage
Account size
Entry price
Stop price
Take Profit
FOREX SETTINGS are in addition to the main:
- Exchange rate (default value = 1) - is applied if account currency is to other base currency.
If account currency is the base currency in the pair, the exchange rate should be 1.
- Reverse exchange rate flag - is used for pairs that don't contain account currency.
For example, the account currency is USD, trade pair is GBP/AUD
in this case exchange rate should be defined for AUD/USD in the corresponding field and
"Reverse exchange rate" flag should be set.
- Lot size - is the size of the lot that is used for specific currency (Should be taken from Broker,
the default value is 100 000)
TABLE SECTION
- Dark mode flag - defines the color of the table text according to the user color mode
(black/white)
- Position of table - the result table can be presented in four different places (top_left,
top_right, bottom_left, bottom_right)
TTrades Daily Bias [TFO]Inspired by @TTrades_edu video on daily bias, this indicator aims to develop a higher timeframe bias and collect data on its success rate. While a handful of concepts were introduced in said video, this indicator focuses on one specific method that utilizes previous highs and lows. The following description will outline how the indicator works using the daily timeframe as an example, but the weekly timeframe is also an included option that functions in the exact same manner.
On the daily timeframe, there are a handful of possible scenarios that we consider: if price closes above its previous day high (PDH), the following day's bias will target PDH; if price trades above its PDH but closes back below it, the following day's bias will target its previous day low (PDL).
Similarly, if price closes below its PDL, the following day's bias will target PDL. If price trades below its PDL but closes back above it, the following day's bias will target PDH.
If price trades as an inside bar that doesn't take either PDH or PDL, it will refer to the previous candle for bias. If the previous day closed above its open, it will target PDH and vice versa. If price trades as an outside bar that takes both PDH and PDL, but closes inside that range, no bias is assigned.
With a rigid framework in place, we can apply it to the charts and observe the results.
As shown above, each new day starts by drawing out the PDH and PDL levels. They start out as blue and turn red once traded through (these are the default colors which can be changed in the indicator's settings). The triangles you see are plotted to indicate the time at which PDH or PDL was traded through. This color scheme is also applied to the table in the top right; once a bias is determined, that cell's color starts out as blue and turns red once the level is traded through.
The table indicates the success rate of price hitting the levels provided by each period's bias, followed by the success rate of price closing through said levels after reaching them, as well as the sample size of data collected for each scenario.
In the above crude oil futures (CL1!) 30m chart, we can glean a lot of information from the table in the top right. First we may note that the "PDH" cell is red, which indicates that the current day's bias was targeting PDH and it has already traded through that level. We might also note that the "PWH" cell is blue, which indicates that the weekly bias is targeting the previous week high (PWH) but price has yet to reach that level.
As an example of how to read the table's data, we can look at the "PDH" row of the crude oil chart above. The sample size here indicates that there were 279 instances where the daily bias was assigned as PDH. From this sample size, 76.7% of instances did go on to trade through PDH, and only 53.7% of those instances actually went on to close through PDH after hitting that level.
Of course, greater sample sizes and therefore greater statistical significance may be derived from higher timeframe charts that may go further back in time. The amount of data you can observe may also depend on your TradingView plan.
If we don't want to see the labels describing why bias is assigned a certain way, we can simply turn off the "Show Bias Reasoning" option. Additionally, if we want to see a visual of what the daily and weekly bias currently is, we can plot that along the top and bottom of the chart, as shown above. Here I have daily bias plotted at the top and weekly bias at the bottom, where the default colors of green and red indicate that the bias logic is expecting price to draw towards the given timeframe's previous high or low, respectively.
For a compact table view that doesn't take up much chart space, simply deselect the "Show Statistics" option. This will only show the color-coded bias column for a quick view of what levels are being anticipated (more user-friendly for mobile and other smaller screens).
Alerts can be configured to indicate the bias for a new period, and/or when price hits its previous highs and lows. Simply enable the alerts you want from the indicator's settings and create a new alert with this indicator as the condition. There will be options to use "Any alert() function call" which will alert whatever is selected from the settings, or you can use more specific alerts for bullish/bearish bias, whether price hit PDH/PDL, etc.
Lastly, while the goal of this indicator was to evaluate the effectiveness of a very specific bias strategy, please understand that past performance does not guarantee future results.
Hull Trend and CompareThis Pine Script is a TradingView indicator called "Hull Trend and Compare." Its main purpose is to provide a visual representation of price trends and a comparative analysis between the selected symbol and another symbol chosen for comparison.
The key components and functionalities:
Price Trend Visualization:
1.Mode Selection:
Offers three modes: "Normal," "Linear," and "Heikin-Ashi."
Allows users to choose between a standard chart, linear regression, or Heikin-Ashi candlesticks.
2.Hull Moving Average (HullMA):
Calculates the HullMA for the selected mode and length.
Plots the HullMA on the chart.
Colors the background based on the relationship between HullMA and the closing price.
Generates buy and sell signals when the price crosses over or under the HullMA.
Symbol Comparison:
1.Comparison with Another Symbol:
Allows users to compare the selected symbol with another symbol (specified in the sym input).
Provides options to choose the method of calculation for the compared symbol (open, high, low, close).
Users can choose whether to use a different method of calculation (usem), adjust the length (len), and enable or disable comparison (usecmp).
Table Display:
1.Table for Technical Indicators:
Optionally displays a table showing technical indicators for both symbols.
Includes Stochastic Momentum, RSI (Relative Strength Index), and MACD (Moving Average Convergence Divergence).
Colors the table cells based on the direction of the indicators.
Users can customize the table's position, text size, and visibility (shwtbl).
Technical Indicators:
1.Stochastic Momentum (StochMoM):
Calculates %K and %D using the Stochastic formula.
Displays StochMoM values and colors cells based on bullish or bearish conditions.
2.Relative Strength Index (RSI):
Computes the RSI values and colors cells based on the direction of the trend.
3.MACD (Moving Average Convergence Divergence):
Calculates MACD and Signal line values.
Displays MACD values and colors cells based on bullish or bearish conditions.
Summary:
This script provides traders with a versatile tool for analyzing price trends, comparing symbols, and viewing key technical indicators. The combination of visual elements on the chart and a detailed table enhances the ability to make informed trading decisions.
This script is provided for educational purposes and does not constitute financial advice. Traders and investors should conduct their research and analysis before making any trading decisions.
Machine Learning: Multiple Logistic Regression
Multiple Logistic Regression Indicator
The Logistic Regression Indicator for TradingView is a versatile tool that employs multiple logistic regression based on various technical indicators to generate potential buy and sell signals. By utilizing key indicators such as RSI, CCI, DMI, Aroon, EMA, and SuperTrend, the indicator aims to provide a systematic approach to decision-making in financial markets.
How It Works:
Technical Indicators:
The script uses multiple technical indicators such as RSI, CCI, DMI, Aroon, EMA, and SuperTrend as input variables for the logistic regression model.
These indicators are normalized to create categorical variables, providing a consistent scale for the model.
Logistic Regression:
The logistic regression function is applied to the normalized input variables (x1 to x6) with user-defined coefficients (b0 to b6).
The logistic regression model predicts the probability of a binary outcome, with values closer to 1 indicating a bullish signal and values closer to 0 indicating a bearish signal.
Loss Function (Cross-Entropy Loss):
The cross-entropy loss function is calculated to quantify the difference between the predicted probability and the actual outcome.
The goal is to minimize this loss, which essentially measures the model's accuracy.
// Error Function (cross-entropy loss)
loss(y, p) =>
-y * math.log(p) - (1 - y) * math.log(1 - p)
// y - depended variable
// p - multiple logistic regression
Gradient Descent:
Gradient descent is an optimization algorithm used to minimize the loss function by adjusting the weights of the logistic regression model.
The script iteratively updates the weights (b1 to b6) based on the negative gradient of the loss function with respect to each weight.
// Adjusting model weights using gradient descent
b1 -= lr * (p + loss) * x1
b2 -= lr * (p + loss) * x2
b3 -= lr * (p + loss) * x3
b4 -= lr * (p + loss) * x4
b5 -= lr * (p + loss) * x5
b6 -= lr * (p + loss) * x6
// lr - learning rate or step of learning
// p - multiple logistic regression
// x_n - variables
Learning Rate:
The learning rate (lr) determines the step size in the weight adjustment process. It prevents the algorithm from overshooting the minimum of the loss function.
Users can set the learning rate to control the speed and stability of the optimization process.
Visualization:
The script visualizes the output of the logistic regression model by coloring the SMA.
Arrows are plotted at crossover and crossunder points, indicating potential buy and sell signals.
Lables are showing logistic regression values from 1 to 0 above and below bars
Table Display:
A table is displayed on the chart, providing real-time information about the input variables, their values, and the learned coefficients.
This allows traders to monitor the model's interpretation of the technical indicators and observe how the coefficients change over time.
How to Use:
Parameter Adjustment:
Users can adjust the length of technical indicators (rsi_length, cci_length, etc.) and the Z score length based on their preference and market characteristics.
Set the initial values for the regression coefficients (b0 to b6) and the learning rate (lr) according to your trading strategy.
Signal Interpretation:
Buy signals are indicated by an upward arrow (▲), and sell signals are indicated by a downward arrow (▼).
The color-coded SMA provides a visual representation of the logistic regression output by color.
Table Information:
Monitor the table for real-time information on the input variables, their values, and the learned coefficients.
Keep an eye on the learning rate to ensure a balance between model adjustment speed and stability.
Backtesting and Validation:
Before using the script in live trading, conduct thorough backtesting to evaluate its performance under different market conditions.
Validate the model against historical data to ensure its reliability.
MTF Trend Truth [Hubka]A Multi Time Frame Tend table that displays symbols trends for 6 selectable Time Intervals. In addition to the 6 first row color trends, the table also displays the direction of the last 2 candles in each Time Interval in the last 2 rows. This extra interval information displays price trend direction change or may add confluence if the price direction is the same.
The top row of the table has column header names described below:
(TL30) Column 1 - Trend Interval + The Trend Length selected (30 is default). Uses the last 30 candles to determine the trend for this interval. The length number is Editable.
(LCC) Column 2 - Last Closed Candle. This is the direction color of the second last candle on the chart.
(LOC) Column 3 - Last Open Candle. The is the current candle color direction of the last candle on the chart. This candle has not yet closed and will flicker as price changing state.
NOTE 1: (LOC) Column 3 - Last Open Candle - only displays correctly when the market is open and price is changing.
You can adjust the "Trend Length in Candles" which defaults to using the trend of the last 30 candles (TL30). Edit this setting to use any number from 5 to 99 candles back if you want display different trend lengths.
Having a visual table of the price trends from different time intervals can be beneficial to traders. For example... When observing that a symbol has many Bullish (green) price trends on several time intervals and the last 2 candles are also bullish it should afford a trader confluence to trade in that same bullish direction. However I am not a professional and do not offer any trading advice in any way. Use this indicator at your own risk.
NOTE 2: Time interval of 240 = 4 hours. Below 1 day number only is minutes.
Deep Volume [ChartPrime]Deep Volume is an indicator designed to give you high fidelity volume information. It does this by utilizing real time data provided by Tradingview to generate a wide range of metrics. We have included a convenient column chart to visualize the polarity of the volume, and a table to see the real time data. This works by utilizing pine script's varip feature to get information within candles. This is convenient as it allows users to get lower time frame information without the use of ltf functions. The result is seconds level data with out the need to be on a lower time frame chart. As a result, as you increase the time frame of the chart the updates will become slower. This is because Tradingview doesn't update the chart information as frequently on higher time frames as there isn't as much of a need.
This indicator works on real time data so to compensate for this we generate a simulated history based on candle structure. This helps in estimating the state of the moving average before the real time data starts. As a result the estimated history isn't as accurate and should be treated as such. That being said it is nice to have an estimation when the indicator is first loaded onto the chart.
Finally we have included a cumulative volume comparison that shows you how much volume there is compared to the average cumulative volume for the day. This metric utilizes a gradient to help you interpret the information at a glance. Low daily volume is represented with grays by default, while normal volume and greater is represented with a green color by default.
The table is partitioned into two sections; tick data, and average data. On the left you will see color coded information based on the direction of the move. On the left, the information is color coded based on the average movement direction. You can control how much information is displayed in the table within the indicators settings. This is defaulted to 20 but it can be as long or short as you like. Every new candle open the far left of the table you will see a 🗘 symbol and at the start of a new session you will see a 🗓 symbol.
The included metrics are as follows:
Time: This displays the time of the real time data update.
Time Delta: This displays the elapsed time between updates.
Order Size: This is the volume times the price change between updates.
Volume: This is the volume change for the update.
Price Change: This is the change in price since the last update.
Price: This is the price of the asset at the time of the update.
Speed of Tape: This is the average time delta. Use this to see how quickly the market is moving.
Average Order Size: This is the average order size.
Average Volume: This is the average volume
Volume Ratio: This the the ratio of bullish to bearish volume as expressed by a percent. 100% is all bullish within the window and -100% is all bearish within the window.
Average Price Change: This is the average price change within the window.
Sensitivity: This is a volatility metric designed to show you the price change per 1 volume unit.
Relative Sensitivity: This is a volatility metric designed to show you the average price change per average volume.
Enjoy
Candlesticks Patterns [TradingFinder] Pin Bar Hammer Shooting🔵 Introduction
Truly, the title "TradingView" doesn't do justice to this excellent website, and that's why I've written about its crucial aspect. In this indicator, the identification of all candlesticks known as "Pin bars" is explored.
These candlesticks include the following:
- Hammer : A Pin bar formed at the end of a bearish trend, with its body being either bearish or bullish.
- Shooting Star : Formed at the end of a bullish trend, with its body being either bearish or bullish.
- Hanging Man : Formed during an upward trend, characterized by a candle with a lower shadow.
- Inverted Hammer : Formed during a downward trend, characterized by a candle with an upper shadow.
🟣 Important : For ease of use, we refer to these four candlestick patterns as Pin Bars and categorize them into the main friends "Bullish" and "Bearish."
🟣 Important : In all sources, Hanging Man and Inverted Hammer are referred to as "Reversal candles." However, in reality, whenever they appear after breaking a significant area (Break Out), we expect these candles to signal a continuation of the trend and confirmation in the direction of the trend.
🟣 Important : One of the best signs of market manipulation and entry by market giants is the "Ice Berg." So, it provides one of the best trading opportunities.
🔵 Reason for Creation
Many traders, especially volume traders, use Pin bars as confirmation and enter the market after their occurrence. In this indicator, all four patterns are identified and displayed in a colored candle format, using "triangle" and "circle."
When they are evident on the chart, directly or by drawing a horizontal line, they give us good alerts for reversal or continuation areas.
🔵 Information Table
1. Red circle: Pin bars formed in a downtrend.
2. Blue circle: Bullish Pin bars formed in an uptrend.
3. Black triangle: Bearish Pin bar candle in an uptrend.
4. Blue triangle: Bullish Pin bar candle in a downtrend.
🔵 Settings
Trend Detection Period: A special feature that considers smaller or larger fluctuations. If individual price waves need to be considered, use lower numbers; if the overall trend direction is desired, use larger numbers (e.g., 5-7 or higher). This precisely sets the Zigzag or Pivot format, not displayed but considered in the indicator calculation.
Trend Effect : By changing the Trend Effect status to "Off," all Pin bars, whether bullish or bearish, are displayed regardless of the current market trend. If the status remains "On," only Pin bars in the direction of the main market trend are shown.
🟣 Important : Black triangles "Number 3" and blue triangles "Number 4" displayed in the information table section, as explained in the "Information Table" section.
Show Bullish Pin Bar : When set to "Yes," displays bullish Pin bars; when set to "No," does not display them.
Show Bearish Pin Bar : When set to "Yes," allows the display of bearish Pin bars; when set to "No," does not display them.
Bullish Pin Bar Setting : Using the "Ratio Lower Shadow to Body" and "Ratio Lower Shadow to Higher Shadow" settings, you can customize your bullish Pin bar candles. Larger numbers impose stricter conditions for identifying bullish Pin bars.
Bearish Pin Bar Setting : Using the "Ratio Higher Shadow to Body" and "Ratio Higher Shadow to Lower Shadow" settings, you can customize your bearish Pin bar candles. Larger numbers impose stricter conditions for identifying bearish Pin bars.
Show Info Table : Allows the display or non-display of the information table (located at the bottom of the page and on the right side).
🔵 How to Use
At the end of a downtrend, look for "Hammer" candles, easily identified one by one.
To identify the "Shooting Star" candle pattern at the end of an uptrend; expect a price reversal in the downtrend.
For trades in the downward direction, wait for the formation of an "Inverted Hammer" Pin bar.
And finally, in an uptrend, where a "Hanging Man" candle can form.
🔵 Features
For better visualization, triangles and circles are used above the candles, but they can be easily removed. All Pin bars are displayed in color with the following meanings:
- Black-bodied candle: Inverted Hammer
- Turquoise blue candle: Hammer
- Pink candle: Hanging Man
- Red candle: Shooting Star
🟣 Important : The capability to detect the powerful two-candle pattern "Tweezer Top" at the end of an uptrend emerges by forming two "Shooting Star" candles side by side.
Similarly, the two-candle pattern "Tweezer Bottom" is created at the end of a downtrend with the formation of two "Hammer" candles side by side. To identify the "Tweezer" pattern, make sure the settings in the "Trend Effect" section are set to "Off."
🟣 Auxiliary Indicators
During the start of trading sessions such as Asia, London, and New York, where the highest liquidity exists, alongside this indicator, you can use the Trading Sessions indicator.
Sessions
The combination of Order Blocks "-OB" and "+OB" with candles is one of the best trading methods. The indicator that identifies order blocks, along with this indicator, can yield remarkable results in the success of Pin bar candles.
Order Blocks Finder
The trading toolset "TFlab" presents this indicator. To benefit from all indicators, we invite you to visit our page " TFlab Scripts ".
MTF MA ChaserThis is my own Moving Averages analysis tool, if anyone else will find it useful.
How It Works:
Upon adding the indicator to the chart, it calculates the selected Moving Averages for the defined timeframes. The main chart will display these MAs according to the user's chosen timeframe and type (default is the chart timeframe). Simultaneously, a table is generated on the chart, showcasing the percentage difference of the current price from these MAs across various timeframes. This table is color-coded to indicate different market states, such as proximity to MA/price crossovers.
Key Features:
Multi-Timeframe Analysis: Users can view Moving Average data from different timeframes (5m, 15m, 1H, 4H, 1D, 1W) on their current chart. This allows for quick and efficient analysis without the need to switch between different timeframe charts.
Variety of Moving Averages: The indicator supports different types of MAs, including EMA (Exponential Moving Average), SMA (Simple Moving Average), and others, providing flexibility in analysis.
Realtime Data Option: Users can choose to display real-time data for MAs, enabling them to make timely trading decisions based on the most current market information.
Customizable Display: The indicator features a customizable table that displays the MA values and their differences from the current price in percentages. Users can show or hide this table and adjust its position and text size according to their preference.
Limited Timeframe Support: The indicator is designed to work on equal or higher timeframes relative to the current chart's timeframe. It specifically supports 5-minute (5m), 15-minute (15m), 1-hour (1H), 4-hour (4H), 1-day (1D), and 1-week (1W) timeframes. This means if your current chart is set to a 1-hour timeframe, the indicator will only show MA data for 1-hour and longer timeframes (4H, 1D, 1W), but not for shorter ones like 5m or 15m.
Yet, you can go down to a 1 - 4 minute chart for scalping purposes if necessary.
Blockunity Drawdown Visualizer (BDV)Monitor the drawdown (value of the drop between the highest and lowest points) of assets and act accordingly to reduce your risk.
Introducing BDV, the incredibly intuitive metric that visualizes asset drawdowns in the most visually appealing manner. With its color gradient display, BDV allows you to instantly grasp the state of retracement from the asset’s highest price level. But that’s not all – you have the option to display the oscillator’s colorization directly on your chart, enhancing your analysis even further.
The Idea
The goal is to provide the community with the best and most complete tool for visualizing the Drawdown of any asset.
How to Use
Very simple to use, the indicator takes the form of an oscillator, with colors ranging from red to green depending on the Drawdown level. A table summarizes several key data points.
Elements
On the oscillator, you'll find a line with a color gradient showing the asset's Drawdown. The flatter line represents the Max Drawdown (the lowest value reached).
In addition, the table summarizes several data:
The asset's All Time High (ATH).
Current Drawdown.
The Max Drawdown that has been reached.
Settings
First of all, you can activate a "Bar Color" in the settings (You must also uncheck "Borders" and "Wick" in your Chart Settings):
You can display Fibonacci levels on the oscillator. You'll see that levels can be relevant to drawdown. The color of the levels is also configurable.
In the calculation parameters, you can first choose between taking the High of the candles or the Close. By default this is Close, but if you change the parameter to High, the indication next to ATH in the table will change, and you'll see that the values in the table will be affected.
The second calculation parameter (Start Date) lets you modify the effective start date of the ATH, which will affect the drawdown level. Here's an example:
How it Works
First, we calculate the ATH:
var bdv_top = bdv_source
bdv_top := na(bdv_top ) ? bdv_source : math.max(bdv_source, bdv_top )
Then the drawdown is calculated as follows:
bdv = ((bdv_source / bdv_top) * 100) - 100
Then the max drawdown :
bdv_max = bdv
bdv_max := na(bdv_max ) ? bdv : math.min(bdv, bdv_max )
Trailing Candle CounterThis script is for users who like to monitor and/or analyze a specified number of candles within the time the last candle closed. Al Brooks fans may enjoy this indicator.
While searching for an indicator that already had this functionality I found a script by @Steversteves which counted the candles/percentage within a set period of time. This let me know it could be done. In honor of Steversteves I kept the table the same colors - although, I added code to allow the table to be modified.
When opening the script the user will need to set a begin/end time to analyze – don't worry as you can set anything you want and it can be altered after the script is running.
This image shows the settings for a user to be able to set a begin time and have the indicator count all the candles from that time through to the current time and update at each candle close. The user can move the beginning time as needed. This is useful if the user is monitoring the length of a trend, wedge, channel, etc.:
If the indicator is in view and the beginning time is on the chart the user can select the table to view/select/change the beginning time.
This image shows the settings for a user to monitor the last set of candles since the last candle closed. This is useful if the user expects a pullback after a set number of candles or expects some alteration in a trend within a set number of candles. In this case the user setting is to watch five candles:
This setting is the reason for my creation of this indicator. This image shows the settings for a user to monitor two sets of candles. In this case an additional set of five candles has been added to the original set of five candles:
If one is watching for movements to last a certain number of bars when the first bar of the movement is exiting the background color the user can expect a change in the price momentum.
This image shows the same functionality as in Steversteves original script (although, I used almost none of his original code). The user can set a begin time and end time to analyze the number or red/green candles and the percentage of each within that time period.
If the indicator is in view and the beginning and end times are on the chart the user can select the table to view/select/change the times.
I hope you find this useful and if you have any questions/comments/suggestions for improvement please comment below.
Linear Reg CandlesThe provided Pine Script is a TradingView script for creating a technical analysis indicator called "Humble LinReg Candles." This script includes features such as linear regression for open, high, low, and close prices, signal smoothing with simple or exponential moving averages, and a trailing stop based on Average True Range (ATR). Additionally, the script contains a screener section to display signals for a list of specified symbols.
Here is a breakdown of the script:
Indicator Settings:
It defines various input parameters such as signal smoothing length, linear regression settings, and options for using simple moving averages.
Linear regression is applied to open, high, low, and close prices based on user-defined settings.
ATR Trailing Stop:
It calculates the Average True Range (ATR) and uses it to determine a trailing stop for buy and sell signals.
Signals are generated based on whether the close price is above or below the ATR trailing stop.
Plotting:
The script plots the calculated signal on the chart using the plot function.
Buy and Sell Conditions:
Buy and sell conditions are defined based on the relationship between the close price and the ATR trailing stop.
Plot shapes and bar colors are used to visually represent buy and sell signals on the chart.
Alerts:
Alerts are triggered when buy or sell conditions are met.
Screener Section:
The script defines a screener section to display a watchlist of symbols with long and short signals.
The watchlist includes a set of predefined symbols with corresponding long and short signals.
Table Theme Settings:
The script allows customization of the table theme, including background color, frame color, and text color.
The size and location of the table on the chart can also be customized.
Screener Function:
A function getSignal is defined to determine long and short signals for each symbol in the watchlist.
The getSym function is used to extract the symbol name from the symbol string.
Dashboard Creation:
The script creates a table (dashboard) to display long and short signals for the symbols in the watchlist.
The table includes headers for "Long Signal" and "Short Signal" and lists the symbols with corresponding signals.
Overall, the script combines technical analysis indicators and a screener to help traders identify potential buy and sell signals for a set of specified symbols.
41-80 F&O MA ScreenerThis Pine Script is a TradingView indicator named "41-80-F&O EMA Screener." It calculates and displays four moving averages (MA1, MA2, MA3, and MA4) and the Relative Strength Index (RSI) on a chart. The script generates buy and short signals based on certain conditions involving the moving averages and RSI. Additionally, it includes a screener section that displays a table of symbols with buy and short signals.
Here's a breakdown of the key components:
Moving Averages (MAs):
MA1: Simple Moving Average with length len1 (green line).
MA2: Simple Moving Average with length len2 (red line).
MA3: Simple Moving Average with length len3 (orange line).
MA4: Simple Moving Average with length len4 (black line).
Relative Strength Index (RSI):
The RSI is calculated with a length of rsiLengthInput and a source specified by rsiSourceInput.
Conditions for Buy and Short Signals:
Buy Signal: When MA1 is above MA2 and MA3, and RSI is above 50.
Short Signal: When MA1 is below MA2 and MA3, and RSI is below 50.
Signal Plots:
Buy signals are plotted as "B" below the corresponding bars.
Short signals are plotted as "S" above the corresponding bars.
Background Coloring:
Bars are colored based on their opening and closing prices.
Screener Section:
The script defines a watchlist (gticker) with 40 predefined symbols.
It then calls the getSignal function for each symbol to identify buy and short signals.
The results are displayed in a table with long signals in green and short signals in red.
Table Theming:
The script allows customization of the table's background, frame, and text colors, as well as the text size.
The table's location on the chart can also be customized.
Please note that the script uses the Mozilla Public License 2.0. Make sure to review and comply with the terms of this license if you plan to use or modify the script.
1-40-F&O EMA ScreenerThis Pine Script is a TradingView indicator named "1-40-F&O EMA Screener." It calculates and displays four moving averages (MA1, MA2, MA3, and MA4) and the Relative Strength Index (RSI) on a chart. The script generates buy and short signals based on certain conditions involving the moving averages and RSI. Additionally, it includes a screener section that displays a table of symbols with buy and short signals.
Here's a breakdown of the key components:
Moving Averages (MAs):
MA1: Simple Moving Average with length len1 (green line).
MA2: Simple Moving Average with length len2 (red line).
MA3: Simple Moving Average with length len3 (orange line).
MA4: Simple Moving Average with length len4 (black line).
Relative Strength Index (RSI):
The RSI is calculated with a length of rsiLengthInput and a source specified by rsiSourceInput.
Conditions for Buy and Short Signals:
Buy Signal: When MA1 is above MA2 and MA3, and RSI is above 50.
Short Signal: When MA1 is below MA2 and MA3, and RSI is below 50.
Signal Plots:
Buy signals are plotted as "B" below the corresponding bars.
Short signals are plotted as "S" above the corresponding bars.
Background Coloring:
Bars are colored based on their opening and closing prices.
Screener Section:
The script defines a watchlist (gticker) with 40 predefined symbols.
It then calls the getSignal function for each symbol to identify buy and short signals.
The results are displayed in a table with long signals in green and short signals in red.
Table Theming:
The script allows customization of the table's background, frame, and text colors, as well as the text size.
The table's location on the chart can also be customized.
ATR Based Stoploss - TakeProfit [CharmyDexter]
This script combines the power of Average True Range (ATR) and a Moving Average (MA) to dynamically set stop-loss and take-profit levels. It introduces a volatility surge condition and includes a risk management table for comprehensive trade insights.
1) **Originality:**
- This script is original in its approach to combining Average True Range (ATR) with a Moving Average (MA) to create a dynamic stop-loss and take-profit strategy. The addition of a volatility surge condition and the inclusion of a risk management table further contribute to its uniqueness.
2) **Functionality:**
- The script aims to provide traders with a dynamic stop-loss and take-profit strategy based on ATR, incorporating a volatility surge condition and a moving average. The risk management table displays crucial information, including the fund size, potential profit/loss, ATR values, and risk.
3) **Operation:**
- The script uses ATR to calculate volatility, identifying surges in volatility. It adjusts the stop-loss and take-profit levels based on the average of ATR during these surge periods. The moving average acts as a trend indicator, and the script dynamically adjusts stop-loss and take-profit levels accordingly.
4) **Usage:**
- Traders can use this script by applying it to their preferred financial instrument's chart. The script automatically plots the moving average and dynamically adjusts stop-loss and take-profit levels based on ATR and volatility surges. Users can observe the levels on the chart for potential trade management.
5) **Concepts:**
- The script employs concepts of ATR for volatility, moving average for trend identification, and a dynamic adjustment mechanism during volatility surges. Risk management is incorporated by calculating potential profit/loss percentages based on user-defined risk.
6) **Mashup Explanation:**
- The script combines ATR, moving average, and volatility conditions to create a comprehensive strategy. ATR determines the market's volatility, the moving average serves as a trend indicator, and volatility surges trigger dynamic adjustments to stop-loss and take-profit levels. The risk management table enhances the script's utility.
7) **Line Descriptions:**
- Blue Line (Moving Average): Indicates the trend direction.
- Lime Line (Long Take Profit): Represents the level for taking profit in a long position.
- Maroon Line (Short Take Profit): Represents the level for taking profit in a short position.
- Fuchsia Line (Short Stop Loss): Represents the level for setting a stop loss in a short position.
- Orange Line (Long Stop Loss): Represents the level for setting a stop loss in a long position.
8) **Line Usage:**
- Use the blue line for trend identification.
- When taking long positions, the close should be above the blue line.
- For long positions, the lime line is a potential take-profit level, and the orange line is a potential stop-loss level.
- For short positions, the maroon line is a potential take-profit level, and the fuchsia line is a potential stop-loss level.
- The risk management table provides insights into fund size, potential profit/loss, ATR values, and risk.
Note: The profit/loss calculations in this script may not be entirely accurate due to factors like market execution. Market execution may not always occur at the exact levels specified by the script due to slippage or delays in order processing. This can impact the realized profit or loss compared to the calculated levels.
It is crucial to note that this ATR Based Stop-loss - Take-Profit indicator is merely one tool among many that traders can employ to establish trading targets. Additional technical indicators are essential for taking trades and making informed decisions.
Commented-out sections for alerts and shape plotting are provided, allowing for visual and auditory notifications if desired.
It's crucial for traders to be aware of these factors and use the script as a tool within a broader trading strategy. Additionally, regular monitoring and adjustments based on real-time market conditions are recommended to enhance the accuracy of profit/loss assessments.
A_Traders_Edge__LibraryLibrary "A_Traders_Edge__Library"
- A Trader's Edge (ATE)_Library was created to assist in constructing Market Overview Scanners (MOS)
LabelLocation(_firstLocation)
This function is used when there's a desire to print an assets ALERT LABELS at a set location on the scale that will
NOT change throughout the progression of the script. This is created so that if a lot of alerts are triggered, they
will stay relatively visible and not overlap each other. Ex. If you set your '_firstLocation' parameter as 1, since
there are a max of 40 assets that can be scanned, the 1st asset's location is assigned the value in the '_firstLocation' parameter,
the 2nd asset's location is the (1st asset's location+1)...and so on. If your first location is set to 81 then
the 1st asset is 81 and 2nd is 82 and so on until the 40th location = 120(in this particular example).
Parameters:
_firstLocation (simple int) : (simple int)
Optional(starts at 1 if no parameter added).
Location that you want the first asset to print its label if is triggered to do so.
ie. loc2=loc1+1, loc3=loc2+1, etc.
Returns: Returns 40 output variables each being a different location to print the labels so that an asset is asssigned to
a particular location on the scale. Regardless of if you have the maximum amount of assets being screened (40 max), this
function will output 40 locations… So there needs to be 40 variables assigned in the tuple in this function. What I
mean by that is you need to have 40 output location variables within your tuple (ie. between the ' ') regarless of
if your scanning 40 assets or not. If you only have 20 assets in your scripts input settings, then only the first 20
variables within the ' ' Will be assigned to a value location and the other 20 will be assigned 'NA', but their
variables still need to be present in the tuple.
SeparateTickerids(_string)
You must form this single tickerID input string exactly as described in the scripts info panel (little gray 'i' that
is circled at the end of the settings in the settings/input panel that you can hover your cursor over this 'i' to read the
details of that particular input). IF the string is formed correctly then it will break up this single string parameter into
a total of 40 separate strings which will be all of the tickerIDs that the script is using in your MO scanner.
Parameters:
_string (simple string) : (string)
A maximum of 40 Tickers (ALL joined as 1 string for the input parameter) that is formulated EXACTLY as described
within the tooltips of the TickerID inputs in my MOS Scanner scripts:
assets = input.text_area(tIDset1, title="TickerID (MUST READ TOOLTIP)", tooltip="Accepts 40 TICKERID's for each
copy of the script on the chart. TEXT FORMATTING RULES FOR TICKERID'S:
(1) To exclude the EXCHANGE NAME in the Labels, de-select the next input option.
(2) MUST have a space (' ') AFTER each TickerID.
(3) Capitalization in the Labels will match cap of these TickerID's.
(4) If your asset has a BaseCurrency & QuoteCurrency (ie. ADAUSDT ) BUT you ONLY want Labels
to show BaseCurrency(ie.'ADA'), include a FORWARD SLASH ('/') between the Base & Quote (ie.'ADA/USDT')", display=display.none)
Returns: Returns 40 output variables of the different strings of TickerID's (ie. you need to output 40 variables within the
tuple ' ' regardless of if you were scanning using all possible (40) assets or not.
If your scanning for less than 40 assets, then once the variables are assigned to all of the tickerIDs, the rest
of the 40 variables in the tuple will be assigned "NA".
TickeridForLabelsAndSecurity(_includeExchange, _ticker)
This function accepts the TickerID Name as its parameter and produces a single string that will be used in all of your labels.
Parameters:
_includeExchange (simple bool) : (bool)
Optional(if parameter not included in function it defaults to false ).
Used to determine if the Exchange name will be included in all labels/triggers/alerts.
_ticker (simple string) : (string)
For this parameter, input the varible named '_coin' from your 'f_main()' function for this parameter. It is the raw
Ticker ID name that will be processed.
Returns: ( )
Returns 2 output variables:
1st ('_securityTickerid') is to be used in the 'request.security()' function as this string will contain everything
TV needs to pull the correct assets data.
2nd ('lblTicker') is to be used in all of the labels in your MOS as it will only contain what you want your labels
to show as determined by how the tickerID is formulated in the MOS's input.
InvalidTID(_tablePosition, _stackVertical, _close, _securityTickerid, _invalidArray)
This is to add a table in the middle right of your chart that prints all the TickerID's that were either not formulated
correctly in the '_source' input or that is not a valid symbol and should be changed.
Parameters:
_tablePosition (simple string) : (string)
Optional(if parameter not included, it defaults to position.middle_right). Location on the chart you want the table printed.
Possible strings include: position.top_center, position.top_left, position.top_right, position.middle_center,
position.middle_left, position.middle_right, position.bottom_center, position.bottom_left, position.bottom_right.
_stackVertical (simple bool) : (bool)
Optional(if parameter not included, it defaults to true). All of the assets that are counted as INVALID will be
created in a list. If you want this list to be prited as a column then input 'true' here.
_close (float) : (float)
If you want them printed as a single row then input 'false' here.
This should be the closing value of each of the assets being tested to determine in the TickerID is valid or not.
_securityTickerid (string) : (string)
Throughout the entire charts updates, if a '_close' value is never regestered then the logic counts the asset as INVALID.
This will be the 1st TickerID varible (named _securityTickerid) outputted from the tuple of the TickeridForLabels()
function above this one.
_invalidArray (string ) : (array string)
Input the array from the original script that houses all of the invalidArray strings.
Returns: (na)
Returns a table with the screened assets Invalid TickerID's. Table draws automatically if any are Invalid, thus,
no output variable to deal with.
LabelSizes(_barCnt, _lblSzRfrnce)
This function sizes your Alert Trigger Labels according to the amount of Printed Bars the chart has printed within
a set time period, while also keeping in mind the smallest relative reference size you input in the 'lblSzRfrnceInput'
parameter of this function. A HIGHER % of Printed Bars(aka...more trades occurring for that asset on the exchange),
the LARGER the Name Label will print, potentially showing you the better opportunities on the exchange to avoid
exchange manipulation liquidations.
*** SHOULD NOT be used as size of labels that are your asset Name Labels next to each asset's Line Plot...
if your MOS includes these as you want these to be the same size for every asset so the larger ones dont cover the
smaller ones if the plots are all close to each other ***
Parameters:
_barCnt (float) : (float)
Get the 1st variable('barCnt') from the 'PrintedBarCount' function's tuple and input it as this functions 1st input
parameter which will directly affect the size of the 2nd output variable ('alertTrigLabel') outputted by this function.
_lblSzRfrnce (string) : (string)
Optional(if parameter not included, it defaults to size.small). This will be the size of the 1st variable outputted
by this function ('assetNameLabel') BUT also affects the 2nd variable outputted by this function.
Returns: ( )
Returns 2 variables:
1st output variable ('AssetNameLabel') is assigned to the size of the 'lblSzRfrnceInput' parameter.
2nd output variable('alertTrigLabel') can be of variying sizes depending on the 'barCnt' parameter...BUT the smallest
size possible for the 2nd output variable ('alertTrigLabel') will be the size set in the 'lblSzRfrnceInput' parameter.
AssetColor()
This function is used to assign 40 different colors to 40 variables to be used for the different labels/plots.
Returns: Returns 40 output variables each with a different color assigned to them to be used in your plots & labels.
Regardless of if you have the maximum amount of assets your scanning(40 max) or less,
this function will assign 40 colors to 40 variables that you have between the ' '.
PrintedBarCount(_time, _barCntLength, _barCntPercentMin)
The Printed BarCount Filter looks back a User Defined amount of minutes and calculates the % of bars that have printed
out of the TOTAL amount of bars that COULD HAVE been printed within the same amount of time.
Parameters:
_time (int) : (int)
The time associated with the chart of the particular asset that is being screened at that point.
_barCntLength (int) : (int)
The amount of time (IN MINUTES) that you want the logic to look back at to calculate the % of bars that have actually
printed in the span of time you input into this parameter.
_barCntPercentMin (int) : (int)
The minimum % of Printed Bars of the asset being screened has to be GREATER than the value set in this parameter
for the output variable 'bc_gtg' to be true.
Returns: ( )
Returns 2 outputs:
1st is the % of Printed Bars that have printed within the within the span of time you input in the '_barCntLength' parameter.
2nd is true/false according to if the Printed BarCount % is above the threshold that you input into the '_barCntPercentMin' parameter.
RCI(_rciLength, _source, _interval)
You will see me using this a lot. DEFINITELY my favorite oscillator to utilize for SO many different things from
timing entries/exits to determining trends.Calculation of this indicator based on Spearmans Correlation.
Parameters:
_rciLength (int) : (int)
Amount of bars back to use in RCI calculations.
_source (float) : (float)
Source to use in RCI calculations (can use ANY source series. Ie, open,close,high,low,etc).
_interval (int) : (int)
Optional(if parameter not included, it defaults to 3). RCI calculation groups bars by this amount and then will.
rank these groups of bars.
Returns: (float)
Returns a single RCI value that will oscillates between -100 and +100.
RCIAVG(firstLength, _amtBtLengths, _rciSMAlen, _source, _interval)
20 RCI's are averaged together to get this RCI Avg (Rank Correlation Index Average). Each RCI (of the 20 total RCI)
has a progressively LARGER Lookback Length. Though the RCI Lengths are not individually adjustable,
there are 2 factors that ARE:
(1) the Lookback Length of the 1st RCI and
(2) the amount of values between one RCI's Lookback Length and the next.
*** If you set 'firstLength' to it's default of 200 and '_amtBtLengths' to it's default of 120 (aka AMOUNT BETWEEN LENGTHS=120)...
then RCI_2 Length=320, RCI_3 Length=440, RCI_4 Length=560, and so on.
Parameters:
firstLength (int) : (int)
Optional(if parameter is not included when the function is called, then it defaults to 200).
This parameter is the Lookback Length for the 1st RCI used in the RCI Avg.
_amtBtLengths (int) : (int)
Optional(if parameter not included when the function is called, then it defaults to 120).
This parameter is the value amount between each of the progressively larger lengths used for the 20 RCI's that
are averaged in the RCI Avg.
***** BEWARE ***** Too large of a value here will cause the calc to look back too far, causing an error(thus the value must be lowered)
_rciSMAlen (int) : (int)
Unlike the Single RCI Function, this function smooths out the end result using an SMA with a length value that is this parameter.
_source (float) : (float)
Source to use in RCI calculations (can use ANY source series. Ie, open,close,high,low,etc).
_interval (int) : (int)
Optional(if parameter not included, it defaults to 3). Within the RCI calculation, bars next to each other are grouped together
and then these groups are Ranked against each other. This parameter is the number of adjacent bars that are grouped together.
Returns: (float)
Returns a single RCI value that is the Avg of many RCI values that will oscillate between -100 and +100.
PercentChange(_startingValue, _endingValue)
This is a quick function to calculate how much % change has occurred between the '_startingValue' and the '_endingValue'
that you input into the function.
Parameters:
_startingValue (float) : (float)
The source value to START the % change calculation from.
_endingValue (float) : (float)
The source value to END the % change caluclation from.
Returns: Returns a single output being the % value between 0-100 (with trailing numbers behind a decimal). If you want only
a certain amount of numbers behind the decimal, this function needs to be put within a formatting function to do so.
Rescale(_source, _oldMin, _oldMax, _newMin, _newMax)
Rescales series with a known '_oldMin' & '_oldMax'. Use this when the scale of the '_source' to
rescale is known (bounded).
Parameters:
_source (float) : (float)
Source to be normalized.
_oldMin (int) : (float)
The known minimum of the '_source'.
_oldMax (int) : (float)
The known maximum of the '_source'.
_newMin (int) : (float)
What you want the NEW minimum of the '_source' to be.
_newMax (int) : (float)
What you want the NEW maximum of the '_source' to be.
Returns: Outputs your previously bounded '_source', but now the value will only move between the '_newMin' and '_newMax'
values you set in the variables.
Normalize_Historical(_source, _minimumLvl, _maximumLvl)
Normalizes '_source' that has a previously unknown min/max(unbounded) determining the max & min of the '_source'
FROM THE ENTIRE CHARTS HISTORY. ]
Parameters:
_source (float) : (float)
Source to be normalized.
_minimumLvl (int) : (float)
The Lower Boundary Level.
_maximumLvl (int) : (float)
The Upper Boundary Level.
Returns: Returns your same '_source', but now the value will MOSTLY stay between the minimum and maximum values you set in the
'_minimumLvl' and '_maximumLvl' variables (ie. if the source you input is an RSI...the output is the same RSI value but
instead of moving between 0-100 it will move between the maxand min you set).
Normailize_Local(_source, _length, _minimumLvl, _maximumLvl)
Normalizes series with previously unknown min/max(unbounded). Much like the Normalize_Historical function above this one,
but rather than using the Highest/Lowest Values within the ENTIRE charts history, this on looks for the Highest/Lowest
values of '_source' within the last ___ bars (set by user as/in the '_length' parameter. ]
Parameters:
_source (float) : (float)
Source to be normalized.
_length (int) : (float)
The amount of bars to look back to determine the highest/lowest '_source' value.
_minimumLvl (int) : (float)
The Lower Boundary Level.
_maximumLvl (int) : (float)
The Upper Boundary Level.
Returns: Returns a single output variable being the previously unbounded '_source' that is now normalized and bound between
the values used for '_minimumLvl'/'_maximumLvl' of the '_source' within the user defined lookback period.
SessionVolumeProfileLibrary "SessionVolumeProfile"
Analyzes price & volume during regular trading hours to provide a session volume profile analysis. The primary goal of this library is to provide the developer with three values: the value area high, low and the point of control. The library also provides methods for rendering the value areas and histograms. To learn more about this library and how you can use it, click on the website link in my profile where you will find a blog post with detailed information.
debug(vp, position)
Helper function to write some information about the supplied SVP object to the screen in a table.
Parameters:
vp (Object) : The SVP object to debug
position (string) : The position.* to place the table. Defaults to position.bottom_center
getLowerTimeframe()
Depending on the timeframe of the chart, determines a lower timeframe to grab volume data from for the analysis
Returns: The timeframe string to fetch volume for
get(volumeProfile, lowerTimeframeHigh, lowerTimeframeLow, lowerTimeframeVolume)
Populated the provided SessionVolumeProfile object with vp data on the session.
Parameters:
volumeProfile (Object) : The SessionVolumeProfile object to populate
lowerTimeframeHigh (float ) : The lower timeframe high values
lowerTimeframeLow (float ) : The lower timeframe low values
lowerTimeframeVolume (float ) : The lower timeframe volume values
drawPriorValueAreas(todaySessionVolumeProfile, extendYesterdayOverToday, showLabels, labelSize, pocColor, pocStyle, pocWidth, vahlColor, vahlStyle, vahlWidth, vaColor)
Given a SessionVolumeProfile Object, will render the historical value areas for that object.
Parameters:
todaySessionVolumeProfile (Object) : The SessionVolumeProfile Object to draw
extendYesterdayOverToday (bool) : Defaults to true
showLabels (bool) : Defaults to true
labelSize (string) : Defaults to size.small
pocColor (color) : Defaults to #e500a4
pocStyle (string) : Defaults to line.style_solid
pocWidth (int) : Defaults to 1
vahlColor (color) : The color of the value area high/low lines. Defaults to #1592e6
vahlStyle (string) : The style of the value area high/low lines. Defaults to line.style_solid
vahlWidth (int) : The width of the value area high/low lines. Defaults to 1
vaColor (color) : The color of the value area background. Defaults to #00bbf911)
drawHistogram(volumeProfile, bgColor, showVolumeOnHistogram)
Given a SessionVolumeProfile object, will render the histogram for that object.
Parameters:
volumeProfile (Object) : The SessionVolumeProfile object to draw
bgColor (color) : The baseline color to use for the histogram. Defaults to #00bbf9
showVolumeOnHistogram (bool) : Show the volume amount on the histogram bars. Defaults to false.
Object
Fields:
numberOfRows (series__integer)
valueAreaCoverage (series__integer)
trackDevelopingVa (series__bool)
valueAreaHigh (series__float)
pointOfControl (series__float)
valueAreaLow (series__float)
startTime (series__integer)
endTime (series__integer)
dayHigh (series__float)
dayLow (series__float)
step (series__float)
pointOfControlLevel (series__integer)
valueAreaHighLevel (series__integer)
valueAreaLowLevel (series__integer)
volumeRows (array__float)
priceLevelRows (array__float)
ltfSessionHighs (array__float)
ltfSessionLows (array__float)
ltfSessionVols (array__float)
NCI Trading Plan (Individual Asset)NCI Trading Plan (Individual Asset)- By LightNCI
NCI, which stands for New Concept Integration by Jayce PHAM, is a comprehensive approach that incorporates various critical aspects of trading to provide a logical, structured, and integrated approach to the financial markets. NCI covers market structure, key levels, smart money concepts, multiple timeframes and market cycles
About the NCI Trading Plan (Individual Asset) Indicator
The NCI Trading Plan is just a table allowing traders to keep track of a single asset, but multiple timeframe status on a single table, ensuring a comprehensive overview of trading statuses and strategies for each timeframe. The status is not automatically update. Using the NCI strategy, you may update it yourself the status of each timeframe.
Features
1. Display column for Daily, H4, H1, M15, M5, M1: Designed to support multi-timeframe analysis.
2. Direction Status Indication: Visualise the direction of each timeframe.
3. Dynamic Status Indication: Visualize the trading status for each asset:
i. Monitor: Asset is under review or surveillance.
ii. Confirmation: A potential trading signal or setup is being confirmed.
iii. Entry Set: An order for the asset has been placed.
iv. Forward-Test: An asset under monitored for it to being forward test.
4. Strategy Indication: Each asset can be tagged with a specific strategy identifier:
i. CKL: Confluence Key Level
ii. UKL: Un-Confluence Key Level
iii. SMC: Smart Money Concept
iv. BRT: Break & Re-Test
v. RTNKL: Re-Test of New Key Level
5. Stylisation: Color-code the statuses, table and fonts to suit your visual preference.
How to use
1. Asset Name: Select asset from the list
2. Timeframe Direction: Choose direction for each timeframe.
3. Status Selection: Choose the current trading status for each asset.
4. Strategy Selection: Assign a trading strategy to each asset.
5. Style: Customise the appearance of your trading plan by selecting preferred colours for different statuses and headers.
Conclusion
The NCI Trading Plan ensures a systematic and organised approach to multi-time frame trading. By maintaining a visual overview of multi-time frame analysis and their corresponding trading statuses and strategies, traders can efficiently manage their portfolio and ensure timely decision-making.
Tip: To reset or modify an asset's status or strategy, simply adjust the settings in the panel on the left. The table will update in real-time.
Support & Resistance IndicatorThe MACD Support & Resistance indicator is an enhanced tool to better visualize potential supply (resistance) and demand (support) zones based on the MACD indicator. It combines the strength of the MACD with recent price highs and lows to depict potential breakout or reversal areas in the market.
Features:
MACD Settings: Users can adjust the fast length, slow length, source of MACD, signal smoothing, and MA type for both the oscillator and the signal line.
Dynamic Color Settings: Customize the color of supply boxes, demand boxes, and closed boxes for improved visualization.
Table View: An optional table can be displayed showing the average MACD high and low values, with customizable table position, size, background color, and text color.
Historical MACD Average: The indicator uses a historical average of MACD pivot highs and lows to determine potential support and resistance zones.
Real-Time Zone Detection: The indicator plots 'High Boxes' when the MACD crosses above its average high and 'Low Boxes' when it crosses below its average low, which signifies potential breakout or reversal zones.
How It Works:
The MACD line is calculated using user-defined moving average types (either EMA or SMA).
Pivot highs and pivot lows of the MACD are identified over a specified period.
Historical MACD highs and lows are stored and managed for average calculation. The average MACD high and low values are then used to determine potential trading zones.
When the MACD crosses over its average high, a 'High Box' (representing a potential breakout zone) is plotted from the recent high price to the candle top.
Conversely, when the MACD crosses under its average low, a 'Low Box' (indicating a potential reversal zone) is plotted from the recent low price to the candle base.
As price progresses, the boxes can either extend (if price stays within the zone) or close if a breakout happens.
For those who prefer a tabular view, an optional table displays the average MACD high and low, enhancing the on-chart data representation.
Use Cases:
Traders can use this indicator as an additional tool to spot potential breakout or reversal areas based on the MACD's behavior against its historical average. The visual representation in the form of boxes can assist in making better trading decisions by offering a clear picture of potential supply and demand zones.
Note: As with all trading indicators, it's advisable to use this tool in conjunction with other technical analysis methods or indicators for more informed decision-making.
Multi-Asset Performance [Spaghetti] - By LeviathanThis indicator visualizes the cumulative percentage changes or returns of 30 symbols over a given period and offers a unique set of tools and data analytics for deeper insight into the performance of different assets.
Multi Asset Performance indicator (also called “Spaghetti”) makes it easy to monitor the changes in Price, Open Interest, and On Balance Volume across multiple assets simultaneously, distinguish assets that are overperforming or underperforming, observe the relative strength of different assets or currencies, use it as a tool for identifying mean reversion opportunities and even for constructing pairs trading strategies, detect "risk-on" or "risk-off" periods, evaluate statistical relationships between assets through metrics like correlation and beta, construct hedging strategies, trade rotations and much more.
Start by selecting a time period (e.g., 1 DAY) to set the interval for when data is reset. This will provide insight into how price, open interest, and on-balance volume change over your chosen period. In the settings, asset selection is fully customizable, allowing you to create three groups of up to 30 tickers each. These tickers can be displayed in a variety of styles and colors. Additional script settings offer a range of options, including smoothing values with a Simple Moving Average (SMA), highlighting the top or bottom performers, plotting the group mean, applying heatmap/gradient coloring, generating a table with calculations like beta, correlation, and RSI, creating a profile to show asset distribution around the mean, and much more.
One of the most important script tools is the screener table, which can display:
🔸 Percentage Change (Represents the return or the percentage increase or decrease in Price/OI/OBV over the current selected period)
🔸 Beta (Represents the sensitivity or responsiveness of asset's returns to the returns of a benchmark/mean. A beta of 1 means the asset moves in tandem with the market. A beta greater than 1 indicates the asset is more volatile than the market, while a beta less than 1 indicates the asset is less volatile. For example, a beta of 1.5 means the asset typically moves 150% as much as the benchmark. If the benchmark goes up 1%, the asset is expected to go up 1.5%, and vice versa.)
🔸 Correlation (Describes the strength and direction of a linear relationship between the asset and the mean. Correlation coefficients range from -1 to +1. A correlation of +1 means that two variables are perfectly positively correlated; as one goes up, the other will go up in exact proportion. A correlation of -1 means they are perfectly negatively correlated; as one goes up, the other will go down in exact proportion. A correlation of 0 means that there is no linear relationship between the variables. For example, a correlation of 0.5 between Asset A and Asset B would suggest that when Asset A moves, Asset B tends to move in the same direction, but not perfectly in tandem.)
🔸 RSI (Measures the speed and change of price movements and is used to identify overbought or oversold conditions of each asset. The RSI ranges from 0 to 100 and is typically used with a time period of 14. Generally, an RSI above 70 indicates that an asset may be overbought, while RSI below 30 signals that an asset may be oversold.)
⚙️ Settings Overview:
◽️ Period
Periodic inputs (e.g. daily, monthly, etc.) determine when the values are reset to zero and begin accumulating again until the period is over. This visualizes the net change in the data over each period. The input "Visible Range" is auto-adjustable as it starts the accumulation at the leftmost bar on your chart, displaying the net change in your chart's visible range. There's also the "Timestamp" option, which allows you to select a specific point in time from where the values are accumulated. The timestamp anchor can be dragged to a desired bar via Tradingview's interactive option. Timestamp is particularly useful when looking for outperformers/underperformers after a market-wide move. The input positioned next to the period selection determines the timeframe on which the data is based. It's best to leave it at default (Chart Timeframe) unless you want to check the higher timeframe structure of the data.
◽️ Data
The first input in this section determines the data that will be displayed. You can choose between Price, OI, and OBV. The second input lets you select which one out of the three asset groups should be displayed. The symbols in the asset group can be modified in the bottom section of the indicator settings.
◽️ Appearance
You can choose to plot the data in the form of lines, circles, areas, and columns. The colors can be selected by choosing one of the six pre-prepared color palettes.
◽️ Labeling
This input allows you to show/hide the labels and select their appearance and size. You can choose between Label (colored pointed label), Label and Line (colored pointed label with a line that connects it to the plot), or Text Label (colored text).
◽️ Smoothing
If selected, this option will smooth the values using a Simple Moving Average (SMA) with a custom length. This is used to reduce noise and improve the visibility of plotted data.
◽️ Highlight
If selected, this option will highlight the top and bottom N (custom number) plots, while shading the others. This makes the symbols with extreme values stand out from the rest.
◽️ Group Mean
This input allows you to select the data that will be considered as the group mean. You can choose between Group Average (the average value of all assets in the group) or First Ticker (the value of the ticker that is positioned first on the group's list). The mean is then used in calculations such as correlation (as the second variable) and beta (as a benchmark). You can also choose to plot the mean by clicking on the checkbox.
◽️ Profile
If selected, the script will generate a vertical volume profile-like display with 10 zones/nodes, visualizing the distribution of assets below and above the mean. This makes it easy to see how many or what percentage of assets are outperforming or underperforming the mean.
◽️ Gradient
If selected, this option will color the plots with a gradient based on the proximity of the value to the upper extreme, zero, and lower extreme.
◽️ Table
This section includes several settings for the table's appearance and the data displayed in it. The "Reference Length" input determines the number of bars back that are used for calculating correlation and beta, while "RSI Length" determines the length used for calculating the Relative Strength Index. You can choose the data that should be displayed in the table by using the checkboxes.
◽️ Asset Groups
This section allows you to modify the symbols that have been selected to be a part of the 3 asset groups. If you want to change a symbol, you can simply click on the field and type the ticker of another one. You can also show/hide a specific asset by using the checkbox next to the field.
Pro Bollinger Bands CalculatorThe "Pro Bollinger Bands Calculator" indicator joins our suite of custom trading tools, which includes the "Pro Supertrend Calculator", the "Pro RSI Calculator" and the "Pro Momentum Calculator."
Expanding on this series, the "Pro Bollinger Bands Calculator" is tailored to offer traders deeper insights into market dynamics by harnessing the power of the Bollinger Bands indicator.
Its core mission remains unchanged: to scrutinize historical price data and provide informed predictions about future price movements, with a specific focus on detecting potential bullish (green) or bearish (red) candlestick patterns.
1. Bollinger Bands Calculation:
The indicator kicks off by computing the Bollinger Bands, a well-known volatility indicator. It calculates two pivotal Bollinger Bands parameters:
- Bollinger Bands Length: This parameter sets the lookback period for Bollinger Bands calculations.
- Bollinger Bands Deviation: It determines the deviation multiplier for the upper and lower bands, typically set at 2.0.
2. Visualizing Bollinger Bands:
The Bollinger Bands derived from the calculations are skillfully plotted on the price chart:
- Red Line: Represents the upper Bollinger Band during bearish trends, suggesting potential price declines.
- Teal Line: Represents the lower Bollinger Band in bullish market conditions, signaling the possibility of price increases.
3.Analyzing Consecutive Candlesticks:
The indicator's core functionality revolves around tracking consecutive candlestick patterns based on their relationship with the Bollinger Bands lines. To be considered for analysis, a candlestick must consistently close either above (green candles) or below (red candles) the Bollinger Bands lines for multiple consecutive periods.
4. Labeling and Enumeration:
To convey the count of consecutive candles displaying consistent trend behavior, the indicator meticulously assigns labels to the price chart. The position of these labels varies depending on the direction of the trend, appearing either below (for bullish patterns) or above (for bearish patterns) the candlesticks. The label colors match the candle colors: green labels for bullish candles and red labels for bearish ones.
5. Tabular Data Presentation:
The indicator complements its graphical analysis with a customizable table that prominently displays comprehensive statistical insights. Key data points within the table encompass:
- Consecutive Candles: The count of consecutive candles displaying consistent trend characteristics.
- Candles Above Upper BB: The number of candles closing above the upper Bollinger Band during the consecutive period.
- Candles Below Lower BB: The number of candles closing below the lower Bollinger Band during the consecutive period.
- Upcoming Green Candle: An estimated probability of the next candlestick being bullish, derived from historical data.
- Upcoming Red Candle: An estimated probability of the next candlestick being bearish, also based on historical data.
6. Custom Configuration:
To cater to diverse trading strategies and preferences, the indicator offers extensive customization options. Traders can fine-tune parameters such as Bollinger Bands length, upper and lower band deviations, label and table placement, and table size to align with their unique trading approaches.
Pro RSI CalculatorThe "Pro RSI Calculator" indicator is the latest addition to a series of custom trading tools that includes the "Pro Supertrend Calculator" and the "Pro Momentum Calculator."
Building upon this series, the "Pro RSI Calculator" is designed to provide traders with further insights into market trends by leveraging the Relative Strength Index (RSI) indicator.
Its primary objective remains consistent: to analyze historical price data and make informed predictions about future price movements, with a specific focus on identifying potential bullish (green) or bearish (red) candlestick patterns.
1. RSI Calculation:
The indicator begins by computing the RSI, a widely used momentum oscillator. It calculates two crucial RSI parameters:
RSI Length: This parameter determines the lookback period for RSI calculations.
RSI Upper and Lower Bands: These thresholds define overbought and oversold conditions, typically set at 70 and 30, respectively.
2. RSI Bands Visualization:
The RSI values obtained from the calculation are skillfully plotted on the price chart, appearing as two distinct lines:
Red Line: Represents the RSI when indicating a bearish trend, anticipating potential price declines.
Teal Line: Represents the RSI in bullish market conditions, signaling the possibility of price increases.
3. Consecutive Candlestick Analysis:
The indicator's core functionality revolves around tracking consecutive candlestick patterns based on their relationship with the RSI lines.
To be included in the analysis, a candlestick must consistently close either above (green candles) or below (red candles) the RSI lines for multiple consecutive periods.
4. Labeling and Enumeration:
To communicate the count of consecutive candles displaying consistent trend behavior, the indicator meticulously assigns labels to the price chart.
Label positioning varies depending on the trend's direction, appearing either below (for bullish patterns) or above (for bearish patterns) the candlesticks.
The color scheme aligns with the candle colors: green labels for bullish candles and red labels for bearish ones.
5. Tabular Data Presentation:
The indicator enhances its graphical analysis with a customizable table that prominently displays comprehensive statistical insights.
Key data points in the table include:
- Consecutive Candles: The count of consecutive candles displaying consistent trend characteristics.
- Candles Above Upper RSI: The number of candles closing above the upper RSI threshold during the consecutive period.
- Candles Below Lower RSI: The number of candles closing below the lower RSI threshold during the consecutive period.
- Upcoming Green Candle: An estimated probability of the next candlestick being bullish, derived from historical data.
- Upcoming Red Candle: An estimated probability of the next candlestick being bearish, also based on historical data.
6. Custom Configuration:
To cater to various trading strategies and preferences, the indicator offers extensive customization options.
Traders can fine-tune parameters like RSI length, upper, and lower bands, label and table placement, and table size to align with their unique trading approaches.