Crypto Liquidation Heatmap [LuxAlgo]The Crypto Liquidation Heatmap tool offers real-time insights into the liquidations of the top cryptocurrencies by market capitalization, presenting the current state of the market in a visually accessible format. Assets are sorted in descending order, with those experiencing the highest liquidation values placed at the top of the heatmap.
Additional details, such as the breakdown of long and short liquidation values and the current price of each asset, can be accessed by hovering over individual boxes.
🔶 USAGE
The crypto liquidation heatmap tool provides real-time insights into liquidations across all timeframes for the top 29 cryptocurrencies by market capitalization. The assets are visually represented in descending order, prioritizing assets with the highest liquidation values at the top of the heatmap.
Different colors are used to indicate whether long or short liquidations are dominant for each asset. Green boxes indicate that long liquidations surpass short liquidations, while red boxes indicate the opposite, with short liquidations exceeding long liquidations.
Hovering over each box provides additional details, such as the current price of the asset, the breakdown of long and short liquidation values, and the duration for the calculated liquidation values.
🔶 DETAILS
🔹Crypto Liquidation
Crypto liquidation refers to the process of forcibly closing a trader's positions in the cryptocurrency market. It occurs when a trader's margin account can no longer support their open positions due to significant losses or a lack of sufficient margin to meet the maintenance requirements. Liquidations can be categorized as either a long liquidation or a short liquidation.
A long liquidation occurs when long positions are being liquidated, typically due to a sudden drop in the price of the asset being traded. Traders who were bullish on the asset and had opened long positions will face losses as the market moves against them.
On the other hand, a short liquidation occurs when short positions are being liquidated, often triggered by a sudden spike in the price of the asset. Traders who were bearish on the asset and had opened short positions will face losses as the market moves against them.
🔹Liquidation Data
It's worth noting that liquidation data is not readily available on TradingView. However, we recognize the close correlation between liquidation data, trading volumes, and asset price movements. Therefore, this script analyzes accessible data sources, extracts necessary information, and offers an educated estimation of liquidation data. It's important to emphasize that the presented data doesn't reflect precise quantitative values of liquidations. Traders and analysts should instead focus on observing changes over time and identifying correlations between liquidation data and price movements.
🔶 SETTINGS
🔹Cryptocurrency Asset List
It is highly recommended to select instruments from the same exchange with the same currency to maintain proportional integrity among the chosen assets, as different exchanges may have varying trading volumes.
Supported currencies include USD, USDT, USDC, USDP, and USDD. Remember to use the same currency when selecting assets.
List of Crypto Assets: The default options feature the top 29 cryptocurrencies by market capitalization, currently listed on the Binance Exchange. Please note that only crypto assets are supported; any other asset type will not be processed or displayed. To maximize the utility of this tool, it is crucial to heed the warning message displayed above.
🔹Liquidation Heatmap Settings
Position: Specifies the placement of the liquidation heatmap on the chart.
Size: Determines the size of the liquidation heatmap displayed on the chart.
🔶 RELATED SCRIPTS
Liquidations-Meter
Liquidation-Estimates
Liquidation-Levels
Statistics
Mxwll Liquidation Ranges - Mxwll CapitalIntroducing: Mxwll Liquidation Ranges
Mxwll Liquidation Ranges gathers data outside of TradingView to provide the highest quality, highest accuracy liquidation levels and ranges for popular crypto currencies.
Features
Real liquidation ranges and levels calculated outside of TradingView.
Real net position delta
Average leverage for long positions
Average leverage for short positions
Real number of bids for the cryptocurrency by the day
Real number of asks for the cryptocurrency by the day
Real Bid/Ask Ratio
Real Bid/Ask Delta
Real number of long market orders
Real number of short market orders
Real number of long limit orders
Real number of short limit orders
How do we obtain this data?
Using a now deprecated feature called "TradingView Pine Seeds", we are able to calculate the metrics listed above outside of TradingView and, consequently, import the data to TradingView for public use.
This means no indicators on TradingView that attempt to show liquidation levels, limit orders, net position delta, etc. can be as accurate as ours.
Why aren't other liquidation ranges indicators on TradingView as accurate as ours?
Simple: the data required to calculate liquidation levels and ranges isn't available on TradingView. No level 2 data, bids, asks, leverage information, pending limit orders, etc. This means any custom-coded indicator on TradingView attempting to use or show this information is just a guess, and is naturally inaccurate.
Mxwll Liquidation Ranges has access to all of the required data outside of TradingView, to which liquidation levels/ranges and other pertinent metrics are calculated and uploaded directly to TradingView using the Pine Seeds feature. This means that all information displayed by our indicator uses legitimate level 2 data outside of TradingView. Which means no "estimates" are required to produce this information. Consequently, unless a custom-coded indicator has access to the Pine Seeds feature and calculates liquidation levels and other level 2 data metrics outside of TradingView, then that indicator is inaccurate.
Liquidation Heatmap
The above image shows our liquidation heatmaps, which are calculated using level 2 data, in action.
Liquidation ranges are color coded. Purple/blue colored ranges indicate a lower number of net liquidations should the range be violated.
Green/yellow ranges indicate a liquidation range where the net number of liquidated positions, should the price range be violated, is substantial. Expect volatile price action around these areas and plan accordingly.
Yellow labels indicate the four highest liquidation ranges for the asset over the period.
Liquidation Levels
In addition to calculating a liquidation heatmap, Mxwll Liquidation Ranges also calculates liquidation levels by leverage. Level 2 data outside of TradingView is used.
Levels are colored coded by leverage used.
Green levels are 25x leverage liquidation areas.
Purple levels are 50x leverage liquidation areas.
Orange levels are 100x leverage liquidation areas.
Use this information to improve your trading plan and better pinpoint entries, exits, and key levels of expected volatility.
Other Metrics
Mxwll Liquidation Ranges uses level 2 data and the orderbook to calculate various metrics.
Average leverage for long positions
Average leverage for short positions
Real number of bids for the cryptocurrency by the day
Real number of asks for the cryptocurrency by the day
Real Bid/Ask Ratio
Real Bid/Ask Delta
Real number of long market orders
Real number of short market orders
Real number of long limit orders
Real number of short limit orders
How To Use
Understanding and interpreting heatmaps for predicting liquidation levels in trading can provide a significant edge. Here’s a basic guide on how to interpret these charts:
Understanding Liquidation Levels: Liquidation levels indicate where traders who are using leverage might be forced to exit their positions due to insufficient margin to cover their trades. These levels are crucial because they can trigger sudden price movements if many positions are liquidated at once.
Clusters on the Heatmap: On the heatmap, clusters of liquidation levels are represented by color-coded areas. These clusters show where significant numbers of leveraged positions are concentrated. The color intensity often indicates the density of liquidation points – darker or brighter colors suggest higher concentrations of liquidation risks.
Price Movements: By knowing where these clusters are, traders can anticipate potential price movements. For example, if a significant price drop moves the market closer to a cluster of liquidation levels, there’s an increased risk of those levels being triggered, potentially causing a sharp further drop due to cascading liquidations.
Strategic Trading: With this information, traders can strategically place their own stop losses or prepare to enter trades. Knowing where others might be forced to close their positions can help in predicting bullish or bearish movements.
Risk Management: Understanding liquidation levels helps in managing your own risk. Setting stop losses away from common liquidation points can avoid being caught in volatile price swings caused by mass liquidations.
- Mxwll Capital
Symbol CorrelationThe "Symbol Correlation" indicator calculates and displays the correlation between the chosen symbol's price and another selected source over a specified period. It also includes a moving average (SMA) of this correlation to provide a smoothed view of the relationship.
Why SMA and Table Display ?
The inclusion of SMA (Simple Moving Average) with adjustable length (SMA Length) enhances the indicator's utility by smoothing out short-term fluctuations in correlation, allowing for clearer trend identification. The SMA helps to visualize the underlying trend in correlation, making it easier to spot changes and patterns over time.
The table display of the correlation SMA value offers a concise summary of this trend. By showcasing the current correlation SMA alongside its historical values, traders can quickly gauge the relationship's strength relative to previous periods.
Interpreting the Indicator:
1. Correlation Values: The primary plot shows the raw correlation values between the symbol's price and the specified source. A value of 1 indicates a perfect positive correlation, -1 signifies a perfect negative correlation, and 0 suggests no linear relationship.
2. Correlation SMA: The SMA line represents the average correlation over a defined period (SMA Length). Rising SMA values indicate strengthening correlation trends, while declining values suggest weakening correlations.
3. Choosing SMA Length: Traders can adjust the SMA Length parameter to tailor the moving average to their specific analysis horizon. Shorter SMA lengths react quickly to price changes but may be more volatile, while longer SMA lengths smooth out noise but respond slower to recent changes.
In summary, the "Symbol Correlation" indicator is a valuable tool for assessing the evolving relationship between a symbol's price and an external source. Its use of SMA and tabular presentation facilitates a nuanced understanding of correlation trends, aiding traders in making informed decisions based on market dynamics.
Tweet/X Post Timestamp - By LeviathanThis script allows you to generate visual timestamps of X/Twitter posts directly on your chart, highlighting the precise moment an X post/tweet was made. All you have to do is copy and paste the post URL.
◽️ Use Cases:
- News Trading: Traders can use this indicator to visually align market price actions with news or announcements made on X (formerly Twitter), aiding in the analysis of news impact on market volatility.
- Behavioral Analysis: Traders studying the influence of social media on price can use the timestamps to track correlations between specific posts and market reactions.
- Proof of Predictions: Traders can use this indicator to timestamp their market forecasts shared on X (formerly Twitter), providing a visual record of their predictions relative to actual market movements. This feature allows for transparent verification of the timing and accuracy of their analyses
◽️ Process of Timestamp Calculation
The calculation of the timestamp from a tweet ID involves the following steps:
Extracting the Post ID:
The script first parses the input URL provided by the user to extract the unique ID of the tweet or X post. This ID is embedded in the URL and is crucial for determining the exact posting time.
Calculating the Timestamp:
The post ID undergoes a mathematical transformation known as a right shift by 22 bits. This operation aligns the ID's timestamp to a base reference time used by the platform.
Adding Base Offset:
The result from the right shift is then added to a base offset timestamp (1288834974657 ms, the epoch used by Twitter/X). This converts the processed ID into a UNIX timestamp reflecting the exact moment the post was made.
Date-Time Conversion:
The UNIX timestamp is further broken down into conventional date and time components (year, month, day, hour, minute, second) using calculations that account for leap years and varying days per month.
Label Placement:
Based on user settings, labels displaying the timestamp, username, and other optional information such as price changes or pivot points are dynamically placed on the chart at the bar corresponding to the timestamp.
Bayesian Bias OscillatorWhat is a Bayes Estimator?
Bayesian estimation, or Bayesian inference, is a statistical method for estimating unknown parameters of a probability distribution based on observed data and prior knowledge about those parameters. At first , you will need a prior probability distribution, which is a prior belief about the distribution of the parameter that you are interested in estimating. This distribution represents your initial beliefs or knowledge about the parameter value before observing any data. Second , you need a likelihood function, which represents the probability of observing the data given different values of the parameter. This function quantifies how well different parameter values explain the observed data. Then , you will need a posterior probability distribution by combining the prior distribution and the likelihood function to obtain the posterior distribution of the parameter. The posterior distribution represents the updated belief about the parameter value after observing the data.
Bayesian Bias Oscillator
This tool calculates the Bayes bias of returns, which are directional probabilities that provide insight on the "trend" of the market or the directional bias of returns. It comes with two outputs: the default one, which is the Z-Score of the Bayes Bias, and the regular raw probability, which can be switched on in the settings of the indicator.
The Z-Score output value doesn't tell you the probability, but it does tell you how much of a standard deviation the value is from the mean. It uses both probabilities, the probability of a positive return and the probability of a negative return, which is just (1 - probability of a positive return).
The probability output value shows you the raw probability of a positive return vs. the probability of a negative return. The probability is the value of each line plotted (blue is the probability of a positive return, and purple is the probability of a negative return).
regressionsLibrary "regressions"
This library computes least square regression models for polynomials of any form for a given data set of x and y values.
fit(X, y, reg_type, degrees)
Takes a list of X and y values and the degrees of the polynomial and returns a least square regression for the given polynomial on the dataset.
Parameters:
X (array) : (float ) X inputs for regression fit.
y (array) : (float ) y outputs for regression fit.
reg_type (string) : (string) The type of regression. If passing value for degrees use reg.type_custom
degrees (array) : (int ) The degrees of the polynomial which will be fit to the data. ex: passing array.from(0, 3) would be a polynomial of form c1x^0 + c2x^3 where c2 and c1 will be coefficients of the best fitting polynomial.
Returns: (regression) returns a regression with the best fitting coefficients for the selecected polynomial
regress(reg, x)
Regress one x input.
Parameters:
reg (regression) : (regression) The fitted regression which the y_pred will be calulated with.
x (float) : (float) The input value cooresponding to the y_pred.
Returns: (float) The best fit y value for the given x input and regression.
predict(reg, X)
Predict a new set of X values with a fitted regression. -1 is one bar ahead of the realtime
Parameters:
reg (regression) : (regression) The fitted regression which the y_pred will be calulated with.
X (array)
Returns: (float ) The best fit y values for the given x input and regression.
generate_points(reg, x, y, left_index, right_index)
Takes a regression object and creates chart points which can be used for plotting visuals like lines and labels.
Parameters:
reg (regression) : (regression) Regression which has been fitted to a data set.
x (array) : (float ) x values which coorispond to passed y values
y (array) : (float ) y values which coorispond to passed x values
left_index (int) : (int) The offset of the bar farthest to the realtime bar should be larger than left_index value.
right_index (int) : (int) The offset of the bar closest to the realtime bar should be less than right_index value.
Returns: (chart.point ) Returns an array of chart points
plot_reg(reg, x, y, left_index, right_index, curved, close, line_color, line_width)
Simple plotting function for regression for more custom plotting use generate_points() to create points then create your own plotting function.
Parameters:
reg (regression) : (regression) Regression which has been fitted to a data set.
x (array)
y (array)
left_index (int) : (int) The offset of the bar farthest to the realtime bar should be larger than left_index value.
right_index (int) : (int) The offset of the bar closest to the realtime bar should be less than right_index value.
curved (bool) : (bool) If the polyline is curved or not.
close (bool) : (bool) If true the polyline will be closed.
line_color (color) : (color) The color of the line.
line_width (int) : (int) The width of the line.
Returns: (polyline) The polyline for the regression.
series_to_list(src, left_index, right_index)
Convert a series to a list. Creates a list of all the cooresponding source values
from left_index to right_index. This should be called at the highest scope for consistency.
Parameters:
src (float) : (float ) The source the list will be comprised of.
left_index (int) : (float ) The left most bar (farthest back historical bar) which the cooresponding source value will be taken for.
right_index (int) : (float ) The right most bar closest to the realtime bar which the cooresponding source value will be taken for.
Returns: (float ) An array of size left_index-right_index
range_list(start, stop, step)
Creates an from the start value to the stop value.
Parameters:
start (int) : (float ) The true y values.
stop (int) : (float ) The predicted y values.
step (int) : (int) Positive integer. The spacing between the values. ex: start=1, stop=6, step=2:
Returns: (float ) An array of size stop-start
regression
Fields:
coeffs (array__float)
degrees (array__float)
type_linear (series__string)
type_quadratic (series__string)
type_cubic (series__string)
type_custom (series__string)
_squared_error (series__float)
X (array__float)
Momentum ProfileProfile market behavior in horizontal zones
Profile Sidebar
Buckets pointing rightward indicate upward security movement in the lookahead window at that level, and buckets pointing leftward indicate downward movement in the lookahead window.
Green profile buckets indicate the security's behavior following an uptrend in the lookbehind window. Conversely, Red profile buckets show security's behavior following a downtrend in the lookbehind window. Yellow profile buckets show behavior following sideways movement.
Buckets length corelates with the amount of movement measured in that direction at that level.
Inputs
Length determines how many bars back are considered for the calculation. On most securities, this can be increased to just above 4000 without issues.
Rows determines the number of buckets that the securities range is divided into.
You can increase or decrease the threshold for which moves are considered sideways with the sideways_filter input: higher means more moves are considered sideways.
The lookbehind input determines the lookbehind window. Specifically, how many bars back are considered when determining whether a data point is considered green (uptrend), red (downtrend), or yellow (no significant trend).
The lookahead input determines how many bars after the current bar are considered when determining the length and direction of each bucket (leftward for downward moves, rightward for upward moves).
Profile_width and Profile_spacing are cosmetic choices.
Intrabar support is not current supported.
Region Highlighting
Regions highlighted green saw an upward move in the lookahead window for both lookbehind downtrends and uptrends. In other words, both red and green profile buckets pointed rightward.
Regions highlighted red saw a downward move in the lookahead window both for lookbehind downtrends and uptrends.
Regions highlighted brown indicate a reversal region: uptrends were followed by downtrends, and vice versa. These regions often indicate a chop range or sometimes support/resistance levels. On the profile, this means that green buckets pointed left, and red buckets pointed right.
Regions highlighted purple indicate that whatever direction the security was moving, it continued that way. On the profile, this means that green buckets pointed right, and red buckets pointed left in that region.
sVPSA - standardized Volume Price Spread AnalysisDear Analysts and Traders,
I want to introduce my new indicator - sVPSA - standardized Volume Price Spread Analysis. For me, this script is helpfully in Technical Analysis mainly with Wyckoff and VSA methodologies. Maybe You are in circle of people who used my previous script - normalized Volume Price Spread Analysis. I work with him a lot of time, but I come to a conclusion that I can do better...
Theory concept...
What is a big volume? How big was this spread? It was extreme high or just high? How to do an answer for this and a lot other questions related to this subject? My thoughts was directed to statistics. In my first script I used to x/max normalized data. It was good, but susceptible for high deviation events. So, I choose standardization method with smaller sensitivity on violent events - z-Score standardization Description of z-Score formula:
Z = (x-mean)/standard deviation
Probability of event are descriptive by probability density function - The Normal Distribution.
en.wikipedia.org
en.Wikipedia.org
This is base of script methodology, let’s go deeper in indicator.
X axis is time, date. Y axis is standard deviation. Narrow bar represent price spread, wide one is volume. Colors are corresponding to deviation, blue < sigma, green > sigma, red > 2*sigma and fuchsia > 3*sigma. Appearance is full editable.
Data collection starts from left to right. There is two possibilities to use, constans number of bars or visible data range, also indicator permit to overscore linear regression from data. There is a possibility to set an alert.
Short introduction how put an interpretation on visualized data.
For this example I used constans value of data collection, 52 bars. So, from left I see great, fuchsia volume bar with low spread. This record respond Celsius withdrawals pause. This is bar with the biggest volume on presented chart, more than four sigmas. Spread value is near one sigma. I should consider this via one of Wyckoffs laws - effort vs result. I see a three bars in turn, they tenor tells me that bear market is possible near end. Accumulation structure near new year, spring test and bullish momentum bar near march are approval of this idea. Next high spread bars have volume near mean value. Effort is low but result is great. Interesting is last bar, with -2,8 deviation of volume. I see the lowest volume value on chart, so he’s deviation is strong to negative side. This script require a little of practise and can be a potent tool in Technical Analysis.
If You have a concept how to improve my script or You experience bug, please, send me feedback.
I hope that You consider my work as useful.
I wish You great trades and faultless analysis.
CatTheTrader
Nadaraya-Watson Probability [Yosiet]The script calculates and displays probability bands around price movements, offering insights into potential market trends.
Setting Up the Script
Window Size: Determines the length of the window for the Nadaraya-Watson estimation. A larger window smooths the data more but might lag current market conditions.
Bandwidth: Controls the bandwidth for the kernel regression, affecting the smoothness of the probability bands.
Reading the Data Table
The script dynamically updates a table positioned at the bottom right of your chart, providing real-time insights into market probabilities. Here's how to interpret the table:
Table Columns: The table is organized into three columns:
Up: Indicates the probability or relative change percentage for the upper band.
Down: Indicates the probability or relative change percentage for the lower band.
Table Rows: There are two main rows of interest:
P%: Shows the price change percentage difference between the bands and the closing price. A positive value in the "Up" column suggests the upper band is above the current close, indicating potential upward momentum. Conversely, a negative value in the "Down" column suggests downward momentum.
R%: Displays the relative inner change percentage difference between the bands, offering a measure of the market's volatility or stability within the bands.
Utilizing the Insights
Market Trends: A widening gap between the "Up" and "Down" percentages in the "P%" row might indicate increasing market volatility. Traders can use this information to adjust their risk management strategies accordingly.
Entry and Exit Points: The "R%" row provides insights into the relative position of the current price within the probability bands. Traders might consider positions closer to the lower band as potential entry points and positions near the upper band as exit points or take-profit levels.
Conclusion
The Nadaraya-Watson Probability script offers a sophisticated tool for traders looking to incorporate statistical analysis into their trading strategy. By understanding and utilizing the data presented in the script's table, traders can gain insights into market trends and volatility, aiding in decision-making processes. Remember, no indicator is foolproof; always consider multiple data sources and analyses when making trading decisions.
Lot Size Calculator - Acero FXENGLISH DESCRIPTION:
Easy get your lot size (by Acero FX)
---------------------------
We use this transaction sizes:
Forex = 1
XAUUSD = 0.001
US100, US30 or other index = 10
---------------------------
Automatic Information for calculations:
Currency used: USD
Instrument: Detected Automatically
---------------------------
Manual Inputs:
Choose your Balance amount in "Tamaño de Cuenta"
Choose your Risk Type in "Tipo de Riesgo" between Percentage or Amount
Choose your method to calculate your Lot Size in "Calcular Usando..." between Pips or Entry and SL price
---------------------------
Table Shows:
Title: Lot Size Calc 5.0 - Acero FX
Instrument: .................
Lot Size: ..............
Entry Price: .............
Stop Loss Price: .............
Pips: ...............
Risk ($): ...............
Risk (%): ............
Transaction Size: ..............
---------------------------
Important Disclaimers:
-Minor pairs may have some differences between other calculators.
-JPY pairs use USDJPY open price of the day
DESCRIPCIÓN EN ESPAÑOL
Calcula fácilmente tu lote (Diseñado por Acero FX)
---------------------
Usamos estos tamaños de transacción:
Forex = 1
XAUUSD = 0,001
US100, US30 u otros índices = 10
---------------------
Información automática para cálculos:
Moneda utilizada: USD
Instrumento: Detectado automáticamente
---------------------
Entradas manuales:
Elige el monto de tu Saldo en "Tamaño de Cuenta"
Elige el Tipo de Riesgo en "Tipo de Riesgo" entre Porcentaje o Monto
Elige el método para calcular el tamaño de stu lote en "Calcular Usando..." entre Pips o Entrada y precio SL
---------------------
La tabla muestra:
Título: Calc. Tamaño de Lote 5.0 - Acero FX
Instrumento: .................
Lotaje: ..............
Entrada: .............
Stop Loss: .............
Pips: .................
Riesgo ($): .................
Riesgo (%): ............
Tamaño del contrato (tamaño de la transacción): .................
---------------------
Descargos de responsabilidad importantes:
-Los pares menores pueden tener algunas diferencias entre otras calculadoras.
-Los pares JPY utilizan el precio de apertura del día USDJPY
Gaussian Price Filter [BackQuant]Gaussian Price Filter
Overview and History of the Gaussian Transformation
The Gaussian transformation, often associated with the Gaussian (normal) distribution, is a mathematical function characteristically prominent in statistics and probability theory. The bell-shaped curve of the Gaussian function, expressing the normal distribution, is ubiquitously employed in various scientific and engineering disciplines, including financial market analysis. This transformation's core utility in trading and economic forecasting is derived from its efficacy in smoothing data series and highlighting underlying trends, which are pivotal for making strategic trading decisions.
The Gaussian filter, specifically, is a type of data-smoothing algorithm that mitigates the random "noise" of market price data, thus enhancing the visibility of crucial trend changes and patterns. Historically, this concept was adapted from fields such as signal processing and image editing, where precise extraction of useful information from noisy environments is critical.
1. What is a Gaussian Transformation?
A Gaussian transformation involves the application of a Gaussian function to a set of data points. The function is applied as a filter in the context of trading algorithms to smooth time series data, which helps in identifying the intrinsic trends obscured by market volatility. The transformation is characterized by its parameter, sigma (σ), representing the standard deviation, which determines the width of the Gaussian bell curve. The breadth of this curve impacts the degree of smoothing: a wider curve (higher sigma value) results in more smoothing, beneficial for longer-term trend analysis.
2. Filtering Price with Gaussian Transformation and its Benefits
In the provided Script, the Gaussian transformation is utilized to filter price data. The filtering process involves convolving the price data with Gaussian weights, which are calculated based on the chosen length (the number of data points considered) and sigma. This convolution process smooths out short-term fluctuations and highlights longer-term movements, facilitating a clearer analysis of market trends.
Benefits:
Reduces noise: It filters out minor price movements and random fluctuations, which are often misleading.
Enhances trend recognition: By smoothing the data, it becomes easier to identify significant trends and reversals.
Improves decision-making: Traders can make more informed decisions by focusing on substantive, smoothed data rather than reacting to random noise.
3. Potential Limitations and Issues
While Gaussian filters are highly effective in smoothing data, they are not without limitations:
Lag introduction: Like all moving averages, the Gaussian filter introduces a lag between the actual price movements and the output signal, which can delay decision-making.
Feature blurring: Over-smoothing might obscure significant price movements, especially if a large sigma is used.
Parameter sensitivity: The choice of length and sigma significantly affects the output, requiring optimization and backtesting to determine the best settings for specific market conditions.
4. Extending Gaussian Filters to Other Indicators
The methodology used to filter price data with a Gaussian filter can similarly be applied to other technical indicators, such as RSI (Relative Strength Index) or MACD (Moving Average Convergence Divergence). By smoothing these indicators, traders can reduce false signals and enhance the reliability of the indicators' outputs, leading to potentially more accurate signals and better timing for entering or exiting trades.
5. Application in Trading
In trading, the Gaussian Price Filter can be strategically used to:
Spot trend reversals: Smoothed price data can more clearly indicate when a trend is starting to change, which is crucial for catching reversals early.
Define entry and exit points: The filtered data points can help in setting more precise entry and exit thresholds, minimizing the risk and maximizing the potential return.
Filter other data streams: Apply the Gaussian filter on volume or open interest data to identify significant changes in market dynamics.
6. Functionality of the Script
The script is designed to:
Calculate Gaussian weights (f_gaussianWeights function): Generates the weights used for the Gaussian kernel based on the provided length and sigma.
Apply the Gaussian filter (f_applyGaussianFilter function): Uses the weights to compute the smoothed price data.
Conditional Trend Detection and Coloring: Determines the trend direction based on the filtered price and colors the price bars on the chart to visually represent the trend.
7. Specific Actions of This Code
The Pine Script provided by BackQuant executes several specific actions:
Input Handling: It allows users to specify the source data (src), kernel length, and sigma directly in the chart settings.
Weight Calculation and Normalization: Computes the Gaussian weights and normalizes them to ensure their sum equals one, which maintains the original data scale.
Filter Application: Applies the normalized Gaussian kernel to the price data to produce a smoothed output.
Trend Identification and Visualization: Identifies whether the market is trending upwards or downwards based on the smoothed data and colors the bars green (up) or red (down) to indicate the trend direction.
GKD-BT Optimizer SCSC Backtest [Loxx]The Giga Kaleidoscope GKD-BT Optimizer SCSC Backtest (Solo Confirmation Super Complex) is a Backtest module included in AlgxTrading's "Giga Kaleidoscope Modularized Trading System." (see the section Giga Kaleidoscope (GKD) Modularized Trading System below for an explanation of the GKD trading system)
**the backtest data rendered to the chart above and all screenshots below use $5 commission per trade and 10% equity per trade with $1 million initial capital**
█ GKD-BT Optimizer SCSC Backtest
The GKD-BT Optimizer SCSC Backtest is a comprehensive backtesting module designed to optimize the combination of key GKD indicators within AlgxTrading's "Giga Kaleidoscope Modularized Trading System." This module facilitates precise strategy refinement by allowing traders to configure and optimize the following critical GKD indicators:
GKD-B Baseline
GKD-V Volatility/Volume
GKD-C Confirmation 1
GKD-C Continuation
Each indicator is equipped with an "Optimizer" mode, enabling dynamic feedback and iterative improvements directly into the backtesting environment. This integrated approach ensures that each component contributes effectively to the overall strategy, providing a robust framework for achieving optimized trading outcomes.
The GKD-BT Optimizer supports granular test configurations including a single take profit and stop loss setting, and allows for targeted testing within specified date ranges to simulate forward testing with historical data. This feature is essential for evaluating the resilience and effectiveness of trading strategies under various market conditions.
Furthermore, the module is designed with user-centric features such as:
Customizable Trading Panel: Displays critical backtest results and trade statistics, which can be shown or hidden as per user preference.
Highlighting Thresholds: Users can set thresholds for Total Percent Wins, Percent Profitable, and Profit Factor, which helps in quickly identifying the most relevant metrics for analysis.
The detailed setup ensures that traders can not only adjust their strategies based on historical performance but also fine-tune their approach to meet specific trading objectives.
🔶 To configure this indicator: ***all GKD indicators listed below are all included in the AlgxTrading trading system package***
1. Add GKD-C Confirmation, GKD-B Baseline, GKD-V Volatility/Volume, and GKD-C Continuation to your chart
2. In the GKD-B Baseline indicator, change "Baseline Type" to "Optimizer"
3. In the GKD-V Volatility/Volume indicator, change "Volatility/Volume Type" to "Optimizer"
4. In the GKD-C Confirmation 1 indicator, change "Confirmation Type" to "Optimizer"
5. In the GKD-C Continuation indicator, change "Confirmation Type" to "Optimizer"
An example of steps 2-5. In the screenshot example below, we change the value "Confirmation Type" in the GKD-C Fisher Transform indicator to "Optimizer"
6. In the GKD-BT Optimizer SCSC Backtest, import the value "Input into NEW GKD-BT Backtest" from the GKD-B Baseline indicator into the field "Import GKD-B Baseline indicator"
7. In the GKD-BT Optimizer SCSC Backtest, import the value "Input into NEW GKD-BT Backtest" from the GKD-V Volatility/Volume indicator into the field "Import GKD-V Volatility/Volume indicator"
8. In the GKD-BT Optimizer SCSC Backtest, import the value "Input into NEW GKD-BT Backtest" from the GKD-C Confirmation 1 indicator into the field "Import GKD-C Confirmation 1 indicator"
9. In the GKD-BT Optimizer SCSC Backtest, import the value "Input into NEW GKD-BT Backtest" from the GKD-C Continuation indicator into the field "Import GKD-C Continuation indicator"
An example of steps 6-9. In the screenshot example below, we import the value "Input into NEW GKD-BT Backtest" from the GKD-C Fisher Transform indicator into the GKD-BT Optimizer SCSC Backtest
10. Decide which of the 5 indicators you wish to optimize in first in the GKD-BT Optimizer SCSC Backtest. Change the value of the import from "Input into NEW GKD-BT Backtest" to "Input into NEW GKD-BT Optimizer Signals"
An example of step 10. In the screenshot example below, we chose to optimize the Confirmation 1 indicator, the GKD-C Fisher Transform. We change the value of the field "Import GKD-C Confirmation 1 indicator" from "Input into NEW GKD-BT Backtest" to "Input into NEW GKD-BT Optimizer Signals"
11. In the GKD-BT Optimizer SCSC Backtest and under the "Optimization Settings", use the dropdown menu "Optimization Indicator" to select the type of indicator you selected from step 12 above: "Baseline", "Volatility/Volume", "Confirmation 1", or "Continuation"
12. In the GKD-BT Optimizer SCSC Backtest and under the "Optimization Settings", import the value "Input into NEW GKD-BT Optimizer Start" from the indicator you selected to optimize in step 12 above into the field "Import Optimization Indicator Start"
13. In the GKD-BT Optimizer SCSC Backtest and under the "Optimization Settings", import the value "Input into NEW GKD-BT Optimizer Skip" from the indicator you selected to optimize in step 12 above into the field "Import Optimization Indicator Skip"
An example of step 11. In the screenshot example below, we select "Confirmation 1" from the "Optimization Indicator" dropdown menu
An example of steps 12 and 13. In the screenshot example below, we import "Import Optimization Indicator Start" and "Import Optimization Indicator Skip" from the GKD-C Fisher Transform indicator into their respective fields
🔶 This backtest includes the following metrics
Net profit: Overall profit or loss achieved.
Total Closed Trades: Total number of closed trades, both winning and losing.
Total Percent Wins: Total wins, whether long or short, for the selected time interval regardless of commissions and other profit-modifying addons.
Percent Profitable: Total wins, whether long or short, that are also profitable, taking commissions into account.
Profit Factor: The ratio of gross profits to gross losses, indicating how much money the strategy made for every unit of money it lost.
Average Profit per Trade: The average gain or loss per trade, calculated by dividing the net profit by the total number of closed trades.
Average Number of Bars in Trade: The average number of bars that elapsed during trades for all closed trades.
🔶 Summary of notable settings not already explained above
🔹 Backtest Properties
These settings define the financial and logistical parameters of the trading simulation, including:
Initial Capital: Specifies the starting balance for the backtest, setting the baseline for measuring profitability and loss.
Order Size: Determines the size of trades, which can be fixed or a percentage of the equity, affecting risk and return.
Order Type: Chooses between fixed contract sizes or a percentage-based order size, allowing for static or dynamic trading volumes.
Commission per Order: Accounts for trading costs, subtracting these from profits to provide a more accurate net performance result.
🔹 Signal Qualifiers
This group of settings establishes criteria related to the strategy's Baseline, and Volatility/Volume indicators in relation to the GKD-C Confirmation 1 indicator, which is crucial for validating trade signals. These include:
Maximum Allowable Post Signal Baseline Cross Bars Back: Sets the maximum number of bars that can elapse after a signal generated by a GKD-C Confirmation 1 indicator triggers. If the GKD-C Confirmation 1 indicator generates a long/short signal that doesn't yet agree with the trend position of the Baseline, then should the Baseline "catch-up" to the long/short trend of the GKD-C Confirmation 1 indicator within the number of bars specified by this setting, then a signal is generated.
Maximum Allowable Post Signal Volatility/Volume Cross Bars Back: Sets the maximum number of bars that can elapse after a signal generated by a GKD-C Confirmation 1 indicator triggers. If the GKD-C Confirmation 1 indicator generates a long/short signal that doesn't yet agree with the position of the Volatility/Volume, then should the Volatility/Volume "catch-up" with the long/short of the GKD-C Confirmation 1 indicator within the number of bars specified by this setting, then a signal is generated.
🔹 Signal Settings
Signal Options: These settings allow users to toggle the visibility of different types of entries based on the strategy criteria, such as standard entries, baseline entries, and continuation entries.
Standard Entry Rules Settings: Detailed criteria for standard entries can be customized here, including conditions on baseline agreement, price within specific zones, and agreement with other confirmation indicators.
1-Candle Rule Standard Entry Rules Settings: Similar to standard entries, but with a focus on conditions that must be met within a one-candle timeframe.
Baseline Entry Rules Settings: Specifies rules for entries based on the baseline, including conditions on confirmation agreement and price zones.
Volatility/Volume Entry Rules Settings: This includes settings for entries based on volatility or volume conditions, with specific rules on confirmation agreement and baseline agreement.
Continuation Entry Rules Settings: This group outlines the conditions for continuation entries, focusing on agreement with baseline and confirmation indicators since the entry signal trigger.
🔹 Volatility Settings
Volatility PnL Settings: Parameters for defining the type of volatility measure to use, its period, and multipliers for profit and stop levels.
Volatility Types Included
Standard Deviation of Logarithmic Returns: Quantifies asset volatility using the standard deviation applied to logarithmic returns, capturing symmetric price movements and financial returns' compound nature.
Exponential Weighted Moving Average (EWMA) for Volatility: Focuses on recent market information by applying exponentially decreasing weights to squared logarithmic returns, offering a dynamic view of market volatility.
Roger-Satchell Volatility Measure: Estimates asset volatility by analyzing the high, low, open, and close prices, providing a nuanced view of intraday volatility and market dynamics.
Close-to-Close Volatility Measure: Calculates volatility based on the closing prices of stocks, offering a streamlined but limited perspective on market behavior.
Parkinson Volatility Measure: Enhances volatility estimation by including high and low prices of the trading day, capturing a more accurate reflection of intraday market movements.
Garman-Klass Volatility Measure: Incorporates open, high, low, and close prices for a comprehensive daily volatility measure, capturing significant price movements and market activity.
Yang-Zhang Volatility Measure: Offers an efficient estimation of stock market volatility by combining overnight and intraday price movements, capturing opening jumps and overall market dynamics.
Garman-Klass-Yang-Zhang Volatility Measure: Merges the benefits of Garman-Klass and Yang-Zhang measures, providing a fuller picture of market volatility including opening market reactions.
Pseudo GARCH(2,2) Volatility Model: Mimics a GARCH(2,2) process using exponential moving averages of squared returns, highlighting volatility shocks and their future impact.
ER-Adaptive Average True Range (ATR): Adjusts the ATR period length based on market efficiency, offering a volatility measure that adapts to changing market conditions.
Adaptive Deviation: Dynamically adjusts its calculation period to offer a nuanced measure of volatility that responds to the market's intrinsic rhythms.
Median Absolute Deviation (MAD): Provides a robust measure of statistical variability, focusing on deviations from the median price, offering resilience against outliers.
Mean Absolute Deviation (MAD): Measures the average magnitude of deviations from the mean price, facilitating a straightforward understanding of volatility.
ATR (Average True Range): Finds the average of true ranges over a specified period, indicating the expected price movement and market volatility.
True Range Double (TRD): Offers a nuanced view of volatility by considering a broader range of price movements, identifying significant market sentiment shifts.
🔹 Other Settings
Backtest Dates: Users can specify the timeframe for the backtest, including start and end dates, as well as the acceptable entry time window.
Volatility Inputs: Additional settings related to volatility calculations, such as static percent, internal filter period for median absolute deviation, and parameters for specific volatility models.
UI Options: Settings to customize the user interface, including table activation, date panel visibility, and aesthetics like color and text size.
Export Options: Allows users to select the type of data to export from the backtest, focusing on metrics like net profit, total closed trades, and average profit per trade.
█ Giga Kaleidoscope (GKD) Modularized Trading System
The GKD Trading System is a comprehensive, algorithmic trading framework from AlgxTrading, designed to optimize trading strategies across various market conditions. It employs a modular approach, incorporating elements such as volatility assessment, trend identification through a baseline, multiple confirmation strategies for signal accuracy, and volume analysis. Key components also include specialized strategies for entry and exit, enabling precise trade execution. The system allows for extensive backtesting, providing traders with the ability to evaluate the effectiveness of their strategies using historical data. Aimed at reducing setup time, the GKD system empowers traders to focus more on strategy refinement and execution, leveraging a wide array of technical indicators for informed decision-making.
🔶 Core components of a GKD Algorithmic Trading System
Each GKD indicator is denoted with a module identifier of either: GKD-BT, GKD-B, GKD-C, GKD-V, GKD-M, or GKD-E. This allows traders to understand to which module each indicator belongs and where each indicator fits into the GKD system. The GKD algorithm is built on the principles of trend, momentum, and volatility. There are eight core components in the GKD trading algorithm:
🔹 Volatility - In the GKD trading system, volatility is used as a part of the system to help determine the appropriate stop loss and take profit levels for a trade. There are 17+ different types of volatility available in the GKD system including Average True Range (ATR), True Range Double (TRD), Close-to-Close, Garman-Klass, and more.
🔹 Baseline (GKD-B) - The baseline is essentially a moving average and is used to determine the overall direction of the market. The baseline in the GKD trading system is used to filter out trades that are not in line with the long-term trend of the market. The baseline is plotted on the chart along with other GKD indicators.
Trades are only taken when the price is in the same direction as the baseline. For example, if the baseline is sloping upwards or price is above the baseline, then only long trades are taken, and if the baseline is sloping downwards or price is below the baseline, then only short trades are taken. This approach helps to ensure that trades are in line with the overall trend of the market, and reduces the risk of entering trades that are likely to fail.
🔹 Confirmation 1, Confirmation 2, Continuation (GKD-C) - The GKD trading system incorporates technical confirmation indicators for the generation of its primary long and short signals, essential for its operation.
The GKD trading system distinguishes three specific categories. The first category, Confirmation 1 , encompasses technical indicators designed to identify trends and generate explicit trading signals. The second category, Confirmation 2 , a technical indicator used to identify trends; this type of indicator is primarily used to filter the Confirmation 1 indicator signals; however, this type of confirmation indicator also generates signals*. Lastly, the Continuation category includes technical indicators used in conjunction with Confirmation 1 and Confirmation 2 to generate a special type of trading signal called a "Continuation"
In a full GKD trading system all three categories generate signals. (see the section “GKD Trading System Signals” below)
🔹 Volatility/Volume (GKD-V) - Volatility/Volume indicators are used to measure the amount of buying and selling activity in a market. They are based on the trading Volatility/Volume of the market, and can provide information about the strength of the trend. In the GKD trading system, Volatility/Volume indicators are used to confirm trading signals generated by the various other GKD indicators. In the GKD trading system, Volatility is a proxy for Volume and vice versa.
Volatility/Volume indicators reduce the risk of false signals and improve the overall profitability of trades. These indicators can provide additional information about the market that is not captured by GKD-C confirmation and GKD-B baseline indicators.
🔹 Exit (GKD-E) - The exit indicator in the GKD system is an indicator that is deemed effective at identifying optimal exit points. The purpose of the exit indicator is to identify when a trend is likely to reverse or when the market conditions have changed, signaling the need to exit a trade. By using an exit indicator, traders can manage their risk and prevent significant losses.
🔹 Backtest (GKD-BT) - The GKD-BT backtest indicators link all other GKD-C, GKD-B, GKD-E, GKD-V, and GKD-M components together to create a GKD trading system. GKD-BT backtests generate signals (see the section “GKD Trading System Signals” below) from the confluence of various GKD indicators that are imported into the GKD-BT backtest. Backtest types include: GKD-BT solo and full GKD backtest strategies used for a single ticker; GKD-BT optimizers used to optimize a single indicator or the full GKD trading system; GKD-BT Multi-ticker used to backtest a single indicator or the full GKD trading system across up to ten tickers; GKD-BT exotic backtests like CC, Baseline, and Giga Stacks used to test confluence between GKD components to then be injected into a core GKD-BT Multi-ticker backtest or single ticker strategy.
🔹 Metamorphosis (GKD-M) ** - The concept of a metamorphosis indicator involves the integration of two or more GKD indicators to generate a compound signal. This is achieved by evaluating the accuracy of each indicator and selecting the signal from the indicator with the highest accuracy. As an illustration, let's consider a scenario where we calculate the accuracy of 10 indicators and choose the signal from the indicator that demonstrates the highest accuracy.
The resulting output from the metamorphosis indicator can then be utilized in a GKD-BT backtest by occupying a slot that aligns with the purpose of the metamorphosis indicator. The slot can be a GKD-B, GKD-C, GKD-E, or GKD-V slot, depending on the specific requirements and objectives of the indicator. This allows for seamless integration and utilization of the compound signal within the GKD-BT framework.
*see the section “GKD Trading System Signals” below
**not a required component of the GKD algorithm
🔶 What does the application of the GKD trading system look like?
Example trading system:
Volatility: Average True Range (ATR) (selectable in all backtests and other related GKD indicators)
GKD-B Baseline: GKD-B Multi-Ticker Baseline using Hull Moving Average
GKD-C Confirmation 1 : GKD-C Advance Trend Pressure
GKD-C Confirmation 2: GKD-C Dorsey Inertia
GKD-C Continuation: GKD-C Stochastic of RSX
GKD-V Volatility/Volume: GKD-V Damiani Volatmeter
GKD-E Exit: GKD-E MFI
GKD-BT Backtest: GKD-BT Multi-Ticker Full GKD Backtest
GKD-M Metamorphosis: GKD-M Baseline Optimizer
**all indicators mentioned above are included in the same AlgxTrading package**
Each module is passed to a GKD-BT backtest module. In the backtest module, all components are combined to formulate trading signals and statistical output. This chaining of indicators requires that each module conform to AlgxTrading's GKD protocol, therefore allowing for the testing of every possible combination of technical indicators that make up the various indictor types in the GKD algorithm.
🔶 GKD Trading System Signals
Standard Entry requires a sequence of conditions including a confirmation signal from GKD-C, baseline agreement, price criteria related to the Goldie Locks Zone, and concurrence from a second confirmation and volatility/volume indicators.
1-Candle Standard Entry introduces a two-phase process where initial conditions must be met, followed by a retraction in price and additional confirmations in the subsequent candle, including baseline, confirmations 1 and 2, and volatility/volume criteria.
Baseline Entry focuses on signals generated by the GKD-B Baseline, requiring agreement from confirmation signals, specific price conditions within the Goldie Locks Zone, and a timing condition related to the confirmation 1 signal.
1-Candle Baseline Entry mirrors the baseline entry but adds a requirement for a price retraction and subsequent confirmations in the following candle, maintaining the focus on the baseline's guidance.
Volatility/Volume Entry is predicated on signals from volatility/volume indicators, requiring support from confirmations, price criteria within the Goldie Locks Zone, baseline agreement, and a timing condition for the confirmation 1 signal.
1-Candle Volatility/Volume Entry adapts the volatility/volume entry to include a phase of initial signal and agreement, followed by a retracement phase that seeks further agreement from the system's components in the subsequent candle.
Confirmation 2 Entry is based on the second confirmation signal, requiring the first confirmation's agreement, specific price criteria, agreement from volatility/volume indicators, and baseline, with a timing condition for the confirmation 1 signal.
1-Candle Confirmation 2 Entry adds a retracement requirement to the confirmation 2 entry, necessitating additional agreements from the system's components in the candle following the signal.
PullBack Entry initiates with a baseline signal and agreement from the first confirmation, with a price condition related to volatility. It then looks for price to return within the Goldie Locks Zone and seeks further agreement from the system's components in the subsequent candle.
Continuation Entry allows for the continuation of an active position, based on a previously triggered entry strategy. It requires that the baseline hasn't crossed since the initial trigger, alongside ongoing agreements from confirmations and the baseline.
█ Conclusion
The GKD-BT Optimizer SCSC Backtest is a critical tool within the Giga Kaleidoscope Modularized Trading System, designed for precise strategy refinement and evaluation within the GKD framework. It enables the optimization and testing of various trading indicators and strategies under different market conditions. The module's design facilitates detailed analysis of individual trading components' performance, allowing for the optimization of indicators like Baseline, Volatility/Volume, Confirmation, and Continuation. This optimization process aids traders in identifying the most effective configurations, thereby enhancing trading outcomes and strategy efficiency within the GKD ecosystem.
█ How to Access
You can see the Author's Instructions below to learn how to get access.
GKD-BT Optimizer Full GKD Backtest [Loxx]The Giga Kaleidoscope GKD-BT Optimizer Full GKD Backtest is a Backtest module included in AlgxTrading's "Giga Kaleidoscope Modularized Trading System." (see the section Giga Kaleidoscope (GKD) Modularized Trading System below for an explanation of the GKD trading system)
**the backtest data rendered to the chart above and all screenshots below use $5 commission per trade and 10% equity per trade with $1 million initial capital**
█ GKD-BT Optimizer Full GKD Backtest
The GKD-BT Optimizer Full GKD Backtest is a comprehensive backtesting module designed to optimize the combination of key GKD indicators within AlgxTrading's "Giga Kaleidoscope Modularized Trading System." This module facilitates precise strategy refinement by allowing traders to configure and optimize the following critical GKD indicators:
GKD-B Baseline
GKD-V Volatility/Volume
GKD-C Confirmation 1
GKD-C Confirmation 2
GKD-C Continuation
Each indicator is equipped with an "Optimizer" mode, enabling dynamic feedback and iterative improvements directly into the backtesting environment. This integrated approach ensures that each component contributes effectively to the overall strategy, providing a robust framework for achieving optimized trading outcomes.
The GKD-BT Optimizer supports granular test configurations including a single take profit and stop loss setting, and allows for targeted testing within specified date ranges to simulate forward testing with historical data. This feature is essential for evaluating the resilience and effectiveness of trading strategies under various market conditions.
Furthermore, the module is designed with user-centric features such as:
Customizable Trading Panel: Displays critical backtest results and trade statistics, which can be shown or hidden as per user preference.
Highlighting Thresholds: Users can set thresholds for Total Percent Wins, Percent Profitable, and Profit Factor, which helps in quickly identifying the most relevant metrics for analysis.
The detailed setup ensures that traders can not only adjust their strategies based on historical performance but also fine-tune their approach to meet specific trading objectives.
🔶 To configure this indicator: ***all GKD indicators listed below are all included in the AlgxTrading trading system package***
1. Add GKD-C Confirmation, GKD-B Baseline, GKD-V Volatility/Volume, GKD-C Confirmation 2, and GKD-C Continuation to your chart
2. In the GKD-B Baseline indicator, change "Baseline Type" to "Optimizer"
3. In the GKD-V Volatility/Volume indicator, change "Volatility/Volume Type" to "Optimizer"
4. In the GKD-C Confirmation 1 indicator, change "Confirmation Type" to "Optimizer"
5. In the GKD-C Confirmation 2 indicator, change "Confirmation Type" to "Optimizer"
6. In the GKD-C Continuation indicator, change "Confirmation Type" to "Optimizer"
An example of steps 2-6. In the screenshot example below, we change the value "Confirmation Type" in the GKD-C Fisher Transform indicator to "Optimizer"
7. In the GKD-BT Optimizer Full GKD Backtest, import the value "Input into NEW GKD-BT Backtest" from the GKD-B Baseline indicator into the field "Import GKD-B Baseline indicator"
8. In the GKD-BT Optimizer Full GKD Backtest, import the value "Input into NEW GKD-BT Backtest" from the GKD-V Volatility/Volume indicator into the field "Import GKD-V Volatility/Volume indicator"
9. In the GKD-BT Optimizer Full GKD Backtest, import the value "Input into NEW GKD-BT Backtest" from the GKD-C Confirmation 1 indicator into the field "Import GKD-C Confirmation 1 indicator"
10. In the GKD-BT Optimizer Full GKD Backtest, import the value "Input into NEW GKD-BT Backtest" from the GKD-C Confirmation 2 indicator into the field "Import GKD-C Confirmation 2 indicator"
11. In the GKD-BT Optimizer Full GKD Backtest, import the value "Input into NEW GKD-BT Backtest" from the GKD-C Continuation indicator into the field "Import GKD-C Continuation indicator"
An example of steps 7-11. In the screenshot example below, we import the value "Input into NEW GKD-BT Backtest" from the GKD-C Coppock Curve indicator into the GKD-BT Optimizer Full GKD Backtest
12. Decide which of the 5 indicators you wish to optimize in first in the GKD-BT Optimizer Full GKD Backtest. Change the value of the import from "Input into NEW GKD-BT Backtest" to "Input into NEW GKD-BT Optimizer Signals"
An example of step 12. In the screenshot example below, we chose to optimize the Confirmation 1 indicator, the GKD-C Fisher Transform. We change the value of the field "Import GKD-C Confirmation 1 indicator" from "Input into NEW GKD-BT Backtest" to "Input into NEW GKD-BT Optimizer Signals"
13. In the GKD-BT Optimizer Full GKD Backtest and under the "Optimization Settings", use the dropdown menu "Optimization Indicator" to select the type of indicator you selected from step 12 above: "Baseline", "Volatility/Volume", "Confirmation 1", "Confirmation 2", or "Continuation"
14. In the GKD-BT Optimizer Full GKD Backtest and under the "Optimization Settings", import the value "Input into NEW GKD-BT Optimizer Start" from the indicator you selected to optimize in step 12 above into the field "Import Optimization Indicator Start"
15. In the GKD-BT Optimizer Full GKD Backtest and under the "Optimization Settings", import the value "Input into NEW GKD-BT Optimizer Skip" from the indicator you selected to optimize in step 12 above into the field "Import Optimization Indicator Skip"
An example of step 13. In the screenshot example below, we select "Confirmation 1" from the "Optimization Indicator" dropdown menu
An example of steps 14 and 15. In the screenshot example below, we import "Import Optimization Indicator Start" and "Import Optimization Indicator Skip" from the GKD-C Fisher Transform indicator into their respective fields
🔶 This backtest includes the following metrics
Net profit: Overall profit or loss achieved.
Total Closed Trades: Total number of closed trades, both winning and losing.
Total Percent Wins: Total wins, whether long or short, for the selected time interval regardless of commissions and other profit-modifying addons.
Percent Profitable: Total wins, whether long or short, that are also profitable, taking commissions into account.
Profit Factor: The ratio of gross profits to gross losses, indicating how much money the strategy made for every unit of money it lost.
Average Profit per Trade: The average gain or loss per trade, calculated by dividing the net profit by the total number of closed trades.
Average Number of Bars in Trade: The average number of bars that elapsed during trades for all closed trades.
🔶 Summary of notable settings not already explained above
🔹 Backtest Properties
These settings define the financial and logistical parameters of the trading simulation, including:
Initial Capital: Specifies the starting balance for the backtest, setting the baseline for measuring profitability and loss.
Order Size: Determines the size of trades, which can be fixed or a percentage of the equity, affecting risk and return.
Order Type: Chooses between fixed contract sizes or a percentage-based order size, allowing for static or dynamic trading volumes.
Commission per Order: Accounts for trading costs, subtracting these from profits to provide a more accurate net performance result.
🔹 Signal Qualifiers
This group of settings establishes criteria related to the strategy's Baseline, Volatility/Volume, and Confirmation 2 indicators in relation to the GKD-C Confirmation 1 indicator, which is crucial for validating trade signals. These include:
Maximum Allowable Post Signal Baseline Cross Bars Back: Sets the maximum number of bars that can elapse after a signal generated by a GKD-C Confirmation 1 indicator triggers. If the GKD-C Confirmation 1 indicator generates a long/short signal that doesn't yet agree with the trend position of the Baseline, then should the Baseline "catch-up" to the long/short trend of the GKD-C Confirmation 1 indicator within the number of bars specified by this setting, then a signal is generated.
Maximum Allowable Post Signal Volatility/Volume Cross Bars Back: Sets the maximum number of bars that can elapse after a signal generated by a GKD-C Confirmation 1 indicator triggers. If the GKD-C Confirmation 1 indicator generates a long/short signal that doesn't yet agree with the position of the Volatility/Volume, then should the Volatility/Volume "catch-up" with the long/short of the GKD-C Confirmation 1 indicator within the number of bars specified by this setting, then a signal is generated.
Maximum Allowable Post Signal Confirmation 2 Cross Bars Back: Sets the maximum number of bars that can elapse after a signal generated by a GKD-C Confirmation 1 indicator triggers. If the GKD-C Confirmation 1 indicator generates a long/short signal that doesn't yet agree with the trend position of the Confirmation 2, then should the Confirmation 2 "catch-up" to the long/short trend of the GKD-C Confirmation 1 indicator within the number of bars specified by this setting, then a signal is generated.
🔹 Signal Settings
Signal Options: These settings allow users to toggle the visibility of different types of entries based on the strategy criteria, such as standard entries, baseline entries, and continuation entries.
Standard Entry Rules Settings: Detailed criteria for standard entries can be customized here, including conditions on baseline agreement, price within specific zones, and agreement with other confirmation indicators.
1-Candle Rule Standard Entry Rules Settings: Similar to standard entries, but with a focus on conditions that must be met within a one-candle timeframe.
Baseline Entry Rules Settings: Specifies rules for entries based on the baseline, including conditions on confirmation agreement and price zones.
Volatility/Volume Entry Rules Settings: This includes settings for entries based on volatility or volume conditions, with specific rules on confirmation agreement and baseline agreement.
Confirmation 2 Entry Rules Settings: Settings here define the rules for entries based on a second confirmation indicator, detailing the required agreements and conditions.
Continuation Entry Rules Settings: This group outlines the conditions for continuation entries, focusing on agreement with baseline and confirmation indicators since the entry signal trigger.
🔹 Volatility Settings
Volatility PnL Settings: Parameters for defining the type of volatility measure to use, its period, and multipliers for profit and stop levels.
Volatility Types Included
Standard Deviation of Logarithmic Returns: Quantifies asset volatility using the standard deviation applied to logarithmic returns, capturing symmetric price movements and financial returns' compound nature.
Exponential Weighted Moving Average (EWMA) for Volatility: Focuses on recent market information by applying exponentially decreasing weights to squared logarithmic returns, offering a dynamic view of market volatility.
Roger-Satchell Volatility Measure: Estimates asset volatility by analyzing the high, low, open, and close prices, providing a nuanced view of intraday volatility and market dynamics.
Close-to-Close Volatility Measure: Calculates volatility based on the closing prices of stocks, offering a streamlined but limited perspective on market behavior.
Parkinson Volatility Measure: Enhances volatility estimation by including high and low prices of the trading day, capturing a more accurate reflection of intraday market movements.
Garman-Klass Volatility Measure: Incorporates open, high, low, and close prices for a comprehensive daily volatility measure, capturing significant price movements and market activity.
Yang-Zhang Volatility Measure: Offers an efficient estimation of stock market volatility by combining overnight and intraday price movements, capturing opening jumps and overall market dynamics.
Garman-Klass-Yang-Zhang Volatility Measure: Merges the benefits of Garman-Klass and Yang-Zhang measures, providing a fuller picture of market volatility including opening market reactions.
Pseudo GARCH(2,2) Volatility Model: Mimics a GARCH(2,2) process using exponential moving averages of squared returns, highlighting volatility shocks and their future impact.
ER-Adaptive Average True Range (ATR): Adjusts the ATR period length based on market efficiency, offering a volatility measure that adapts to changing market conditions.
Adaptive Deviation: Dynamically adjusts its calculation period to offer a nuanced measure of volatility that responds to the market's intrinsic rhythms.
Median Absolute Deviation (MAD): Provides a robust measure of statistical variability, focusing on deviations from the median price, offering resilience against outliers.
Mean Absolute Deviation (MAD): Measures the average magnitude of deviations from the mean price, facilitating a straightforward understanding of volatility.
ATR (Average True Range): Finds the average of true ranges over a specified period, indicating the expected price movement and market volatility.
True Range Double (TRD): Offers a nuanced view of volatility by considering a broader range of price movements, identifying significant market sentiment shifts.
🔹 Other Settings
Backtest Dates: Users can specify the timeframe for the backtest, including start and end dates, as well as the acceptable entry time window.
Volatility Inputs: Additional settings related to volatility calculations, such as static percent, internal filter period for median absolute deviation, and parameters for specific volatility models.
UI Options: Settings to customize the user interface, including table activation, date panel visibility, and aesthetics like color and text size.
Export Options: Allows users to select the type of data to export from the backtest, focusing on metrics like net profit, total closed trades, and average profit per trade.
█ Giga Kaleidoscope (GKD) Modularized Trading System
The GKD Trading System is a comprehensive, algorithmic trading framework from AlgxTrading, designed to optimize trading strategies across various market conditions. It employs a modular approach, incorporating elements such as volatility assessment, trend identification through a baseline, multiple confirmation strategies for signal accuracy, and volume analysis. Key components also include specialized strategies for entry and exit, enabling precise trade execution. The system allows for extensive backtesting, providing traders with the ability to evaluate the effectiveness of their strategies using historical data. Aimed at reducing setup time, the GKD system empowers traders to focus more on strategy refinement and execution, leveraging a wide array of technical indicators for informed decision-making.
🔶 Core components of a GKD Algorithmic Trading System
Each GKD indicator is denoted with a module identifier of either: GKD-BT, GKD-B, GKD-C, GKD-V, GKD-M, or GKD-E. This allows traders to understand to which module each indicator belongs and where each indicator fits into the GKD system. The GKD algorithm is built on the principles of trend, momentum, and volatility. There are eight core components in the GKD trading algorithm:
🔹 Volatility - In the GKD trading system, volatility is used as a part of the system to help determine the appropriate stop loss and take profit levels for a trade. There are 17+ different types of volatility available in the GKD system including Average True Range (ATR), True Range Double (TRD), Close-to-Close, Garman-Klass, and more.
🔹 Baseline (GKD-B) - The baseline is essentially a moving average and is used to determine the overall direction of the market. The baseline in the GKD trading system is used to filter out trades that are not in line with the long-term trend of the market. The baseline is plotted on the chart along with other GKD indicators.
Trades are only taken when the price is in the same direction as the baseline. For example, if the baseline is sloping upwards or price is above the baseline, then only long trades are taken, and if the baseline is sloping downwards or price is below the baseline, then only short trades are taken. This approach helps to ensure that trades are in line with the overall trend of the market, and reduces the risk of entering trades that are likely to fail.
🔹 Confirmation 1, Confirmation 2, Continuation (GKD-C) - The GKD trading system incorporates technical confirmation indicators for the generation of its primary long and short signals, essential for its operation.
The GKD trading system distinguishes three specific categories. The first category, Confirmation 1 , encompasses technical indicators designed to identify trends and generate explicit trading signals. The second category, Confirmation 2 , a technical indicator used to identify trends; this type of indicator is primarily used to filter the Confirmation 1 indicator signals; however, this type of confirmation indicator also generates signals*. Lastly, the Continuation category includes technical indicators used in conjunction with Confirmation 1 and Confirmation 2 to generate a special type of trading signal called a "Continuation"
In a full GKD trading system all three categories generate signals. (see the section “GKD Trading System Signals” below)
🔹 Volatility/Volume (GKD-V) - Volatility/Volume indicators are used to measure the amount of buying and selling activity in a market. They are based on the trading Volatility/Volume of the market, and can provide information about the strength of the trend. In the GKD trading system, Volatility/Volume indicators are used to confirm trading signals generated by the various other GKD indicators. In the GKD trading system, Volatility is a proxy for Volume and vice versa.
Volatility/Volume indicators reduce the risk of false signals and improve the overall profitability of trades. These indicators can provide additional information about the market that is not captured by GKD-C confirmation and GKD-B baseline indicators.
🔹 Exit (GKD-E) - The exit indicator in the GKD system is an indicator that is deemed effective at identifying optimal exit points. The purpose of the exit indicator is to identify when a trend is likely to reverse or when the market conditions have changed, signaling the need to exit a trade. By using an exit indicator, traders can manage their risk and prevent significant losses.
🔹 Backtest (GKD-BT) - The GKD-BT backtest indicators link all other GKD-C, GKD-B, GKD-E, GKD-V, and GKD-M components together to create a GKD trading system. GKD-BT backtests generate signals (see the section “GKD Trading System Signals” below) from the confluence of various GKD indicators that are imported into the GKD-BT backtest. Backtest types include: GKD-BT solo and full GKD backtest strategies used for a single ticker; GKD-BT optimizers used to optimize a single indicator or the full GKD trading system; GKD-BT Multi-ticker used to backtest a single indicator or the full GKD trading system across up to ten tickers; GKD-BT exotic backtests like CC, Baseline, and Giga Stacks used to test confluence between GKD components to then be injected into a core GKD-BT Multi-ticker backtest or single ticker strategy.
🔹 Metamorphosis (GKD-M) ** - The concept of a metamorphosis indicator involves the integration of two or more GKD indicators to generate a compound signal. This is achieved by evaluating the accuracy of each indicator and selecting the signal from the indicator with the highest accuracy. As an illustration, let's consider a scenario where we calculate the accuracy of 10 indicators and choose the signal from the indicator that demonstrates the highest accuracy.
The resulting output from the metamorphosis indicator can then be utilized in a GKD-BT backtest by occupying a slot that aligns with the purpose of the metamorphosis indicator. The slot can be a GKD-B, GKD-C, GKD-E, or GKD-V slot, depending on the specific requirements and objectives of the indicator. This allows for seamless integration and utilization of the compound signal within the GKD-BT framework.
*see the section “GKD Trading System Signals” below
**not a required component of the GKD algorithm
🔶 What does the application of the GKD trading system look like?
Example trading system:
Volatility: Average True Range (ATR) (selectable in all backtests and other related GKD indicators)
GKD-B Baseline: GKD-B Multi-Ticker Baseline using Hull Moving Average
GKD-C Confirmation 1 : GKD-C Advance Trend Pressure
GKD-C Confirmation 2: GKD-C Dorsey Inertia
GKD-C Continuation: GKD-C Stochastic of RSX
GKD-V Volatility/Volume: GKD-V Damiani Volatmeter
GKD-E Exit: GKD-E MFI
GKD-BT Backtest: GKD-BT Multi-Ticker Full GKD Backtest
GKD-M Metamorphosis: GKD-M Baseline Optimizer
**all indicators mentioned above are included in the same AlgxTrading package**
Each module is passed to a GKD-BT backtest module. In the backtest module, all components are combined to formulate trading signals and statistical output. This chaining of indicators requires that each module conform to AlgxTrading's GKD protocol, therefore allowing for the testing of every possible combination of technical indicators that make up the various indictor types in the GKD algorithm.
🔶 GKD Trading System Signals
Standard Entry requires a sequence of conditions including a confirmation signal from GKD-C, baseline agreement, price criteria related to the Goldie Locks Zone, and concurrence from a second confirmation and volatility/volume indicators.
1-Candle Standard Entry introduces a two-phase process where initial conditions must be met, followed by a retraction in price and additional confirmations in the subsequent candle, including baseline, confirmations 1 and 2, and volatility/volume criteria.
Baseline Entry focuses on signals generated by the GKD-B Baseline, requiring agreement from confirmation signals, specific price conditions within the Goldie Locks Zone, and a timing condition related to the confirmation 1 signal.
1-Candle Baseline Entry mirrors the baseline entry but adds a requirement for a price retraction and subsequent confirmations in the following candle, maintaining the focus on the baseline's guidance.
Volatility/Volume Entry is predicated on signals from volatility/volume indicators, requiring support from confirmations, price criteria within the Goldie Locks Zone, baseline agreement, and a timing condition for the confirmation 1 signal.
1-Candle Volatility/Volume Entry adapts the volatility/volume entry to include a phase of initial signal and agreement, followed by a retracement phase that seeks further agreement from the system's components in the subsequent candle.
Confirmation 2 Entry is based on the second confirmation signal, requiring the first confirmation's agreement, specific price criteria, agreement from volatility/volume indicators, and baseline, with a timing condition for the confirmation 1 signal.
1-Candle Confirmation 2 Entry adds a retracement requirement to the confirmation 2 entry, necessitating additional agreements from the system's components in the candle following the signal.
PullBack Entry initiates with a baseline signal and agreement from the first confirmation, with a price condition related to volatility. It then looks for price to return within the Goldie Locks Zone and seeks further agreement from the system's components in the subsequent candle.
Continuation Entry allows for the continuation of an active position, based on a previously triggered entry strategy. It requires that the baseline hasn't crossed since the initial trigger, alongside ongoing agreements from confirmations and the baseline.
█ Conclusion
The GKD-BT Optimizer Full GKD Backtest is a critical tool within the Giga Kaleidoscope Modularized Trading System, designed for precise strategy refinement and evaluation within the GKD framework. It enables the optimization and testing of various trading indicators and strategies under different market conditions. The module's design facilitates detailed analysis of individual trading components' performance, allowing for the optimization of indicators like Baseline, Volatility/Volume, Confirmation, and Continuation. This optimization process aids traders in identifying the most effective configurations, thereby enhancing trading outcomes and strategy efficiency within the GKD ecosystem.
█ How to Access
You can see the Author's Instructions below to learn how to get access.
US CPIIntroducing "US CPI" Indicator
The "US CPI" indicator, based on the Consumer Price Index (CPI) of the United States, is a valuable tool for analyzing inflation trends in the U.S. economy. This indicator is derived from official data provided by the U.S. Bureau of Labor Statistics (BLS) and is widely recognized as a key measure of inflationary pressures.
What is CPI?
The Consumer Price Index (CPI) is a measure that examines the average change in prices paid by consumers for a basket of goods and services over time. It is an essential economic indicator used to gauge inflationary trends and assess changes in the cost of living.
How is "US CPI" Calculated?
The "US CPI" indicator in this script retrieves CPI data from the Federal Reserve Economic Data (FRED) using the FRED:CPIAUCSL symbol. It calculates the rate of change in CPI over a specified period (typically 12 months) and applies technical analysis tools like moving averages (SMA and EMA) for trend analysis and smoothing.
Why Use "US CPI" Indicator?
1. Inflation Analysis: Monitoring CPI trends provides insights into the rate of inflation, which is crucial for understanding the overall economic health and potential impact on monetary policy.
2. Policy Implications: Changes in CPI influence decisions by policymakers, central banks, and investors regarding interest rates, fiscal policies, and asset allocation.
3. Market Sentiment: CPI data often impacts market sentiment, influencing trading strategies across various asset classes including currencies, bonds, and equities.
Key Features:
1. Customizable Smoothing: The indicator allows users to apply exponential moving average (EMA) smoothing to CPI data for clearer trend identification.
2. Visual Representation: The plotted line visually represents the inflation rate based on CPI data, helping traders and analysts assess inflationary pressures at a glance.
Sources and Data Integrity:
The CPI data used in this indicator is sourced directly from FRED, ensuring reliability and accuracy. The script incorporates robust security protocols to handle data requests and maintain data integrity in a trading environment.
In conclusion, the "US CPI" indicator offers a comprehensive view of inflation dynamics in the U.S. economy, providing traders, economists, and policymakers with valuable insights for informed decision-making and risk management.
Disclaimer: This indicator and accompanying analysis are for informational purposes only and should not be construed as financial advice. Users are encouraged to conduct their own research and consult with professional advisors before making investment decisions.
Multi-Pairs Stratrgy Backtesting ScreenerThis indicator is for viewing and checking the results of a specific strategy simultaneously on 25 currency pairs. Results such as number of trades, wins, losses, canceled trades and most importantly win rate.
Long condition is as follows:
Short condition is as follows:
An Alert Fibo Level is built in to indicate the buy or sell status.
Reset Deal Calculation Fibo Level , if the price hits it, the indicator resets all calculations and prepares for the next situation.
If Other situation appear after missed situation, indicator consider it:
All statistics collected in Screener Table :
Date Period:
Users can customize the date period during which the strategy is tested, allowing for a more granular analysis of performance over specific timeframes.
Entry:
Entry is based on Fibonacci level between the Lower Low and Higher High pivots for Long deals.
Entry is based on Fibonacci level between the Higher High and Lower Low pivots for Short deals.
Allowing a second entry
There is a feature that If the risk-to-reward ratio is below the specified input (rr), the trading deal wont initiate.
Stop Loss:
Adjustable based on Fibonacci levels , Base Pivot, Percent and ATR.
The Base Pivot is calculate from LL pivot point for Long and HH pivot point for short (not Entry price).
The Percent and ATR is calculate from Entry price.
Targets:
Adjustable based on Source, Fibonacci levels , Percent and ATR.
Source indicates the maximum (minimum) value between the open and close of the candle where the Higher High (Lower Low) pivot point was formed for Long (Short) deals.
Percent and ATR calculates from Entry 1 Price
Exit Methods :
The goal is to offer users a diverse set of exits before the price touches the target or stop loss.
1. Pending Entry Time-out
cancel pending entry based on candle counting since alert fired. (before deal started)
2. Active Deal Reverse
If a deal (long or short position) is currently open, and the reverse signal is emitted, the script will close the existing deal.
3. Reverse Deal Exit
If a deal (long or short position) is currently open, and the reverse signal is emitted, the script will automatically close the existing deal.
4. Move Exit
With this method, if Entry 2 is triggered, the deal will be closed when the price touches the Entry price.
5. Candle Counting Exit
This exit type is based on the number of candles since the deal started.
RSI AcceleratorThe Relative Strength Index (RSI) is like a fitness tracker for the underlying time series. It measures how overbought or oversold an asset is, which is kinda like saying how tired or energized it is.
When the RSI goes too high, it suggests the asset might be tired and due for a rest, so it could be a sign it's gonna drop. On the flip side, when the RSI goes too low, it's like the asset is pumped up and ready to go, so it might be a sign it's gonna bounce back up. Basically, it helps traders figure out if a stock is worn out or revved up, which can be handy for making decisions about buying or selling.
The RSI Accelerator takes the difference between a short-term RSI(5) and a longer-term RSI(14) to detect short-term movements. When the short-term RSI rises more than the long-term RSI, it typically refers to a short-term upside acceleration.
The conditions of the signals through the RSI Accelerator are as follows:
* A bullish signal is generated whenever the Accelerator surpasses -20 after having been below it.
* A bearish signal is generated whenever the Accelerator breaks 20 after having been above it.
ATH Distance HeatmapThe "ATH Distance Heatmap" is a powerful visualization tool designed for traders and investors who seek to quickly assess the relative performance of assets against their All-Time Highs (ATH). By mapping the percentage distance of current prices from their historical peaks, this script provides a unique perspective on market sentiment, potential recovery opportunities, and overvaluation risks.
Key Features:
Visual Clarity: Utilize a color-coded heatmap to instantly recognize which assets are near or far from their ATHs. Colors transition smoothly from cool to warm tones, indicating smaller to larger distances respectively.
Real-Time Updates: The script updates dynamically with live market data, ensuring you have the most current information at your fingertips.
Versatile Application: Whether you're tracking stocks, cryptocurrencies, commodities, or indices, the "ATH Distance Heatmap" adapts to a wide array of assets, making it a versatile tool for your trading arsenal.
Insightful Analysis: Beyond mere visualization, this tool can help identify potential buying opportunities in assets that are significantly below their ATHs, or highlight caution for those nearing their peaks.
How to Use:
Configure Your Assets: Start by selecting the assets you wish to track. The script can be customized to monitor a broad market range or a specific segment.
Interpret the Colors: Use the color gradient to gauge the distance of each asset from its ATH. Cooler colors indicate assets closer to their ATH, while warmer colors highlight those further away.
Ideal for:
Traders looking for a quick visual guide to market trends and asset performance.
Investors aiming to capitalize on recovery opportunities or to evaluate entry and exit points.
Market analysts interested in a concise overview of asset health relative to historical performance.
Index Generator [By MUQWISHI]▋ INTRODUCTION :
The “Index Generator” simplifies the process of building a custom market index, allowing investors to enter a list of preferred holdings from global securities. It aims to serve as an approach for tracking performance, conducting research, and analyzing specific aspects of the global market. The output will include an index value, a table of holdings, and chart plotting, providing a deeper understanding of historical movement.
_______________________
▋ OVERVIEW:
The image can be taken as an example of building a custom index. I created this index and named it “My Oil & Gas Index”. The index comprises several global energy companies. Essentially, the indicator weights each company by collecting the number of shares and then computes the market capitalization before sorting them as seen in the table.
_______________________
▋ OUTPUTS:
The output can be divided into 3 sections:
1. Index Title (Name & Value).
2. Index Holdings.
3. Index Chart.
1. Index Title , displays the index name at the top, and at the bottom, it shows the index value, along with the daily change in points and percentage.
2. Index Holdings , displays list the holding securities inside a table that contains the ticker, price, daily change %, market cap, and weight %. Additionally, a tooltip appears when the user passes the cursor over a ticker's cell, showing brief information about the company, such as the company's name, exchange market, country, sector, and industry.
3. Index Chart , display a plot of the historical movement of the index in the form of a bar, candle, or line chart.
_______________________
▋ INDICATOR SETTINGS:
(1) Naming the index.
(2) Entering a currency. To unite all securities in one currency.
(3) Table location on the chart.
(4) Table’s cells size.
(5) Table’s colors.
(6) Sorting table. By securities’ (Market Cap, Change%, Price, or Ticker Alphabetical) order.
(7) Plotting formation (Candle, Bar, or Line)
(8) To show/hide any indicator’s components.
(9) There are 34 fields where user can fill them with symbols.
Please let me know if you have any questions.
Evolving RThe "Evolving R" script is a script that allows to calculate a dynamic reward-to-risk ratio at any given point of time during the trade. Its fundamentals are based on Tom Dante's concept of an evolving reward-to-risk. The script requires a user to input their preferred stop loss price and the target price for a specific asset, and calculates the ratio between two differences: (a) the absolute difference between the target price and the current price and (b) the absolute difference between the stop loss price and the current price.
The output of the script displays the ratio discussed as a value called "Evolving R" in the table. In order to use it successfully, the user of the script has to input:
(a) Stop loss price for the asset
(b) Target price for the asset
Theoretically, as long as the evolving R value holds above or equal to 0.25, the trade is worth holding. However, if the evolving R value drops below 0.25, the table turns red and signifies that such a trade possesses more risk than there is a reward remaining: this alerts the user to possibly take profits prematurely without risking their unrealized gains for a minor amount of additional gain.
The graphics of the script are represented by green and red areas: the green area indicates the area between the current price and the target price, while the red area shows the distance between the current price and the stop loss price. This visual representation allows users to understand the relative reward-to-risk ratio graphically in addition to the given evolving R value output.
The script is used for any type of trading: whether trend-trading or in a ranging market, it doesn't suggest a user which market conditions they should use.
FunctionDiscreteCosineTransformLibrary "FunctionDiscreteCosineTransform"
Discrete Cosine Transform (DCT)
The Discrete Cosine Transform (DCT) is a mathematical algorithm that converts a series of samples of a signal, typically in the time domain, into another domain called the frequency or spectral domain. It's commonly used for data compression and image/video coding applications such as JPEG and MPEG standards.
The DCT works by multiplying the input sequence with specific cosine functions that are pre-defined and then summing up these products to obtain a new series of values, which represent the frequency components of the original signal. The main advantage of the DCT over other transforms like Fourier Transform is its ability to handle non-stationary signals (i.e., signals with varying statistical properties) more effectively due to its localized basis functions.
In simple terms, the DCT can be thought of as a way to break down an image or video into different frequency components and then compress them without losing too much information. This compression technique is essential for efficient transmission and storage of digital media files over the internet or on devices with limited memory capacity.
~Mixtral4x7b
___
Reference:
lcamtuf.substack.com
dct(data, len)
Discrete Cosine Transform.
Parameters:
data (array) : Data source.
len (int) : Length of the sampling window.
Returns: List with frequency domain transformed information.
dct(data, len)
Discrete Cosine Transform.
Parameters:
data (float) : Data source.
len (int) : Length of the sampling window.
Returns: List with frequency domain transformed information.
idct(data, len)
Inverse Discrete Cosine Transform.
Parameters:
data (array) : Data source.
len (int) : Length of the sampling window.
Returns: List with time domain transformed information.
idct(data, len)
Inverse Discrete Cosine Transform.
Parameters:
data (float) : Data source.
len (int) : Length of the sampling window.
Returns: List with time domain transformed information.
Kalman Hull Supertrend [BackQuant]Kalman Hull Supertrend
At its core, this indicator uses a Kalman filter of price, put inside of a hull moving average function (replacing the weighted moving averages) and then using that as a price source for the supertrend instead of the normal hl2 (high+low/2).
Therefore, making it more adaptive to price and also sensitive to recent price action.
PLEASE Read the following, knowing what an indicator does at its core before adding it into a system is pivotal. The core concepts can allow you to include it in a logical and sound manner.
1. What is a Kalman Filter
The Kalman Filter is an algorithm renowned for its efficiency in estimating the states of a linear dynamic system amidst noisy data. It excels in real-time data processing, making it indispensable in fields requiring precise and adaptive filtering, such as aerospace, robotics, and financial market analysis. By leveraging its predictive capabilities, traders can significantly enhance their market analysis, particularly in estimating price movements more accurately.
If you would like this on its own, with a more in-depth description please see our Kalman Price Filter.
2. Hull Moving Average (HMA) and Its Core Calculation
The Hull Moving Average (HMA) improves on traditional moving averages by combining the Weighted Moving Average's (WMA) smoothness and reduced lag. Its core calculation involves taking the WMA of the data set and doubling it, then subtracting the WMA of the full period, followed by applying another WMA on the result over the square root of the period's length. This methodology yields a smoother and more responsive moving average, particularly useful for identifying market trends more rapidly.
3. Combining Kalman Filter with HMA
The innovative combination of the Kalman Filter with the Hull Moving Average (KHMA) offers a unique approach to smoothing price data. By applying the Kalman Filter to the price source before its incorporation into the HMA formula, we enhance the adaptiveness and responsiveness of the moving average. This adaptive smoothing method reduces noise more effectively and adjusts more swiftly to price changes, providing traders with clearer signals for market entries or exits.
The calculation is like so:
KHMA(_src, _length) =>
f_kalman(2 * f_kalman(_src, _length / 2) - f_kalman(_src, _length), math.round(math.sqrt(_length)))
4. Integration with Supertrend
Incorporating this adaptive price smoothing technique into the Supertrend indicator further enhances its efficiency. The Supertrend, known for its proficiency in identifying the prevailing market trend and providing clear buy or sell signals, becomes even more powerful with an adaptive price source. This integration allows the Supertrend to adjust more dynamically to market changes, offering traders more accurate and timely trading signals.
5. Application in a Trading System
In a trading system, the Kalman Hull Supertrend indicator can serve as a critical component for identifying market trends and generating signals for potential entry and exit points. Its adaptiveness and sensitivity to price changes make it particularly useful for traders looking to minimize lag in signal generation and improve the accuracy of their market trend analysis. Whether used as a standalone tool or in conjunction with other indicators, its dynamic nature can significantly enhance trading strategies.
6. Core Calculations and Benefits
The core of this indicator lies in its sophisticated filtering and averaging techniques, starting with the Kalman Filter's predictive adjustments, followed by the adaptive smoothing of the Hull Moving Average, and culminating in the trend-detecting capabilities of the Supertrend. This multi-layered approach not only reduces market noise but also adapts to market volatility more effectively. Benefits include improved signal accuracy, reduced lag, and the ability to discern trend changes more promptly, offering traders a competitive edge.
Thus following all of the key points here are some sample backtests on the 1D Chart
Disclaimer: Backtests are based off past results, and are not indicative of the future.
INDEX:BTCUSD
INDEX:ETHUSD
BINANCE:SOLUSD
QuarterCandlesChanges candle color when close is within the top 25% or bottom 25% of candle range (High - Low) on the last candle update.
Due to limitations of barcolor command, I'd suggest that you turn OFF the candle borders (chart settings--> right click on chart --> settings -->symbol and uncheck the border option) to ensure that the bar color is easily identifiable.
Smart Money Concept + Strategy Backtesting Toolkit [Shah]This indicator, primarily designed for strategy backtest. It’s important to emphasize that the orders generated by this indicator are in the form of stop-limit orders .
For Long setup , When lower lows and lower highs form, after price moving up from the last higher high, a “change of character” occurs. Entry will takes place in the golden zone.
This the Long setup:
And this is the Long setup Example on chart:
For Short setup , When higher lows and higher highs form after the price moves down from the last higher low, a “change of character” occurs. Entry will take place within the golden zone.
This the Short setup:
And this is the Short setup Example on chart:
Key Features:
Date Period:
Users can customize the date period during which the strategy is tested, allowing for a more granular analysis of performance over specific timeframes.
DCA Entry:
Entry is based on Fibonacci level between the Lower Low and Higher High pivots for Long deals .
Entry is based on Fibonacci level between the Higher High and Lower Low pivots for Short deals .
Allowing a second entry with a specified position size
Entering at a different price based on a Percent or ATR change.
There is a feature that If the risk-to-reward ratio is below the specified input (rr), the trading deal wont initiate, and the signal alert wont be triggered.
Stop Loss:
Adjustable based on Fibonacci levels , Percent and ATR.
The percent and ATR is calculate from LL pivot point for Long and HH pivot point for short (not Entry price)’
Targets:
Adjustable based on Source, Fibonacci levels , Percent and ATR.
Source indicates the maximum (minimum) value between the open and close of the candle where the Higher High (Lower Low) pivot point was formed for Long (Short) deals.
Percent and ATR calculates from Entry 1 Price
There is a feature that closes the part of the position size at Target 1 based on a percentage, leaving the rest to close at Target 2, entry, exit price, or stop loss.
Plots:
The visual representation of the indicator includes the key plots:
Reset Deal Calculation Fibonacci Level
Alert Fire Fibonacci Level
Entry 1
Entry 2
Entry Average
Stop Loss
Target 1
Target 2
Labels:
Displays informative labels upon trade open and close, providing details about each transaction like gain and equity and etc.
Risk Management:
Allows setting initial capital, risk per trade, and commission for each transaction.
Score Table:
Provides statistical information for Regular deals (refers to deals that closed in Target price or Stop loss price) and Exited deals (representing deals that didn’t touch the stop loss or targets.):
Number of trades
Win rate
Profit factor
Average Risk to Reward ratio
Total Profit and Loss (PnL)
Commission paid
Live equity
It should note that Winrate calculated based on closed deals at target or stop loss. (Exited trades doesn’t into account in calculation of Winrate)
Exit Methods :
The goal is to offer users a diverse set of exits before the price touches the target or stop loss.
1. Pending Entry Time-out
cancel pending entry based on candle counting since alert fired. (before deal started)
2. Break Even
If Target 2 is reached, the stop loss automatically adjusts to the entry price.
3. Active Deal Reverse
If a deal (long or short position) is currently open, and the reverse signal is emitted, the script will close the existing deal.
4. Reverse Deal Exit
If a deal (long or short position) is currently open, and the reverse signal is emitted, the script will automatically close the existing deal.
5. Move Exit
With this method, if Entry 2 is triggered, the deal will be closed when the price touches the Entry price.
6. Candle Counting Exit
This exit type is based on the number of candles since the deal started.
7. Profit Zone Shield Exit
Once a deal enters profit, the Exit level moves to the entry level after reaching a Fibonacci level between TP1 and Entry 1.
Deep Backtesting Table:
It includes:
Time period of the backtest
Pair name and timeframe
Count the long and short trades
Win streak and loss streak
Total deal chances and missed chances
Count the deals goes directly from entry 1 to tp1 and entry 2 to tp1
Count the deals that touched entry 2 and entry 2 filled percent
Count the number of each exit type
Other statistics such as CAGR, Sharpe, Kurtosis, Skewness, and Max Drawdown.