Advanced Keltner Channel/Oscillator [MyTradingCoder]This indicator combines a traditional Keltner Channel overlay with an oscillator, providing a comprehensive view of price action, trend, and momentum. The core of this indicator is its advanced ATR calculation, which uses statistical methods to provide a more robust measure of volatility.
Starting with the overlay component, the center line is created using a biquad low-pass filter applied to the chosen price source. This provides a smoother representation of price than a simple moving average. The upper and lower channel lines are then calculated using the statistically derived ATR, with an additional set of mid-lines between the center and outer lines. This creates a more nuanced view of price action within the channel.
The color coding of the center line provides an immediate visual cue of the current price momentum. As the price moves up relative to the ATR, the line shifts towards the bullish color, and vice versa for downward moves. This color gradient allows for quick assessment of the current market sentiment.
The oscillator component transforms the channel into a different perspective. It takes the price's position within the channel and maps it to either a normalized -100 to +100 scale or displays it in price units, depending on your settings. This oscillator essentially shows where the current price is in relation to the channel boundaries.
The oscillator includes two key lines: the main oscillator line and a signal line. The main line represents the current position within the channel, smoothed by an exponential moving average (EMA). The signal line is a further smoothed version of the oscillator line. The interaction between these two lines can provide trading signals, similar to how MACD is often used.
When the oscillator line crosses above the signal line, it might indicate bullish momentum, especially if this occurs in the lower half of the oscillator range. Conversely, the oscillator line crossing below the signal line could signal bearish momentum, particularly if it happens in the upper half of the range.
The oscillator's position relative to its own range is also informative. Values near the top of the range (close to 100 if normalized) suggest that price is near the upper Keltner Channel band, indicating potential overbought conditions. Values near the bottom of the range (close to -100 if normalized) suggest proximity to the lower band, potentially indicating oversold conditions.
One of the strengths of this indicator is how the overlay and oscillator work together. For example, if the price is touching the upper band on the overlay, you'd see the oscillator at or near its maximum value. This confluence of signals can provide stronger evidence of overbought conditions. Similarly, the oscillator hitting extremes can draw your attention to price action at the channel boundaries on the overlay.
The mid-lines on both the overlay and oscillator provide additional nuance. On the overlay, price action between the mid-line and outer line might suggest strong but not extreme momentum. On the oscillator, this would correspond to readings in the outer quartiles of the range.
The customizable visual settings allow you to adjust the indicator to your preferences. The glow effects and color coding can make it easier to quickly interpret the current market conditions at a glance.
Overlay Component:
The overlay displays Keltner Channel bands dynamically adapting to market conditions, providing clear visual cues for potential trend reversals, breakouts, and overbought/oversold zones.
The center line is a biquad low-pass filter applied to the chosen price source.
Upper and lower channel lines are calculated using a statistically derived ATR.
Includes mid-lines between the center and outer channel lines.
Color-coded based on price movement relative to the ATR.
Oscillator Component:
The oscillator component complements the overlay, highlighting momentum and potential turning points.
Normalized values make it easy to compare across different assets and timeframes.
Signal line crossovers generate potential buy/sell signals.
Advanced ATR Calculation:
Uses a unique method to compute ATR, incorporating concepts like root mean square (RMS) and z-score clamping.
Provides both an average and mode-based ATR value.
Customizable Visual Settings:
Adjustable colors for bullish and bearish moves, oscillator lines, and channel components.
Options for line width, transparency, and glow effects.
Ability to display overlay, oscillator, or both simultaneously.
Flexible Parameters:
Customizable inputs for channel width multiplier, ATR period, smoothing factors, and oscillator settings.
Adjustable Q factor for the biquad filter.
Key Advantages:
Advanced ATR Calculation: Utilizes a statistical method to generate ATR, ensuring greater responsiveness and accuracy in volatile markets.
Overlay and Oscillator: Provides a comprehensive view of price action, combining trend and momentum analysis.
Customizable: Adjust settings to fine-tune the indicator to your specific needs and trading style.
Visually Appealing: Clear and concise design for easy interpretation.
The ATR (Average True Range) in this indicator is derived using a sophisticated statistical method that differs from the traditional ATR calculation. It begins by calculating the True Range (TR) as the difference between the high and low of each bar. Instead of a simple moving average, it computes the Root Mean Square (RMS) of the TR over the specified period, giving more weight to larger price movements. The indicator then calculates a Z-score by dividing the TR by the RMS, which standardizes the TR relative to recent volatility. This Z-score is clamped to a maximum value (10 in this case) to prevent extreme outliers from skewing the results, and then rounded to a specified number of decimal places (2 in this script).
These rounded Z-scores are collected in an array, keeping track of how many times each value occurs. From this array, two key values are derived: the mode, which is the most frequently occurring Z-score, and the average, which is the weighted average of all Z-scores. These values are then scaled back to price units by multiplying by the RMS.
Now, let's examine how these values are used in the indicator. For the Keltner Channel lines, the mid lines (top and bottom) use the mode of the ATR, representing the most common volatility state. The max lines (top and bottom) use the average of the ATR, incorporating all volatility states, including less common but larger moves. By using the mode for the mid lines and the average for the max lines, the indicator provides a nuanced view of volatility. The mid lines represent the "typical" market state, while the max lines account for less frequent but significant price movements.
For the color coding of the center line, the mode of the ATR is used to normalize the price movement. The script calculates the difference between the current price and the price 'degree' bars ago (default is 2), and then divides this difference by the mode of the ATR. The resulting value is passed through an arctangent function and scaled to a 0-1 range. This scaled value is used to create a color gradient between the bearish and bullish colors.
Using the mode of the ATR for this color coding ensures that the color changes are based on the most typical volatility state of the market. This means that the color will change more quickly in low volatility environments and more slowly in high volatility environments, providing a consistent visual representation of price momentum relative to current market conditions.
Using a good IIR (Infinite Impulse Response) low-pass filter, such as the biquad filter implemented in this indicator, offers significant advantages over simpler moving averages like the EMA (Exponential Moving Average) or other basic moving averages.
At its core, an EMA is indeed a simple, single-pole IIR filter, but it has limitations in terms of its frequency response and phase delay characteristics. The biquad filter, on the other hand, is a two-pole, two-zero filter that provides superior control over the frequency response curve. This allows for a much sharper cutoff between the passband and stopband, meaning it can more effectively separate the signal (in this case, the underlying price trend) from the noise (short-term price fluctuations).
The improved frequency response of a well-designed biquad filter means it can achieve a better balance between smoothness and responsiveness. While an EMA might need a longer period to sufficiently smooth out price noise, potentially leading to more lag, a biquad filter can achieve similar or better smoothing with less lag. This is crucial in financial markets where timely information is vital for making trading decisions.
Moreover, the biquad filter allows for independent control of the cutoff frequency and the Q factor. The Q factor, in particular, is a powerful parameter that affects the filter's resonance at the cutoff frequency. By adjusting the Q factor, users can fine-tune the filter's behavior to suit different market conditions or trading styles. This level of control is simply not available with basic moving averages.
Another advantage of the biquad filter is its superior phase response. In the context of financial data, this translates to more consistent lag across different frequency components of the price action. This can lead to more reliable signals, especially when it comes to identifying trend changes or price reversals.
The computational efficiency of biquad filters is also worth noting. Despite their more complex mathematical foundation, biquad filters can be implemented very efficiently, often requiring only a few operations per sample. This makes them suitable for real-time applications and high-frequency trading scenarios.
Furthermore, the use of a more sophisticated filter like the biquad can help in reducing false signals. The improved noise rejection capabilities mean that minor price fluctuations are less likely to cause unnecessary crossovers or indicator movements, potentially leading to fewer false breakouts or reversal signals.
In the specific context of a Keltner Channel, using a biquad filter for the center line can provide a more stable and reliable basis for the entire indicator. It can help in better defining the overall trend, which is crucial since the Keltner Channel is often used for trend-following strategies. The smoother, yet more responsive center line can lead to more accurate channel boundaries, potentially improving the reliability of overbought/oversold signals and breakout indications.
In conclusion, this advanced Keltner Channel indicator represents a significant evolution in technical analysis tools, combining the power of traditional Keltner Channels with modern statistical methods and signal processing techniques. By integrating a sophisticated ATR calculation, a biquad low-pass filter, and a complementary oscillator component, this indicator offers traders a comprehensive and nuanced view of market dynamics.
The indicator's strength lies in its ability to adapt to varying market conditions, providing clear visual cues for trend identification, momentum assessment, and potential reversal points. The use of statistically derived ATR values for channel construction and the implementation of a biquad filter for the center line result in a more responsive and accurate representation of price action compared to traditional methods.
Furthermore, the dual nature of this indicator – functioning as both an overlay and an oscillator – allows traders to simultaneously analyze price trends and momentum from different perspectives. This multifaceted approach can lead to more informed decision-making and potentially more reliable trading signals.
The high degree of customization available in the indicator's settings enables traders to fine-tune its performance to suit their specific trading styles and market preferences. From adjustable visual elements to flexible parameter inputs, users can optimize the indicator for various trading scenarios and time frames.
Ultimately, while no indicator can predict market movements with certainty, this advanced Keltner Channel provides traders with a powerful tool for market analysis. By offering a more sophisticated approach to measuring volatility, trend, and momentum, it equips traders with valuable insights to navigate the complex world of financial markets. As with any trading tool, it should be used in conjunction with other forms of analysis and within a well-defined risk management framework to maximize its potential benefits.
在腳本中搜尋"curve"
Hullinger Bands [AlgoAlpha]🎯 Introducing the Hullinger Bands Indicator ! 🎯
Maximize your trading precision with the Hullinger Bands , an advanced tool that combines the strengths of Hull Moving Averages and Bollinger Bands for a robust trading strategy. This indicator is designed to give traders clear and actionable signals, helping you identify trend changes and optimize entry and exit points with confidence.
✨ Key Features :
📊 Dual-Length Settings : Customize your main and TP signal lengths to fit your trading style.
🎯 Enhanced Band Accuracy : The indicator uses a modified standard deviation calculation for more reliable volatility measures.
🟢🔴 Color-Coded Signals : Easily spot bullish and bearish conditions with customizable color settings.
💡 Dynamic Alerts : Get notified for trend changes and TP signals with built-in alert conditions.
🚀 Quick Guide to Using Hullinger Bands
1. ⭐ Add the Indicator : Add the indicator to favorites by pressing the star icon. Adjust the settings to align with your trading preferences, such as length and multiplier values.
2. 🔍 Analyze Readings : Observe the color-coded bands for real-time insights into market conditions. When price is closer to the upper bands it suggests an overbought market and vice versa if price is closer to the lower bands. Price being above or below the basis can be a trend indicator.
3. 🔔 Set Alerts : Activate alerts for bullish/bearish trends and TP signals, ensuring you never miss a crucial market movement.
🔍 How It Works
The Hullinger Bands indicator calculates a central line (basis) using a simple moving average, while the upper and lower bands are derived from a modified standard deviation of price movements. Unlike the traditional Bollinger Bands, the standard deviation in the Hullinger bands uses the Hull Moving Average instead of the Simple Moving Average to calculate the average variance for standard deviation calculations, this give the modified standard deviation output "memory" and the bands can be observed expanding even after the price has started consolidating, this can identify when the trend has exhausted better as the distance between the price and the bands is more apparent. The color of the bands changes dynamically, based on the proximity of the closing price to the bands, providing instant visual cues for market sentiment. The indicator also plots TP signals when price crosses these bands, allowing traders to make informed decisions. Additionally, alerts are configured to notify you of crucial market shifts, ensuring you stay ahead of the curve.
Fear/Greed Zone Reversals [UAlgo]The "Fear/Greed Zone Reversals " indicator is a custom technical analysis tool designed for TradingView, aimed at identifying potential reversal points in the market based on sentiment zones characterized by fear and greed. This indicator utilizes a combination of moving averages, standard deviations, and price action to detect when the market transitions from extreme fear to greed or vice versa. By identifying these critical turning points, traders can gain insights into potential buy or sell opportunities.
🔶 Key Features
Customizable Moving Averages: The indicator allows users to select from various types of moving averages (SMA, EMA, WMA, VWMA, HMA) for both fear and greed zone calculations, enabling flexible adaptation to different trading strategies.
Fear Zone Settings:
Fear Source: Select the price data point (e.g., close, high, low) used for Fear Zone calculations.
Fear Period: This defines the lookback window for calculating the Fear Zone deviation.
Fear Stdev Period: This sets the period used to calculate the standard deviation of the Fear Zone deviation.
Greed Zone Settings:
Greed Source: Select the price data point (e.g., close, high, low) used for Greed Zone calculations.
Greed Period: This defines the lookback window for calculating the Greed Zone deviation.
Greed Stdev Period: This sets the period used to calculate the standard deviation of the Greed Zone deviation.
Alert Conditions: Integrated alert conditions notify traders in real-time when a reversal in the fear or greed zone is detected, allowing for timely decision-making.
🔶 Interpreting Indicator
Greed Zone: A Greed Zone is highlighted when the price deviates significantly above the chosen moving average. This suggests market sentiment might be leaning towards greed, potentially indicating a selling opportunity.
Fear Zone Reversal: A Fear Zone is highlighted when the price deviates significantly below the chosen moving average of the selected price source. This suggests market sentiment might be leaning towards fear, potentially indicating a buying opportunity. When the indicator identifies a reversal from a fear zone, it suggests that the market is transitioning from a period of intense selling pressure to a more neutral or potentially bullish state. This is typically indicated by an upward arrow (▲) on the chart, signaling a potential buy opportunity. The fear zone is characterized by high price volatility and overselling, making it a crucial point for traders to consider entering the market.
Greed Zone Reversal: Conversely, a Greed Zone is highlighted when the price deviates significantly above the chosen moving average. This suggests market sentiment might be leaning towards greed, potentially indicating a selling opportunity. When the indicator detects a reversal from a greed zone, it indicates that the market may be moving from an overbought condition back to a more neutral or bearish state. This is marked by a downward arrow (▼) on the chart, suggesting a potential sell opportunity. The greed zone is often associated with overconfidence and high buying activity, which can precede a market correction.
🔶 Why offer multiple moving average types?
By providing various moving average types (SMA, EMA, WMA, VWMA, HMA) , the indicator offers greater flexibility for traders to tailor the indicator to their specific trading strategies and market preferences. Different moving averages react differently to price data and can produce varying signals.
SMA (Simple Moving Average): Provides an equal weighting to all data points within the specified period.
EMA (Exponential Moving Average): Gives more weight to recent data points, making it more responsive to price changes.
WMA (Weighted Moving Average): Allows for custom weighting of data points, providing more flexibility in the calculation.
VWMA (Volume Weighted Moving Average): Considers both price and volume data, giving more weight to periods with higher trading volume.
HMA (Hull Moving Average): A combination of weighted moving averages designed to reduce lag and provide a smoother curve.
Offering multiple options allows traders to:
Experiment: Traders can try different moving averages to see which one produces the most accurate signals for their specific market.
Adapt to different market conditions: Different market conditions may require different moving average types. For example, a fast-moving market might benefit from a faster moving average like an EMA, while a slower-moving market might be better suited to a slower moving average like an SMA.
Personalize: Traders can choose the moving average that best aligns with their personal trading style and risk tolerance.
In essence, providing a variety of moving average types empowers traders to create a more personalized and effective trading experience.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.
Growth TrendThis powerful indicator plots the number of growth stocks in an uptrend, providing a comprehensive view of the market's overall direction. By applying a simple moving average, users can quickly gauge the trend and make informed trading decisions.
How does it work?
The script pulls tickers from the S & P 500 Growth ETF. It then plots the number of stocks from the ETF that are trending above a medium-term Moving Average, signaling an uptrend.
A moving average is applied to help understand the trend.
The background is shaded when 3 or more consecutive days are above (green) or below (red) the moving average.
Key Features:
Visual Trend Identification: The indicator shades the background green when three or more consecutive days are above the moving average, indicating a strong uptrend. Conversely, it shades red when three consecutive days are below the moving average, signaling a downtrend.
Breakout Insights: By tracking the trend, traders can identify when breakouts in growth stocks are more likely to occur or fail. This helps traders time their entries and exits more effectively.
Trend Strength Assessment: The indicator provides a quick visual assessment of the trend's strength, enabling traders to adjust their strategies accordingly.
Why is this indicator helpful?
Improved Trading Decisions: By understanding the overall trend and strength of growth stocks, traders can make more informed decisions about when to buy or sell.
Enhanced Risk Management: The indicator helps traders identify potential trend reversals, enabling them to adjust their positions and manage risk more effectively.
Market Insights: The Growth Stock Trend Indicator provides a valuable perspective on the market's overall direction, helping traders stay ahead of the curve.
By incorporating this indicator into their trading strategy, traders can gain a competitive edge and make more informed decisions in the growth stock market.
Cinnamon_Bear Indicators MA LibraryLibrary "Cinnamon_BearIndicatorsMALibrary"
This is a personal Library of the NON built-in PineScript Moving Average function used to code indicators
ma_dema(source, length)
Double Exponential Moving Average (DEMA)
Parameters:
source (simple float)
length (simple int)
Returns: A double level of smoothing helps to follow price movements more closely while still reducing noise compared to a single EMA.
ma_dsma(source, length)
Double Smoothed Moving Average (DSMA)
Parameters:
source (simple float)
length (simple int)
Returns: A double level of smoothing helps to follow price movements more closely while still reducing noise compared to a single SMA.
ma_tema(source, length)
Triple Exponential Moving Average (TEMA)
Parameters:
source (simple float)
length (simple int)
Returns: A Triple level of smoothing helps to follow price movements even more closely compared to a DEMA.
ma_vwema(source, length)
Volume-Weighted Exponential Moving Average (VWEMA)
Parameters:
source (simple float)
length (simple int)
Returns: The VWEMA weights based on volume and recent price, giving more weight to periods with higher trading volumes.
ma_hma(source, length)
Hull Moving Average (HMA)
Parameters:
source (simple float)
length (simple int)
Returns: The HMA formula combines the properties of the weighted moving average (WMA) and the exponential moving average (EMA) to achieve a smoother and more responsive curve.
ma_ehma(source, length)
Enhanced Moving Average (EHMA)
Parameters:
source (simple float)
length (simple int)
Returns: The EHMA is calculated similarly to the Hull Moving Average (HMA) but uses a different weighting factor to further improve responsiveness.
ma_trix(source, length)
Triple Exponential Moving Average (TRIX)
Parameters:
source (simple float)
length (simple int)
Returns: The TRIX is an oscillator that shows the percentage change of a triple EMA. It is designed to filter out minor price movements and display only the most significant trends. The TRIX is a momentum indicator that can help identify trends and buy or sell signals.
ma_lsma(source, length)
Linear Weighted Moving Average (LSMA)
Parameters:
source (simple float)
length (simple int)
Returns: A moving average that gives more weight to recent prices. It is calculated using a formula that assigns linear weights to prices, with the highest weight given to the most recent price and the lowest weight given to the furthest price in the series.
ma_wcma(source, length)
Weighted Cumulative Moving Average (WCMA)
Parameters:
source (simple float)
length (simple int)
Returns: A moving average that gives more weight to recent prices. Compared to a LSMA, the WCMA the weights of data increase linearly with time, so the most recent data has a greater weight compared to older data. This means that the contribution of the most recent data to the moving average is more significant.
ma_vidya(source, length)
Variable Index Dynamic Average (VIDYA)
Parameters:
source (simple float)
length (simple int)
Returns: It is an adaptive moving average that adjusts its momentum based on market volatility using the formula of Chande Momentum Oscillator (CMO) .
ma_zlma(source, length)
Zero-Lag Moving Average (ZLMA)
Parameters:
source (simple float)
length (simple int)
Returns: Its aims to minimize the lag typically associated with MA, designed to react more quickly to price changes.
ma_gma(source, length, power)
Generalized Moving Average (GMA)
Parameters:
source (simple float)
length (simple int)
power (simple int)
Returns: It is a moving average that uses a power parameter to adjust the weight of historical data. This allows the GMA to adapt to various styles of MA.
ma_tma(source, length)
Triangular Moving Average (TMA)
Parameters:
source (simple float)
length (simple int)
Returns: MA more sensitive to changes in recent data compared to the SMA, providing a moving average that better adapts to short-term price changes.
[Global Contraction Expansion Index SGM]Script Features
Dynamic Period Choice: The user can adjust the calculation period (period) for relative performance, allowing flexibility according to specific market analysis needs.
Sector Selection: The script takes into account different economic sectors through well-known ETFs like QQQ (technology), XLF (financial), XLY (consumer discretionary), XLV (healthcare), XLI (industrial) and XLE (energy). This diversification helps gain a general overview of economic health across different market segments.
Relative Performance Calculation: For each sector, the script calculates the relative performance using a simple moving average (SMA) of the price change over the specified period. This helps identify price trends adjusted for normal market fluctuations.
GCEI Index: The GCEI Index is calculated as the average of the relative performance of all sectors, multiplied by 100 to express it as a percentage. This provides an overall indicator of sectoral economic performance.
Crossover Signals: The script detects and marks points where the overall index (GCEI) crosses its own exponential moving average (emaGCEI), indicating potential changes in the overall trend of market performance.
Visualization: Results are visualized through graphs, where positive and negative regions are colored differently. Fills between the zero line and the index curves make it easy to see periods of contraction or expansion
When this index diverges from the SP500, it may be a sign that the technology sector is outperforming other sectors.
[SGM Forex Interest Rate]
Through an analysis of the interest rates of selected currencies, this indicator calculates the difference between these rates to provide an indication of the relative strength between the two currencies. This relative strength is graphically represented as an area with a specific color for better visualization.
The curves represent the values of the two selected currencies, while the colored area between them highlights the difference in strength. A horizontal line is also drawn at the zero level to help identify turning points or divergence points.
Interest rates play a crucial role in forex trading for several reasons:
Impact on capital flows: Interest rates affect international capital flows. Investors are attracted to currencies offering higher yields, which can lead to currency appreciation with higher interest rates.
Influence on monetary policy decisions: Central banks often adjust interest rates to achieve macroeconomic goals such as price stability, economic growth, and full employment. Announcements of interest rate changes or hints about the future direction of rates can have a significant impact on the foreign exchange market.
Determination of financing costs: Interest rates affect the financing costs of transactions in the foreign exchange market. Traders often borrow low-interest currencies to purchase higher-yielding currencies, which can lead to large movements in the market.
Economic Indicators: Interest rates are also key economic indicators. Changes in interest rates may reflect overall economic conditions and be interpreted as signs of economic growth or contraction.
Risk and volatility factors: Interest rate differences between two countries can create arbitrage opportunities, but also risks. Unexpected changes in interest rates or market expectations may result in increased volatility in the foreign exchange market.
In sum, interest rates are a fundamental part of the global financial landscape and are therefore crucial for forex traders, as they provide indications of economic trends, capital flows and trading opportunities.
SMA Angular Trends [Yosiet]This indicator uses two specific SMA configurations conditioned by an angular slope that is always repeated in trend markets, which are usually beneficial in swing or long-term strategies.
SETTINGS
- Fast Angle Threshold: Is the value in degrees for the condition of the fast sma
- Slow Angle Threshold: Is the value in degrees for the condition of the slow sma
- Linear Mode: When is active, it shows the sma curves only when the condition is satisfied. When is inactive, it shows color of the trends
HOW TO USE
This indicator it helps to see clearly the trends and the oppotunities to entry/exit in breakouts and retests
WHY THOSE SMAs
The SMAs are sma(7, low) and sma(30, high), those setups came from analyze several others indicators with machine learning searching for convergence points in 2018.
THOUGHTS
This indicator only pretends to help traders to take decissions with extra data confirmation
IMPROVEMENTS
You can comment your ideas and sugestions to improve this indicator
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.
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.
Signal Monitor / Connectable [Azullian]The connectable signal monitor is a connectable tool to help test, visualize signal weights. 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.
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.
■ 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 connectable signal monitor, signal filter or strategy . When using a signal filter or signal monitor 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 monitor with a connectable indicator and strategy
Let's connect the MACD to a connectable signal monitor :
1. Load all relevant indicators
• Load MACD / Connectable
• Load Signal monitor / Connectable
2. Signal Monitor: Connect the MACD to the Signal Monitor
• Open the signal monitor 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
Now that everything is connected, you'll notice green spikes in the signal monitor representing long signals, and red spikes indicating short signals.
█ 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.
Bitcoin's Logarithmic ChannelLogarithmic growth is a reasonable way to describe the long term growth of bitcoin's market value: for a network that is experiencing growing adoption and is powered by an asset with a finite and disinflationary supply, it’s natural to expect a more explosive growth of its market capitalization early on, followed by diminishing returns as the network and the asset mature.
I used publicly available data to model the market capitalization of bitcoin, deriving thereform a set of three curves forming a logarithmic growth channel for the market capitalization of bitcoin. Using the time series for the circulating supply, we derive a logarithmic growth channel for the bitcoin price.
Model uses publicly available data from July 17, 2010 to December 31, 2022. Everything since the beginning of 2023 is a prediction.
Past performance is not a guarantee of future results.
ETHE Premium SmoothedThis script visualizes the "premium" or "deflection" between the price of Ethereum in a fund (ETHE) and the price of Ethereum itself. It's used to detect when the ETHE fund is trading at a significant premium or discount compared to the actual value of Ethereum it represents.
Components:
Two-Pole Smoothing Function: This function acts as a filter to smoothen data, specifically the calculated deflection. Using a combination of exponential math and trigonometry, the function reduces the noise from the raw deflection data, providing a clearer view of the trend.
ETH Per Share: A constant that represents the amount of Ethereum backing each share of ETHE.
Tickers: The script fetches data for two tickers:
ETHE ticker from OTC markets.
Ethereum's ticker from Coinbase.
Deflection Calculation: This represents the difference between the price of one share of ETHE and its actual value in Ethereum. This percentage gives an idea of how much more or less the ETHE is trading compared to its intrinsic Ethereum value.
Smoothing: The raw deflection data is then passed through the Two-Pole Smoothing function to produce the "smoothed" deflection curve.
Visuals:
A horizontal dashed red line at 0%, indicating the point where ETHE trades exactly at its intrinsic Ethereum value.
A plot of the smoothed deflection, with its color changing based on whether the value is above or below zero (green for above, red for below).
Usage:
Traders can use this script to identify potential buy or sell opportunities. For instance, if ETHE is trading at a significant discount (a negative deflection value), it might be an attractive buying opportunity, assuming the discrepancy will eventually correct itself. Conversely, if ETHE is trading at a significant premium (a positive deflection value), it might indicate a potential overvaluation.
[blackcat] L3 CCI-RSI ComboCCI-RSI Combo indicator is a combination indicator that includes CCI and RSI. It uses some parameters to calculate the values of CCI and RSI, and generates corresponding charts based on these values. On the chart, when CCI exceeds 100 or falls below -100, yellow or magenta filling areas are displayed. Additionally, gradient colors are used on the RSI chart to represent different value ranges. Based on the values of CCI and RSI, buying or selling signals can be identified and "B" or "S" labels are displayed at the corresponding positions. It utilizes some technical indicators and logic to generate buying and selling signals, and displays the corresponding labels on the chart.
Here are the main parts of the code:
1. Definition of some variables:
- `N`, `M`, `N1`: Parameters used to calculate CCI and RSI.
- `xcn(cond, len)` and `xex(cond, len)`: Two functions used to calculate the number of times a condition is met.
2. Calculation of CCI (Commodity Channel Index):
- Calculate the CCI value based on the formula `(TYP - ta.sma(TYP, M)) / (0.015 * ta.stdev(TYP, M))`.
- Use the `plot()` function to plot CCI on the chart and set the color based on its value.
3. Calculation of RSI (Relative Strength Index):
- First calculate RSI1 by taking the average of positive differences between closing prices and the average of all absolute differences, and then multiplying by 100.
- Then use the ALMA function to transform RSI1 into a smoother curve.
- Use the `plot()` function to plot RSI on the chart and select gradient colors for shading based on its value.
4. Setting up the gradient color array:
- Create a color array using `array.new_color()` and add a series of color values to it.
5. Generating buying and selling signals based on conditions:
- Use logical operators and technical indicator functions to determine the conditions for buying and selling.
- Use the `label.new()` function to draw the corresponding labels on the chart to represent buying or selling signals.
Supertrend Targets [ChartPrime]The Supertrend Targets indicator combines the concepts of trend-following with dynamic volatility-based target levels. It takes core simple and classical concepts and provides actionable insights. The core of this indicator revolves around the "Supertrend" algorithm, which essentially uses the Average True Range (ATR) and a multiplier to determine if the price of a financial instrument is in an uptrend or downtrend. The indicator generates various plot points on the trading chart, which traders can use to make informed trading decisions.
Users can set several input parameters such as the source price, custom levels, multiplier scale, length of the average true range, and the window length. Traders can also opt to enable a table that shows numeric target data by percentiles, risk ratio, take profit and stop loss points.
The generated plots and fills on the chart represent various levels of potential gains and drawdowns, acting as potential targets for taking profit or stopping losses. These include the 25th, 50th, 75th, 90th, and 100th percentiles, which are adjustable by scale. There are also plots for average gain and drawdown levels, enhanced by standard deviation curves if enabled.
The Supertrend line indicators are color-coded for ease of understanding: blue for bullish performance and orange for bearish performance. The "Center Line" represents the point at which traders might consider entering a position.
Lastly, the script presents a summary table (when enabled) at the right side of the chart displaying numeric data of the plotted targets. This data provides additional insights on the risk-reward balance for each percentile, helping traders to execute their strategies more effectively.
Here's a comprehensive breakdown of its functionalities and features:
Inputs:
Source: Determines the price series type (e.g., Close, Open, High, Low, etc.).
Show Trailing Stop: Option to display the trailing stop on the chart.
Levels: Sets the number of target levels you want to display. Can range from -5 to 5.
Scale: A scaling factor for adjusting targets, can be between 1 to 100.
Window Length: Length for the target computation, determines how many bars will be considered.
Unique: Ensures every data point used in calculations is unique.
Multiplier: Multiplier for the ATR (Average True Range) to compute the SuperTrend.
ATR Length: Period for the ATR computation.
Custom Level: Allows users to set their own levels using various statistics like Average, Average + STDEV, Percentile, or can be disabled.
Percent Rank: Determines the percentile rank for targeting.
Enable Table: Enables or disables a table display.
Methods:
Flag: Identifies bullish and bearish trend reversals.
Target Percent: Determines the expected price movement (both gains and drawdowns) based on historical trend reversals.
Value Percent: Computes the percentage difference between the current price and the entry price during trend reversals.
Plots:
Multiple target lines are plotted on the chart to visualize potential gain and drawdown levels. These levels are adjusted based on user settings. Additionally, the main Supertrend line is plotted to indicate the prevailing trend direction.
Gain Levels: Target levels which show potential upside from the current price.
Drawdown Levels: Target levels which represent potential downside from the current price.
SuperTrend Line: A line that adjusts based on price volatility and trend direction, acting as a dynamic support or resistance.
In conclusion, the "Supertrend Targets " indicator is a powerful tool that combines the principle of trend-following with dynamic targets, providing traders with insights into potential future price movements. The range of customization options allows traders to adapt the indicator to different trading strategies and market conditions.
[blackcat] L1 Dynamic Volatility IndicatorThe volatility indicator (Volatility) is used to measure the magnitude and instability of price changes in financial markets or a specific asset. This thing is usually used to assess how risky the market is. The higher the volatility, the greater the fluctuation in asset prices, but brother, the risk is also relatively high! Here are some related terms and explanations:
- Historical Volatility: The actual volatility of asset prices over a certain period of time in the past. This thing is measured by calculating historical data.
- Implied Volatility: The volatility inferred from option market prices, used to measure market expectations for future price fluctuations.
- VIX Index (Volatility Index): Often referred to as the "fear index," it predicts the volatility of the US stock market within 30 days in advance. This is one of the most famous volatility indicators in global financial markets.
Volatility indicators are very important for investors and traders because they can help them understand how unstable and risky the market is, thereby making wiser investment decisions.
Today I want to introduce a volatility indicator that I have privately held for many years. It can use colors to judge sharp rises and falls! Of course, if you are smart enough, you can also predict some potential sharp rises and falls by looking at the trend!
In the financial field, volatility indicators measure the magnitude and instability of price changes in different assets. They are usually used to assess the level of market risk. The higher the volatility, the greater the fluctuation in asset prices and therefore higher risk. Historical Volatility refers to the actual volatility of asset prices over a certain period of time in the past, which can be measured by calculating historical data; while Implied Volatility is derived from option market prices and used to measure market expectations for future price fluctuations. In addition, VIX Index is commonly known as "fear index" and is used to predict volatility in the US stock market within 30 days. It is one of the most famous volatility indicators in global financial markets.
Volatility indicators are very important for investors and traders because they help them understand market uncertainty and risk, enabling them to make wiser investment decisions. The L1 Dynamic Volatility Indicator that I am introducing today is an indicator that measures volatility and can also judge sharp rises and falls through colors!
This indicator combines two technical indicators: Dynamic Volatility (DV) and ATR (Average True Range), displaying warnings about sharp rises or falls through color coding. DV has a slow but relatively smooth response, while ATR has a fast but more oscillating response. By utilizing their complementary characteristics, it is possible to construct a structure similar to MACD's fast-slow line structure. Of course, in order to achieve fast-slow lines for DV and ATR, first we need to unify their coordinate axes by normalizing them. Then whenever ATR's yellow line exceeds DV's purple line with both curves rapidly breaking through the threshold of 0.2, sharp rises or falls are imminent.
However, it is important to note that relying solely on the height and direction of these two lines is not enough to determine the direction of sharp rises or falls! Because they only judge the trend of volatility and cannot determine bull or bear markets! But it's okay, I have already considered this issue early on and added a magical gradient color band. When the color band gradually turns warm, it indicates a sharp rise; conversely, when the color band tends towards cool colors, it indicates a sharp fall! Of course, you won't see the color band in sideways consolidation areas, which avoids your involvement in unnecessary trades that would only waste your funds! This indicator is really practical and with it you can better assess market risks and opportunities!
RSI Primed [ChartPrime]
RSI Primed combines candlesticks, patterns, and the classic RSI indicator for advanced market trend indications
Introduction
Technical traders are always looking for innovative methods to pinpoint potential entry and exit points in the market. The RSI Prime indicator provides such traders with an enhanced view of market conditions by combining various charting styles and the Relative Strength Index (RSI). It offers users a unique perspective on the market trends and price momentum, enabling them to make better-informed decisions and stay ahead of the market curve.
The RSI Primed is a versatile indicator that combines different charting styles with the Relative Strength Index (RSI) to help traders analyze market trends and price momentum. It offers multiple visualization modes that serve specific purposes and provide unique insights into market performance:
Regular Candlesticks
Candlesticks with Patterns
Heikin Ashi Candles
Line Style
Regular Candlestick Mode
The Regular Candlestick Mode in RSI Primed depicts traditional Japanese candlesticks that most traders are familiar with. This mode bypasses any smoothing or modified calculations, representing real-price movements. Regular candlesticks offer a clear and straightforward way to visualize market trends and price action.
Candlestick with Patterns Mode
The Candlestick with Patterns Mode focuses on identifying high-probability candlestick patterns while incorporating RSI values. By leveraging the information captured by the RSI, this mode allows traders to spot significant market reversals or continuation patterns that could signal potential trading opportunities. Some recognizable patterns include engulfing bullish, engulfing bearish, morning star bullish, and evening star bearish patterns.
Heikin Ashi Candles Mode
The Heikin Ashi Candles Mode presents an advanced candlestick charting technique known for its excellent trend-following capabilities. Heikin Ashi Candles filter out noise in the market and provide a clear representation of market trends. In this mode, candlesticks are plotted based on RSI values of the open, high, low, and close prices, helping traders understand and utilize market trends effectively.
Line Style Mode
The Line Style Mode offers a simpler and minimalistic representation of the RSI values by using a line instead of candlesticks to visualize market trends. This mode helps traders focus on the overall trend direction and eliminates potential distractions caused by the complexity of candlestick patterns.
Candle Color Overlay Mode
The Candle Color Overlay Mode is a unique feature in the RSI Primed indicator that allows traders to visualize the RSI values on the chart's candles as a heat gradient. This mode adds a color overlay to the candlesticks, representing the RSI values in relation to the candlesticks' price action.
By displaying the RSI as a color gradient, traders can quickly assess market momentum and identify overbought or oversold conditions without having to switch between different modes or charts. The gradient ranges from cool colors (blue and green) for lower RSI values, indicating oversold conditions, to warm colors (orange and red) for higher RSI values, signifying overbought situations.
To enable the Candle Color Overlay Mode, traders can toggle the "Color Candles" option in the indicator settings. Once enabled, the color gradient will be applied to the candlesticks on the chart, providing a visually striking and informative representation of the RSI values in relation to price action. This mode can be used in tandem with any of the other charting styles, allowing traders to gain even more insights into market trends and momentum.
RSI Primed Implementation
The RSI Primed indicator combines the benefits of various charting styles with the RSI to help traders gain a comprehensive view of market trends and price momentum. It incorporates the Heikin Ashi and RSI values as inputs to generate several visualization modes, enabling traders to select the one that best suits their needs.
Chebyshev Digital Audio Filter in RSI Primed Indicator
A unique feature of the RSI Primed Indicator is the incorporation of the Chebyshev Digital Audio Filter, a powerful tool that significantly influences the indicator's accuracy and responsiveness. This signal processing method brings several benefits to the context of the RSI indicator, improving its performance and capabilities.
1. Improved Signal Filtering
The Chebyshev filter excels in its ability to remove high-frequency noise and unwanted signals from the RSI data. While other filtering techniques might introduce unwanted side effects or distort the RSI data, the Chebyshev filter accurately retains the main signal components, enhancing the RSI Primed's overall accuracy and reliability.
2. Faster Response Time
The Chebyshev filter offers a faster response time than most other filtering techniques. In the context of the RSI Primed Indicator, this means that the filtering process is quicker and more efficient, allowing traders to act swiftly during rapidly changing market conditions.
3. Enhanced Trend Detection
By effectively removing noise from the RSI data, the Chebyshev filter contributes to the enhanced detection of underlying market trends. This feature helps traders identify potential entry and exit points more accurately, improving their overall trading strategy and performance.
How to Use RSI Primed
Traders can choose from different visualization modes to suit their preferences while using the RSI Primed indicator. By closely monitoring the chosen visualization mode and the position of the moving average, traders can make informed decisions about market trends.
Green candlesticks or an upward line slope indicate a bullish trend, and red candlesticks or a downward line slope suggest a bearish trend. If the candles or line are above the moving average, it could signify an uptrend, whereas a position below the moving average may indicate a downtrend.
The RSI Primed indicator offers a unique and comprehensive perspective on market trends and price momentum by combining various charting styles with the RSI. Traders can choose from different visualization modes and make well-informed decisions to capitalize on market opportunities. This innovative indicator provides a clear and concise view of the market, enabling traders to make swift decisions and enhance their trading results.
Aggregate Medians [wbburgin]This indicator recursively finds the average of all high/low medians under your chosen length. This can be very, very helpful for analyzing trends where a moving average or a normal median would produce a bunch of false signals.
Settings:
The "Length" setting is the maximum median that you want the algorithm to add into the sum. The "Start at Period" setting is the the minimum median that you want the algorithm to take into account. Starting at a higher period means that the faster, more sensitive medians of lower lengths are not included, and will smooth out your curve.
I haven't seen many recursive algorithms on TradingView so feel free to use this script as inspiration for any of your ideas. In theory, you can essentially replace the median function with any other function - a moving average, a supertrend, or anything else.
The start must be lower than the length, because this is a sum from the start to the length of all medians in between.
Сoncentrated Market Maker Strategy by oxowlConcentrated Market Maker Strategy by oxowl. This script plots an upper and lower bound for liquidity provision, and checks for rebalancing conditions. It also includes alert conditions for when the price crosses the upper or lower bounds.
Here's an overview of the script:
It defines the input parameters: liquidity range percentage, rebalance frequency in minutes, and minimum trade size in assets.
It calculates the upper and lower bounds for liquidity provision based on the liquidity range percentage.
It initializes variables for the last rebalance time and price.
It defines a rebalance condition based on the frequency and current price within the specified range.
If the rebalance condition is met, it updates the last rebalance time and price.
It plots the upper and lower bounds on the chart as lines and adds price labels for both bounds.
It defines alert conditions for when the price crosses the upper or lower bounds.
Finally, it creates alert conditions with appropriate messages for when the price crosses the upper or lower bounds.
Concentrated liquidity is a concept often used in decentralized finance (DeFi) market-making strategies. It allows liquidity providers (LPs) to focus their liquidity within a specific price range, rather than across the entire price curve. Using an indicator with concentrated liquidity can offer several advantages:
Increased capital efficiency: Concentrated liquidity allows LPs to allocate their capital within a narrower price range. This means that the same amount of capital can generate more significant price impact and potentially higher returns compared to providing liquidity across a broader range.
Customized risk exposure: LPs can choose the price range they feel most comfortable with, allowing them to better manage their risk exposure. By selecting a range based on their market outlook, they can optimize their positions to maximize potential returns.
Adaptive strategies: Indicators that support concentrated liquidity can help traders adapt their strategies based on market conditions. For example, they can choose to provide liquidity around a stable price range during low-volatility periods or adjust their range when market conditions change.
To continue integrating this script into your trading strategy, follow these steps:
Import the script into your TradingView account. Navigate to the Pine editor, paste the code, and save it as a new script.
Apply the indicator to a trading pair chart. You can customize the input parameters (liquidity range percentage, rebalance frequency, and minimum trade size) based on your preferences and risk tolerance.
Set alerts for when the price crosses the upper or lower bounds. This will notify you when it's time to take action, such as adding or removing liquidity, or rebalancing your position.
Monitor the performance of your strategy over time. Adjust the input parameters as needed to optimize your returns and manage risk effectively.
(Optional) Integrate the script with a trading bot or automation platform. If you're using an API-based trading solution, you can incorporate the logic and conditions from the script into your bot's algorithm to automate the process of providing concentrated liquidity and rebalancing your positions.
Remember that no strategy is foolproof, and past performance is not indicative of future results. Always exercise caution when trading and carefully consider your risk tolerance.
Channel Trend and 3 EMA Stratgy MHG-V.6.1.4Dear Traders..
This Startgy use the 3 tools
1- Trend Detection
2- draw the Ascending and Descending channels
3- Use the 3 Moving average for take the acceptant for position entry.
If ascending channel and make the buy signal, then watch the EMA 2 if the price above the 2 EMA you can open the Long position.
SL alittle under the 2 EMA Curve.
for short position riverce the above manual...
Percent Volatility MomentumThis pine script calculates percent volatility momentum, negative percent volatility and positive percent volatility. The blue line is the overall momentum of the current percent volatility trend. The red line only includes negative movements in the percent volatility of the source. The green line includes only positive movements of the percent volatility of the source. The script also includes an angle and a normalized angle setting that allows one to determine the angle of the source curve. Note, the angle was transformed from -90 to 90 to 0 to 100. Such that an angle of -90 is transformed to 0. An angle of 0 is transformed to 50 and an angle of 90 is transformed to 100. This is the first draft of this script and my first pine script published. Any feedback is welcome. I borrowed code from TradingView's Linear Regression Channel and Relative Strength Index pine scripts.
Minervini QualifierThe Minervini Qualifier indicator calculates the qualifying conditions from Mark Minervini’s book “Trade like a Stock Market Wizard”.
The condition matching is been shown as fill color inside an SMA 20day envelope curve.
If the envelope color is red, current close price is below the SMA20 and when blue, current close price is above the SMA20. The fill color can be transparent (not matching qualifying conditions), yellow (matching all conditions except close is still below SMA50), green (all conditions match, SMA200 trending for at least one month up) or blue (all conditions match, SMA200 trending up for at least 5 months)
As I wanted also to see which of the qualifying conditions match over time, I’ve added add. lines, each representing one conditions. If it matches, line color is blue, or red if not. Use the data windows (right side), so you know what line represents which condition. Can be turned on/off (default:on)
In addition, a relative strength is been calculated, to compare the stock to a reference index. It is just one possible way to calculate it, might be different to what Mark Minervini is using. If the shown value (top right) is above 100, stock performs better compared to reference index (can be set in settings), when below 100, stock performs worse compared to reference index. Can be turned on/off (default:on)
How to use it:
For more details, read Mark’s book and watch his videos.
Limitations:
It gives only useful information on daily timeframe
(No financial advise, for testing purposes only)
Heikin Ashi SupertrendAbout this Strategy
This supertrend strategy uses the Heikin Ashi candles to generate the supertrend but enters and exits trades using normal candle close prices. If you use the standard built in Supertrend indicator on Heikin Ashi candles, it will produce very unrealistic backtesting results because it uses the Heikin Ashi prices instead of the real prices. However, by signaling the supertrend reversals using Heikin Ashi while using standard candle close prices for the entries and exits, it corrects the backtesting errors and gives you a more realistic equity curve. You should set the chart to use standard candles and then hide them (the strategy creates the candles).
This strategy includes:
Plotting of Heikin Ashi candles
Heikin Ashi Supertrend
Long and Short Entry Signals
Move stop loss after trade is X% in profit
Profit Target
Stop Loss
Built in Alertatron automation
Alertatron Trade Automation Integration
For Alertatron integration, be sure to configure the strategy settings and "Enable Webhook Messages" before creating an alert with {{strategy.order.alert_message}} in the body of your alert message. Be sure to enable webhooks and point it to your Incoming Alertatron webhook URL.
Notes
While this strategy does pretty well during trending markets, It's worth noting that the Buy and Hold ROI is much better during peak times of the bull market
Not financial advice. Do not risk more than you can afford to lose.