Market Health MonitorThe Market Health Monitor is a comprehensive tool designed to assess and visualize the economic health of a market, providing traders with vital insights into both current and future market conditions. This script integrates a range of critical economic indicators, including unemployment rates, inflation, Federal Reserve funds rates, consumer confidence, and housing market indices, to form a robust understanding of the overall economic landscape.
Drawing on a variety of data sources, the Market Health Monitor employs moving averages over periods of 3, 12, 36, and 120 months, corresponding to quarterly, annual, three-year, and ten-year economic cycles. This selection of timeframes is specifically chosen to capture the nuances of economic movements across different phases, providing a balanced view that is sensitive to both immediate changes and long-term trends.
Key Features:
Economic Indicators Integration: The script synthesizes crucial economic data such as unemployment rates, inflation levels, and housing market trends, offering a multi-dimensional perspective on market health.
Adaptability to Market Conditions: The inclusion of both short-term and long-term moving averages allows the Market Health Monitor to adapt to varying market conditions, making it a versatile tool for different trading strategies.
Oscillator Thresholds for Recession and Growth: The script sets specific thresholds that, when crossed, indicate either potential economic downturns (recessions) or periods of growth (expansions), allowing traders to anticipate and react to changing market conditions proactively.
Color-Coded Visualization: The Market Health Monitor employs a color-coding system for ease of interpretation:
-- A red background signals unhealthy economic conditions, cautioning traders about potential risks.
-- A bright red background indicates a confirmed recession, as declared by the NBER, signaling a critical time for traders to reassess risk exposure.
-- A green background suggests a healthy market with expected economic expansion, pointing towards growth-oriented opportunities.
Comprehensive Market Analysis: By combining various economic indicators, the script offers a holistic view of the market, enabling traders to make well-informed decisions based on a thorough understanding of the economic environment.
Key Criteria and Parameters:
Economic Indicators:
Labor Market: The unemployment rate is a critical indicator of economic health.
High or rising unemployment indicates reduced consumer spending and economic stress.
Inflation: Key for understanding monetary policy and consumer purchasing power.
Persistent high inflation can lead to economic instability, while deflation can signal weak
demand.
Monetary Policy: Reflected by the Federal Reserve funds rate.
Changes in the rate can influence economic activity, borrowing costs, and investor
sentiment.
Consumer Confidence: A predictor of consumer spending and economic activity.
Reflects the public’s perception of the economy
Housing Market: The housing market often leads the economy into recession and recovery.
Weakness here can signal broader economic problems.
Market Data:
Stock Market Indices: Reflect overall investor sentiment and economic
expectations. No gains in a stock market could potentially indicate that economy is
slowing down.
Credit Conditions: Indicated by the tightness of bank lending, signaling risk
perception.
Commodity Insight:
Crude Oil Prices: A proxy for global economic activity.
Indicator Timeframe:
A default monthly timeframe is chosen to align with the release frequency of many economic indicators, offering a balanced view between timely data and avoiding too much noise from short-term fluctuations. Surely, it can be chosen by trader / analyst.
The Market Health Monitor is more than just a trading tool—it's a comprehensive economic guide. It's designed for traders who value an in-depth understanding of the economic climate. By offering insights into both current conditions and future trends, it encourages traders to navigate the markets with confidence, whether through turbulent times or in periods of growth. This tool doesn't just help you follow the market—it helps you understand it.
Statistics
lib_fvgLibrary "lib_fvg"
further expansion of my object oriented library toolkit. This lib detects Fair Value Gaps and returns them as objects.
Drawing them is a separate step so the lib can be used with securities. It also allows for usage of current/close price to detect fill/invalidation of a gap and to adjust the fill level dynamically. FVGs can be detected while forming and extended indefinitely while they're unfilled.
method draw(this)
Namespace types: FVG
Parameters:
this (FVG)
method draw(fvgs)
Namespace types: FVG
Parameters:
fvgs (FVG )
is_fvg(mode, precondition, filter_insignificant, filter_insignificant_atr_factor, live)
Parameters:
mode (int) : switch for detection 1 for bullish FVGs, -1 for bearish FVGs
precondition (bool) : allows for other confluences to block/enable detection
filter_insignificant (bool) : allows to ignore small gaps
filter_insignificant_atr_factor (float) : allows to adjust how small (compared to a 50 period ATR)
live (bool) : allows to detect FVGs while the third bar is forming -> will cause repainting
Returns: a tuple of (bar_index of gap bar, gap top, gap bottom)
create_fvg(mode, idx, top, btm, filled_at_pc, config)
Parameters:
mode (int) : switch for detection 1 for bullish FVGs, -1 for bearish FVGs
idx (int) : the bar_index of the FVG gap bar
top (float) : the top level of the FVG
btm (float) : the bottom level of the FVG
filled_at_pc (float) : the ratio (0-1) that the fill source needs to retrace into the gap to consider it filled/invalidated/ready for removal
config (FVGConfig) : the plot configuration/styles for the FVG
Returns: a new FVG object if there was a new FVG, else na
detect_fvg(mode, filled_at_pc, precondition, filter_insignificant, filter_insignificant_atr_factor, live, config)
Parameters:
mode (int) : switch for detection 1 for bullish FVGs, -1 for bearish FVGs
filled_at_pc (float)
precondition (bool) : allows for other confluences to block/enable detection
filter_insignificant (bool) : allows to ignore small gaps
filter_insignificant_atr_factor (float) : allows to adjust how small (compared to a 50 period ATR)
live (bool) : allows to detect FVGs while the third bar is forming -> will cause repainting
config (FVGConfig)
Returns: a new FVG object if there was a new FVG, else na
method update(this, fill_src)
Namespace types: FVG
Parameters:
this (FVG)
fill_src (float) : allows for usage of different fill source series, e.g. high for bearish FVGs, low vor bullish FVGs or close for both
method update(all, fill_src)
Namespace types: FVG
Parameters:
all (FVG )
fill_src (float)
method remove_filled(unfilled_fvgs)
Namespace types: FVG
Parameters:
unfilled_fvgs (FVG )
method delete(this)
Namespace types: FVG
Parameters:
this (FVG)
method delete_filled_fvgs_buffered(filled_fvgs, max_keep)
Namespace types: FVG
Parameters:
filled_fvgs (FVG )
max_keep (int) : the number of filled, latest FVGs to retain on the chart.
FVGConfig
Fields:
box_args (|robbatt/lib_plot_objects/36;BoxArgs|#OBJ)
line_args (|robbatt/lib_plot_objects/36;LineArgs|#OBJ)
box_show (series__bool)
line_show (series__bool)
keep_filled (series__bool)
extend (series__bool)
FVG
Fields:
config (|FVGConfig|#OBJ)
startbar (series__integer)
mode (series__integer)
top (series__float)
btm (series__float)
center (series__float)
size (series__float)
fill_size (series__float)
fill_lvl_target (series__float)
fill_lvl_current (series__float)
fillbar (series__integer)
filled (series__bool)
_fvg_box (|robbatt/lib_plot_objects/36;Box|#OBJ)
_fill_line (|robbatt/lib_plot_objects/36;Line|#OBJ)
Squeeze & Release [AlgoAlpha]Introduction:
💡The Squeeze & Release by AlgoAlpha is an innovative tool designed to capture price volatility dynamics using a combination of EMA-based calculations and ATR principles. This script aims to provide traders with clear visual cues to spot potential market squeezes and release scenarios. Hence it is important to note that this indicator shows information on volatility, not direction.
Core Logic and Components:
🔶EMA Calculations: The script utilizes the Exponential Moving Average (EMA) in multiple ways to smooth out the data and provide indicator direction. There are specific lengths for the EMAs that users can modify as per their preference.
🔶ATR Dynamics: Average True Range (ATR) is a core component of the script. The differential between the smoothed ATR and its EMA is used to plot the main line. This differential, when represented as a percentage of the high-low range, provides insights into volatility.
🔶Squeeze and Release Detection: The script identifies and highlights squeeze and release scenarios based on the crossover and cross-under events between our main line and its smoothed version. Squeezes are potential setups where the market may be consolidating, and releases indicate a potential breakout or breakdown.
🔶Hyper Squeeze Detection: A unique feature that detects instances when the main line is rising consistently over a user-defined period. Hyper squeeze marks areas of extremely low volatility.
Visual Components:
The main line (ATR-based) changes color depending on its position relative to its EMA.
A middle line plotted at zero level which provides a quick visual cue about the main line's position. If the main line is above the zero level, it indicates that the price is squeezing on a longer time horizon, even if the indicator indicates a shorter-term release.
"𝓢" and "𝓡" characters are plotted to represent 'Squeeze' and 'Release' scenarios respectively.
Standard Deviation Bands are plotted to help users gauge the extremity and significance of the signal from the indicator, if the indicator is closer to either the upper or lower deviation bands, this means that statistically, the current value is considered to be more extreme and as it is further away from the mean where the indicator is oscillating at for the majority of the time. Thus indicating that the price has experienced an unusual amount or squeeze or release depending on the value of the indicator.
Usage Guidelines:
☝️Traders can use the script to:
Identify potential consolidation (squeeze) zones.
Gauge potential breakout or breakdown scenarios (release).
Fine-tune their entries and exits based on volatility.
Adjust the various lengths provided in the input for better customization based on individual trading styles and the asset being traded.
FX DispersionThis script calculates the dispersion of a basket of 5 FX pairs and then calculates the z-score the z-score is then made into a composite using the 30 and 60 ema of the z-score to smooth any noise. It must be used on one of the FX pairs in the basket and on the 1-minute timeframe as it has been hardcoded for 1 min use below.
Interpretation - Dispersion is a component of volatility - the dispersion of the underlying basket increases above 0.5 and decreases below 0.5.
Although increased dispersion is beneficial to momentum and trend-following strategies on the monthly and weekly timeframes. Observe this on the 1-minute timeframe and how dispersion crossing above/ below 0.5 it can signal reversion or momentum for the next period.
Volume Speed [By MUQWISHI]▋ INTRODUCTION :
The “Volume Dynamic Scale Bar” is a method for determining the dominance of volume flow over a selected length and timeframe, indicating whether buyers or sellers are in control. In addition, it detects the average speed of volume flow over a specified period. This indicator is almost equivalent to Time & Sales (Tape) .
_______________________
▋ OVERVIEW:
_______________________
▋ ELEMENTS
(1) Volume Dynamic Scale Bar. As we observe, it has similar total up and down volume values to what we're seeing in the table. Note they have similar default inputs.
(2) A notice of a significant volume came.
(3) It estimates the speed of the average volume flow. In the tooltip, it shows the maximum and minimum recorded speeds along with the time since the chart was updated.
(4) Info of entered length and the selected timeframe.
(5) The widget will flash gradually for 3 seconds when there’s a significant volume occurred based on the selected timeframe.
_______________________
▋ INDICATOR SETTINGS:
(1) Timezone.
(2) Widget location and size on chart.
(3) Up & Down volume colors.
(4) Option to enable a visual flash when a single volume is more than {X value} of Average. For instance, 2 → means double the average volume.
(5) Fetch data from the selected lower timeframe.
(6) Number of bars at chosen timeframe.
(7) Volume OR Price Volume.
_____________________
▋ COMMENT:
The Volume Dynamic Scale Bar should not be taken as a major concept to build a trading decision.
Please let me know if you have any questions.
Thank you.
ForecastingThis Forecasting library has a couple of Novel and traditional approaches to forecasting stock prices.
Traditionally, it provides a basic ARIMA forecaster using simple autoregression, as well as a linear regression and quadratic regression channel forecaster.
Novel approaches to forecasting include:
1) A Moving Average based Forecaster (modelled after ARIMA), it is capable of forecasting based on a user selected SMA.
2) Z-Score Forecast: Forecasting based on Z-Score (example displayed in chart).
Library "Forecasting"
ARIMA_Modeller(src)
: Creates a generic autoregressive ARIMA model
Parameters:
src (float)
Returns: : arima_result, arima_ucl, arima_lcl, arima_cor, arima_r2, arima_err, y1, y2, y3, y0
machine_learning_regression(output, x1, x2, x3, x4, x5, show_statistics)
: Creates an automatic regression based forecast model (can be used for other regression operations) from a list of possible independent variables.
Parameters:
output (float)
x1 (float)
x2 (float)
x3 (float)
x4 (float)
x5 (float)
show_statistics (bool)
Returns: : result, upper bound levels, lower bound levels, optional statitics table that displays the model parameters and statistics
time_series_linear_forecast(src, forecast_length, standard_deviation_extension_1, standard_deviation_extension_2)
: Creates a simple linear regression time series channel
Parameters:
src (float)
forecast_length (int)
standard_deviation_extension_1 (float)
standard_deviation_extension_2 (float)
Returns: : Linreg Channel
quadratic_time_series_forecast(src, forecast_length)
: Creates a simple quadratic regression time series channel
Parameters:
src (float)
forecast_length (int)
Returns: : Quadratic Regression Channel
moving_average_forecaster(source, train_time, ma_length, forecast_length, forecast_result, upper_bound_result, lower_bound_result)
: Creates an ARIMA style moving average forecaster
Parameters:
source (float)
train_time (int)
ma_length (int)
forecast_length (int)
forecast_result (float )
upper_bound_result (float )
lower_bound_result (float )
Returns: : forecast_result, upper_bound_result, lower_bound_result, moving_average, ucl, lcl
zscore_forecast(z_length, z_source, show_alerts, forecast_length, show_forecast_table)
: Creates a Z-Score Forecast and is capable of plotting the immediate forecast via a Polyline
Parameters:
z_length (int)
z_source (float)
show_alerts (bool)
forecast_length (int)
show_forecast_table (bool)
Returns: : The export is void, it will export the Polyline forecast and the Z-forecast table if you enable it.
Pairs strategyHello, Tradingview community,
I am been playing with this idea that nowadays trading instruments are interconnected and when one goes too far "out of order" it should return to the mean.
So, here's a relatively simple idea.
This is a LONG-ONLY strategy.
Buy when your traded instrument's last bar closes down, and the comparing instrument closes up.
Sell when close is higher than the previous bar's high.
Best results I found with medium timeframes: 45min, 120min, 180min.
Also, feel free to test non-typical timeframes such as 59min, 119min, 179min, etc.
My reasoning for medium timeframes would be, that they are big enough to avoid "market noise"
of smaller timeframes + commissions & slippage is less negligible, and small enough to avoid exposure of higher timeframes, although, I haven't tested D timeframe and above.
The best results, I found were with instruments that aren't directly correlated. I mostly tested equities and equity futures, so for equity indexes, equity index futures, or large-cap stocks, NASDAQ:SMH , NASDAQ:NVDA , EURUSD, and Crude Oil would be a good candidate for comparing symbols.
When testing either futures or stocks, please adjust the commission for each asset, for stocks I use % equity, so it compounds over time, whereas, for futures, I use 1 contract all the time.
Here's NASDAQ:MSFT on 119min chart
Here's AMEX:SPY on 59min chart using NASDAQ:NVDA as comparison
Here's CME_MINI:ES1! on 179min chart using NYMEX:CL1! as comparison
To change comparison symbol just insert your symbol between the brackets on both fields down here.
SymbolClose = request.security("YOUR SYMBOL HERE", timeframe.period, close)
SymbolOpen = request.security("YOUR SYMBOL HERE", timeframe.period, open)
Since I am still relatively new to testing, hence, I am publishing this idea, so you can point out some crucial things I may have missed.
Thanks,
Enjoy the strategy!
Threshold counterOVERVIEW
The "Threshold Counter" is a tool for quantifying occurrences of closing prices of an asset that align with specified criteria and is a flexible and visual approach to studying price action.
A user-definable target threshold can be set and a comparator (<, =, >, and so on) can be selected. The indicator counts values on the main chart meeting these conditions, over a user-defined `lookback` period.
KEY FEATURES
User definable threshold: target value with optional upper bound can be specified
Versatile Comparisons: Choose from "=", ">=", ">", "<=", "<", "between", and "between (inclusive)" for diverse analysis.
Historical Analysis: Assess occurrences over a customisable period.
Visual Representation: Displays instances graphically on the chart with customisable colours.
Summary: Provides a summary label for a quick understanding of the analysed data.
USE-CASES
Pattern Recognition: Identify patterns or trends based on user-defined price criteria.
Threshold Analysis: Quantify occurrences of prices crossing or staying within a specified range.
Strategy Testing: Evaluate historical performance of strategies relying on specific price conditions.
Behavioural Insights: Gain insights into price behaviour by counting occurrences of interest.
The "Threshold Counter" indicator offers a flexible and visual approach to studying price action, which may aid in making decisions based on historical data.
IMPORTANT CONSIDERATIONS
Period selection: The effectiveness of the analysis may be influenced by the choice of the lookback period. Consider an appropriate duration based on the strategy or pattern being analysed.
Comparator Selection: Comparison operator selection will obviously affect the results. There are two range operators of `between` and `between (inclusive)`. The latter will add closing prices that exactly meet the threshold and upper bound. The former does not.
Visualisation: Interpretation of the visual representation is colour-coded.
Red is threshold condition is not met.
Green is threshold condition is met.
Aqua is outside of the lookback period.
User Discretion: This script relies on historical data and should be used with caution. Past performance is not indicative of future results.
Supplementary Analysis: Trading decisions should not rely solely on this script. Users should exercise judgment and consider market conditions.
Kimchi Premium / Korean Premium ALL TICKERSKimchi Premium
Due to the isolated nature of Korean crypto markets, Koreans pay a hefty premium on most cryptos. (Usually ranging from 3% to 5%). This is colloquially known as the " Kimchi Premium ".
Uses
The extend of this premium can be used to gauge Korean sentiment towards certain tickers. Most of the insane alt coin rallies that are started by Korean degens are missed by foreign traders entirely. This script seeks to fix that.
Notes
This script automatically detects your current ticker and compares the USDT pair to the KRW pair after adjusting for exchange rate.
Works on all USDT, USDC, BUSD, FDUSD, USD, USDT.P, USDC.P or KRW pairs. Will obviously throw an error if your ticker has no KRW pairing.
VIX Statistical Sentiment Index [Nasan]** THIS IS ONLY FOR US STOCK MARKET**
The indicator analyzes market sentiment by computing the Rate of Change (ROC) for the VIX and S&P 500, visualizing the data as histograms with conditional coloring. It measures the correlation between the VIX, the specific stock, and the S&P 500, displaying the results on the chart. The reliability measure combines these correlations, offering an overall assessment of data robustness. One can use this information to gauge the inverse relationship between VIX and S&P 500, the alignment of the specific stock with the market, and the overall reliability of the correlations for informed decision-making based on the inverse relationship of VIX and price movement.
**WHEN THE VIX ROC IS ABOVE ZERO (RED COLOR) AND RASING ONE CAN EXPECT THE PRICE TO MOVE DOWNWARDS, WHEN THE VIX ROC IS BELOW ZERO (GREEN)AND DECREASING ONE CAN EXPECT THE PRICE TO MOVE UPWARDS"
Understanding the VIX Concept:
The VIX, or Volatility Index, is a widely used indicator in finance that measures the market's expectation of volatility over the next 30 days. Here are key points about the VIX:
Fear Gauge:
Often referred to as the "fear gauge," the VIX tends to rise during periods of market uncertainty or fear and fall during calmer market conditions.
Inverse Relationship with Market:
The VIX typically has an inverse relationship with the stock market. When the stock market experiences a sell-off, the VIX tends to rise, indicating increased expected volatility.
Implied Volatility:
The VIX is derived from the prices of options on the S&P 500. It represents the market's expectations for future volatility and is often referred to as "implied volatility."
Contrarian Indicator:
Extremely high VIX levels may indicate oversold conditions, suggesting a potential market rebound. Conversely, very low VIX levels may signal complacency and a potential reversal.
VIX vs. SPX Correlation:
This correlation measures the strength and direction of the relationship between the VIX (Volatility Index) and the S&P 500 (SPX).
A negative correlation indicates an inverse relationship. When the VIX goes up, the SPX tends to go down, and vice versa.
The correlation value closer to -1 suggests a stronger inverse relationship between VIX and SPX.
Stock vs. SPX Correlation:
This correlation measures the strength and direction of the relationship between the closing price of the stock (retrieved using src1) and the S&P 500 (SPX).
This correlation helps assess how closely the stock's price movements align with the broader market represented by the S&P 500.
A positive correlation suggests that the stock tends to move in the same direction as the S&P 500, while a negative correlation indicates an opposite movement.
Reliability Measure:
Combines the squared values of the VIX vs. SPX and Stock vs. SPX correlations and takes the square root to create a reliability measure.
This measure provides an overall assessment of how reliable the correlation information is in guiding decision-making.
Interpretation:
A higher reliability measure implies that the correlations between VIX and SPX, as well as between the stock and SPX, are more robust and consistent.
One can use this reliability measure to gauge the confidence they can place in the correlations when making decisions about the specific stock based on VIX data and its correlation with the broader market.
Mean Reversion Watchlist [Z score]Hi Traders !
What is the Z score:
The Z score measures a values variability factor from the mean, this value is denoted by z and is interpreted as the number of standard deviations from the mean.
The Z score is often applied to the normal distribution to “standardize” the values; this makes comparison of normally distributed random variables with different units possible.
This popular reversal based indicator makes an assumption that the sample distribution (in this case the sample of price values) is normal, this allows for the interpretation that values with an extremely high or low percentile or “Z” value will likely be reversal zones.
This is because in the population data (the true distribution) which is known, anomaly values are very rare, therefore if price were to take a z score factor of 3 this would mean that price lies 3 standard deviations from the mean in the positive direction and is in the ≈99% percentile of all values. We would take this as a sign of a negative reversal as it is very unlikely to observe a consecutive equal to or more extreme than this percentile or Z value.
The z score normalization equation is given by
In Pine Script the Z score can be computed very easily using the below code.
// Z score custom function
Zscore(source, lookback) =>
sma = ta.sma(source, lookback)
stdev = ta.stdev(source, lookback, true)
zscore = (source - sma) / stdev
zscore
The Indicator:
This indicator plots the Z score for up to 20 different assets ( Note the maximum is 40 however the utility of 40 plots in one indicator is not much, there is a diminishing marginal return of the number of plots ).
Z score threshold levels can also be specified, the interpretation is the same as stated above.
The timeframe can also be fixed, by toggling the “Time frame lock” user input under the “TIME FRAME LOCK” user input group ( Note this indicator does not repain t).
Bitcoin Price to Volume per $1 FeeTransaction value to transaction fee:
The Bitcoin network's efficiency, usability and volume scalability has been improving over time and this can be measured by dividing the average transaction volume by the transaction fee.
The indicator give us:
Price to volume per $1 fee = BTC price / (avg tx value / avg tx fee)
A low ratio of "Price to volume per $1 fee" indicates that the Bitcoin network is being used for high volumes in comparison to the Bitcoin price, which means that the network is cost-effective compared to the price. On the other hand, a high "Price to volume per $1 fee" suggests that the average transaction size is smaller than the price of Bitcoin, which means that the network is less cost-effective compared to the Bitcoin price.
Note that the dynamics of transaction fees may change over time as new use cases emerge in the Bitcoin chain. These use cases include L2s such as Stacks, where DeFi applications can run, and Bitcoin Ordinals.
It's worth mentioning that Bitcoin is not only a cost-effective way of transferring value, but also highly energy efficient. Despite receiving criticism for its energy consumption, when we compare its energy usage to other industries (such as banking and gold) and correlate it with the transaction volumes, we can easily conclude that Bitcoin's energy efficiency is remarkable when compared to other methods of transferring value.
Back Week For BacktestIt is Backtest Calculator For Essential and Plus plan holders, the length of available intraday data is calculated as follows: from now to 6 weeks back multiplied by timeframe(in minutes), i.e. you can go 6 weeks back on the 1-minute chart, 12 weeks back on the 2-minute chart, 30 weeks back on the 5-minute chart, 90 weeks back on the 15-minute chart and so on. The higher timeframe is selected, the more intraday data is available.
This show creates a weekday label based on the data in the plans allowed by TradingView. This show creates a weekday label based on the data in the plans allowed by TradingView. How much data is available for Bar Replay? According to the article, we can replay 6 weeks backwards for a 1-minute chart. This indicator is a label that shows how far we can go back, consisting of multiplying each minute by 6 between 1 minute and 60 minutes.
1 minute => 6 week backtest
2 minutes => 12 week backtest
.....
15 minutes => 90 week backtest
...
59 minutes => 354 week backtest
Session Breakout Scalper Trading BotHi Traders !
Introduction:
I have recently been exploring the world of automated algorithmic trading (as I prefer more objective trading strategies over subjective technical analysis (TA)) and would like to share one of my automation compatible (PineConnecter compatible) scripts “Session Breakout Scalper”.
The strategy is really simple and is based on time conditional breakouts although has more ”relatively” advanced optional features such as the regime indicators (Regime Filters) that attempt to filter out noise by adding more confluence states and the ATR multiple SL that takes into account volatility to mitigate the down side risk of the trade.
What is Algorthmic Trading:
Firstly what is algorithmic trading? Algorithmic trading also known as algo-trading, is a method of using computer programs (in this case pine script) to execute trades based on predetermined rules and instructions (this trading strategy). It's like having a robot trader who follows a strict set of commands to buy and sell assets automatically, without any human intervention.
Important Note:
For Algorithmic trading the strategy will require you having an essential TV subscription at the minimum (so that you can set alerts) plus a PineConnecter subscription (scroll down to the .”How does the strategy send signals” headings to read more)
The Strategy Explained:
Is the Time input true ? (this can be changed by toggling times under the “TRADE MEDIAN TIMES” group for user inputs).
Given the above is true the strategy waits x bars after the session and then calculates the highest high (HH) to lowest low (LL) range. For this box to form, the user defined amount of bars must print after the session. The box is symmetrical meaning the HH and LL are calculated over a lookback that is equal to the sum of user defined bars before and after the session (+ 1).
The Strategy then simultaneously defines the HH as the buy level (green line) and the LL as the sell level (red line). note the strategy will set stop orders at these levels respectively.
Enter a buy if price action crosses above the HH, and then cancel the sell order type (The opposite is true for a stop order).
If the momentum based regime filters are true the strategy will check for the regime / regimes to be true, if the regime if false the strategy will exit the current trade, as the regime filter has predicted a slowing / reversal of momentum.
The image below shows the strategy executing these trading rules ( Regime filters, "Trades on chart", "Signal & Label" and "Quantity" have been omitted. "Strategy label plots" has been switched to true)
Other Strategy Rules:
If a new session (time session which is user defined) is true (blue vertical line) and the strategy is currently still in a trade it will exit that trade immediately.
It is possible to also set a range of percentage gain per day that the strategy will try to acquire, if at any point the strategy’s profit is within the percentage range then the position / trade will be exited immediately (This can be changed in the “PERCENT DAY GAIN” group for user inputs)
Stops and Targets:
The strategy has either static (fixed) or variable SL options. TP however is only static. The “STRAT TP & TP” group of user inputs is responsible for the SL and TP values (quoted in pips). Note once the ATR stop is set to true the SL values in the above group no longer have any affect on the SL as expected.
What are the Regime Filters:
The Larry Williams Large Trade Index (LWLTI): The Larry Williams Large Trade Index (LWTI) is a momentum-based technical indicator developed by iconic trader Larry Williams. It identifies potential entries and exits for trades by gauging market sentiment, particularly the buying and selling pressure from large market players. Here's a breakdown of the LWTI:
LWLTI components and their interpretation:
Oscillator: It oscillates between 0 and 100, with 50 acting as the neutral line.
Sentiment Meter: Values above 75 suggest a bearish market dominated by large selling, while readings below 25 indicate a bullish market with strong buying from large players.
Trend Confirmation: Crossing above 75 during an uptrend and below 25 during a downtrend confirms the trend's continuation.
The Andean Oscillator (AO) : The Andean Oscillator is a trend and momentum based indicator designed to measure the degree of variations within individual uptrends and downtrends in the prices.
Regime Filter States:
In trading, a regime filter is a tool used to identify the current state or "regime" of the market.
These Regime filters are integrated within the trading strategy to attempt to lower risk (equity volatility and/or draw down). The regime filters have different states for each market order type (buy and sell). When the regime filters are set to true, if these regime states fail to be true the trade is exited immediately.
For Buy Trades:
LWLTI positive momentum state: Quotient of the lagged trailing difference and the ATR > 50
AO positive momentum state: Bull line > Bear line (signal line is omitted)
For Sell Trades:
LWLTI negative momentum stat: Quotient of the lagged trailing difference and the ATR < 50
AO negative momentum state: Bull line < Bear line (signal line is omitted)
How does the Strategy Send Signals:
The strategy triggers a TV alert (you will neet to set a alert first), TV then sends a HTTP request to the automation software (PineConnecter) which receives the request and then communicates to an MT4/5 EA to automate the trading strategy.
For the strategy to send signals you must have the following
At least a TV essential subscription
This Script added to your chart
A PineConnecter account, which is paid and not free. This will provide you with the expert advisor that executes trades based on these strategies signals.
For more detailed information on the automation process I would recommend you read the PineConnecter documentation and FAQ page.
Dashboard:
This Dashboard (top right by defualt) lists some simple trading statistics and also shows when a trade is live.
Important Notice:
- USE THIS STRATEGY AT YOUR OWN RISK AND ALWAYS DO YOUR OWN RESEARCH & MANUAL BACKTESTING !
- THE STRATEGY WILL NOT EXHIBIT THE BACKTEST PERFORMANCE SEEN BELOW IN ALL MARKETS !
Distribution Histogram [SS]This is the frequency histogram indicator. It does just that—creates a frequency histogram distribution based on your desired lookback period. It then uses Pine's new Polyline function to plot a normal curve of the expected results for a normal distribution. This allows you to see quite a few things:
🎯 Firstly, it allows you to see where the accumulation rests in terms of a bell curve. The histogram represents a bell curve, and you can visually observe what the curve would look like.
🎯 Secondly, it will assess the normal distribution and the degree of skewness based on the curve itself. The indicator imports the SPTS statistics library to assess the distribution using Kurtosis and Skewness. However, it also adds functionality in this regard by making a qualitative assessment of the data. For example, if there are heavy left tails or heavier right tails present in the histogram, the indicator will alert you that a heavier left or right tail has been observed.
🎯 Thirdly, it provides you with the kurtosis and skewness of the dataset.
🎯 Fourthly, it provides the mean, median, and mode of the dataset, as well as the maximum and minimum values within the dataset.
🎯 Lastly, it provides you with the ability to toggle on tips/explanations of the curve itself. Simply toggle on "Show Distribution Explanation" in the settings menu:
How is the indicator helpful for trading?
If you are a mean reversion trader, this helps you identify the areas and price ranges of high and low accumulation. It also allows you to ascertain the probability by looking at the standard deviation of the bell curve. Remember, the majority of values should fall between -1 and 1 standard deviation of the mean (68%).
If it is revealed that the distribution has a heavier right or left tail, you will know that the stock is more likely to experience sudden drops and shifts in the curve in one direction or the other. Heavier left tails will tend to shift to the values on the far left, and vice versa for right tails.
Customization
You can turn off and on the following:
👉 The normal curve,
👉 The standard deviation levels, and
👉 The distribution explanations and tips.
Conclusion: And that is the indicator! Hope you enjoy it!
ICT Handle CounterThe "Handle Counter" is a unique TradingView script designed for ease and effectiveness in tracking price movements. It's particularly useful for traders who follow ICT methodologies. Users manually input their trade entry price, and the script then dynamically calculates and displays the number of Handles, or price changes, in a clear box above the latest candle on the chart. This real-time updating feature provides traders with crucial, current data on price movement, aiding in informed decision-making and a better understanding of market dynamics.
The "Handle Counter" script operates in the following way:
User Input: It starts by allowing you to input your trade's entry price. This is the price level from which the script will measure price movement.
Handles Calculation: The script calculates "Handles," which represent the price difference from your entry point to the current market price. This is done using a mathematical formula that finds the absolute value of this difference.
Display Mechanism: The calculated Handles are then displayed in a box, which is positioned above the latest candle on your trading chart. This box updates in real-time, giving you an ongoing view of how many Handles (price changes) have occurred since your entry point.
This script is designed to be straightforward and easy to use, providing clear, real-time information.
How to use:
Add the Indicator.
Open the Menu by clicking on the 'Settings' icon.
Navigate to the 'Inputs' tab and enter your entry price.
Click 'OK.' The indicator should immediately place a box above the latest candle, showing the current handles.
Additional Settings
Change Color of the Box
Change Color of the Font
VaR Market Sentiment by TenozenHello there! I am excited to share with you my new trading concept implemented in the "VaR Market Sentiment" indicator. But before that, let me explain what VaR is. VaR, or Value at Risk, is an indicator that helps you identify the worst-case scenario of a market movement based on a percentile/confidence level. This means that it calculates the worst moves, whether it's a buy or sell, based on the timeframe you're using.
Now, let's discuss how VaR Market Sentiment works. It uses a historical VaR to calculate the worst move either if the market goes up or down based on a percentile/confidence level. The default setting is the 95th percentile, which means that the market is unlikely to hit your SL level within the day if you're using a daily timeframe, etc.
To determine the strength of a candle, it subtracts the value of both sides based on the returns of the current timeframe with the VaR value (Bullish VaR - Bullish Returns, Bearish VaR - Bearish Returns). If the result is above the mean, the current candle is potentially weak. Conversely, if the result is below the mean, the current candle is potentially strong. The deviation shows critical sentiments, where if the market is above the deviation, it means that the current candle is really weak. If it's below the deviation, it means that the current candle is really strong.
It's important to note that this indicator needs other supporting indicators such as trend-following or mean reversion indicators based on your trading style. Also, as a follow-up to my previous concept, I called out that the market has what's called "power." And for now, I conclude that VaR Market Sentiment is the "power."
I'm going to share more helpful indicators in the future! I hope this indicator will be helpful for you guys! Ciao!
Yearly Return [%] - VisualizedCalculates the % Return from the first trading candle of any given year, and shows the % Return at that year end.
FX Forecasting Model [TrendX_]FX Forecasting Model indicator is a forecasting tool that takes advantages of macroeconomic analysis and market surveillance to predict Exchange rate movement.
*** Customize the macro data for home country (base currency) and foreign country
USAGE
This consists of 4 editable options align with 4 Forecasting Models
TrendX Model)
TrendX Model is a type of multiple linear regression, which is a statistical method that estimates the relationship between the currency exchange rate and various macroeconomic indicators.
*** Remember the 1st thing to do is to customize the macro data for home country (base currency) and foreign country, before take any further steps.
Purchasing Power Parity (PPP Model)
The PPP model is a conceptual model of currency exchange. The model illustrates how the exchange rate between two countries’ currencies is influenced by the variations in the prices of goods and services in those countries, which depend on the inflation rate. The activity of buying and selling goods and services internationally will shift the exchange rate to balance the prices in both countries.
Interest Rate Parity (IRP Model)
Interest Rate Parity (IRP) model is a theoretical model that relates the interest rates and the exchange rates of two countries. According to IRP, the difference between the forward and spot exchange rates of two currencies should be equal to the difference between their interest rates. IRP helps traders to determine the fair value of a currency pair and compare it with the market value. If the market value deviates from the fair value, then there is a potential for arbitrage or hedging.
Combined Forecast Model (Mixed Model)
Since each model has its own advantages, many people are interested in the concept of using a mix of forecasts to get better results than any single forecast. Mix Model is a method that uses different proportions of the forecasts from three models: TrendX, PPP and IRP models. The default proportion is 0.2 for TrendX, and 0.4 for both PPP and IRP. You can change these proportions according to your liking.
CONCLUSION
FX Forecasting Model Indicator is very practical for FOREX traders who wants to make informed and rational decisions based on Macroeconomic Analysis. It can help find arbitrage opportunity in currency exchange market. Accordingly, it can also be helpful for traders to use alongside other forms of Technical Analysis.
DISCLAIMER
The results achieved in the past are not all reliable sources of what will happen in the future. There are many factors and uncertainties that can affect the outcome of any endeavor, and no one can guarantee or predict with certainty what will occur.
Therefore, you should always exercise caution and judgment when making decisions based on past performance.
Normalized Fisher Transformed VolumeGreetings Traders,
I am thrilled to introduce a game-changing tool that I've passionately developed to enhance your trading precision – the Normalized Fisher Transformed Volume indicator. Let's dive into the specifics and explore how this tool can empower you in the markets.
Unlocking Trading Precision:
Normalization and Transformation:
Normalize raw volume data to ensure a consistent scale for analysis.
The Fisher Transformation converts normalized volume data into a Gaussian distribution, providing enhanced insights into trend dynamics.
Flexible Modes for Tailored Strategies:
Choose from three distinct modes:
Volume T3 (MA) + Heatmap: Identify trends with T3 Moving Average and visualize volume strength with Heatmap.
Volume Percent Rank: Evaluate the position of current volume relative to historical data.
Volume T3 (MA) Percent Rank: Combine T3 Moving Average with percentile ranking for a comprehensive analysis.
Heatmap Visualization for Quick Insights:
Heatmap Zones and Lines visually represent volume strength relative to historical data.
Customize threshold multipliers and color options for precise Heatmap interpretation.
T3 Moving Average Integration:
Smoothed representation of volume trends with the T3 Moving Average enhances trend identification.
Percent Rank Analysis for Context:
Gauge the position of normalized volume within historical context using Percent Rank analysis.
User-Friendly Customization:
Easily adjust parameters such as length, T3 Moving Average length, Heatmap standard deviation length, and threshold multipliers.
Intuitive interface with colored bars and customizable background options for personalized analysis.
How to Use Effectively:
Mode Selection:
Identify your preferred trading strategy and select the mode that aligns with your approach.
Parameter Adjustment:
Fine-tune the indicator by adjusting parameters to match your preferred trading style.
Interpret Heatmap and T3 Analysis:
Leverage Heatmap and T3 Moving Average analysis to spot potential trend reversals, overbought/oversold conditions, and market sentiment shifts.
Conclusion:
The Normalized Fisher Transformed Volume indicator is not just a tool; it's your key to unlocking precision in trading. Crafted by Simwai, this indicator offers unique insights tailored to your specific trading needs. Dive in, explore its features, experiment with parameters, and let it guide you to more informed and precise trading decisions.
Trade wisely and prosper,
simwai
commonThe "Pineify/common" library presents a specialized toolkit crafted to empower traders and script developers with state-of-the-art time manipulation functions on the TradingView platform. It is instead a foundational utility aimed at enriching your script's ability to process and interpret time-based data with unparalleled precision.
Key Features
String Splitter:
The 'str_split_into_two' function is a universal string handler that separates any given input into two distinct strings based on a specified delimiter. This function is especially useful in parsing time strings or any scenario where a string needs to be divided into logical parts efficiently.
Example:
= str_split_into_two("a:b", ":")
// a = "a"
// b = "b"
Time Parser:
With 'time_to_hour_minute', users can effortlessly convert a time string into numerical hours and minutes. This function is pivotal for those who need to exact specific time series data or wish to schedule their trades down to the minute.
Example:
= time_to_hour_minute("02:30")
// time_hour = 2
// time_minute = 30
Unix Time Converter
The 'time_range_to_unix_time' function transcends traditional boundaries by converting a given time range into Unix timestamp format. This integration of date, time, and timezone, accounts for a comprehensive approach, allowing scripts to make timed decisions, perform historical analyses, and account for international markets across different time zones.
Example:
// Support 'hhmm-hhmm' and 'hh:mm-hh:mm'
= time_range_to_unix_time("09:30-12:00")
Summary:
Each function is meticulously designed to minimize complexity and maximize versatility. Whether you are a programmer seeking to streamline your code, or a trader requiring precise timing for your strategies, our library provides the logical framework that aligns with your needs.
The "Pineify/common" library is the bridge between high-level time concepts and actionable trading insights. It serves a multitude of purposes – from crafting elegant time-based triggers to dissecting complex string data. Embrace the power of precision with "Pineify/common" and elevate your TradingView scripting experience to new heights.
Price Volume Harmony Indicator [Nasan]The indicator "Price Volume Harmony Indicator " (abbreviated as PVHI) combines relative volume intensity (RVI) and relative price change (PC) to identify potential synergy or divergence between price and volume movements. Let's break down the key components and discuss how to interpret the output:
Relative Volume Intensity (RVI):
It calculates the mean volume intensity using simple moving averages (SMA) of different periods (5, 8, 13, and 144).
It then computes point volume intensity based on the current volume compared to the previous bar's volume.
The final RVI is a combination of mean and point volume intensities.
Relative Price Change (PC):
It calculates the median absolute deviation (MAD) and the price change relative to MAD for three different lengths (5, 8, and 13).
The average relative PC is a weighted combination of the three PC values.
Normalization:
RVI and PC are normalized using Z-scores (standard scores) to bring them to the same scale. This enables easier comparison.
Histogram Plotting:
The RVI and PC are plotted as histograms below the main price chart. Green color bars represent RVI, and blue color bars indicate PC. The RVI bars are light green when the RVI values are decreasing compared to previous bar. Similarly, when PC bars are light blue it indicates that the PC values are decreasing compared to previous bars.
There is a zero line +/- 0.5 SD lines movements above and below the SD lines are practically
significant.
Interpretation :
(1) Strong Bullish Movement :
This is when both the green bars (RVI) and blue bars (PC) increases and are on the same side above zero .
(2) Strong Bearish Movement :
This is when the green bars (RVI) increases and blue bars (PC) decreases. The green bars above zero but blue bars below zero.
(3) Weak Bullish Movement :
This is when the green bars (RVI) decreases and are below zero but the blue bars (PC) increases and are above zero .
(2) Weak Bearish Movement :
This is when both the green bars (RVI) and blue bars (PC) decreases. The green bars and blue bars are below zero.
This output is slightly hard to read but with practice can be read easily.
Nasan Rate of Change (ROC)**NOTE: FOR COMPARISON TRADITIONAL ROC IS PLOTTED WITH THE SAME ROC LENGTH OF 9. IT IS NOT PART OF THE INDICATOR"
The Nasan ROC indicator is smoothed version of the of the traditional ROC indicator. The Nasna ROC uses a triple pass moving average differencing strategy. A cumulative sum of the deviations obtained from the moving average differencing provides a smooth "noise free" trend and this cumulative sum of deviations is used for calculating ROC.
Let's break down the components and understand the indicator we discussed earlier:
Sequential Triple Pass Filter:
Three filters with lengths specified by length1, length2, and length3 are applied to the closing prices (close).
The filters involve calculating the cumulative sum of the differences between the closing prices and their respective moving averages.
The idea is to detrend the data and accumulate the deviations from the average over time, emphasizing longer-term trends.
Calculation of Rate of Change (ROC) of Cumulative Sum:
The Rate of Change (ROC) of the cumulative sum (rocCumulativeSum) is calculated using the ta.roc function with a specified length (rocLength).
ROC measures the percentage change in the cumulative sum over a specified period.
The ROC histogram provides insights into the momentum of the detrended series. Positive values suggest increasing momentum, while negative values suggest decreasing momentum.
Pay attention to the color of the histogram bars.
The histogram bars are colored green if the current ROC value is greater than or equal to the previous ROC value, and red otherwise.
This coloring is based on the concept that a positive ROC suggests upward momentum, while a negative ROC suggests downward momentum.
Volatility - Volume Impact:
The Average True Range (ATR) is calculated with a period of 14.
Volume strength is calculated as a factor (VCF) that considers the ratio of the simple moving average (SMA) of the current volume to the SMA of the volume over a longer period (144).
This volume factor (VCF) is then multiplied by ATR, creating a synergy with volatility and volume.
Visualization with Background Color Gradient:
A background color gradient is applied to the chart based on the calculated volume strength (f1).
The gradient color ranges from black (indicating low ATR and volume strength) to purple (indicating high ATR and volume strength). A low value indicates a ranging market with no significant price movements and it is safter to avoid signals generated from ROC histogram in these region.
Synergy of ROC and Volume Strength:
Observe how the ROC signals align with the background color gradient. For example, confirm whether positive ROC aligns with periods of high ATR and volume strength.
This synergy can provide confirmation or divergence signals, adding another layer of analysis.