Order Blocks Indicator [TradingFinder] Lightning|CHOCH |OB | BOS🔵 Introduction
In "Price Action," an "Order Block" is essentially an area on the price chart where significant players such as institutional traders have executed their moves by placing noteworthy orders. These points often indicate areas where price either attempts to break through (resistance) or returns when it reaches there (support).
Therefore, when discussing the identification of order blocks, we typically refer to finding points where the price has stalled for a while and has accumulated strength before making a significant move in one direction.
Essentially, order blocks assist traders in understanding where large players with "smart money" have likely placed their bulk orders in the market. Traders use these order blocks as part of their overall analysis to identify probable levels where price may change direction.
This version of the order block indicator is designed for traders, adding many indicators to their charts. The minimal design helps minimize disruptions to user focus.
🔵 Identification of Order Blocks
To identify order blocks, first, a "Level Break" must occur. To identify a "Demand Zone," a "High Level Break" is required, and to identify a "Supply Zone," a "Low Level Break" is needed.
Demand Zone :
Supply Zone :
🔵 "Change of Character" or "Market Shift Structure"
"ChoCh" or "MSS" is the "Break Level" that is contrary to the previous trend. For example, if a "Bearish Level" is established in the market and consecutive "Low Levels" are being broken, the price turns upward, breaking a "High Level." This break is called "ChoCh" or "MSS."
🔵 "Break of Structure"
"Break of Structure," or "BoS" for short, is the "Break Level" in the direction of the current trend. For example, if a "Bullish Level" is established in the market, when the price breaks a "High Level," a "BoS" has occurred.
🔵 Features
🟣 Major Level
This feature helps you easily identify major levels. These levels form when the price breaks another major level.
🟣 Refine Order Block
The "Refinement" feature allows you to adjust the width of the order block based on your strategy. There are two modes, "Aggressive" and "Defensive," in Order Block Refine. The difference between "Aggressive" and "Defensive" lies in the width of the order block. For "Risk Averse" traders, the "Defensive" mode is suitable because it provides smaller stop losses and larger reward-to-risk ratios. For "Risk Taker" traders, the "Aggressive" mode is more suitable. These traders prefer to enter trades at higher prices and this mode, where the width of the order block is greater, is more suitable for this group of individuals.
🔵 How to Use
After adding the indicator to your chart, you will see a visual similar to the image below. Green order blocks are "Demand Zones" and red order blocks are "Supply Zones." The midpoint of the order blocks also indicates 50% of it.
Refine Order Block is defaulted to On and refines the order blocks. If you want the order blocks to remain original, you should set it to Off.
Refine is defaulted to "Defensive" mode. If you want it to be in "Aggressive" mode, you should change its mode through Refine Type.
Displaying "Major Levels" is turned off by default and to display them, you should set "Show High Level" and "Show Low Level" to "Yes." You can use these lines to identify liquidity or determine stop loss and take profit levels.
Buscar en scripts para "ha溢价率"
Nightrangers IndicatorDescription
This indicator combines three EMA's, Ichimoku Cloud, RSI and MACD. By combining and modifying their use case this turns into an extremely powerful and accessible indicator for finding long and short position entries, below is a description of how to use this indicator, and what makes it different.
Primary Use case
The three EMA's would be the initial indicators you would be looking at, they are based on the 7d, 25d and 200d MA - Used on their own, they would be worthless, and this is where the Ichimoku Cloud comes into it, I have removed all other aspects of the Ichimoku Cloud and only kept the baseline, combine this with the three MA's and we have a very powerful indicator for finding Long entries, that is used uniquely in a way to which the Ichimoku Cloud is not originally meant to be used for.
An early indication of a LONG entry would be when the 7d MA crosses above the Ichimoku Baseline, through this early indicator, you are able to watch and monitor the chart, you would be waiting to see if the 25d MA then also crosses above the Ichimoku Baseline, This would be the second important indication of a long entry. The 200d MA helps here when making decisions on where to set your own personal take profits - If the Ichimoku baseline, and the MA's are below the 200d MA, you would be expecting a bounce point here, or heavy resistance so the long entry could be over a shorter period, than that if it was above the 200d MA, which is why it is included here, to help make a better informed choice.
The latter is reversed for finding short positions, and entries. This indicator is completely reliant on each other to find the best possible entry/exit by complementing each other, and by using the Ichimoku Baseline on it's own, and not as the Ichimoku Cloud is intended.
Just using these though, is not enough, which is why the RSI and MACD are also combined, once the conditions are met above, You may find that there can be false positives for entries, and this is where the RSI has multiple use cases within this script.
Firstly the backdrop colour will change based on whether the chart is in an uptrend or downtrend, This is a visual indicator provided to work simultaneaously on the chart itself to help identification of entries/exits easier to identify in conjunction with the above.
Secondly, It is used to display in the top right, The current Trend in a text format, as well as if the current chart is in one of three phases, these are Overbrought, Oversold and accumulation.
And finally it will display the current RSI Value on the last candle in a clear to see blue Label, This helps with the visual accessible side, to help you make a more informed choice depending on your own personal tolerance.
This ties into the above Indicators, by combining the information, you would not be looking to take a long, if for example, the RSI showed it was over-brought, and in a downtrend, even if the MA's had crossed above the Baseline, as this would most likely be a fakeout.
However if the Indicators above, showed a potential long, and the backdrop had flipped green, indicating an uptrend, and it was in an accumulation phase, you would consider this position. and this is where the MACD comes into play.
You would use the MACD to see whether or not the Signal line has crossed over the MACD line, and vice versa - However this script uses it to simplify and portray current market sentiment, and visually display by reducing clutter on screen, and making it more accessible.
It is designed to portray an easy to read and understand visual indicator by displaying in the top right simply as Bullish or Bearish, with markers above the candles ( "M" and "MX" ).
The M indicator is to show where the MACD Crosses above the Signal, and if aligned with all the other indicators within the script, shows a very strong confirmation for a buying opportunity, and vice versa for the "MX" indicator if aligned with the other indicators in reverse, provides a very strong confirmation for opening a short position or for selling.
Secondary Use case
By combining the indicators above, the secondary conditions you would be looking for, If you opened a LONG position, would be knowing when to sell, On top of what has been described above already regarding this, you would be looking to start taking profits, when the 7d MA crosses above or across the candles, and looking to close the position, when the 25d MA also crosses above the candles, and respectively, in reverse for closing short positions. This is shown across the charts to be extremely useful, however, combine this with the other indicators, portrayed in an easy to use and understand visual representation, you are now able to make more informed decisions, on whether to close a position or not.
How is it different and not just a mash up
I have combined these indicators to make the world of trading more accessible for everyone regardless of circumstances, by creating an easy to understand visual representation, keeping colours vibrant and easy to stand out, with clear and simple to read text indications. So whether you are a seasoned trader, or just starting out, you can make more informed choices, without the need of learning how to use multiple different indicators, and learning how to combine them all, or if you have difficulties learning, this indicator also simplifies a lot of the more technical intricacies, by still allowing you to make a more informed choice.
Auto-magnifier / quantifytools- Overview
Auto-magnifier shows a lower timeframe view of candles and volume bars inside any main timeframe candle by zooming into it. Candles and volume bars as they develop are shown chronologically from left to right. By default, magnifier is triggered when less than 3 candles are visible on the chart.
By default, 20 lower timeframe candles are displayed by splitting main timeframe into 20 parts. The amount of candles displayed is a target rate, meaning the script will use a lower timeframe that has the closest match to 20 candles and therefore will vary a bit. Users can override automatic timeframe calculation and opt in to display any specific lower timeframe or adjust amount of candles shown (e.g. 20 -> 30 candles) per each main timeframe candle.
Example
Main timeframe set to 30 minute, candles displayed set to 20 -> Magnifying using 2 minute candles (30 minute/20 candles = 1.5 min, rounded to 2 min)
Main timeframe set to 30 minute, override set to 5 minutes -> Displaying 5 minute candles
Size of volume bars is calculated using relative volume (volume relative to volume SMA20), lowest bar representing relative volume values of under or equal to 1x the moving average and from there onwards progressively growing.
- Limitations and considerations
Amount of candles shown might flow over from the background on smaller screen sizes, in which case you would want to decrease the amount shown. Opposite is true for bigger screens, this value can be increased as more candles fit.
This indicator involves a lot of tricks with text elements to make it work automatically by zooming in. Size of wicks, bodies and volume bars are calculated by adding more text elements on big candles and less text elements on smaller candles. This means the displayed candles won't be a 100% match, but a rather a fair representation of the view, e.g. candle is green = lower timeframe candle is green, candle has a big wick = lower timeframe candle has a big wick (but not a 100% match).
Example
Magnified lower timeframe chart vs. Actual lower timeframe chart
Most mismatch will be found on the price levels where lower timeframe candles are shown, which is sacrificed for the sake of getting a better readability on the overall shape of lower timeframe price action. Users can alternatively optimize calculations for more accuracy, giving a better representation of the price levels where candles truly originated. This typically comes with the cost of worse readability however.
Example
Optimized for readability vs. Optimized for accuracy
- Visuals
All visual elements are fully customizable.
BAERMThe Bitcoin Auto-correlation Exchange Rate Model: A Novel Two Step Approach
THIS IS NOT FINANCIAL ADVICE. THIS ARTICLE IS FOR EDUCATIONAL AND ENTERTAINMENT PURPOSES ONLY.
If you enjoy this software and information, please consider contributing to my lightning address
Prelude
It has been previously established that the Bitcoin daily USD exchange rate series is extremely auto-correlated
In this article, we will utilise this fact to build a model for Bitcoin/USD exchange rate. But not a model for predicting the exchange rate, but rather a model to understand the fundamental reasons for the Bitcoin to have this exchange rate to begin with.
This is a model of sound money, scarcity and subjective value.
Introduction
Bitcoin, a decentralised peer to peer digital value exchange network, has experienced significant exchange rate fluctuations since its inception in 2009. In this article, we explore a two-step model that reasonably accurately captures both the fundamental drivers of Bitcoin’s value and the cyclical patterns of bull and bear markets. This model, whilst it can produce forecasts, is meant more of a way of understanding past exchange rate changes and understanding the fundamental values driving the ever increasing exchange rate. The forecasts from the model are to be considered inconclusive and speculative only.
Data preparation
To develop the BAERM, we used historical Bitcoin data from Coin Metrics, a leading provider of Bitcoin market data. The dataset includes daily USD exchange rates, block counts, and other relevant information. We pre-processed the data by performing the following steps:
Fixing date formats and setting the dataset’s time index
Generating cumulative sums for blocks and halving periods
Calculating daily rewards and total supply
Computing the log-transformed price
Step 1: Building the Base Model
To build the base model, we analysed data from the first two epochs (time periods between Bitcoin mining reward halvings) and regressed the logarithm of Bitcoin’s exchange rate on the mining reward and epoch. This base model captures the fundamental relationship between Bitcoin’s exchange rate, mining reward, and halving epoch.
where Yt represents the exchange rate at day t, Epochk is the kth epoch (for that t), and epsilont is the error term. The coefficients beta0, beta1, and beta2 are estimated using ordinary least squares regression.
Base Model Regression
We use ordinary least squares regression to estimate the coefficients for the betas in figure 2. In order to reduce the possibility of over-fitting and ensure there is sufficient out of sample for testing accuracy, the base model is only trained on the first two epochs. You will notice in the code we calculate the beta2 variable prior and call it “phaseplus”.
The code below shows the regression for the base model coefficients:
\# Run the regression
mask = df\ < 2 # we only want to use Epoch's 0 and 1 to estimate the coefficients for the base model
reg\_X = df.loc\ [mask, \ \].shift(1).iloc\
reg\_y = df.loc\ .iloc\
reg\_X = sm.add\_constant(reg\_X)
ols = sm.OLS(reg\_y, reg\_X).fit()
coefs = ols.params.values
print(coefs)
The result of this regression gives us the coefficients for the betas of the base model:
\
or in more human readable form: 0.029, 0.996869586, -0.00043. NB that for the auto-correlation/momentum beta, we did NOT round the significant figures at all. Since the momentum is so important in this model, we must use all available significant figures.
Fundamental Insights from the Base Model
Momentum effect: The term 0.997 Y suggests that the exchange rate of Bitcoin on a given day (Yi) is heavily influenced by the exchange rate on the previous day. This indicates a momentum effect, where the price of Bitcoin tends to follow its recent trend.
Momentum effect is a phenomenon observed in various financial markets, including stocks and other commodities. It implies that an asset’s price is more likely to continue moving in its current direction, either upwards or downwards, over the short term.
The momentum effect can be driven by several factors:
Behavioural biases: Investors may exhibit herding behaviour or be subject to cognitive biases such as confirmation bias, which could lead them to buy or sell assets based on recent trends, reinforcing the momentum.
Positive feedback loops: As more investors notice a trend and act on it, the trend may gain even more traction, leading to a self-reinforcing positive feedback loop. This can cause prices to continue moving in the same direction, further amplifying the momentum effect.
Technical analysis: Many traders use technical analysis to make investment decisions, which often involves studying historical exchange rate trends and chart patterns to predict future exchange rate movements. When a large number of traders follow similar strategies, their collective actions can create and reinforce exchange rate momentum.
Impact of halving events: In the Bitcoin network, new bitcoins are created as a reward to miners for validating transactions and adding new blocks to the blockchain. This reward is called the block reward, and it is halved approximately every four years, or every 210,000 blocks. This event is known as a halving.
The primary purpose of halving events is to control the supply of new bitcoins entering the market, ultimately leading to a capped supply of 21 million bitcoins. As the block reward decreases, the rate at which new bitcoins are created slows down, and this can have significant implications for the price of Bitcoin.
The term -0.0004*(50/(2^epochk) — (epochk+1)²) accounts for the impact of the halving events on the Bitcoin exchange rate. The model seems to suggest that the exchange rate of Bitcoin is influenced by a function of the number of halving events that have occurred.
Exponential decay and the decreasing impact of the halvings: The first part of this term, 50/(2^epochk), indicates that the impact of each subsequent halving event decays exponentially, implying that the influence of halving events on the Bitcoin exchange rate diminishes over time. This might be due to the decreasing marginal effect of each halving event on the overall Bitcoin supply as the block reward gets smaller and smaller.
This is antithetical to the wrong and popular stock to flow model, which suggests the opposite. Given the accuracy of the BAERM, this is yet another reason to question the S2F model, from a fundamental perspective.
The second part of the term, (epochk+1)², introduces a non-linear relationship between the halving events and the exchange rate. This non-linear aspect could reflect that the impact of halving events is not constant over time and may be influenced by various factors such as market dynamics, speculation, and changing market conditions.
The combination of these two terms is expressed by the graph of the model line (see figure 3), where it can be seen the step from each halving is decaying, and the step up from each halving event is given by a parabolic curve.
NB - The base model has been trained on the first two halving epochs and then seeded (i.e. the first lag point) with the oldest data available.
Constant term: The constant term 0.03 in the equation represents an inherent baseline level of growth in the Bitcoin exchange rate.
In any linear or linear-like model, the constant term, also known as the intercept or bias, represents the value of the dependent variable (in this case, the log-scaled Bitcoin USD exchange rate) when all the independent variables are set to zero.
The constant term indicates that even without considering the effects of the previous day’s exchange rate or halving events, there is a baseline growth in the exchange rate of Bitcoin. This baseline growth could be due to factors such as the network’s overall growth or increasing adoption, or changes in the market structure (more exchanges, changes to the regulatory environment, improved liquidity, more fiat on-ramps etc).
Base Model Regression Diagnostics
Below is a summary of the model generated by the OLS function
OLS Regression Results
\==============================================================================
Dep. Variable: logprice R-squared: 0.999
Model: OLS Adj. R-squared: 0.999
Method: Least Squares F-statistic: 2.041e+06
Date: Fri, 28 Apr 2023 Prob (F-statistic): 0.00
Time: 11:06:58 Log-Likelihood: 3001.6
No. Observations: 2182 AIC: -5997.
Df Residuals: 2179 BIC: -5980.
Df Model: 2
Covariance Type: nonrobust
\==============================================================================
coef std err t P>|t| \
\------------------------------------------------------------------------------
const 0.0292 0.009 3.081 0.002 0.011 0.048
logprice 0.9969 0.001 1012.724 0.000 0.995 0.999
phaseplus -0.0004 0.000 -2.239 0.025 -0.001 -5.3e-05
\==============================================================================
Omnibus: 674.771 Durbin-Watson: 1.901
Prob(Omnibus): 0.000 Jarque-Bera (JB): 24937.353
Skew: -0.765 Prob(JB): 0.00
Kurtosis: 19.491 Cond. No. 255.
\==============================================================================
Below we see some regression diagnostics along with the regression itself.
Diagnostics: We can see that the residuals are looking a little skewed and there is some heteroskedasticity within the residuals. The coefficient of determination, or r2 is very high, but that is to be expected given the momentum term. A better r2 is manually calculated by the sum square of the difference of the model to the untrained data. This can be achieved by the following code:
\# Calculate the out-of-sample R-squared
oos\_mask = df\ >= 2
oos\_actual = df.loc\
oos\_predicted = df.loc\
residuals\_oos = oos\_actual - oos\_predicted
SSR = np.sum(residuals\_oos \*\* 2)
SST = np.sum((oos\_actual - oos\_actual.mean()) \*\* 2)
R2\_oos = 1 - SSR/SST
print("Out-of-sample R-squared:", R2\_oos)
The result is: 0.84, which indicates a very close fit to the out of sample data for the base model, which goes some way to proving our fundamental assumption around subjective value and sound money to be accurate.
Step 2: Adding the Damping Function
Next, we incorporated a damping function to capture the cyclical nature of bull and bear markets. The optimal parameters for the damping function were determined by regressing on the residuals from the base model. The damping function enhances the model’s ability to identify and predict bull and bear cycles in the Bitcoin market. The addition of the damping function to the base model is expressed as the full model equation.
This brings me to the question — why? Why add the damping function to the base model, which is arguably already performing extremely well out of sample and providing valuable insights into the exchange rate movements of Bitcoin.
Fundamental reasoning behind the addition of a damping function:
Subjective Theory of Value: The cyclical component of the damping function, represented by the cosine function, can be thought of as capturing the periodic fluctuations in market sentiment. These fluctuations may arise from various factors, such as changes in investor risk appetite, macroeconomic conditions, or technological advancements. Mathematically, the cyclical component represents the frequency of these fluctuations, while the phase shift (α and β) allows for adjustments in the alignment of these cycles with historical data. This flexibility enables the damping function to account for the heterogeneity in market participants’ preferences and expectations, which is a key aspect of the subjective theory of value.
Time Preference and Market Cycles: The exponential decay component of the damping function, represented by the term e^(-0.0004t), can be linked to the concept of time preference and its impact on market dynamics. In financial markets, the discounting of future cash flows is a common practice, reflecting the time value of money and the inherent uncertainty of future events. The exponential decay in the damping function serves a similar purpose, diminishing the influence of past market cycles as time progresses. This decay term introduces a time-dependent weight to the cyclical component, capturing the dynamic nature of the Bitcoin market and the changing relevance of past events.
Interactions between Cyclical and Exponential Decay Components: The interplay between the cyclical and exponential decay components in the damping function captures the complex dynamics of the Bitcoin market. The damping function effectively models the attenuation of past cycles while also accounting for their periodic nature. This allows the model to adapt to changing market conditions and to provide accurate predictions even in the face of significant volatility or structural shifts.
Now we have the fundamental reasoning for the addition of the function, we can explore the actual implementation and look to other analogies for guidance —
Financial and physical analogies to the damping function:
Mathematical Aspects: The exponential decay component, e^(-0.0004t), attenuates the amplitude of the cyclical component over time. This attenuation factor is crucial in modelling the diminishing influence of past market cycles. The cyclical component, represented by the cosine function, accounts for the periodic nature of market cycles, with α determining the frequency of these cycles and β representing the phase shift. The constant term (+3) ensures that the function remains positive, which is important for practical applications, as the damping function is added to the rest of the model to obtain the final predictions.
Analogies to Existing Damping Functions: The damping function in the BAERM is similar to damped harmonic oscillators found in physics. In a damped harmonic oscillator, an object in motion experiences a restoring force proportional to its displacement from equilibrium and a damping force proportional to its velocity. The equation of motion for a damped harmonic oscillator is:
x’’(t) + 2γx’(t) + ω₀²x(t) = 0
where x(t) is the displacement, ω₀ is the natural frequency, and γ is the damping coefficient. The damping function in the BAERM shares similarities with the solution to this equation, which is typically a product of an exponential decay term and a sinusoidal term. The exponential decay term in the BAERM captures the attenuation of past market cycles, while the cosine term represents the periodic nature of these cycles.
Comparisons with Financial Models: In finance, damped oscillatory models have been applied to model interest rates, stock prices, and exchange rates. The famous Black-Scholes option pricing model, for instance, assumes that stock prices follow a geometric Brownian motion, which can exhibit oscillatory behavior under certain conditions. In fixed income markets, the Cox-Ingersoll-Ross (CIR) model for interest rates also incorporates mean reversion and stochastic volatility, leading to damped oscillatory dynamics.
By drawing on these analogies, we can better understand the technical aspects of the damping function in the BAERM and appreciate its effectiveness in modelling the complex dynamics of the Bitcoin market. The damping function captures both the periodic nature of market cycles and the attenuation of past events’ influence.
Conclusion
In this article, we explored the Bitcoin Auto-correlation Exchange Rate Model (BAERM), a novel 2-step linear regression model for understanding the Bitcoin USD exchange rate. We discussed the model’s components, their interpretations, and the fundamental insights they provide about Bitcoin exchange rate dynamics.
The BAERM’s ability to capture the fundamental properties of Bitcoin is particularly interesting. The framework underlying the model emphasises the importance of individuals’ subjective valuations and preferences in determining prices. The momentum term, which accounts for auto-correlation, is a testament to this idea, as it shows that historical price trends influence market participants’ expectations and valuations. This observation is consistent with the notion that the price of Bitcoin is determined by individuals’ preferences based on past information.
Furthermore, the BAERM incorporates the impact of Bitcoin’s supply dynamics on its price through the halving epoch terms. By acknowledging the significance of supply-side factors, the model reflects the principles of sound money. A limited supply of money, such as that of Bitcoin, maintains its value and purchasing power over time. The halving events, which reduce the block reward, play a crucial role in making Bitcoin increasingly scarce, thus reinforcing its attractiveness as a store of value and a medium of exchange.
The constant term in the model serves as the baseline for the model’s predictions and can be interpreted as an inherent value attributed to Bitcoin. This value emphasizes the significance of the underlying technology, network effects, and Bitcoin’s role as a medium of exchange, store of value, and unit of account. These aspects are all essential for a sound form of money, and the model’s ability to account for them further showcases its strength in capturing the fundamental properties of Bitcoin.
The BAERM offers a potential robust and well-founded methodology for understanding the Bitcoin USD exchange rate, taking into account the key factors that drive it from both supply and demand perspectives.
In conclusion, the Bitcoin Auto-correlation Exchange Rate Model provides a comprehensive fundamentally grounded and hopefully useful framework for understanding the Bitcoin USD exchange rate.
Liquidity Grab Screener | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Liquidity Grab Screener! This screener can provide information about the latest liquidity grabs in up to 5 tickers. You can also customize the algorithm that finds the liquidity grabs and the styling of the screener.
Features of the new Liquidity Grab Screener :
Find Latest Liquidity Grabs Accross 5 Tickers
Price, Size, Status Information
Customizable Algoritm / Styling
📌 HOW DOES IT WORK ?
Liquidity grabs occur when one of the latest pivots has a false breakout. Then, if the wick to body ratio of the bar is higher than 0.5 (can be changed from the settings) a bubble is plotted.
The bubble size is determined by the wick to body ratio of the candle.
This screener then finds liquidity grabs accross 5 different tickers, and shows the latest information about them.
Price -> The price when the liquidity grab happened.
Size -> Size of the liquidity grab, determined by the wick-body ratio.
Status -> Shows the elapsed time of the liquidity grab.
🚩UNIQUENESS
Liquidity grabs can be useful when determining candles that have executed a lot of market orders, and planning your trades accordingly. This screener will find liquidity grabs from up to 5 tickers and give information about their price, size and status. The screener also lets you customize the pivot length and the wick-body ratio for liquidity grabs.
⚙️SETTINGS
1. Tickers
You can set up to 5 tickers for the screener to scan order blocks here. You can also enable / disable them and set their individual timeframes.
2. General Configuration
Pivot Length -> This setting determines the range of the pivots. This means a candle has to have the highest / lowest wick of the previous X bars and the next X bars to become a high / low pivot.
Wick-Body Ratio -> After a pivot has a false breakout, the wick-body ratio of the latest candle is tested. The resulting ratio must be higher than this setting for it to be considered as a liquidity grab.
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.
Strategy / Connectable [Azullian]The connectable strategy serves as a foundational component in our indicator system on TradingView, designed for intuitive testing, visualization, and construction of trading strategies. In concert with the connectable signal filter , it forms a cohesive unit that allows for efficient signal processing and strategy implementation. This integration enables the strategy to receive and act on weighted signals from various connectable indicators, making it a versatile tool for both novice and experienced traders.
Let's review the separate parts of this indicator.
█ STRATEGY INPUTS
We've provided an input to connect a signal filter or indicators or chains (→) which is set to 'Close' by default.
An input has several controls:
• Input: Connect indicators or signal filter here, choose indicators with a compatible : Signal connector.
• SM - Signal Mode: Choose a trading direction compatible with the settings in your signal filter
█ POSITION INVESTMENT
Determine the percentage of your trading budget you would like to use in each position based on the strategy's profit or loss.
• LINVB - Loss Investment Base: Choose which base to use to determine the investment percentage when the strategy is in a loss.
○ Equity: Use the equity as the base for percentage calculation.
○ Initial capital: Use the initial capital as the base for percentage calculation.
• LINV% - Loss Investment Percentage: Set a percentage of the chosen investment base as the investment for a new position.
○ For example, when 10% in loss, and a initial capital of $100, and the investment base is set to equity with a percentage of 50%, your investment will be 50% of $90, $45.
• PINVB - Profit Investment Base: Choose which base to use to determine the investment percentage when the strategy is in profit.
○ Equity: Use the equity as the base for percentage calculation.
○ Initial capital: Use the initial capital as the base for percentage calculation.
• PINV% - Profit Investment Percentage: Set a percentage of the chosen investment base as the investment for a new position.
○ For example, when 10% in profit, and an initial capital of $100, and the investment base is set to equity with a percentage of 100%, your investment will be 100% of $110, $110.
• RISK% - Risk Percentage:
○ Determine how much of the calculated position investment is at risk when the stop-loss is hit.
- For example, 1% of $45 represents a maximum loss of $0.45.
○ Risk percentage works together with the stop loss and the max leverage.
• MXLVG - Maximum Leverage:
○ Investigate the trading rules for your trading pair and use the maximum allowed amount of leverage.
○ To determine the number of contracts to be bought or sold, considering the stop loss and the specified risk percentage, the maximum leverage available will constrain the amount of leverage utilized to ensure that the maximum risk threshold is not exceeded. For instance, suppose the stop loss is set at 1%, and the risk percentage is defined as 10%. Initially, the calculated leverage to be used would be 10. However, if there is a maximum leverage cap set at 5, it would constrain the calculated leverage of 10 to adhere to the maximum limit of 5.
█ EXIT STOP LOSS
Determine the Stop Loss price based on your selected configuration.
As the stop loss is an integral part of the ordered contracts calculation used in conjunction with the Risk and Max leverage, you'll always need to provide a stop loss price.
• SLB - Stop Loss Base: Choose a stop loss mode for calculating stop loss prices.
○ Risk: Determines the price using the Risk parameter (RISK%) and maximum leverage (MXLVG). In this case, SLB% will not have any impact.
○ Price Entry + Offset: Calculates the stop loss price based on a offset percentage (SLB%) from the entry price of the position.
• SLB% - Stop Loss Base Percentage: Define an offset percentage that will be applied in the price entry + offset stop loss mode.
• SLT - Stop Loss Trailing:
○ Fixed: The initial stop loss will be kept and no trailing stop loss will be applied.
○ Trail Price: Computes the trailing stop loss price based on an offset percentage (SLT%) from the closing price of the current candle.
- If a better stop loss price is calculated, it will be set as the new stop loss price.
○ Trail Incr: Adapts the trailing stop loss price based on the offset percentage (SLT%).
- Each price change in favor of your position will incrementally adapt the trailing stop loss with SLT%.
• SLT% - Stop Loss Trailing Percentage: This percentage serves as an offset or increment depending on your chosen trailing mode.
█ EXIT TAKE PROFIT
Determine the Take Profit price based on your selected configuration.
• TPB - Take Profit Base: Choose a take profit mode for calculating take profit prices.
○ Reward: Determines the take profit price using the Risk parameter (RISK%) and the calculated Stop Loss price and the set reward percentage (TPB%).
- For example: Risk 1%, Calculated Stop loss price: $90, Entry price: $100, Reward (TPB%): 2%, will result in a take profit price on $120.
○ Price Entry + Offset: Calculates the take profit price based on a offset percentage (TPB%) from the entry price of the position.
- For example: Entry price: $100, Offset (TPB%): 2%, will result in a take profit price on $102.
• TPB% - Take Profit Base Percentage: Define an offset percentage that will be applied in the price entry + offset take profit mode.
• TPT - Take Profit Trailing:
○ Fixed: The initial take profit will be kept and no trailing take profit will be applied.
○ Trail Price: Computes the trailing take profit price based on an offset percentage (TPT%) from the closing price of the current candle.
- If an applicable take profit price is calculated, it will be set as the new take profit price.
○ Trail Incr: Adapts the trailing take profit price based on the offset percentage (TPT%). Each price change against your position will incrementally adapt the trailing take profit with TPT%.
• TPT% - Take Profit Trailing Percentage: This percentage serves as an offset or increment depending on your chosen trailing mode.
█ STRATEGY CONDITIONS
Specify when the strategy is permitted to execute trades.
• DATE: Enable the Date Range filter to restrict entries to a specific date range.
○ START: Set a start date and hour to commence trading.
○ END: Set an end date and hour to conclude trading within the defined range.
■ VISUALS
• LINE: Activate a colored dashed diagonal line to visually connect the entry and exit points of positions.
• SLTP: Enable visualization of stop loss, take profit, and break-even levels.
• PNL: Enable Break-Even and Close Lines along with a colored area in between to visualize profit and loss.
• ☼: Brightness % : Adjust the opacity of the plotted trading visuals.
• P - Profit Color : Choose the color for profit-related elements.
• L - Loss Color: Choose the color for loss-related elements.
• B - Breakeven Color : Select the color for break-even points.
• EL - Long Color: Specify the color for long positions.
• ES - Short Color: Specify the color for short positions.
• TRADE LABELING: For better analysis we've labeled all entries and exits conform with the type of order your strategy has executed, some examples:
○ XL-TP-150: Exit Long - Take Profit - Position 150
○ XS-TP-154: Exit Short - Take Profit - Position 154
○ XL-SL-160: Exit Long - Stop Loss - Position 160
○ XS-SL-164: Exit Short - Stop Loss - Position 164
█ USAGE OF CONNECTABLE INDICATORS
■ Connectable chaining mechanism
Connectable indicators can be connected directly to the signal monitor, signal filter or strategy , or they can be daisy chained to each other while the last indicator in the chain connects to the signal monitor, signal filter or strategy. When using a signal filter you can chain the filter to the strategy input to make your chain complete.
• Direct chaining: Connect an indicator directly to the signal monitor, signal filter or strategy through the provided inputs (→).
• Daisy chaining: Connect indicators using the indicator input (→). The first in a daisy chain should have a flow (⌥) set to 'Indicator only'. Subsequent indicators use 'Both' to pass the previous weight. The final indicator connects to the signal monitor, signal filter, or strategy.
■ Set up the strategy with a signal filter and an RSI indicator
Let's connect the Strategy to a connectable signal filter and a connectable RSI indicator :
1. Load all relevant indicators
• Load RSI / Connectable
• Load Signal filter / Connectable
• Load Strategy / Connectable
2. Signal Filter: Connect the RSI to the Signal Filter
• Open the signal filter settings
• Choose one of the three input dropdowns (1→, 2→, 3→) and choose : RSI / Connectable: Signal Connector
• Toggle the enable box before the connected input to enable the incoming signal
3. Signal Filter: Update the filter signals settings if needed
• The default settings of the filter enable EL (Enter Long), XL (Exit Long), ES (Enter Short) and XS (Exit Short).
4. Signal Filter: Update the weight threshold settings if needed
• All connectable indicators load by default with a score of 6 for each direction (EL, XL, ES, XS)
• By default, weight threshold (TH) is set at 5. This allows each occurrence to score, as the default score in each connectable indicator is 1 point above the threshold. Adjust to your liking.
5. Strategy: Connect the strategy to the signal filter in the strategy settings
• Select the strategy input → and select the Signal filter: Signal connector
6. Strategy: Enable filter compatible directions
• Set the signal mode of the strategy to a compatible direction with the signal filter.
Now that everything is connected, you'll notice green spikes in the signal filter representing long signals, and red spikes indicating short signals. Trades will also appear on the chart, complemented by a performance overview. Your journey is just beginning: delve into different scoring mechanisms, merge diverse connectable indicators, and craft unique chains. Instantly test your results and discover the potential of your configurations. Dive deep and enjoy the process!
█ BENEFITS
• Adaptable Modular Design: Arrange indicators in diverse structures via direct or daisy chaining, allowing tailored configurations to align with your analysis approach.
• Streamlined Backtesting: Simplify the iterative process of testing and adjusting combinations, facilitating a smoother exploration of potential setups.
• Intuitive Interface: Navigate TradingView with added ease. Integrate desired indicators, adjust settings, and establish alerts without delving into complex code.
• Signal Weight Precision: Leverage granular weight allocation among signals, offering a deeper layer of customization in strategy formulation.
• Advanced Signal Filtering: Define entry and exit conditions with more clarity, granting an added layer of strategy precision.
• Clear Visual Feedback: Distinct visual signals and cues enhance the readability of charts, promoting informed decision-making.
• Standardized Defaults: Indicators are equipped with universally recognized preset settings, ensuring consistency in initial setups across different types like momentum or volatility.
• Reliability: Our indicators are meticulously developed to prevent repainting. We strictly adhere to TradingView's coding conventions, ensuring our code is both performant and clean.
█ COMPATIBLE INDICATORS
Each indicator that incorporates our open-source 'azLibConnector' library and adheres to our conventions can be effortlessly integrated and used as detailed above.
For clarity and recognition within the TradingView platform, we append the suffix ' / Connectable' to every compatible indicator.
█ COMMON MISTAKES AND CLARIFICATIONS
• Removing an indicator from a chain: Deleting a linked indicator and confirming the "remove study tree" alert will also remove all underlying indicators in the object tree. Before removing one, disconnect the adjacent indicators and move it to the object stack's bottom.
• Point systems: The azLibConnector provides 500 points for each direction (EL: Enter long, XL: Exit long, ES: Enter short, XS: Exit short) Remember this cap when devising a point structure.
• Flow misconfiguration: In daisy chains the first indicator should always have a flow (⌥) setting of 'indicator only' while other indicator should have a flow (⌥) setting of 'both'.
• Recalculate: While this strategy has undergone extensive testing, enabling recalculation options like 'After order is filled' or 'On every tick' may lead to unexpected behavior.
• Fill orders: The strategy is thoroughly tested, yet enabling fill order options such as 'Using bar magnifier', 'On bar close', or 'Using standard OHLC' might result in unexpected outcomes.
• Layout and abbreviations: To maintain a consistent structure, we use abbreviations for each input. While this may initially seem complex, you'll quickly become familiar with them. Each abbreviation is also explained in the inline tooltips.
• Optimized for crypto trading: While many principles are common across markets, this strategy is specifically optimized and tested for crypto trading.
• Inputs: Connecting a connectable indicator directly to the strategy delivers the raw signal without a weight threshold, meaning every signal will trigger a trade.
█ A NOTE OF GRATITUDE
Through years of exploring TradingView and Pine Script, we've drawn immense inspiration from the community's knowledge and innovation. Thank you for being a constant source of motivation and insight.
█ RISK DISCLAIMER
Azullian's content, tools, scripts, articles, and educational offerings are presented purely for educational and informational uses. Please be aware that past performance should not be considered a predictor of future results.
Signal Filter / Connectable [Azullian]The connectable signal filter is an intricate part of an indicator system designed to help test, visualize and build strategy configurations without coding. Like all connectable indicators , it interacts through the TradingView input source, which serves as a signal connector to link indicators to each other. All connectable indicators send signal weight to the next node in the system until it reaches either a connectable signal monitor, signal filter and/or strategy.
The connectable signal filter's function has several roles in the connectable system:
• Input hub: Connect indicators or daisy-chained indicators directly to the filter, manage connections in one place
• Modification: Modify incoming signals by applying smoothing, scaling, or modifiers
• Filtering: Set the trade direction and conditions a signal must adhere to to be passed through
• Visualization: When connected, the signal filter visualizes all incoming signal weights
Let's review the separate parts of this indicator.
█ INPUTS
We've provided 3 inputs for connecting indicators or chains (1→, 2→, 3→) which are all set to 'Close' by default.
An input has several controls:
• Enable disable: Toggle the entire input on or off
• Input: Connect indicators here, choose indicators with a compatible : Signal connector.
• G - Gain: Increase or reduce the strength of the incoming signal by a factor.
█ FILTER SIGNALS
The core of the signal filter , determine a signal direction with the signal mode and determine a threshold (TH).
• ¤ - Trade direction:
○ EL: Send Enter Long signals to the strategy
○ XL: Send Exit Long signals to the strategy
○ ES: Send Enter Short signals to the strategy
○ XS: Send Exit Short signals to the strategy
• TH - Threshold: Define how much weight is needed for a signal to be accepted and passed through to the connectable strategy .
■ VISUALS
• ☼: Brightness % : Set the opacity for the signal curves
• 🡓: ES Color : Set the color for the ES: Entry Short signal
• ⭳: XS Color : Set the color for the XS: Exit Short signal
• ⌥: Plot mode : Set the plotting mode
○ Signals IN: Show all signals
○ Signals OUT: Show only scoring signals
• 🡑: EL Color : Set the color for the EL: Enter Long signal
• ⭱: XL Color : Set the color for the XL: Exit Long signal
█ USAGE OF CONNECTABLE INDICATORS
■ Connectable chaining mechanism
Connectable indicators can be connected directly to the signal monitor, signal filter or strategy , or they can be daisy chained to each other while the last indicator in the chain connects to the signal monitor, signal filter or strategy. When using a signal filter you can chain the filter to the strategy input to make your chain complete.
• Direct chaining: Connect an indicator directly to the signal monitor, signal filter or strategy through the provided inputs (→).
• Daisy chaining: Connect indicators using the indicator input (→). The first in a daisy chain should have a flow (⌥) set to 'Indicator only'. Subsequent indicators use 'Both' to pass the previous weight. The final indicator connects to the signal monitor, signal filter, or strategy.
■ Set up the signal filter with a connectable indicator and strategy
Let's connect the MACD to a connectable signal filter and a strategy :
1. Load all relevant indicators
• Load MACD / Connectable
• Load Signal filter / Connectable
• Load Strategy / Connectable
2. Signal Filter: Connect the MACD to the Signal Filter
• Open the signal filter settings
• Choose one of the three input dropdowns (1→, 2→, 3→) and choose : MACD / Connectable: Signal Connector
• Toggle the enable box before the connected input to enable the incoming signal
3. Signal Filter: Update the filter settings if needed
• The default filter mode for the trading direction is SWING, and is compatible with the default settings in the strategy and indicators.
4. Signal Filter: Update the weight threshold settings if needed
• All connectable indicators load by default with a score of 6 for each direction (EL, XL, ES, XS)
• By default, weight threshold (TH) in the signal filter is set at 5. This allows each occurrence to score, as the default score in each / Connectable indicator is 6 and thus is 1 point above the threshold. Adjust to your liking.
5. Strategy: Connect the strategy to the signal filter in the strategy settings
• Select a strategy input → and select the Signal filter: Signal connector
6. Strategy: Enable filter compatible directions
• As the default setting of the signal filter has enabled EL (Enter Long), XL (Exit Long), ES (Enter Short) and XS (Exit short), the connectable strategy will receive all compatible directions.
Now that everything is connected, you'll notice green spikes in the signal filter representing long signals, and red spikes indicating short signals. Trades will also appear on the chart, complemented by a performance overview. Your journey is just beginning: delve into different scoring mechanisms, merge diverse connectable indicators, and craft unique chains. Instantly test your results and discover the potential of your configurations. Dive deep and enjoy the process!
█ BENEFITS
• Adaptable Modular Design: Arrange indicators in diverse structures via direct or daisy chaining, allowing tailored configurations to align with your analysis approach.
• Streamlined Backtesting: Simplify the iterative process of testing and adjusting combinations, facilitating a smoother exploration of potential setups.
• Intuitive Interface: Navigate TradingView with added ease. Integrate desired indicators, adjust settings, and establish alerts without delving into complex code.
• Signal Weight Precision: Leverage granular weight allocation among signals, offering a deeper layer of customization in strategy formulation.
• Advanced Signal Filtering: Define entry and exit conditions with more clarity, granting an added layer of strategy precision.
• Clear Visual Feedback: Distinct visual signals and cues enhance the readability of charts, promoting informed decision-making.
• Standardized Defaults: Indicators are equipped with universally recognized preset settings, ensuring consistency in initial setups across different types like momentum or volatility.
• Reliability: Our indicators are meticulously developed to prevent repainting. We strictly adhere to TradingView's coding conventions, ensuring our code is both performant and clean.
█ COMPATIBLE INDICATORS
Each indicator that incorporates our open-source 'azLibConnector' library and adheres to our conventions can be effortlessly integrated and used as detailed above.
For clarity and recognition within the TradingView platform, we append the suffix ' / Connectable' to every compatible indicator.
█ COMMON MISTAKES, CLARIFICATIONS AND TIPS
• Removing an indicator from a chain: Deleting a linked indicator and confirming the "remove study tree" alert will also remove all underlying indicators in the object tree. Before removing one, disconnect the adjacent indicators and move it to the object stack's bottom.
• Point systems: The azLibConnector provides 500 points for each direction (EL: Enter long, XL: Exit long, ES: Enter short, XS: Exit short) Remember this cap when devising a point structure.
• Flow misconfiguration: In daisy chains the first indicator should always have a flow (⌥) setting of 'indicator only' while other indicator should have a flow (⌥) setting of 'both'.
• Hide attributes: As connectable indicators send through quite some information you'll notice all the arguments are taking up some screenwidth and cause some visual clutter. You can disable arguments in Chart Settings / Status line.
• Layout and abbreviations: To maintain a consistent structure, we use abbreviations for each input. While this may initially seem complex, you'll quickly become familiar with them. Each abbreviation is also explained in the inline tooltips.
• Inputs: Connecting a connectable indicator directly to the strategy delivers the raw signal without a weight threshold, meaning every signal will trigger a trade.
█ A NOTE OF GRATITUDE
Through years of exploring TradingView and Pine Script, we've drawn immense inspiration from the community's knowledge and innovation. Thank you for being a constant source of motivation and insight.
█ RISK DISCLAIMER
Azullian's content, tools, scripts, articles, and educational offerings are presented purely for educational and informational uses. Please be aware that past performance should not be considered a predictor of future results.
Moving Average PropertiesThis indicator calculates and visualizes the Relative Smoothness (RS) and Relative Lag (RL) or call it accuracy of a selected moving average (MA) in comparison to the SMA of length 2 (the lowest possible length for a moving average and also the one closest to the price).
Median RS (Relative Smoothness):
Interpretation: The median RS represents the median value of the Relative Smoothness calculated for the selected moving average across a specified look-back period (max bar lookback is set at 3000).
Significance: A more negative (larger) median RS suggests that the chosen moving average has exhibited smoother price behavior compared to a simple moving average over the analyzed period. A less negative value indicates a relatively choppier price movement.
Median RL (Relative Lag):
Interpretation: The median RL represents the median value of the Relative Lag calculated for the selected moving average compared to a simple moving average of length 2.
Significance: A higher median RL indicates that the chosen moving average tends to lag more compared to a simple moving average. Conversely, lower values suggest less lag in the selected moving average.
Ratio of Median RS to Median RL:
Interpretation: This ratio is calculated by dividing the median RS by the median RL.
Significance: Traders might use this ratio to assess the balance between smoothness and lag in the chosen moving average. This a measure of for every % of lag what is the smoothness achieved. This can be used a benchmark to decide what length to choose for a MA to get an equivalent value between two stocks. For example a TESLA stock on a 15 minute time frame with a length of 12 has a value (ratio of RS/RL) of -150 , where as APPLE stock of length 35 on a 15 minute chart also has a value (ratio of RS/RL) of -150.
I imply that a MA of length 12 working on TESLA stock is equivalent to MA of length 35 on a APPLE stock. (THIS IS A EXAMPLE).
My assumption is that finding the right moving average length for a stock isn't a one-size-fits-all situation. It's not just about using a fixed length; it's about adapting to the unique characteristics of each stock. I believe that what works for one stock might not work for another because they have different levels of smoothness or lag in their price movements. So, instead of applying the same length to all stocks, I suggest adjusting the length of the moving average to match the values that we know work best for achieving the desired smoothness or lag or its ratio (RS/RL). This way, we're customizing the indicator for each stock, tailoring it to their individual behaviors rather than sticking to a one-size-fits-all approach.
Users can choose from various types of moving averages (EMA, SMA, WMA, VWMA, HMA) and customize the length of the moving average. RS measures the smoothness of the MA, while RL measures its lag compared to a simple moving average. The script plots the median RS and RL values, the selected MA, and the ratio of median RS to median RL on the price chart. Traders can use this information to assess the performance of different moving averages and potentially inform their trading decisions.
Bitcoin Pi Cycle Top Indicator - Daily Timeframe Only1 Day Timeframe Only
The Bitcoin Pi Cycle Top Indicator has garnered attention for its historical effectiveness in identifying the timing of Bitcoin's market cycle peaks with remarkable precision, typically within a margin of 3 days.
It utilizes a specific combination of moving averages—the 111-day moving average and a 2x multiple of the 350-day moving average—to signal potential tops in the Bitcoin market.
The 111-day moving average (MA): This shorter-term MA is chosen to reflect more recent price action and trends within the Bitcoin market.
The 350-day moving average (MA) multiplied by 2: This longer-term MA is adjusted to capture broader market trends and cycles over an extended period.
The key premise behind the Bitcoin Pi Cycle Top Indicator is that a potential market top for Bitcoin can be signaled when the 111-day MA crosses above the 350-day MA (which has been doubled). Historically, this crossover event has shown a remarkable correlation with the peaks of Bitcoin's price cycles, making it a tool of interest for traders and investors aiming to anticipate significant market shifts.
#Bitcoin
Liquidity Grabs | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Liquidity Grabs indicator! This indicator can renders bubbles with different sizes at candles that have liquidity grabs, which happen when a liquidity areas (buyside / sellside liquidity) is swept. These candles often fill a lot of market orders that were sitting on the liquidity zone. You can check "How Does It Work" section for more information.
Features of the new Liquidity Grabs Indicator :
Renders Liquidity Grabs
Customizable Algorithm
Customizable Styles
Alerts
🚩UNIQUENESS
Liquidity grabs can be useful when determining candles that have executed a lot of market orders, and planning your trades accordingly. This indicator renders liquidity grabs in an unique bubble style, the size of the bubble is calculated by the size of the wick that caused the liquidity grab. The indicator also lets you customize the pivot length and the wick-body ratio for liquidity grabs.
📌 HOW DOES IT WORK ?
Liquidity grabs occur when one of the latest pivots has a false breakout. Then, if the wick to body ratio of the bar is higher than 0.5 (can be changed from the settings) a bubble is plotted. Using the wick length as a metric to measure liquidity is good because long wicks can translate to a large amount of buyers / sellers entering the market.
The bubble size is determined by the wick to body ratio of the candle.
⚙️SETTINGS
1. General Configuration
Pivot Length -> This setting determines the range of the pivots. This means a candle has to have the highest / lowest wick of the previous X bars and the next X bars to become a high / low pivot.
Wick-Body Ratio -> After a pivot has a false breakout, the wick-body ratio of the latest candle is tested. The resulting ratio must be higher than this setting for it to be considered as a liquidity grab.
It's All MidsIt's All Mids extends mid-lines of a candle forward until the price revisits (covers) the midpoint. A higher timeframe can be used for the mid candles than the chart (but not the reverse). There is no data to support this is a meaningful concept.
While this script is intended to be functional, correct and useful it is important that you understand that not only is this the first script I've written but also that "I am an idiot."(tm) Using a stranger's indicator is questionable, but using a self-proclaimed idiot's indicator to trade real money is unquestionably stupid. Don't be like me. Be smart. You are responsible for what you do with this script. The source is unlocked, so feel free to copy and modify it.
Terms:
- A "mid" is the (high+low)/2 price of a previous candle that has not been auctioned since the candle close. All candles will initially have a mid unless they close on exactly their midpoint.
- A "covered" mid is a mid for which the midpoint has been auctioned since the candle closed. There is an option to display a number of these so that when a mid is hit the line doesn't just disappear from the chart and you forget what you were doing.
- A "low priority" mid is the mid of a candle which was auctioned in the previous candle(s) (chart's timeframe, not the mid's timeframe)-- chopchopchop. I have no data to show that this matters, or really, that anything matters at all.
My use: I chart a 60m mid on ES on a 5 or 15 minute chart. I am lying. I use it for something else but if I tell you that then I give away my incredible alpha that has made me so rich I can spend my time crying in corner about all the money I've lost.
VWAP 8EMA Crossover Scalping IndicatorWhy?
Everybody, especially in Indian context, from 9:15 AM to 3:30 PM, wants to trade in BankNifty.
And even 15m is Too Big timeframe for The Great Indian Options buyers. Everyone knows how potentially BankNifty (& FinNifty on Tuesday and Sensex on Friday) can show dance within 15m.
So there always been an overarching longing among traders to have something in shorter timeframes. And this 5m timeframe, looks like a universally (sic) accepted Standard Timeframe for Indian Options traders.
So here is this.
What?
The time we are publishing this public indicator Indian market (Nifty) is in ATH at ~22200.
In any such super trending market it's always good to wait for a dip and then in suitable time, enter the trade in the direction of the larger trend. The reversal trading systems, in such a situation, proves to be ineffective.
Of course there are time when market is sideways and keeps on oscillating between +/2 standard deviation of the 20 SMA. In such a situation the reversal play works perfectly. But not so in such a trending market.
So the question comes up - after a dip what's the right point to enter.
Hence comes the importance of such a crossover based trading system.
In this indicator, it's a well-known technique (nothing originally from ours, it's taken from social media, exact one we forgot) to find out the 8EMA and VWAP crossover.
So we learned from social media, practice in our daily trading a bit, actuate it and now publishing it.
A few salient points
It does not make sense to jump into the trade just on the crossover (or crossunder).
So we added some more sugar to it, e.g. we check the color the candle. Also the next candle if crosses and closes above (or below) the breakout candle's high/low.
The polarity (color) of both the alert (breakout/breakdown) and confirmation candle to be same (green for crossover, red from crossunder).
Of course, it does provider BUY and SELL alerts separately.
These all we have found out doing backtesting and forward testing with 1/2 lots and saw this sort of approaches works.
Hence all of these are added to this script.
Nomenclature
Here green line is the 8EMA and the red line is the VWAP.
Also there is a black dotted line. That's 50 EMA. It's to show you the trend.
The recent trade is shown in the top right of the chart as green (for buy) or red (for sell) with SL and 1:1 target.
How to trade using this system?
This is roughly we have found the best possible use of this indicator.
Lets explain with a bullish BUY positive crossover (means 8EMA is crossing over the daily VWAP)
Keep timeframe as 5m
Check the direction/slope of the black dotted line (50 EMA). If it's upwards, only take bullish positions.
Open the chart which has the VWAP. (e.g. FinNifty spot or MidcapNifty spot does not have vwap). So in those cases Future is the way to go.
Wait for a breakout crossover and let the indicator gives a green, triangular UP arrow.
Draw a horizontal line to the close of that candle for next few (say 6 candles i.e. 30m) candles.
Wait for the price first to retest the 8EMA or even better the VWAP (or near to the 8EMA, VWAP)
Let the price moves and closes above the horizontal line drawn in the 4th step.
Take a bullish trade, keeping VWAP as the SL and 1:1 as the target.
Additionally, Options buyer can consult ADX also to see if the ADX is more than 25 and moving up for the bullish trade. (This has to be added seperately in the chart, it's not a part of the indicator).
Mention
The concept we have taken from some social media. Forget exactly where we heard this first time. We just coded it with some additional steps.
Statutory Disclaimer
There is no silver bullet / holy grail in trading. Nothing works 100% time. One has to be careful about the loss (s)he can bear in case of the trade goes against.
We, as the author of this script, is not responsible for any trading or position decision one is taken based on the outcome of this.
It is our sole discretion to change, add, delete the portion or withdraw the whole script without any prior notice or intimation.
In Indian Context: We are not SEBI registered.
Fusion Traders - RSI Overbought/Oversold + Divergence IndicatorFusion Traders - RSI Overbought/Oversold + Divergence Indicator - new version
This indicator has lots of various add ons.
RSI overbought / oversold with changeable inputs
Divergence indicator
DESCRIPTION:
This script combines the Relative Strength Index ( RSI ), Moving Average and Divergence indicator to make a better decision when to enter or exit a trade.
- The Moving Average line (MA) has been made hidden by default but enhanced with an RSIMA cloud.
- When the RSI is above the selected MA it turns into green and when the RSI is below the select MA it turns into red.
- When the RSI is moving into the Overbought or Oversold area, some highlighted areas will appear.
- When some divergences or hidden divergences are detected an extra indication will be highlighted.
- When the divergence appear in the Overbought or Oversold area the more weight it give to make a decision.
- The same colour pallet has been used as the default candlestick colours so it looks familiar.
HOW TO USE:
The prerequisite is that we have some knowledge about the Elliot Wave Theory, the Fibonacci Retracement and the Fibonacci Extension tools.
We are hoping you like this indicator and added to your favourite indicators. If you have any question then comment below, and I'll do my best to help.
FEATURES:
• You can show/hide the RSI .
• You can show/hide the MA.
• You can show/hide the lRSIMA cloud.
• You can show/hide the Stoch RSI cloud.
• You can show/hide and adjust the Overbought and Oversold zones.
• You can show/hide and adjust the Overbought Extended and Oversold Extended zones.
• You can show/hide the Overbought and Oversold highlighted zones.
HOW TO GET ACCESS TO THE SCRIPT:
• Favorite the script and add it to your chart.
ICT Hydra MacrosThis indicator allows you to set a colored box at each time frame specified as Macro.
The purpose of this customizable color box is to be able to identify the start and end of the desired time frame, as well as the highest and lowest price during that time frame.
It also allows to place the schedule in numbers inside the box in order to quickly identify the painted time frame.
The indicator has up to 26 customizable boxes both in time frame and color. This allows to have different time frames that each Trader considers convenient for his strategy.
Settings:
General Settings:
Limit Days to Draw: Indicates the number of past days in which boxes will be drawn. Default value is 5 past days.
Timeframe Limit: Indicates the maximum time frame in which the boxes will be displayed. Default value is 5 minutes.
Timezone: Indicates the desired Timezone to calculate the schedules that will be configured later.
Macros Settings:
Show Macros Boxes: Enables or disables all boxes. It is enabled by default.
Display Text: Enables or disables all labels inside the boxes containing the time frame corresponding to the box. It is enabled by default.
Macros Transparency: Indicates the transparency percentage of the selected color for all boxes. By default it contains a value of 80% transparency.
Macro 1-26: Indicates the start time and end time, as well as the color of the individual box. Each Macro can be enabled or disabled individually. Note that the boxes of each Macro will be visible only if the "Show Macros Boxes" property is enabled. By default, there are specified certain Macros or time frames with a duration of 20 minutes, which are Manipulation or Expansion Macros that mentor Hydra has taught us based on the knowledge that ICT has provided for everyone.
The objective of this indicator is to provide a visual tool on the Macros or Time Frames in which the Trader can easily observe the desired schedule and which will automatically adjust according to the time and price on all 4 sides of the box.
Unbounded RSIIntroducing the concept of "Unbounded RSI".
Instead of indexing the average gain and average loss, over the time period of interest, we leave the average gain and loss unbounded. Instead we "bound" them by difference of each and smoothen out this difference in an envelope using exponential average. See code.
What this does to traditional RSI concept?
No concept of "overbought", "oversold"
No concept of "60-40", "70-30" bands and arguments over it
No concept of "Range Shifts"
...
How to use it?
I am generally a positional long trader. So I present my version. Of course, I expect each individual who decide to use this concept, to come up with their ideas, based on their style and temperament.
The points below, I apply on a Weekly Timeframe Chart.
Once, we see a long consolidation and price breakout, we should be able to see "Green" histogram bars. These appear, once we have the stock at least 20% up from the 52WL and the "Unbounded RSI" has turned positive. This can be a good time to "enter" into the scrip.
The height of the bars are significant, since they essentially show, that the "gap" between the avg. gain and avg. loss is widening, indicating momentum. Swing trading can thrive in these environments I guess.
Falling heights indicate that gaps to close, though, the "gap can still be green". This means, momentum is now falling. Swing traders and "quick buck makers", would ideally book profits here. If the color of the bars still remain "Green" it indicates that momentum has reduced but still the gains are "more" than loss on the timeperiod selected.
Once the histogram turns red, it means that the gain is now lower than loss. An increasing height underground, means this loss is widening. Generally, this will corelate with price action (not necessarily volume).
At this time, exits should be looked for, may be also check other factors/indicators to decide, but surely the momentum and the gain% over the timeperiod selected has now gone.
Note for Pine Coders:
The source code can easily be modified to develop this concept further.
For example:
Use different smoothing algorithms
Remove 52WL condition and introduce new additional conditions
Instead of price change of the stock for gain/loss calculations, we use the concept of Relative Strength (RS, not RSI) and measuere the gain/loss based on a benchmark index . I intend to work on this concept, soon.
You shall see a variable "unboundedRSI" which is actually a ratio of the Avg. Gain / Avg. Loss. This ratio is not plotted. It is kept there, for future use.
Many more
CCOMET_Scanner_LibraryLibrary "CCOMET_Scanner_Library"
- A Trader's Edge (ATE)_Library was created to assist in constructing CCOMET Scanners
Loc_tIDs_Col(_string, _firstLocation)
TickerIDs: 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 CCOMET Scanner.
Locations: This function is used when there's a desire to print an assets ALERT LABELS. A set Location on the scale is assigned to each asset.
This is created so that if a lot of alerts are triggered, they will stay relatively visible and not overlap each other.
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.
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 CCOMET 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)
_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 in the tuple (ie. between the ' ') with the TickerIDs, 40 variables for the locations for alert labels, and 40 Colors for labels/plots
TickeridForLabelsAndSecurity(_ticker, _includeExchange)
This function accepts the TickerID Name as its parameter and produces a single string that will be used in all of your labels.
Parameters:
_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.
_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.
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 CCOMET Scanner as it will only contain what you want your labels
to show as determined by how the tickerID is formulated in the CCOMET Scanner's input.
InvalID_LblSz(_barCnt, _close, _securityTickerid, _invalidArray, _tablePosition, _stackVertical, _lblSzRfrnce)
INVALID TICKERIDs: 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.
LABEL SIZES: 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 CCOMET Scanner 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 Security function's tuple and input it as this functions 1st input
parameter which will directly affect the size of the 2nd output variable ('alertTrigLabel') that is also outputted by this function.
_close (float) : (float)
Put your 'close' variable named '_close' from the security function here.
_securityTickerid (string) : (string)
Throughout the entire charts updates, if a '_close' value is never registered then the logic counts the asset as INVALID.
This will be the 1st TickerID variable (named _securityTickerid) outputted from the tuple of the TickeridForLabels()
function above this one.
_invalidArray (array) : (array string)
Input the array from the original script that houses all of the invalidArray strings.
_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, otherwise they will all be in a row.
_lblSzRfrnce (string) : (string)
Optional (if parameter not included, it defaults to size.small). This will be the size of the variable outputted
by this function named 'assetNameLabel' BUT also affects the size of the output variable 'alertTrigLabel' as it uses this parameter's size
as the smallest size for 'alertTrigLabel' then uses the '_barCnt' parameter to determine the next sizes up depending on the "_barCnt" value.
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.
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.
Table to filter trades per dayThis script contains a block of code that allows users to filter the total number of trades, loss trades, win trades and win rate per day in a table. This makes it easier to compare which days were profitable and which were not.
Be aware that this script can only be used in strategy scripts. To use the script, open it and copy every line from "START" to "STOP". Then, paste these lines at the very bottom of the strategy script that you want to attach it to.
The user has the ability to adjust the position of the table and customize the size of the text displayed.
If the user sets "Check when the trade:" to "Opened", the script will monitor when the trade opens and add it to the table once it has been closed. If "Check when the trade:" is set to "Closed", the script will track when the trade is closed and add it to the table once it has been closed.
It is recommended to run the script on the "Exchange" setting for more accurate results, even though a "Set the timezone" option is available. This will prevent discrepancies caused by daylight saving time changes.
Please note that the code will only work properly if you choose a daily timeframe or lower.
Turtle Trader StrategyTurtle Trader Strategy :
Introduction :
This strategy is based on the well known « Turtle Trader Strategy », that has proven itself over the years. It sends long and short signals with pyramid orders of up to 5, meaning that the strategy can trigger up to 5 orders in the same direction. Good risk and money management.
It's important to note that the strategy combines 2 systems working together (S1 and S2). Let’s describe the specific features of this strategy.
1/ Position size :
Position size is very important for turtle traders to manage risk properly. This position sizing strategy adapts to market volatility and to account (gains and losses). It’s based on ATR (Average True Range) which can also be called « N ». Its length is per default 20.
ATR(20) = (previous_atr(20)*19 + actual_true_range)/20
The number of units to buy is :
Unit = 1% * account/(ATR(20)*dollar_per_point)
where account is the actual account value and dollar_per_point is the variation in dollar of the asset with a 1 point move.
Depending on your risk aversion, you can increase the percentage of your account, but turtle traders default to 1%. If you trade contracts, units must be rounded down by default.
There is also an additional rule to reduce the risk if the value of the account falls below the initial capital : in this case and only in this case, account in the unit formula must be replace by :
account = actual_account*actual_account/initial capital
2/ Open a position :
2 systems are working together :
System 1 : Entering a new 20 day breakout
System 2 : Entering a new 55 day breakout
A breakout is a new high or new low. If it’s a new high, we open long position and vice versa if it’s a new low we enter in short position.
We add an additional rule :
System 1 : Breakout is ignored if last long/short position was a winner
System 2 : All signals are taken
This additional rule allows the trader to be in the major trends if the system 1 signal has been skipped. If a signal for system 1 has been skipped, and next candle is also a new 20 day breakout, S1 doesn’t give a signal. We have to wait S2 signal or wait for a candle that doesn’t make a new breakout to reactivate S1.
3/ Pyramid orders :
Turtle Strategy allows us to add extra units to the position if the price moves in our favor. I've configured the strategy to allow up to 5 orders to be added in the same direction. So if the price varies from 0.5*ATR(20) , we add units with the position size formula. Note that the value of account will be replaced by "remaining_account", i.e. the cash remaining in our account after subtracting the value of open positions.
4/ Stop Loss :
We set a stop loss at 1.5*ATR(20) below the entry price for longs and above the entry price for shorts. If pyramid units are added, the stop is increased/decreased by 0.5*ATR(20). Note that if SL is configured for a loss of more than 10%, we set the SL to 10% for the first entry order to avoid big losses. This configuration does not work for pyramid orders as SL moves by 0.5*ATR(20).
5/ Exit signals :
System 1 :
Exit long on a 10 day low
Exit short on a 10 day high
System 2 :
Exit long on a 20 day low
Exit short on a 20 day high
6/ What types of orders are placed ?
To enter in a position, stop orders are placed meaning that we place orders that will be automatically triggered by the signal at the exact breakout price. Stop loss and exit signals are also stop orders. Pyramid orders are market orders which will be triggered at the opening of the next candle to avoid repainting.
PARAMETERS :
Risk % of capital : Percentage used in the position size formula. Default is 1%
ATR period : ATR length used to calculate ATR. Default is 20
Stop ATR : Parameters used to fix stop loss. Default is 1.5 meaning that stop loss will be set at : buy_price - 1.5*ATR(20) for long and buy_price + 1.5*ATR(20) for short. Turtle traders default is 2 but 1.5 is better for cryptocurrency as there is a huge volatility.
S1 Long : System 1 breakout length for long. Default is 20
S2 Long : System 2 breakout length for long. Default is 55
S1 Long Exit : System 1 breakout length to exit long. Default is 10
S2 Long Exit : System 2 breakout length to exit long. Default is 20
S1 Short : System 1 breakout length for short. Default is 15
S2 Short : System 2 breakout length for short. Default is 55
S1 Short Exit : System 1 breakout length to exit short. Default is 7
S2 Short Exit : System 2 breakout length to exit short. Default is 20
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Pyramiding : Number of orders that can be passed in the same direction. Default is 5.
Important : Turtle traders don't trade crypto. For this specific asset type, I modify some parameters such as SL and Short S1 in order to maximize return while limiting drawdown. This strategy is the most optimal on BINANCE:BTCUSD in 1D timeframe with the parameters set per default. If you want to use this strategy for a different crypto please adapt parameters.
NOTE :
It's important to note that the first entry order (long or short) will be the largest. Subsequent pyramid orders will have fewer units than the first order. We've set a maximum SL for the first order of 10%, meaning that you won't lose more than 10% of the value of your first order. However, it is possible to lose more on your pyramid orders, as the SL is increased/decreased by 0.5*ATR(20), which does not secure a loss of more than 10% on your pyramid orders. The risk remains well managed because the value of these orders is less than the value of the first order. Remain vigilant to this small detail and adjust your risk according to your risk aversion.
Enjoy the strategy and don’t forget to take the trade :)
Opening RangeThe opening range or first 30 minutes of trading during the day sets the tone and becomes an important reference through the rest of the day. Price will react as it reaches the high and low of the opening range.
Backtesting has shown that the strategies based on the opening range have merit and provide an edge in trading. By not being aware of these points of reference you put yourself at risk.
In addition to the opening range, the distance from the high or low of the opening range plus the width of the opening range forms another important reference point.
Opening Range Rules.
Price must break out of the opening range in order to have a trending day. As long as price is inside the opening range, expect the trade to be choppy.
Once price leaves the opening range the market can begin to trend. However, before it trends most times it will retest the boundary of the opening range. This is a critical point, and a better than average entry for a position to join the trend. However, if price closes back inside the opening range watch out. Re-entry to the opening range has a high probability of going to the middle of the opening range, and a better than average probability of crossing the entire opening range.
In the above chart we can see price broke below the opening range then returned to retest the opening range before beginning a downward trend that delivered 175 pts on NQ.
Upon re-entering the opening range price tried to break down again but ultimately traveled up until it hit the 50% mark of the opening range.
Once a trend has begun the first target is the green line which is 1 width of the opening range outside of the opening range.
Once price broke out of the opening range to the upside, it came back to retest the opening range high, before beginning an uptrend that delivered 120 pts on NQ.
Z-Score Forecaster[SS]Hello everyone,
I just released a neat library for Forecasting stock and equities. In it, it has a couple of novel approaches to forecasting (namely, a Moving Average forecaster and a Z-Score Forecaster). These were accomplished applying basic theories on Autoregression, ARIMA modelling and Z-Score to make new approaches to forecasting.
This is one of the novel approaches, the Z-Score forecaster.
How this function works is it identifies the current trend over the duration of the Z-Score assessment period. So, if the Z-Score is being assessed over the previous 75 candles, it will identify the trend over the previous 75 candles. It will then plot out the forecasted levels according to the trend, up to a maximum of the max Z-Score the ticker has reached within its period. At that point, it will show a likely trend reversal.
Here is an example:
This shows that SPY may go to 475.42 before reversing, as 475.42 is the highest z-score that has been achieved in the current trend.
When it is in an uptrend, the forecast line will be green, when in a downtrend, it will be red.
The forecasting line is accomplished through pinescript's new polyline feature.
In addition to the line, you can also have the indicator plot out a forecast table. The Z-Score Forecast table was formatted in a similar way to ARIMA, where it makes no bias about trend, it simply plots out both ends of the spectrum. So, if an uptrend were to continue, it will list the various uptrend targets along the way, vice versa for downtrends.
It will also display what Z-Score these targets would amount to. Here is an example:
Looking at SPY on the daily, we can see that a likely upside target would be around 484 at just over 2 Standard Deviations (Z-Score).
Its not liklely to go higher than that because then we are getting into 3 and 4 standard deviations.
Remember, everything generally should be within 1 and -1 standard deviations of the mean. So if we look at the table, we can see that would be between 466 and 430.
Customization
You can customize the Z-Score length and source. You can also toggle off and on alerts. The alerts will pop up when a ticker is trading at a previous maximum or previous minimum.
I have also added a manual feature to plot the Z-Score SMA, which is simply the SMA over the desired Z-Score lookback time.
And that's the indicator!
If you are interested in the library, you can access it here .
Thanks for checking this out and leave your questions below!
Volume Profile Histogram [SS]I usually (and by usually, I mean the past year xD) release a significant indicator as my Christmas gift to the community on Christmas Eve. Last year, it was the Z-Score buy and sell signal; this year, it's something a little more conventional. So here is this year’s gift—hope you like it! 🎁
Seems like everyone has their take on Volume Profiles (aka SVP or VSP). I decided to create one, and in true Steversteves fashion, you can expect to find all the goodies that come with most of my stuff, including a volume profile presented in a bell-curve/histogram style (chart above) and statistical frequency tables showing the cases by ranges:
And it wouldn't be a true Steversteves indicator without some kind of ATR thing:
So, what does it do?
At the end of the day, it is a form of an SVP indicator. However, it is meant to operate on a larger scale, sorting volume in a traditional bell-curve style. In addition to displaying volume, it breaks down buying vs. selling volume. Selling volume is classified as such when the open is greater than close, while buying is when close is greater than open. This breakdown allows you to see the distribution, by price range, of where selling and buying occur.
This permits the indicator to provide 2 Points of Control (POCs). A POC is defined as an area of high volume activity. Because buying and selling volumes are broken down into two, we can identify areas with high selling and areas with high buying. Sometimes they coincide, sometimes they differ.
If we look at SQQQ, for example:
We can see that the bearish point of control is one point below the bullish POC. This is interesting because it essentially shows where people may be "panic selling" or setting their stop-outs. If SQQQ drops below 18.8, then it's likely to trigger panic selling, as indicated by the histogram.
Conversely, we can observe that traders tend to position long between $18 and $24. The POC is noted in the stats table and also displayed on the chart. Bullish POC is shown in purple, bearish in yellow. These, of course, can be toggled off.
The Frequency Table:
The frequency table shows how many observations were obtained in each price range. The histogram illustrates the cumulative volume traded, while the frequency simply counts how many cases occurred over the lookback period.
ATR Range Analytics by Volume:
The indicator also has the ability to display range analytics by volume. When you toggle on the range analytics by volume option, a range chart will appear:
www.tradingview.com
The range chart goes from the minimum recorded volume to the maximum recorded volume in the period, showing the average range and direction associated with this volume. This is crucial to pay attention to because not all stocks behave the same way.
For example, in the chart above (AMD), we can see that low volume produces a general bearish bias, and high volume produces a general bullish bias. However, if we look at the range analytics for SPY:
Low volume has the inverse effect. Low volume is associated with a more bullish bias, and high volume indicates a more bearish bias. In the ATR chart, the threshold volume to transition from bullish bias to bearish bias is approximately > 78,607,268 traded shares.
The Stats Table:
The stats table can be toggled on or off. It simply displays the POCs and the time range for the VSP. The default time range is 1 trading year (252 days), assuming you are on the daily timeframe. However, you can use this on any timeframe.
The percentages displayed in the histogram is the cumulative percent of buying and selling volume independently. So when you see the percentage on the selling histogram, its the percent of cumulative selling only. Same for the buying.
And that's the indicator! I hope you enjoy it. Let me know your thoughts. I hope you all have safe holidays, a Merry Christmas for you North Americans, and a Happy Christmas for you UKers, and whatever else you celebrate/care about and do! Safe trades, everyone, and enjoy your holidays! 🎁🎄🎄🎄⭐⭐⭐ 🕎 🕎 🕎
PB wTF50What kind of traders/investors are we?
We are trend followers, always on the lookout for the next big move in the market. Our scripts are meticulously crafted for higher timeframes (daily, weekly, monthly) aiming to capture the large market trends.
What does this script do?
The Pb wTF50 script simplifies the complex world of investing by colour-coding bars to indicate the trend direction. Green bars signify a bullish trend, red indicates a bearish trend, and a combination of both signifies a sideways market. This visual representation ensures investors can quickly gauge the market's direction and act accordingly.
How is the PB wTF50 produced?
The PB wTF50 script employs the simple moving averages (SMAs) as its backbone. Bars positioned above both the SMAs turn green, indicating a bullish trend. Conversely, bars below these SMAs turn red, signalling a bearish trend.
What is the best timeframe to use the script?
The PB wTF50 script is designed for the weekly timeframe. This ensures that traders and investors are aligned with the long-term market trend, filtering out the noise of shorter timeframes.
What makes this script unique?
The challenges of identifying the onset, progression, and culmination of trends are well-known in the investing community. The PbF script addresses these challenges head-on.
The PB wTF50 is not a lagging indicator. It is aligned with price movement, which helps investors and traders focus on what the asset’s price is doing. The asset’s price is the primary indicator of its direction.
Lagging indicators can be used alongside the PB wTF50 to confirm the asset’s direction.
The PBwTF50 continues to remain green during extended periods of bullish pullbacks and red during extended periods of bearish pullbacks. This helps investors and traders hold positions during corrections in the market.
When interacting with OB/OS zones, investors and traders are positioned to align with the trend and ignore short-term fluctuations against the trend.
The PB wTF50 can be used to enter additional positions, also known as compounding, when an asset’s price has pulled back into an OS zone, but the trend filter has remained green in a bull trend/OB zone, but the trend filter has remained red in a bear trend.
In essence, the PB wTF50 script is a trend filter that gives investors and traders the ability to apply discretion with the start and end of long-term trends as they develop.