Triple CCI Strategy MFI Confirmed [Skyrexio]Overview
Triple CCI Strategy MFI Confirmed leverages 3 different periods Commodity Channel Index (CCI) indicator in conjunction Money Flow Index (MFI) and Exponential Moving Average (EMA) to obtain the high probability setups. Fast period CCI is used for having the high probability to enter in the direction of short term trend, middle and slow period CCI are used for confirmation, if market now likely in the mid and long-term uptrend. MFI is used to confirm trade with the money inflow/outflow with the high probability. EMA is used as an additional trend filter. Moreover, strategy uses exponential moving average (EMA) to trail the price when it reaches the specific level. More information in "Methodology" and "Justification of Methodology" paragraphs. The strategy opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Four layers trade filtering system: Strategy utilizes two different period CCI indicators, MFI and EMA indicators to confirm the signals produced by fast period CCI.
Trailing take profit level: After reaching the trailing profit activation level scrip activate the trailing of long trade using EMA. More information in methodology.
Methodology
The strategy opens long trade when the following price met the conditions:
Fast period CCI shall crossover the zero-line.
Slow and Middle period CCI shall be above zero-lines.
Price shall close above the EMA. Crossover is not obligatory
MFI shall be above 50
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with EMA. If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.75)
ATR Trailing Profit Activation Level (by default = 2.25)
CCI Fast Length (by default = 14, used for calculation short term period CCI)
CCI Middle Length (by default = 25, used for calculation short term period CCI)
CCI Slow Length (by default = 50, used for calculation long term period CCI)
MFI Length (by default = 14, used for calculation MFI
EMA Length (by default = 50, period of EMA, used for trend filtering EMA calculation)
Trailing EMA Length (by default = 20)
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Before understanding why this particular combination of indicator has been chosen let's briefly explain what is CCI, MFI and EMA.
The Commodity Channel Index (CCI) is a momentum-based technical indicator that measures the deviation of a security's price from its average price over a specific period. It helps traders identify overbought or oversold conditions and potential trend reversals.
The CCI formula is:
CCI = (Typical Price − SMA) / (0.015 × Mean Deviation)
Typical Price (TP): This is calculated as the average of the high, low, and closing prices for the period.
Simple Moving Average (SMA): This is the average of the Typical Prices over a specific number of periods.
Mean Deviation: This is the average of the absolute differences between the Typical Price and the SMA.
The result is a value that typically fluctuates between +100 and -100, though it is not bounded and can go higher or lower depending on the price movement.
The Money Flow Index (MFI) is a technical indicator that measures the strength of money flowing into and out of a security. It combines price and volume data to assess buying and selling pressure and is often used to identify overbought or oversold conditions. The formula for MFI involves several steps:
1. Calculate the Typical Price (TP):
TP = (high + low + close) / 3
2. Calculate the Raw Money Flow (RMF):
Raw Money Flow = TP × Volume
3. Determine Positive and Negative Money Flow:
If the current TP is greater than the previous TP, it's Positive Money Flow.
If the current TP is less than the previous TP, it's Negative Money Flow.
4. Calculate the Money Flow Ratio (MFR):
Money Flow Ratio = Sum of Positive Money Flow (over n periods) / Sum of Negative Money Flow (over n periods)
5. Calculate the Money Flow Index (MFI):
MFI = 100 − (100 / (1 + Money Flow Ratio))
MFI above 80 can be considered as overbought, below 20 - oversold.
The Exponential Moving Average (EMA) is a type of moving average that places greater weight and significance on the most recent data points. It is widely used in technical analysis to smooth price data and identify trends more quickly than the Simple Moving Average (SMA).
Formula:
1. Calculate the multiplier
Multiplier = 2 / (n + 1) , Where n is the number of periods.
2. EMA Calculation
EMA = (Current Price) × Multiplier + (Previous EMA) × (1 − Multiplier)
This strategy leverages Fast period CCI, which shall break the zero line to the upside to say that probability of short term trend change to the upside increased. This zero line crossover shall be confirmed by the Middle and Slow periods CCI Indicators. At the moment of breakout these two CCIs shall be above 0, indicating that there is a high probability that price is in middle and long term uptrend. This approach increases chances to have a long trade setup in the direction of mid-term and long-term trends when the short-term trend starts to reverse to the upside.
Additionally strategy uses MFI to have a greater probability that fast CCI breakout is confirmed by this indicator. We consider the values of MFI above 50 as a higher probability that trend change from downtrend to the uptrend is real. Script opens long trades only if MFI is above 50. As you already know from the MFI description, it incorporates volume in its calculation, therefore we have another one confirmation factor.
Finally, strategy uses EMA an additional trend filter. It allows to open long trades only if price close above EMA (by default 50 period). It increases the probability of taking long trades only in the direction of the trend.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements. It’s also important to make a note, that script uses another one EMA (by default = 20 period) as a trailing profit level.
Backtest Results
Operating window: Date range of backtests is 2022.04.01 - 2024.11.25. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 50%
Maximum Single Position Loss: -4.13%
Maximum Single Profit: +19.66%
Net Profit: +5421.21 USDT (+54.21%)
Total Trades: 108 (44.44% win rate)
Profit Factor: 2.006
Maximum Accumulated Loss: 777.40 USDT (-7.77%)
Average Profit per Trade: 50.20 USDT (+0.85%)
Average Trade Duration: 44 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 2h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
Cerca negli script per "股价在8元左右净利润为正市值小于80亿的热门股票有哪些"
PitchforkLibrary "Pitchfork"
Pitchfork class
method tostring(this)
Converts PitchforkTypes/Fork object to string representation
Namespace types: Fork
Parameters:
this (Fork) : PitchforkTypes/Fork object
Returns: string representation of PitchforkTypes/Fork
method tostring(this)
Converts Array of PitchforkTypes/Fork object to string representation
Namespace types: array
Parameters:
this (array) : Array of PitchforkTypes/Fork object
Returns: string representation of PitchforkTypes/Fork array
method tostring(this, sortKeys, sortOrder)
Converts PitchforkTypes/PitchforkProperties object to string representation
Namespace types: PitchforkProperties
Parameters:
this (PitchforkProperties) : PitchforkTypes/PitchforkProperties object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
Returns: string representation of PitchforkTypes/PitchforkProperties
method tostring(this, sortKeys, sortOrder)
Converts PitchforkTypes/PitchforkDrawingProperties object to string representation
Namespace types: PitchforkDrawingProperties
Parameters:
this (PitchforkDrawingProperties) : PitchforkTypes/PitchforkDrawingProperties object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
Returns: string representation of PitchforkTypes/PitchforkDrawingProperties
method tostring(this, sortKeys, sortOrder)
Converts PitchforkTypes/Pitchfork object to string representation
Namespace types: Pitchfork
Parameters:
this (Pitchfork) : PitchforkTypes/Pitchfork object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
Returns: string representation of PitchforkTypes/Pitchfork
method createDrawing(this)
Creates PitchforkTypes/PitchforkDrawing from PitchforkTypes/Pitchfork object
Namespace types: Pitchfork
Parameters:
this (Pitchfork) : PitchforkTypes/Pitchfork object
Returns: PitchforkTypes/PitchforkDrawing object created
method createDrawing(this)
Creates PitchforkTypes/PitchforkDrawing array from PitchforkTypes/Pitchfork array of objects
Namespace types: array
Parameters:
this (array) : array of PitchforkTypes/Pitchfork object
Returns: array of PitchforkTypes/PitchforkDrawing object created
method draw(this)
draws from PitchforkTypes/PitchforkDrawing object
Namespace types: PitchforkDrawing
Parameters:
this (PitchforkDrawing) : PitchforkTypes/PitchforkDrawing object
Returns: PitchforkTypes/PitchforkDrawing object drawn
method delete(this)
deletes PitchforkTypes/PitchforkDrawing object
Namespace types: PitchforkDrawing
Parameters:
this (PitchforkDrawing) : PitchforkTypes/PitchforkDrawing object
Returns: PitchforkTypes/PitchforkDrawing object deleted
method delete(this)
deletes underlying drawing of PitchforkTypes/Pitchfork object
Namespace types: Pitchfork
Parameters:
this (Pitchfork) : PitchforkTypes/Pitchfork object
Returns: PitchforkTypes/Pitchfork object deleted
method delete(this)
deletes array of PitchforkTypes/PitchforkDrawing objects
Namespace types: array
Parameters:
this (array) : Array of PitchforkTypes/PitchforkDrawing object
Returns: Array of PitchforkTypes/PitchforkDrawing object deleted
method delete(this)
deletes underlying drawing in array of PitchforkTypes/Pitchfork objects
Namespace types: array
Parameters:
this (array) : Array of PitchforkTypes/Pitchfork object
Returns: Array of PitchforkTypes/Pitchfork object deleted
method clear(this)
deletes array of PitchforkTypes/PitchforkDrawing objects and clears the array
Namespace types: array
Parameters:
this (array) : Array of PitchforkTypes/PitchforkDrawing object
Returns: void
method clear(this)
deletes array of PitchforkTypes/Pitchfork objects and clears the array
Namespace types: array
Parameters:
this (array) : Array of Pitchfork/Pitchfork object
Returns: void
PitchforkDrawingProperties
Pitchfork Drawing Properties object
Fields:
extend (series bool) : If set to true, forks are extended towards right. Default is true
fill (series bool) : Fill forklines with transparent color. Default is true
fillTransparency (series int) : Transparency at which fills are made. Only considered when fill is set. Default is 80
forceCommonColor (series bool) : Force use of common color for forks and fills. Default is false
commonColor (series color) : common fill color. Used only if ratio specific fill colors are not available or if forceCommonColor is set to true.
PitchforkDrawing
Pitchfork drawing components
Fields:
medianLine (Line type from Trendoscope/Drawing/2) : Median line of the pitchfork
baseLine (Line type from Trendoscope/Drawing/2) : Base line of the pitchfork
forkLines (array type from Trendoscope/Drawing/2) : fork lines of the pitchfork
linefills (array type from Trendoscope/Drawing/2) : Linefills between forks
Fork
Fork object property
Fields:
ratio (series float) : Fork ratio
forkColor (series color) : color of fork. Default is blue
include (series bool) : flag to include the fork in drawing. Default is true
PitchforkProperties
Pitchfork Properties
Fields:
forks (array) : Array of Fork objects
type (series string) : Pitchfork type. Supported values are "regular", "schiff", "mschiff", Default is regular
inside (series bool) : Flag to identify if to draw inside fork. If set to true, inside fork will be drawn
Pitchfork
Pitchfork object
Fields:
a (chart.point) : Pivot Point A of pitchfork
b (chart.point) : Pivot Point B of pitchfork
c (chart.point) : Pivot Point C of pitchfork
properties (PitchforkProperties) : PitchforkProperties object which determines type and composition of pitchfork
dProperties (PitchforkDrawingProperties) : Drawing properties for pitchfork
lProperties (LineProperties type from Trendoscope/Drawing/2) : Common line properties for Pitchfork lines
drawing (PitchforkDrawing) : PitchforkDrawing object
RSI + Normalized Fisher Transform with SignalsThis indicator combines three tools for market analysis: the Relative Strength Index (RSI), the RSI's moving average, and the Fisher Transform. RSI is a momentum oscillator that measures the speed and change of price movements, helping identify overbought and oversold conditions. The RSI moving average is a smoothed version of the RSI that filters noise and confirms trends. The Fisher Transform is a mathematical technique that transforms price data into a Gaussian normal distribution, making it easier to identify turning points. It has been normalized to the same scale as the RSI (0-100) for consistency.
Purpose
The goal of this indicator is to identify potential buy and sell opportunities with varying degrees of strength (strong and weak). By combining the RSI, its moving average, and the Fisher Transform, the indicator ensures signals are based on both momentum and reversals, making it highly versatile across different market conditions.
Key Features
This indicator provides strong and weak buy and sell signals. A strong buy occurs when the RSI crosses above its moving average while both the RSI and its moving average are oversold (below the default threshold of 30), and the Fisher Transform reverses direction within the same or prior bar while also being oversold. A weak buy occurs when the Fisher Transform is oversold, and the RSI crosses above its moving average while its value is between the default oversold threshold (30) and 50. A strong sell occurs when the RSI crosses below its moving average while both the RSI and its moving average are overbought (above the default threshold of 70), and the Fisher Transform reverses direction within the same or prior bar while also being overbought. A weak sell occurs when the Fisher Transform is overbought, and the RSI crosses below its moving average while its value is between 50 and the default overbought threshold (70).
The indicator includes customizable thresholds and lengths. Users can adjust the oversold and overbought thresholds to suit their trading style. The RSI length, moving average length, and Fisher Transform length are also customizable. The Fisher Transform is scaled to the RSI’s range of 0-100 to simplify analysis and signal interpretation.
How to Use the Indicator
On the chart, you will see the RSI line in blue, the RSI moving average in orange, and the Fisher Transform in purple. Horizontal lines at the default oversold (30) and overbought (70) levels mark critical zones for signals. Adjust these thresholds in the indicator settings as needed.
Strong buy signals are shown as larger, darker green arrows below the price. Weak buy signals are small lime arrows below the price. Strong sell signals are larger, darker red arrows above the price. Weak sell signals are small fuchsia arrows above the price.
Signal Interpretation
A strong buy indicates a highly favorable buying opportunity. This typically occurs when the asset is in a downtrend but shows signs of reversal, particularly in oversold zones. A weak buy suggests a potential buying opportunity but with less conviction, often when the market is neutral to slightly bearish but showing upward momentum. A strong sell indicates a highly favorable selling opportunity, usually occurring when the asset is in an uptrend but shows signs of reversal, particularly in overbought zones. A weak sell suggests a potential selling opportunity but with less conviction, often in neutral to slightly bullish markets showing downward momentum.
Practical Tips
Avoid using signals in isolation. Combine this indicator with other tools such as trendlines, moving averages, or support/resistance levels for greater accuracy. Adjust the parameters for different assets to match their volatility. For volatile assets, consider wider thresholds like 20/80 for oversold/overbought levels. For less volatile assets, tighter thresholds like 35/65 may be more appropriate. Use higher timeframes to confirm signals before trading on lower timeframes. Be cautious in sideways markets, as both RSI and the Fisher Transform perform better in trending conditions.
Instructions for Adjustments
To change the oversold or overbought levels, open the indicator settings by clicking the gear icon and modify the "Oversold Threshold" and "Overbought Threshold" values. To adjust lengths for RSI and Fisher Transform, update the "RSI Length," "RSI Moving Average Length," and "Fisher Transform Length" settings. If needed, toggle signal visibility by enabling or disabling specific arrows (Strong Buy, Weak Buy, Strong Sell, Weak Sell) in the "Style" tab.
Best Practices
Risk management is essential. Always set appropriate stop-loss levels and position sizes based on your risk tolerance. Backtest the indicator on historical data to understand its performance and behavior for your chosen asset and timeframe. Combining this indicator with volume or volatility analysis (Bollinger Band Width, for example) can help confirm signal validity.
This indicator simplifies decision-making by identifying high-probability trading opportunities using a combination of momentum, trend, and reversals. Follow these instructions to fully utilize its capabilities without needing to analyze the underlying code.
BTC Seasonality Strategy (Weekly)This strategy identifies potential weekend opportunities in Bitcoin (BTC) markets by leveraging the concept of seasonality, entering a position at a predefined time and day, and exiting at a specified time and day.
Key Features
Customizable Time and Day Selection:
Users can select the entry and exit days and corresponding times (in EST).
Directional Flexibility:
The strategy allows traders to choose between long or short positions.
TradingView Compliance:
The script adheres to TradingView's house rules, avoids overly complex conditions, and provides clear user-configurable inputs.
How It Works
The script determines the current weekday and hour in EST, converting TradingView's UTC time for accurate comparisons.
If the current day and hour match the selected entry conditions, a trade (long or short) is opened.
The position is closed when the current day and hour match the specified exit conditions.
Theoretical Basis
Market Seasonality:
The concept of seasonality in financial markets refers to predictable patterns based on time, such as weekends or specific days of the week. Studies have shown that cryptocurrency markets exhibit unique trading behaviors during weekends due to reduced institutional activity and higher retail participation behavioral Biases**:
Retail traders often dominate weekend markets, potentially causing predictable inefficiencies .
Reverences**
Baur, D. G., Hong, K., & Lee, A. D. (2018). Bitcoin: Medium of exchange or speculative assets? Journal of International Financial Markets, Institutions and Money, 54, 177–189.
Urquhart, A. (2016). The inefficiency of Bitcoin. Economics Letters, 148, 80–82.
BeautifulStochRSIBeautifulStochRSI: A Unique and Clear Approach to Stochastic RSI
Introducing the BeautifulStochRSI, an colorfull approach to the popular Stochastic RSI indicator. This script goes beyond the standard representation by offering visually distinct and intuitive signals to enhance your trading experience.
The BeautifulStochRSI is ideal for traders who value both precision and simplicity. It combines functional enhancements with a polished design, ensuring that crucial market insights are presented clearly and effectively. Created by rektbyhielke, this script leverages the capabilities of Pine Script™ v5 for optimal performance.
By sharing this script, the aim is not only to provide a practical trading solution but also to inspire others to create indicators that are both beautiful and efficient.
the script includes fully customizable parameters for RSI length, stochastic length, and smoothing factors, allowing traders to tailor the indicator to their specific strategies. Overbought and oversold zones are marked with dots at levels 80 and 20, complemented by a subtle teal background fill to emphasize these areas.
Pulse DPO: Major Cycle Tops and Bottoms█ OVERVIEW
Pulse DPO is an oscillator designed to highlight Major Cycle Tops and Bottoms .
It works on any market driven by cycles. It operates by removing the short-term noise from the price action and focuses on the market's cyclical nature.
This indicator uses a Normalized version of the Detrended Price Oscillator (DPO) on a 0-100 scale, making it easier to identify major tops and bottoms.
Credit: The DPO was first developed by William Blau in 1991.
█ HOW TO READ IT
Pulse DPO oscillates in the range between 0 and 100. A value in the upper section signals an OverBought (OB) condition, while a value in the lower section signals an OverSold (OS) condition.
Generally, the triggering of OB and OS conditions don't necessarily translate into swing tops and bottoms, but rather suggest caution on approaching a market that might be overextended.
Nevertheless, this indicator has been customized to trigger the signal only during remarkable top and bottom events.
I suggest using it on the Daily Time Frame , but you're free to experiment with this indicator on other time frames.
The indicator has Built-in Alerts to signal the crossing of the Thresholds. Please don't act on an isolated signal, but rather integrate it to work in conjunction with the indicators present in your Trading Plan.
█ OB SIGNAL ON: ENTERING OVERBOUGHT CONDITION
When Pulse DPO crosses Above the Top Threshold it Triggers ON the OB signal. At this point the oscillator line shifts to OB color.
When Pulse DPO enters the OB Zone, please beware! In this Area the Major Players usually become Active Sellers to the Public. While the OB signal is On, it might be wise to Consider Selling a portion or the whole Long Position.
Please note that even though this indicator aims to focus on major tops and bottoms, a strong trending market might trigger the OB signal and stay with it for a long time. That's especially true on young markets and on bubble-mode markets.
█ OB SIGNAL OFF: EXITING OVERBOUGHT CONDITION
When Pulse DPO crosses Below the Top Threshold it Triggers OFF the OB signal. At this point the oscillator line shifts to its normal color.
When Pulse DPO exits the OB Zone, please beware because a Major Top might just have occurred. In this Area the Major Players usually become Aggressive Sellers. They might wind up any remaining Long Positions and Open new Short Positions.
This might be a good area to Open Shorts or to Close/Reverse any remaining Long Position. Whatever you choose to do, it's usually best to act quickly because the market is prone to enter into panic mode.
█ OS SIGNAL ON: ENTERING OVERSOLD CONDITION
When Pulse DPO crosses Below the Bottom Threshold it Triggers ON the OS signal. At this point the oscillator line shifts to OS color.
When Pulse DPO enters the OS Zone, please beware because in this Area the Major Players usually become Active Buyers accumulating Long Positions from the desperate Public.
While the OS signal is On, it might be wise to Consider becoming a Buyer or to implement a Dollar-Cost Averaging (DCA) Strategy to build a Long Position towards the next Cycle. In contrast to the tops, the OS state usually takes longer to resolve a major bottom.
█ OS SIGNAL OFF: EXITING OVERSOLD CONDITION
When Pulse DPO crosses Above the Bottom Threshold it Triggers OFF the OS signal. At this point the oscillator line shifts to its normal color.
When Pulse DPO exits the OS Zone, please beware because a Major Bottom might already be in place. In this Area the Major Players become Aggresive Buyers. They might wind up any remaining Short Positions and Open new Long Positions.
This might be a good area to Open Longs or to Close/Reverse any remaining Short Positions.
█ WHY WOULD YOU BE INTERESTED IN THIS INDICATOR?
This indicator is built over a solid foundation capable of signaling Major Cycle Tops and Bottoms across many markets. Let's see some examples:
Early Bitcoin Years: From 0 to 1242
This chart is in logarithmic mode in order to properly display various exponential cycles. Pulse DPO is properly signaling the major early highs from 9-Jun-2011 at 31.50, to the next one on 9-Apr-2013 at 240 and the epic top from 29-Nov-2013 at 1242.
Due to the massive price movements, the OB condition stays pinned during most of the exponential price action. But as you can see, the OB condition quickly vanishes once the Cycle Top has been reached. As the market matures, the OB condition becomes more exceptional and triggers much closer from the Cycle Top.
With regards to Cycle Bottoms, the early bottom of 2 after having peaked at 31.50 doesn’t get captured by the indicator. That is the only cycle bottom that escapes the Pulse DPO when the bottom threshold is set at a value of 5. In that event, the oscillator low reached 6.95.
Bitcoin Adoption Spreading: From 257 to 73k
This chart is in logarithmic mode in order to properly display various exponential cycles. Pulse DPO is properly signaling all the major highs from 17-Dec-2017 at 19k, to the next one on 14-Apr-2021 at 64k and the most recent top from 9-Nov-2021 at 68k.
During the massive run of 2017, the OB condition still stayed triggered for a few weeks on each swing top. But on the next cycles it started to signal only for a few days before each swing top actually happened. The OB condition during the last cycle top triggered only for 3 days. Therefore the signal grows in focus as the market matures.
At the time of publishing this indicator, Bitcoin printed a new All Time High (ATH) on 13-Mar-2024 at 73k. That run didn’t trigger the OB condition. Therefore, if the indicator is correct the Bitcoin market still has some way to grow during the next months.
With regards to Cycle Bottoms, the bottom of 3k after having peaked at19k got captured within the wide OS zone. The bottom of 15k after having peaked at 68k got captured too within the OS accumulation area.
Gold
Pulse DPO behaves surprisingly well on a long standing market such as Gold. Moving back to the 197x years it’s been signaling most Cycle Tops and Bottoms with precision. During the last cycle, it shows topping at 2k and bottoming at 1.6k.
The current price action is signaling OB condition in the range of 2.5k to 2.7k. Looking at past cycles, it tends to trigger on and off at multiple swing tops until reaching the final cycle top. Therefore this might indicate the first wave within a potential gold run.
Oil
On the Oil market, we can see that most of the cycle tops and bottoms since the 80s got signaled. The only exception being the low from 2020 which didn’t trigger.
EURUSD
On Forex markets the Pulse DPO also behaves as expected. Looking back at EURUSD we can see the marketing triggering OB and OS conditions during major cycle tops and bottoms from recent times until the 80s.
S&P 500
On the S&P 500 the Pulse DPO catched the lows from 2016 and 2020. Looking at present price action, the recent ATH didn’t trigger the OB condition. Therefore, the indicator is allowing room for another leg up during the next months.
Amazon
On the Amazon chart the Pulse DPO is mirroring pretty accurately the major swings. Scrolling back to the early 2000s, this chart resembles early exponential swings in the crypto space.
Tesla
Moving onto a younger tech stock, Pulse DPO captures pretty accurately the major tops and bottoms. The chart is shown in logarithmic scale to better display the magnitude of the moves.
█ SETTINGS
This indicator is ideal for identifying major market turning points while filtering out short-term noise. You are free to adjust the parameters to align with your preferred trading style.
Parameters : This section allows you to customize any of the Parameters that shape the Oscillator.
Oscillator Length: Defines the period for calculating the Oscillator.
Offset: Shifts the oscillator calculation by a certain number of periods, which is typically half the Oscillator Length.
Lookback Period: Specifies how many bars to look back to find tops and bottoms for normalization.
Smoothing Length: Determines the length of the moving average used to smooth the oscillator.
Thresholds : This section allows you to customize the Thresholds that trigger the OB and OS conditions.
Top: Defines the value of the Top Threshold.
Bottom: Defines the value of the Bottom Threshold.
Williams %R - Multi TimeframeThis indicator implements the William %R multi-timeframe. On the 1H chart, the curves for 1H (with signal), 4H, and 1D are displayed. On the 4H chart, the curves for 4H (with signal) and 1D are shown. On all other timeframes, only the %R and signal are displayed. The indicator is useful to use on 1H and 4H charts to find confluence among the different curves and identify better entries based on their alignment across all timeframes. Signals above 80 often indicate a potential bearish reversal in price, while signals below 20 often suggest a bullish price reversal.
Basic RSI Strategy with MFI Description: This Pine Script is a custom trading strategy that combines the power of the RSI (Relative Strength Index) and MFI (Money Flow Index) indicators with additional signal filters and a user-friendly dashboard. The strategy is designed to identify potential entry and exit points based on dynamic conditions, providing an advanced approach to technical analysis and decision-making in trading.
Key Features:
RSI-Based Signals:
Generates buy signals when the RSI-based moving average crosses above specific thresholds (29 and 50).
Generates sell signals when the RSI-based moving average crosses below specific thresholds (50 and 69).
MFI Filtering:
Signals are validated only if the MFI value is within the specified range of 20 to 80, ensuring that signals are generated only when market conditions are favorable.
Dynamic Signal Thresholds:
The script includes adjustable thresholds for the percentage difference between consecutive bars, as well as the range between high and low prices, to refine signal accuracy.
Dashboard:
Displays real-time statistics in the top right corner of the chart, including the total number of signals, the count of buy and sell signals, and the time duration over which these signals were generated.
How to Use:
Settings: Customize the RSI and MFI lengths, along with thresholds for price movement and MFI range. This flexibility allows the strategy to be tailored to different market conditions and timeframes.
Dashboard Insight: Track the strategy's performance in real-time, with an intuitive overview of generated signals and their time distribution on the chart.
Ideal For:
This script is suitable for traders seeking a robust, customizable, and real-time signal generation strategy that combines momentum and volume indicators. The strategy’s unique filtering mechanism provides a higher level of precision, making it an excellent tool for those who prioritize signal accuracy and clarity.
[3Commas] Signal BuilderSignal Builder is a tool designed to help traders create custom buy and sell signals by combining multiple technical indicators. Its flexibility allows traders to set conditions based on their specific strategy, whether they’re into scalping, swing trading, or long-term investing. Additionally, its integration with 3Commas bots makes it a powerful choice for those looking to automate their trades, though it’s also ideal for traders who prefer receiving alerts and making manual decisions.
🔵 How does Signal Builder work?
Signal Builder allows users to define custom conditions using popular technical indicators, which, when met, generate clear buy or sell signals. These signals can be used to trigger TradingView alerts, ensuring that you never miss a market opportunity. Additionally, all conditions are evaluated using "AND" logic, meaning signals are only activated when all user-defined conditions are met. This increases precision and helps avoid false signals.
🔵 Available indicators and recommended settings:
Signal Builder provides access to a wide range of technical indicators, each customizable to popular settings that maximize effectiveness:
RSI (Relative Strength Index): An oscillator that measures the relative strength of price over a specific period. Traders typically configure it with 14 periods, using levels of 30 (oversold) and 70 (overbought) to identify potential reversals.
MACD (Moving Average Convergence Divergence): A key indicator tracking the crossover between two moving averages. Common settings include 12 and 26 periods for the moving averages, with a 9-period signal line to detect trend changes.
Ultimate Oscillator: Combines three different time frames to offer a comprehensive view of buying and selling pressure. Popular settings are 7, 14, and 28 periods.
Bollinger Bands %B: Provides insight into where the price is relative to its upper and lower bands. Standard settings include a 20-period moving average and a standard deviation of 2.
ADX (Average Directional Index): Measures the strength of a trend. Values above 25 typically indicate a strong trend, while values below suggest weak or sideways movement.
Stochastic Oscillator: A momentum indicator comparing the closing price to its range over a defined period. Popular configurations include 14 periods for %K and 3 for %D smoothing.
Parabolic SAR: Ideal for identifying trend reversals and entry/exit points. Commonly configured with a 0.02 step and a 0.2 maximum.
Money Flow Index (MFI): Similar to RSI but incorporates volume into the calculation. Standard settings use 14 periods, with levels of 20 and 80 as oversold and overbought thresholds.
Commodity Channel Index (CCI): Measures the deviation of price from its average. Traders often use a 20-period setting with levels of +100 and -100 to identify extreme overbought or oversold conditions.
Heikin Ashi Candles: These candles smooth out price fluctuations to show clearer trends. Commonly used in trend-following strategies to filter market noise.
🔵 How to use Signal Builder:
Configure indicators: Select the indicators that best fit your strategy and adjust their settings as needed. You can combine multiple indicators to define precise entry and exit conditions.
Define custom signals: Create buy or sell conditions that trigger when your selected indicators meet the criteria you’ve set. For example, configure a buy signal when RSI crosses above 30 and MACD confirms with a bullish crossover.
TradingView alerts: Set up alerts in TradingView to receive real-time notifications when the conditions you’ve defined are met, allowing you to react quickly to market opportunities without constantly monitoring charts.
Monitor with the panel: Signal Builder includes a visual panel that shows active conditions for each indicator in real time, helping you keep track of signals without manually checking each indicator.
🔵 3Commas integration:
In addition to being a valuable tool for any trader, Signal Builder is optimized to work seamlessly with 3Commas bots through Webhooks. This allows you to automate your trades based on the signals you’ve configured, ensuring that no opportunity is missed when your defined conditions are met. If you prefer automation, Signal Builder can send buy or sell signals to your 3Commas bots, enhancing your trading process and helping you manage multiple trades more efficiently.
🔵 Example of use:
Imagine you trade in volatile markets and want to trigger a sell signal when:
Stochastic Oscillator indicates overbought conditions with the %K value crossing below 80.
Bollinger Bands %B shows the price has surpassed the upper band, suggesting a potential reversal.
ADX is below 20, indicating that the trend is weak and could be about to change.
With Signal Builder , you can configure these conditions to trigger a sell signal only when all are met simultaneously. Then, you can set up a TradingView alert to notify you as soon as the signal is activated, giving you the opportunity to react quickly and adjust your strategy accordingly.
👨🏻💻💭 If this tool helps your trading strategy, don’t forget to give it a boost! Feel free to share in the comments how you're using it or if you have any questions.
_________________________________________________________________
The information and publications within the 3Commas TradingView account are not meant to be and do not constitute financial, investment, trading, or other types of advice or recommendations supplied or endorsed by 3Commas and any of the parties acting on behalf of 3Commas, including its employees, contractors, ambassadors, etc.
Delayed Opening Price Line with GuardrailsThis Delayed Opening Price Line with Guardrails indicator will draw 5 price level lines on the chart each day, beginning at the open of the first candle after a delay period specified by the user in the indicator settings. The default delay is 30 minutes from market open.
The lines are drawn at the open price of the first candle after the delay period, and then a specified increment above and below that price level. These increments default to 80 and 100, and can be adjusted in the indicator settings.
Most markets, indices, and equities have a finite and consistent range of price movement within a trading day. Eg. a particular stock may usually move no more that $50 up or down in a given day, which can be proven by looking at a historical chart. This indicator allows the user to quickly display that range on the chart once it's been defined.
Important note: This indicator is designed to be used on an intra-day chart - eg. minutes, or hourly. It will give an error if used on a longer time-frame chart.
Money Wave Script (Visual Adaptive MFI)This Script is a visual modification of the Money Flow Index (MFI)
//@version=5
indicator(title="Money Flow Index", shorttitle="MFI", format=format.price, precision=2, timeframe="", timeframe_gaps=true)
length = input.int(title="Length", defval=14, minval=1, maxval=2000)
src = hlc3
mf = ta.mfi(src, length)
plot(mf, "MF", color=#7E57C2)
overbought=hline(80, title="Overbought", color=#787B86)
hline(50, "Middle Band", color=color.new(#787B86, 50))
oversold=hline(20, title="Oversold", color=#787B86)
fill(overbought, oversold, color=color.rgb(126, 87, 194, 90), title="Background")
This Money Wave Script is culled from. the Money Flow Index with visual representation to help traders identify money flow. In addition, the waves can be smoothened. Here’s a detailed overview based on its functionality, color coding, usage, risk management, and a concluding summary.
Functionality
The Money Wave Script operates as an oscillator that measures the inflow and outflow of money into an asset over a specified period. It calculates the MFI by considering both price and volume, which allows it to assess buying and selling pressures more accurately than traditional indicators that rely solely on price data.
Color Coding
The indicator employs a color-coded scheme to enhance visual interpretation:
Green Area: Indicates bullish conditions when the normalized Money wave is above zero, suggesting buying pressure.
Red Area: Indicates bearish conditions when the normalized Money wave is below zero, suggesting selling pressure.
Background Colors: The background changes to green when the MoneyWave exceeds the upper threshold (overbought) and red when it falls below the lower threshold (oversold), providing immediate visual cues about market conditions.
Usage
Traders utilize the Money Wave indicator in various ways:
Identifying Overbought and Oversold Levels: By observing the MFI readings, traders can determine when an asset may be overbought or oversold, prompting potential entry or exit points.
Spotting Divergences: Traders look for divergences between price and the MFI to anticipate potential reversals. For example, if prices are making new highs but the MFI is not, it could indicate weakening momentum.
Trend Confirmation: The indicator can help confirm trends by showing whether buying or selling pressure is dominating.
Customizable Settings: Users can adjust parameters such as the MFI length , Smoothen index and overbought/oversold thresholds to tailor the indicator to their trading strategies.
Conclusion
The Money Wave indicator is a powerful tool for traders seeking to analyze market conditions based on the flow of money into and out of assets. Its combination of price and volume analysis, along with clear visual cues, makes it an effective choice for identifying overbought and oversold conditions, spotting divergences, and confirming trends.
GBP Index vs CAD Index Currency OscillatorGBP vs CAD Currency Oscillator
This custom oscillator compares the relative strength of GBP (British Pound) and CAD (Canadian Dollar) against a basket of other currencies to determine potential overbought and oversold conditions. The indicator is designed to help traders evaluate momentum shifts and identify possible trend reversals between these two currencies, not just the GBPCAD pair.
How it Works:
Currency Index Calculation:
The oscillator calculates the average percentage change in 7 key GBP pairs (GBPUSD, EURGBP, GBPJPY, GBPAUD, GBPNZD, GBPCAD, and GBPCHF).
Similarly, it calculates the average percentage change for 7 key CAD pairs (USDCAD, EURCAD, CADJPY, AUDCAD, NZDCAD, GBPCAD, and CADCHF).
Stochastic Oscillator:
The indicator calculates a 0-100 oscillator for both the GBP and CAD currency indices based on the highest high and lowest low over a user-defined lookback period (default is 14 anlthough 60 works great on 1m chart).
The oscillator is smoothed using a simple moving average (default smoothing period is 3) to reduce noise and improve visual clarity.
Overbought/Oversold Conditions:
Overbought: When both the GBP and CAD oscillators exceed 80, the background turns red, indicating potential overbought conditions.
Oversold: When both oscillators fall below 20, the background turns green, signaling possible oversold conditions.
Crossovers:
When the GBP oscillator crosses above the CAD oscillator, a green dot appears at the bottom of the chart, signaling potential GBP strength.
When the GBP oscillator crosses below the CAD oscillator, a red dot appears, signaling potential CAD strength.
How to Use:
Overbought/Oversold Conditions: Use the red and green background highlights to spot potential overbought or oversold market conditions, helping you identify possible turning points.
Customization Options:
Lookback Period: You can adjust the lookback period for the stochastic calculation, allowing for sensitivity tuning (default: 14).
Smoothing Period: Control the degree of smoothing applied to the oscillators (default: 3).
This oscillator is ideal for traders focused on trading GBP and CAD pairs, offering a comparative analysis that can assist in better decision-making based on relative currency strength.
Color Library // AlgoFyreAlgoFyre's Color Library is a Pine Script v5 library offering fire-themed palettes with light and dark modes. It helps traders easily integrate consistent, visually appealing color schemes into TradingView indicators. Used in AlgoFyre's Scripts and Indicators.
Color Overview
The AlgoFyreColorLibrary includes a comprehensive set of colors inspired by fire, ranging from light reds and oranges to dark browns and deep reds. The library is divided into two main themes:
Light Theme:
Includes lighter shades of red, orange, and brown, suitable for use on light backgrounds.
Dark Theme:
Includes darker shades of red, orange, and brown, suitable for use on dark backgrounds.
How to Use
To use the AlgoFyreColorLibrary in your Pine Script indicators and strategies, follow these steps:
Import the Library:
Import the AlgoFyreColorLibrary at the beginning of your script.
Call the getColor Function:
Use the getColor function to retrieve the desired color with the specified transparency.
Example
//@version=5
import "AF-L-0001" as af
// Example usage of getColor function
color primaryColor = af.getColor("af_primary1", 50)
color signalColor = af.getColor("af_green", 80)
// Plotting example
plot(close, color=primaryColor, linewidth=2, title="Primary Color Line")
plot(close, color=signalColor, linewidth=2, title="Signal Color Line")
The library AF-L-0001 is imported with the alias af.
The getColor function is used to get colors with specified transparency.
The colors are then used to plot lines on the chart.
Uptrick: Crypto Volatility Index** Crypto Volatility Index(VIX) **
Overview
The Crypto Volatility Index (VIX) is a specialized technical indicator designed to measure the volatility of cryptocurrency prices. Leveraging advanced statistical methods, including logarithmic returns and variance, the Crypto VIX offers a refined measure of market fluctuations. This approach makes it particularly useful for traders in the highly volatile cryptocurrency market, providing insights that traditional volatility indicators may not capture as effectively.
Purpose
The Crypto VIX aims to deliver a nuanced understanding of market volatility, tailored specifically for the cryptocurrency space. Unlike other volatility measures, the Crypto VIX employs sophisticated statistical methods to reflect the unique characteristics of cryptocurrency price movements. This makes it especially valuable for cryptocurrency traders, helping them navigate the inherent volatility of digital assets and manage their trading strategies and risk exposure more effectively.
Calculation
1. Indicator Declaration
The Crypto VIX is plotted in a separate pane below the main price chart for clarity:
indicator("Crypto Volatility Index (VIX)", overlay=false, shorttitle="Crypto VIX")
2. Input Parameters
Users can adjust the period length for volatility calculations:
length = input.int(14, title="Period Length")
3. Calculating Daily Returns
The daily returns are calculated using logarithmic returns:
returns = math.log(close / close )
- **Logarithmic Returns:** These returns provide a normalized measure of price changes, making it easier to compare returns over different periods and across different assets.
4. Average Return Calculation
The average return over the specified period is computed with a Simple Moving Average (SMA):
avg_return = ta.sma(returns, length)
5. Variance Calculation
Variance measures the dispersion of returns from the average:
variance = ta.sma(math.pow(returns - avg_return, 2), length)
- Variance : This tells us how much the returns deviate from the average, giving insight into how volatile the market is.
6. Standard Deviation (Volatility) Calculation
Volatility is derived as the square root of the variance:
volatility = math.sqrt(variance)
- Standard Deviation : This provides a direct measure of volatility, showing how much the price typically deviates from the mean return.
7. Plotting the Indicator
The volatility and average return are plotted:
plot(volatility, color=#21f34b, title="Volatility Index")
plot(avg_return, color=color.new(color.red, 80), title="Average Return", style=plot.style_columns)
Practical Examples
1. High Volatility Scenario
** Example :** During significant market events, such as major regulatory announcements or geopolitical developments, the Crypto VIX tends to rise sharply. For instance, if the Crypto VIX moves from a baseline level of 0.2 to 0.8, it indicates heightened market volatility. Traders might see this as a signal to adjust their strategies, such as reducing position sizes or setting tighter stop-loss levels to manage increased risk.
2. Low Volatility Scenario
** Example :** In a stable market, where prices fluctuate within a narrow range, the Crypto VIX will show lower values. For example, a drop in the Crypto VIX from 0.4 to 0.2 suggests lower volatility and stable market conditions. Traders might use this information to consider longer-term trades or take advantage of potential consolidation patterns.
Best Practices
1. Combining Indicators
- Moving Averages : Use the Crypto VIX with moving averages to identify trends and potential reversal points.
- Relative Strength Index (RSI): Combine with RSI to assess overbought or oversold conditions for better entry and exit points.
- Bollinger Bands : Pair with Bollinger Bands to understand volatility relative to price movements and spot potential breakouts.
2. Adjusting Parameters
- Short-Term Trading : Use a shorter period length (e.g., 7 days) to capture rapid volatility changes suitable for day trading.
- Long-Term Investing : A longer period length (e.g., 30 days) provides a smoother view of volatility, helping long-term investors navigate market trends.
Backtesting and Performance Insights
While specific backtesting data for the Crypto VIX is not yet available, the indicator is built on established principles of volatility measurement, such as logarithmic returns and standard deviation. These methods are well-regarded in financial analysis for accurately reflecting market volatility. The Crypto VIX is designed to offer insights similar to other effective volatility indicators, tailored specifically for the cryptocurrency markets. Its adaptation to digital assets and ability to provide precise volatility measures underscore its practical value for traders.
Originality and Uniqueness
The Crypto Volatility Index (VIX) distinguishes itself through its specialized approach to measuring volatility in the cryptocurrency markets. While the concepts of logarithmic returns and standard deviation are not new, the Crypto VIX integrates these methods into a unique framework designed specifically for digital assets.
- Tailored Methodology : Unlike generic volatility indicators, the Crypto VIX is adapted to the unique characteristics of cryptocurrencies, providing a more precise measure of price fluctuations that reflects the inherent volatility of digital markets.
- Enhanced Insights : By focusing on cryptocurrency-specific price behavior and incorporating advanced statistical techniques, the Crypto VIX offers insights that traditional volatility indicators might miss. This makes it a valuable tool for traders navigating the complex and fast-moving cryptocurrency landscape.
- Innovative Application : The Crypto VIX combines established financial metrics in a novel way, offering a fresh perspective on market volatility and contributing to more effective risk management and trading strategies in the cryptocurrency space.
Summary
The Crypto Volatility Index (VIX) is a specialized tool for measuring cryptocurrency market volatility. By utilizing advanced statistical methods such as logarithmic returns and standard deviation, it provides a detailed measure of price fluctuations. While not entirely original in its use of these methods, the Crypto VIX stands out through its tailored application to the unique characteristics of the cryptocurrency market. Traders can use the Crypto VIX to gauge market risk, adjust their strategies, and make informed trading decisions, supported by practical examples, best practices, and clear visual aids.
DrawingLibrary "Drawing"
User Defined types and methods for basic drawing structure. Consolidated from the earlier libraries - DrawingTypes and DrawingMethods
method get_price(this, bar)
get line price based on bar
Namespace types: Line
Parameters:
this (Line) : (series Line) Line object.
bar (int) : (series/int) bar at which line price need to be calculated
Returns: line price at given bar.
method init(this)
Namespace types: PolyLine
Parameters:
this (PolyLine)
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Point object to string representation
Namespace types: chart.point
Parameters:
this (chart.point) : DrawingTypes/Point object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Point
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/LineProperties object to string representation
Namespace types: LineProperties
Parameters:
this (LineProperties) : DrawingTypes/LineProperties object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/LineProperties
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Line object to string representation
Namespace types: Line
Parameters:
this (Line) : DrawingTypes/Line object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Line
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/LabelProperties object to string representation
Namespace types: LabelProperties
Parameters:
this (LabelProperties) : DrawingTypes/LabelProperties object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/LabelProperties
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Label object to string representation
Namespace types: Label
Parameters:
this (Label) : DrawingTypes/Label object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Label
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Linefill object to string representation
Namespace types: Linefill
Parameters:
this (Linefill) : DrawingTypes/Linefill object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Linefill
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/BoxProperties object to string representation
Namespace types: BoxProperties
Parameters:
this (BoxProperties) : DrawingTypes/BoxProperties object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/BoxProperties
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/BoxText object to string representation
Namespace types: BoxText
Parameters:
this (BoxText) : DrawingTypes/BoxText object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/BoxText
method tostring(this, sortKeys, sortOrder, includeKeys)
Converts DrawingTypes/Box object to string representation
Namespace types: Box
Parameters:
this (Box) : DrawingTypes/Box object
sortKeys (bool) : If set to true, string output is sorted by keys.
sortOrder (int) : Applicable only if sortKeys is set to true. Positive number will sort them in ascending order whreas negative numer will sort them in descending order. Passing 0 will not sort the keys
includeKeys (array) : Array of string containing selective keys. Optional parmaeter. If not provided, all the keys are considered
Returns: string representation of DrawingTypes/Box
method delete(this)
Deletes line from DrawingTypes/Line object
Namespace types: Line
Parameters:
this (Line) : DrawingTypes/Line object
Returns: Line object deleted
method delete(this)
Deletes label from DrawingTypes/Label object
Namespace types: Label
Parameters:
this (Label) : DrawingTypes/Label object
Returns: Label object deleted
method delete(this)
Deletes Linefill from DrawingTypes/Linefill object
Namespace types: Linefill
Parameters:
this (Linefill) : DrawingTypes/Linefill object
Returns: Linefill object deleted
method delete(this)
Deletes box from DrawingTypes/Box object
Namespace types: Box
Parameters:
this (Box) : DrawingTypes/Box object
Returns: DrawingTypes/Box object deleted
method delete(this)
Deletes lines from array of DrawingTypes/Line objects
Namespace types: array
Parameters:
this (array) : Array of DrawingTypes/Line objects
Returns: Array of DrawingTypes/Line objects
method delete(this)
Deletes labels from array of DrawingTypes/Label objects
Namespace types: array
Parameters:
this (array) : Array of DrawingTypes/Label objects
Returns: Array of DrawingTypes/Label objects
method delete(this)
Deletes linefill from array of DrawingTypes/Linefill objects
Namespace types: array
Parameters:
this (array) : Array of DrawingTypes/Linefill objects
Returns: Array of DrawingTypes/Linefill objects
method delete(this)
Deletes boxes from array of DrawingTypes/Box objects
Namespace types: array
Parameters:
this (array) : Array of DrawingTypes/Box objects
Returns: Array of DrawingTypes/Box objects
method clear(this)
clear items from array of DrawingTypes/Line while deleting underlying objects
Namespace types: array
Parameters:
this (array) : array
Returns: void
method clear(this)
clear items from array of DrawingTypes/Label while deleting underlying objects
Namespace types: array
Parameters:
this (array) : array
Returns: void
method clear(this)
clear items from array of DrawingTypes/Linefill while deleting underlying objects
Namespace types: array
Parameters:
this (array) : array
Returns: void
method clear(this)
clear items from array of DrawingTypes/Box while deleting underlying objects
Namespace types: array
Parameters:
this (array) : array
Returns: void
method draw(this)
Creates line from DrawingTypes/Line object
Namespace types: Line
Parameters:
this (Line) : DrawingTypes/Line object
Returns: line created from DrawingTypes/Line object
method draw(this)
Creates lines from array of DrawingTypes/Line objects
Namespace types: array
Parameters:
this (array) : Array of DrawingTypes/Line objects
Returns: Array of DrawingTypes/Line objects
method draw(this)
Creates label from DrawingTypes/Label object
Namespace types: Label
Parameters:
this (Label) : DrawingTypes/Label object
Returns: label created from DrawingTypes/Label object
method draw(this)
Creates labels from array of DrawingTypes/Label objects
Namespace types: array
Parameters:
this (array) : Array of DrawingTypes/Label objects
Returns: Array of DrawingTypes/Label objects
method draw(this)
Creates linefill object from DrawingTypes/Linefill
Namespace types: Linefill
Parameters:
this (Linefill) : DrawingTypes/Linefill objects
Returns: linefill object created
method draw(this)
Creates linefill objects from array of DrawingTypes/Linefill objects
Namespace types: array
Parameters:
this (array) : Array of DrawingTypes/Linefill objects
Returns: Array of DrawingTypes/Linefill used for creating linefills
method draw(this)
Creates box from DrawingTypes/Box object
Namespace types: Box
Parameters:
this (Box) : DrawingTypes/Box object
Returns: box created from DrawingTypes/Box object
method draw(this)
Creates labels from array of DrawingTypes/Label objects
Namespace types: array
Parameters:
this (array) : Array of DrawingTypes/Label objects
Returns: Array of DrawingTypes/Label objects
method createLabel(this, lblText, tooltip, properties)
Creates DrawingTypes/Label object from DrawingTypes/Point
Namespace types: chart.point
Parameters:
this (chart.point) : DrawingTypes/Point object
lblText (string) : Label text
tooltip (string) : Tooltip text. Default is na
properties (LabelProperties) : DrawingTypes/LabelProperties object. Default is na - meaning default values are used.
Returns: DrawingTypes/Label object
method createLine(this, other, properties)
Creates DrawingTypes/Line object from one DrawingTypes/Point to other
Namespace types: chart.point
Parameters:
this (chart.point) : First DrawingTypes/Point object
other (chart.point) : Second DrawingTypes/Point object
properties (LineProperties) : DrawingTypes/LineProperties object. Default set to na - meaning default values are used.
Returns: DrawingTypes/Line object
method createLinefill(this, other, fillColor, transparency)
Creates DrawingTypes/Linefill object from DrawingTypes/Line object to other DrawingTypes/Line object
Namespace types: Line
Parameters:
this (Line) : First DrawingTypes/Line object
other (Line) : Other DrawingTypes/Line object
fillColor (color) : fill color of linefill. Default is color.blue
transparency (int) : fill transparency for linefill. Default is 80
Returns: Array of DrawingTypes/Linefill object
method createBox(this, other, properties, textProperties)
Creates DrawingTypes/Box object from one DrawingTypes/Point to other
Namespace types: chart.point
Parameters:
this (chart.point) : First DrawingTypes/Point object
other (chart.point) : Second DrawingTypes/Point object
properties (BoxProperties) : DrawingTypes/BoxProperties object. Default set to na - meaning default values are used.
textProperties (BoxText) : DrawingTypes/BoxText object. Default is na - meaning no text will be drawn
Returns: DrawingTypes/Box object
method createBox(this, properties, textProperties)
Creates DrawingTypes/Box object from DrawingTypes/Line as diagonal line
Namespace types: Line
Parameters:
this (Line) : Diagonal DrawingTypes/PoLineint object
properties (BoxProperties) : DrawingTypes/BoxProperties object. Default set to na - meaning default values are used.
textProperties (BoxText) : DrawingTypes/BoxText object. Default is na - meaning no text will be drawn
Returns: DrawingTypes/Box object
LineProperties
Properties of line object
Fields:
xloc (series string) : X Reference - can be either xloc.bar_index or xloc.bar_time. Default is xloc.bar_index
extend (series string) : Property which sets line to extend towards either right or left or both. Valid values are extend.right, extend.left, extend.both, extend.none. Default is extend.none
color (series color) : Line color
style (series string) : Line style, valid values are line.style_solid, line.style_dashed, line.style_dotted, line.style_arrow_left, line.style_arrow_right, line.style_arrow_both. Default is line.style_solid
width (series int) : Line width. Default is 1
Line
Line object created from points
Fields:
start (chart.point) : Starting point of the line
end (chart.point) : Ending point of the line
properties (LineProperties) : LineProperties object which defines the style of line
object (series line) : Derived line object
LabelProperties
Properties of label object
Fields:
xloc (series string) : X Reference - can be either xloc.bar_index or xloc.bar_time. Default is xloc.bar_index
yloc (series string) : Y reference - can be yloc.price, yloc.abovebar, yloc.belowbar. Default is yloc.price
color (series color) : Label fill color
style (series string) : Label style as defined in Tradingview Documentation. Default is label.style_none
textcolor (series color) : text color. Default is color.black
size (series string) : Label text size. Default is size.normal. Other values are size.auto, size.tiny, size.small, size.normal, size.large, size.huge
textalign (series string) : Label text alignment. Default if text.align_center. Other allowed values - text.align_right, text.align_left, text.align_top, text.align_bottom
text_font_family (series string) : The font family of the text. Default value is font.family_default. Other available option is font.family_monospace
Label
Label object
Fields:
point (chart.point) : Point where label is drawn
lblText (series string) : label text
tooltip (series string) : Tooltip text. Default is na
properties (LabelProperties) : LabelProperties object
object (series label) : Pine label object
Linefill
Linefill object
Fields:
line1 (Line) : First line to create linefill
line2 (Line) : Second line to create linefill
fillColor (series color) : Fill color
transparency (series int) : Fill transparency range from 0 to 100
object (series linefill) : linefill object created from wrapper
BoxProperties
BoxProperties object
Fields:
border_color (series color) : Box border color. Default is color.blue
bgcolor (series color) : box background color
border_width (series int) : Box border width. Default is 1
border_style (series string) : Box border style. Default is line.style_solid
extend (series string) : Extend property of box. default is extend.none
xloc (series string) : defines if drawing needs to be done based on bar index or time. default is xloc.bar_index
BoxText
Box Text properties.
Fields:
boxText (series string) : Text to be printed on the box
text_size (series string) : Text size. Default is size.auto
text_color (series color) : Box text color. Default is color.yellow.
text_halign (series string) : horizontal align style - default is text.align_center
text_valign (series string) : vertical align style - default is text.align_center
text_wrap (series string) : text wrap style - default is text.wrap_auto
text_font_family (series string) : Text font. Default is
Box
Box object
Fields:
p1 (chart.point) : Diagonal point one
p2 (chart.point) : Diagonal point two
properties (BoxProperties) : Box properties
textProperties (BoxText) : Box text properties
object (series box) : Box object created
PolyLineProperties
Fields:
curved (series bool)
closed (series bool)
xloc (series string)
lineColor (series color)
fillColor (series color)
lineStyle (series string)
lineWidth (series int)
PolyLine
Fields:
points (array)
properties (PolyLineProperties)
object (series polyline)
ADV_RSIADV_RSI - Advanced Relative Strength Index
Description: The ADV_RSI indicator is an advanced and mutated version of the classic Relative Strength Index (RSI), enhanced with multiple moving averages and a dynamic color-coding system. It provides traders with deeper insights into market momentum and potential trend reversals by incorporating two different moving averages of the RSI (21, and 50 periods). The indicator helps to visualize overbought and oversold conditions more effectively and offers a clear, color-coded representation of the RSI value relative to key thresholds.
Features:
RSI Calculation: The core of the indicator is based on the traditional RSI, calculated over a customizable period.
Multiple Moving Averages: The script includes two RSI moving averages (21, and 50 periods) to help identify trend strength and potential reversal points.
Dynamic RSI Color Coding: The RSI line is color-coded based on its value, ranging from red for overbought conditions to aqua for oversold conditions. This makes it easier to interpret the market's momentum at a glance.
Threshold Bands: The indicator includes horizontal threshold lines at key RSI levels (20, 30, 40, 50, 60, 70, 80), with shaded areas between them, providing a visual aid to quickly identify overbought and oversold zones.
How to Use:
The RSI line fluctuates between 0 and 100, with traditional overbought and oversold levels set at 70 and 30, respectively.
When the RSI crosses above the 70 level, it may indicate overbought conditions, signaling a potential selling opportunity.
When the RSI falls below the 30 level, it may indicate oversold conditions, signaling a potential buying opportunity.
The included moving averages of the RSI can help confirm trend direction and potential reversals.
The color coding of the RSI line provides a quick visual cue for momentum changes.
Ideal For:
Traders looking for a more nuanced understanding of market momentum.
Those who prefer visual aids for quick decision-making in identifying overbought and oversold conditions.
Traders who utilize multiple timeframes and need a comprehensive RSI tool for better accuracy in their analysis.
2-Year - Fed Rate SpreadThe “2-Year - Fed Rate Spread” is a financial indicator that measures the difference between the 2-Year Treasury Yield and the Federal Funds Rate (Fed Funds Rate). This spread is often used as a gauge of market sentiment regarding the future direction of interest rates and economic conditions.
Calculation
• 2-Year Treasury Yield: This is the return on investment, expressed as a percentage, on the U.S. government’s debt obligations that mature in two years.
• Federal Funds Rate: The interest rate at which depository institutions trade federal funds (balances held at Federal Reserve Banks) with each other overnight.
The indicator calculates the spread by subtracting the Fed Funds Rate from the 2-Year Treasury Yield:
{2-Year - Fed Rate Spread} = {2-Year Treasury Yield} - {Fed Funds Rate}
Interpretation:
• Positive Spread: A positive spread (2-Year Treasury Yield > Fed Funds Rate) typically suggests that the market expects the Fed to raise rates in the future, indicating confidence in economic growth.
• Negative Spread: A negative spread (2-Year Treasury Yield < Fed Funds Rate) can indicate market expectations of a rate cut, often signaling concerns about an economic slowdown or recession. When the spread turns negative, the indicator’s background turns red, making it visually easy to identify these periods.
How to Use:
• Trend Analysis: Investors and analysts can use this spread to assess the market’s expectations for future monetary policy. A persistent negative spread may suggest a cautious approach to equity investments, as it often precedes economic downturns.
• Confirmation Tool: The spread can be used alongside other economic indicators, such as the yield curve, to confirm signals about the direction of interest rates and economic activity.
Research and Academic References:
The 2-Year - Fed Rate Spread is part of a broader analysis of yield spreads and their implications for economic forecasting. Several academic studies have examined the predictive power of yield spreads, including those that involve the 2-Year Treasury Yield and Fed Funds Rate:
1. Estrella, Arturo, and Frederic S. Mishkin (1998). “Predicting U.S. Recessions: Financial Variables as Leading Indicators.” The Review of Economics and Statistics, 80(1): 45-61.
• This study explores the predictive power of various financial variables, including yield spreads, in forecasting U.S. recessions. The authors find that the yield spread is a robust leading indicator of economic downturns.
2. Estrella, Arturo, and Gikas A. Hardouvelis (1991). “The Term Structure as a Predictor of Real Economic Activity.” The Journal of Finance, 46(2): 555-576.
• The paper examines the relationship between the term structure of interest rates (including short-term spreads like the 2-Year - Fed Rate) and future economic activity. The study finds that yield spreads are significant predictors of future economic performance.
3. Rudebusch, Glenn D., and John C. Williams (2009). “Forecasting Recessions: The Puzzle of the Enduring Power of the Yield Curve.” Journal of Business & Economic Statistics, 27(4): 492-503.
• This research investigates why the yield curve, particularly spreads involving short-term rates like the 2-Year Treasury Yield, remains a powerful tool for forecasting recessions despite changes in monetary policy.
Conclusion:
The 2-Year - Fed Rate Spread is a valuable tool for market participants seeking to understand future interest rate movements and potential economic conditions. By monitoring the spread, especially when it turns negative, investors can gain insights into market sentiment and adjust their strategies accordingly. The academic research supports the use of such yield spreads as reliable indicators of future economic activity.
Normalized Willspread IndicatorNot sure to call it as willspread or not, because i take this idea from Larry William's original willspread indicator and did some modifications which found out to be more effective in my opinion, which is by subtracting 21 and 3 ma, this indicator is found on Trade_Stocks_and_Commodities_With_the_Insiders page155. Feel free to find out.
Here's what I modified, instead of using the subtraction between two ma, I use one ma only, I find more accurate in spotting oversold and overbought value. This indicator is useful for metals. It basically compares the value between two assets, let's say u are watching gold, u can select compare it to dxy, us30Y or gold, let's say u choose to compare to dxy, and the indicator shows the the index is overvalued which is above 80 levels, then it is suggesting that gold is overvalued, the same logic apply to undervalued as well which is 20 levels. This is not a entry or exit tool but as additional confluence, u can use any entry method u want like supply and demand and use this indicator to validate your idea, not sure whether it works on forex or not, so far i think it works well on metals.
The bar colour corresponding to the index when it is overbought or oversold. U can switch off it if you dont need it. Do note that this is a repainting indicator, so u must refer to previous week close.
Market Breadth - AsymmetrikMarket Breadth - Asymmetrik User Manual
Overview
The Market Breadth - Asymmetrik is a script designed to provide insights into the overall market condition by plotting three key indicators based on stocks within the S&P 500 index. It helps traders assess market momentum and strength through visual cues and is especially useful for understanding the proportion of stocks trading above their respective moving averages.
Features
1. Market Breadth Indicators:
- Breadth 20D (green line): Represents the percentage of stocks in the S&P 500 that are above their 20-day moving average.
- Breadth 50D (yellow line): Represents the percentage of stocks in the S&P 500 that are above their 50-day moving average.
- Breadth 100D (red line): Represents the percentage of stocks in the S&P 500 that are above their 100-day moving average.
2. Horizontal Lines for Context:
- Green line at 10%
- Lighter green line at 20%
- Grey line at 50%
- Light red line at 80%
- Dark red line at 90%
3. Background Color Alerts:
- Green background when all three indicators are under 20%, indicating a potential oversold market condition.
- Red background when all three indicators are over 80%, indicating a potential overbought market condition.
Interpreting the Indicator
- Market Breadth Lines: Observe the plotted lines to assess the percentage of stocks above their moving averages.
- Horizontal Lines: Use the horizontal lines to quickly identify important threshold levels.
- Background Colors: Pay attention to background colors for quick insights:
- Green: All indicators suggest a potentially oversold market condition (below 20).
- Red: All indicators suggest a potentially overbought market condition (above 80).
Troubleshooting
- If the indicator does not appear as expected, please contact me.
- This indicator works only on daily and weekly timeframes.
Conclusion
This Market Breadth Indicator offers a visual representation of market momentum and strength through three key indicators, helping you identify potential buying and selling zones.
Oscillator Scatterplot Analysis [Trendoscope®]In this indicator, we demonstrate how to plot oscillator behavior of oversold-overbought against price movements in the form of scatterplots and perform analysis. Scatterplots are drawn on a graph containing x and y-axis, where x represent one measure whereas y represents another. We use the library Graph to collect the data and plot it as scatterplot.
Pictorial explanation of components is defined in the chart below.
🎲 This indicator performs following tasks
Calculate and plot oscillator
Identify oversold and overbought areas based on various methods
Measure the price and bar movement from overbought to oversold and vice versa and plot them on the chart.
In our example,
The x-axis represents price movement. The plots found on the right side of the graph has positive price movements, whereas the plots found on the left side of the graph has negative price movements.
The y-axis represents the number of bars it took for reaching overbought to oversold and/or oversold to overbought. Positive bars mean we are measuring oversold to overbought, whereas negative bars are a measure of overbought to oversold.
🎲 Graph is divided into 4 equal quadrants
Quadrant 1 is the top right portion of the graph. Plots in this quadrant represent the instances where positive price movement is observed when the oscillator moved from oversold to overbought
Quadrant 2 is the top left portion of the graph. Plots in this quadrant represent the instances where negative price movement is observed when the oscillator moved from oversold to overbought.
Quadrant 3 is the bottom left portion of the chart. Plots in this quadrant represent the instances where negative price movement is observed when the oscillator moved from overbought to oversold.
Quadrant 4 is the bottom right portion of the chart. Plots in this quadrant represent the instances where positive price movement is observed when the oscillator moved from overbought to oversold.
🎲 Indicator components in Detail
Let's dive deep into the indicator.
🎯 Oscillator Selection
Select the Oscillator and define the overbought oversold conditions through input settings
Indicator - Oscillator base used for performing analysis
Length - Loopback length on which the oscillator is calculated
OB/OS Method - We use Bollinger Bands, Keltener Channel and Donchian channel to calculate dynamic overbought and oversold levels instead of static 80-10. This is also useful as other type of indicators may not be within 0-100 range.
Length and Multiplier are used for the bands for calculating Overbought/Oversold boundaries.
🎯 Define Graph Properties
Select different graph properties from the input settings that will instruct how to display the scatterplot.
Type - this can be either scatterplot or heatmap. Scatterplot will display plots with specific transparency to indicate the data, whereas heatmap will display background with different transparencies.
Plot Color - this is the color in which the scatterplot or heatmap is drawn
Plot Size - applicable mainly for scatterplot. Since the character we use for scatterplot is very tiny, the large at present looks optimal. But, based on the user's screen size, we may need to select different sizes so that it will render properly.
Rows and Columns - Number of rows and columns allocated per quadrant. This means, the total size of the chart is 2X rows and 2X columns. Data sets are divided into buckets based on the number of available rows and columns. Hence, changing this can change the appearance of the overall chart, even though they are representing the same data. Also, please note that tables can have max 10000 cells. If we increase the rows and columns by too much, we may get runtime errors.
Outliers - this is used to exclude the extreme data. 20% outlier means, the chart will ignore bottom 20% and top 20% when defining the chart boundaries. However, the extreme data is still added to the boundaries.
Trend Follower IndexDescription
The purpose of this index is to give an idea about the possible direction of the trend. The index is overbought between 70 and 100, and oversold between 30 and 0. Unlike a typical RSI calculation, the 6-bar simple moving average of the price is calculated first. Then, the 21-bar RSI value of this moving average is calculated.
Why
The 6-bar average is often one of the best averages to show the direction of prices. Closes below this average give strong indications of a trend reversal. To display this average on the horizontal plane, I used the RSI function and took 21 bar as the reference length. Because in my research, I realized that 21 bar length is the most ideal upper and lower points. That's why I coded an indicator that shows where a trend is going and how far that trend needs to go.
Use
It becomes oversold when the Moving Average falls below 30. Here we encounter 3 types of colors;
Light Blue: Indicates that the average is between 30 and 20. It indicates the stage when small purchases begin and the decline rate of the trend begins to decrease.
Blue: Indicates that the average is between 20 and 10. It indicates the stage when purchases begin to become more frequent and the rate of trend decline begins to decrease slightly.
Green: Indicates that the average has fallen below 10. It is the ideal level for purchasing. This indicates the stage when buying pressure has increased significantly and the trend is ready to reverse upward.
As the level decreases, purchases should increase.
Again, when the average value exceeds 70, it becomes overbought. Here we encounter three types of colors;
Yellow: Indicates that the average is between 70 and 80. It indicates the stage when small sales begin and the rate of increase in the trend begins to decrease.
Orange: Indicates that the average is between 80 and 90. It indicates the stage when sales begin to become more frequent and the upward trend begins to decrease somewhat.
Red: Indicates the average is above 90. It is an ideal level for sales. It now marks the stage where selling pressure has increased significantly and the trend is ready to turn downwards.
As the level increases, sales should increase.
Originality
First of all, this moving average is not an RSI. RSI is only used to establish the average on a flat basis. The RSI is merely a helpful tool in determining how much the moving average will rise or fall.
The 6-bar average of the value obtained by calculating Bar (Opening + Closing + High + Low) / 4 gives information about the main trend. In my research and usage, I have observed that as long as the price remains above this average, the price continues to move upwards, and when it remains below it, it is willing to move downwards.
Disclaimer
This indicator is for informational purposes only and should be used for educational purposes only. You may lose money if you rely on this to trade without additional information. Use at your own risk.
Version
v1.0
Brooks 18 Bars [KintsugiTrading]Brooks 18 Bars
Overview:
This indicator allows traders to specify a time frame within each trading day and plots lines at the highest and lowest prices recorded during that period. It is particularly useful for identifying key levels of support and resistance within a specified time range.
Features:
User-Defined Time Frame: Traders can input their desired start and end times in a 24-hour format, allowing flexibility to analyze different market sessions.
High and Low Price Levels: The indicator plots lines representing the highest and lowest prices observed within the specified time frame each day.
Clear Visual Representation: The high and low lines are color-coded for easy identification, with the high & low prices in Kintsugi Trading Gold.
How to Use:
Set the Time Frame:
Adjust the "Start Time Hour" and "Start Time Minute" to define the beginning of your desired time frame.
Adjust the "End Time Hour" and "End Time Minute" to define the end of your desired time frame.
Analyze Key Levels:
Al Brooks popularized the following idea and basis for creating this indicator:
On a 5-minute chart, Bar 1 has a 20-30% chance of being the High or Low of the day.
Bar 12 has a 50% chance.
Bar 18 has an 80-90% chance.
Use the plotted lines to identify significant support and resistance levels within your specified time frame. These levels can help inform your trading decisions, such as entry and exit points.
Good luck with your trading!
imbalances bandsThis indicator is designed to identify imbalances based on the calculation of the average of the highest and lowest prices. It forms a kind of band indicating correction points.
This indicator uses a total of 4 modified VWAPs, separated into 2 options that the user can activate or deactivate by checking or unchecking the options "Show imbalances bands VWAP 1" or "Show imbalances bands VWAP 2".
Let's talk about the first option, "Show imbalances bands VWAP 1". This displays 2 modified VWAPs on the screen, one in green and one in red, forming a kind of band that indicates possible points of imbalance in the market, signaling increased volatility between buying and selling. When the price tests the bands, it can be useful as there is a probability of a correction in the movement.
This can be particularly useful for those who trade using a scalping style, as it helps analyze when the price tests the bands. It can also be beneficial for trend traders because when the price tests one of the bands, there is a probability of a movement correction.
Now let's talk about the option "Show imbalances bands VWAP 2". It contains two modified VWAPs, one in purple and one in blue, which also form a kind of band. These bands also indicate the probability of a movement correction.
What is the difference between the Show imbalances bands VWAP 1 option and the Show imbalances bands VWAP 2 option?
The option "Show imbalances bands VWAP 2" consists of 2 modified volume-weighted moving averages that have a calculation checking the increase in volatility between the highest and lowest prices. One modified moving average is in purple, and the other modified moving average is in blue, forming a kind of two modified VWAPs.
The option "Show Imbalance Bands VWAP 1" consists of two modified moving averages using the absolute difference between the closing price and the moving average instead of the volume. This is particularly useful for assets where the volume is not a good indicator or is not available.
The option "Show Imbalance Bands VWAP 1" also has a calculation that checks for increased volatility between the highest and lowest prices. It features two modified moving averages, one in green and one in red.
This indicator can be adjusted according to the preferences and characteristics of the specific asset or market. It provides clear visual information and can be used as a complementary tool for technical analysis in trading strategies.
and Interesting period 5,20,50,80,200
Interesting imbalance setting 2.4, 3.3 ,4.2
Analysis Ideas: If you are following a trend, you can use this indicator to analyze how the price behaves around the bands. Since the imbalance bands indicate a probability of correction, it can be useful for identifying protection points or moments to be cautious, as there might be a probability of increased volatility.
Analysis Ideas2:For those trading using a scalping style, observe how the price behaves when it tests the imbalance band, as there may be a probability of increased volatility.
Please note that this indicator is designed for educational and informational purposes. Always conduct your own analysis and consider risk management strategies before making trading decisions.