Z-ScoreThe "Z-Score" indicator is a unique and powerful tool designed to help traders identify overbought and oversold conditions in the market. Below is an explanation of its features, usefulness, and what makes it special:
Features:
Z-Score Calculation: The indicator calculates the Z-Score, a statistical measure that represents how far the current price is from the moving average (MA) in terms of standard deviations. It helps identify extreme price movements.
Customizable Parameters: Traders can adjust key parameters such as the Z-Score threshold, the type of MA (e.g., SMA, EMA), and the length of the moving average to suit their trading preferences.
Signal Options: The indicator offers flexibility in terms of signaling. Traders can choose whether to trigger signals when the Z-Score crosses the specified threshold or when it moves away from the threshold.
Visual Signals : Z-Score conditions are represented visually on the chart with color-coded background highlights. Overbought conditions are marked with a red background, while oversold conditions are indicated with a green background.
Information Table: A dynamic information table displays essential details, including the MA type, MA length, MA value, standard deviation, current price, and Z-Score. This information table helps traders make informed decisions.
Usefulness:
Overbought and Oversold Signals: Z-Score is particularly valuable for identifying overbought and oversold market conditions. Traders can use this information to potentially enter or exit positions.
Statistical Analysis: The Z-Score provides a statistical measure of price deviation, offering a data-driven approach to market analysis.
Customization: Traders can customize the indicator to match their trading strategies and preferences, enhancing its adaptability to different trading styles.
Visual Clarity: The visual signals make it easy for traders to quickly spot potential trade opportunities on the price chart.
In summary, the Z-Score indicator is a valuable tool for traders looking to incorporate statistical analysis into their trading strategies. Its customizability, visual signals, and unique statistical approach make it an exceptional choice for identifying overbought and oversold market conditions and potential trading opportunities.
在腳本中搜尋"Table"
IU Probability CalculatorHow This Script Works:
1. This script calculate the probability of price reaching a user-defined price level within one candle with the help Normal Distribution Probability Table.
2. Normal Distribution Probability Table is use for calculating probability of events, it's very powerful for calculation of probability and this script is fully based on that table.
3. It takes the Average True Range value or Standard Deviation value of past user-defined length bar.
4. After that it take this formula z = ( price_level - close ) / (ATR or Standard Deviation) and return the value for z, for the bearish side it take z = (close - price level) / (ATR or Standard Deviation ) formula.
5. Once we have the z it look into Normal Distribution Probability Table and match the value.
6. Now the value of z is multiple buy 100 in order to make it look in percentage term.
7. After that this script subtract the final value with 100 because probability always comes under 100%
8. finally we plot the probability at the bottom of the chart the red line indicates "The probability of price not reaching that price level", While the green line indicates "Probability of price Reaching that level " .
9. This script will work fine for both of the directions
How This Is Useful For The User:
1. With this script user can know the probability of price reaching the certain level within one candle for both Directions .
2. This is useful while creating options hedging strategies
3. This can be helpful for deciding stop loss level.
4. It's useful for scalpers for managing their traders and it can be use by binary option traders.
Market Open - Relative VolumeThe indicator calculates the Pre-market volume percentage of the current day, relative to the average volume being traded in the trading session (14 days), displayed in Table Row 1, Table Cell 1, as V%. Pre-market volume between 15% & 30% has a orange background color. Pre-market volume percentage above 30% has a green background color.
The indicator calculates the relative volume per candle relative to the average volume being traded in that time period (14 days) (e.g., "1M," "2M," up to "5M"), displayed in a table. Relative volume between 250% & 350% has a orange background color. Relative volume above 350% has a green background color.
FYI >> Indicator calculations are per candle, not time unit (due to pine script restrictions). Meaning, the indicator current table data is only accurate in the 1M chart. If you are using the indicator in a higher timeframe, e.g., on the 5M chart, then the values in table cells >> (1M value == relative volume of the first 5-minute candle) (5M value = relative volume of the first five 5-minute candles) and so on. (Future versions will have a dynamic table).
Price Range Volume Profile [Pt]█ Introduction
The Price Range Volume Profile (PRVP) is a revolutionary indicator. This tool stands out from its peers due to its unique ability to capture the entire price chart history, thus providing a comprehensive volume profile of the entire asset's trading history, as available on TradingView chart. It's worth noting that I believe this tool is the first of its kind to accomplish such a feat. A much recommended tool if you are a volume profile trader.
█ Main Features
► Historical Lookback: This feature dives deep into the past, grasping all the historical data of an asset. It's equipped to handle up to 20,000 bars, although users without a premium TradingView account are advised to keep it at a maximum of 10,000 bars, or just use the "Full Historical Lookback" feature.
► Volume Profile / POC: Displays the distribution of volume across price levels for the selected price range. The Point of Control (POC), which is the price level with the highest traded volume, is also highlighted.
► Customization: Users have the flexibility to adjust the profile's appearance, including profile width, horizontal offset, and the option to fill the background of the profile range.
► Time Weighting: This feature allows users to give more weight to recent trading activity, which can be especially useful for intraday traders or during times of high volatility. Note that this feature will impact the volume profile and POC level.
► Settings Table: A settings table is displayed on the chart for users to quickly reference their input parameters.
█ Input Parameters
► Lookback Timeframe: Determines the period for which the volume profile is generated.
► Price Range: The percentage distance to consider for the profile, adjusted above and below the current closing price.
► Profile Step size: The granularity of the volume profile. Users can opt for automatic step size based on a predefined calculation or set their preferred tick step size.
► Historical Bars Lookback: Determines the number of bars to include in the volume profile calculation.
► Profile Visuals: Adjust the appearance and layout of the volume profile on the chart.
► Extra: Additional settings including the display of a settings table and its location.
█ Basic Understanding of Volume Profile - How to use PRVP?
Volume Profile is a valuable tool for traders who want insights into where the majority of trading activity has occurred. Here are some tips to make the most of it:
► Understand the Basics: Before using the Volume Profile, ensure you understand the difference between it and the standard volume histogram. While both represent volume, the former displays it against price while the latter shows it against time.
► Identify High Volume Nodes (HVN) and Low Volume Nodes (LVN):
◊ HVN: Areas where there's a lot of trading activity and where the price has spent a lot of time. These areas can act as strong support or resistance.
◊ LVN: Areas where there's a lack of trading activity. Prices might move quickly through these areas, and they can act as potential breakpoints or accelerators for price movement.
► Locate the Point of Control (POC): This is the price level with the highest traded volume for a specified period. It often acts as a magnet for price, and it can serve as a pivot or reference point.
► Trend Confirmation: A shift in the volume profile from one price level to another can confirm a trend. For instance, if higher volume starts to build at higher price levels, it may indicate a strong uptrend.
► Watch for Volume Gaps: If there's a significant gap in the volume profile, prices may move quickly through these levels as there's little historical trading activity to act as support or resistance.
█ Other Usage Tips
◊ For optimal performance, ensure that the chosen timeframe aligns closely with the chart timeframe. Differences in timeframes may lead to minor discrepancies in the volume profile.
◊ To address any errors arising from too many levels displayed on the volume profile, consider increasing the Profile Step size or reducing the Price Range.
Statistics: High & Low timings of custom session; 1yr historyGet statistics of the Session High and Session Low timings for any custom session; based on around 1yr of data.
//Purpose:
-To get data on the 'time of day' tendencies of an asset.
-Narrow in on a custom defined session and get statistics on that session.
//Notes:
-Input times are always in New York time (but changing the timezone after setting WILL adust both table stats and background highlight correctly.
-For particularly long sessions, make sure text size is set to 'tiny' (very long vertical table), or adjust table to display horizontally.
-You'll notice most assets show higher readings around NY equities open (9:30am NY time). Other assets will have 'hot-spots' at other times too.
-Timings represent the beginning of a 15m candle. i.e. reading for 15:45 represents a high occurring between 15:45 and 1600.
-Premium users should get 20k bars => around 1year's worth of data on a 15minute chart. Days of history is displayed in the top left corner of the table.
//Limitations
-only designed and working on 15minute timeframe (to gather a full year of meaningful/comparable % stats, need 15minute 'buckets' of time.
-sessions cannot cross through midnight, or start at midnight (00:15 is ok). 00:15 >> 23:45 is the max session length. On BTC, same applies but 01:00 instead of midnight (all in NY time).
-if your session crosses through 'dead time' (e.g. 17:00-18:00 S&P NY time); table will correctly omit these non-existent candles, but it will add on the missing hour before the start time.
//Cautionary note:
-Since markets are not uncommonly in a trending state when your defined session starts or ends, the high/low timings % readings for start and end of session may be misleadingly high. Try to look for unusually high readings that are not at the start/end of your session.
Wheat (ZW1!) 15min chart; Table displayed vertically:
Nasdaq (NQ1!) 15m chart; Table displayed horizontally and with smaller text to view a very long custom session:
RSI Screener and Divergence [5ema]
Displayed on the RSI chart according to a custom timeframe.
Displays the RSI tracking table of various timeframes.
Identify normal divergence, hidden divergence on RSI chat.
Show buy and sell signals (strong, weak) on the board.
Send notifications when RSI has a buy or sell signal.
-----
I reused some functions, made by (i believe that):
©paaax : The table position function.
@everget : The RSI divergence function.
@QuantNomad : The function calculated value and array to show on table for input symbols.
I have commented in my code. Thanks so much!
-----
How it works:
1. Input :
input.int length of RSI => calculate RSI.
input.int upper/lower => checking RSI overbought/oversold.
input.int right bars / left bars => returns price of the pivot low & high point => checking divergence.
input.int range upper / lower bars => compare the low & high point => checking divergence.
input.timeframe => request.security another time frame.
input.string table position => display screener table.
2. Input bool:
plot RSI on chart.
Plot Regular Bullish divergence .
Regular Bearish divergence.
Hidden Bullish divergence .
Hidden Bearish divergence.
3. Basic calculated:
Make function for RSI , pivot low & high point of RSI and price.
Request.security that function for earch time frame.
Result RSI, Divergence.
4. Condition of signal:
Buy condition:
RSI oversold (1)
Bullish divergence (2).
=> Buy if (1) and (2), review buy (1) or (2).
Sell condition:
RSI overbought (3).
Bearish divergence (4).
=> Sell if (3) and (4), review sell (3) or (4).
5. Table screener:
Time frame.
RSI (green - oversold, red - overbought)
Divergence (⬈⬈ - regular bullish , ⬊⬊ regular bearish , ⬊ - hidden bullish , ⬈ - hidden bearish ).
Signal (🟢 - Buy, 🔴 - sell, green 〇 - review buy, red 〇 - review sell)
----
This indicator is for reference only, you need your own method and strategy.
If you have any questions, please let me know in the comments.
MLExtensionsLibrary "MLExtensions"
normalizeDeriv(src, quadraticMeanLength)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src : The input series (i.e., the first-order derivative for price).
quadraticMeanLength : The length of the quadratic mean (RMS).
Returns: nDeriv The normalized derivative of the input series.
normalize(src, min, max)
Rescales a source value with an unbounded range to a target range.
Parameters:
src : The input series
min : The minimum value of the unbounded range
max : The maximum value of the unbounded range
Returns: The normalized series
rescale(src, oldMin, oldMax, newMin, newMax)
Rescales a source value with a bounded range to anther bounded range
Parameters:
src : The input series
oldMin : The minimum value of the range to rescale from
oldMax : The maximum value of the range to rescale from
newMin : The minimum value of the range to rescale to
newMax : The maximum value of the range to rescale to
Returns: The rescaled series
color_green(prediction)
Assigns varying shades of the color green based on the KNN classification
Parameters:
prediction : Value (int|float) of the prediction
Returns: color
color_red(prediction)
Assigns varying shades of the color red based on the KNN classification
Parameters:
prediction : Value of the prediction
Returns: color
tanh(src)
Returns the the hyperbolic tangent of the input series. The sigmoid-like hyperbolic tangent function is used to compress the input to a value between -1 and 1.
Parameters:
src : The input series (i.e., the normalized derivative).
Returns: tanh The hyperbolic tangent of the input series.
dualPoleFilter(src, lookback)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src : The input series (i.e., the hyperbolic tangent).
lookback : The lookback window for the smoothing.
Returns: filter The smoothed hyperbolic tangent of the input series.
tanhTransform(src, smoothingFrequency, quadraticMeanLength)
Returns the tanh transform of the input series.
Parameters:
src : The input series (i.e., the result of the tanh calculation).
smoothingFrequency
quadraticMeanLength
Returns: signal The smoothed hyperbolic tangent transform of the input series.
n_rsi(src, n1, n2)
Returns the normalized RSI ideal for use in ML algorithms.
Parameters:
src : The input series (i.e., the result of the RSI calculation).
n1 : The length of the RSI.
n2 : The smoothing length of the RSI.
Returns: signal The normalized RSI.
n_cci(src, n1, n2)
Returns the normalized CCI ideal for use in ML algorithms.
Parameters:
src : The input series (i.e., the result of the CCI calculation).
n1 : The length of the CCI.
n2 : The smoothing length of the CCI.
Returns: signal The normalized CCI.
n_wt(src, n1, n2)
Returns the normalized WaveTrend Classic series ideal for use in ML algorithms.
Parameters:
src : The input series (i.e., the result of the WaveTrend Classic calculation).
n1
n2
Returns: signal The normalized WaveTrend Classic series.
n_adx(highSrc, lowSrc, closeSrc, n1)
Returns the normalized ADX ideal for use in ML algorithms.
Parameters:
highSrc : The input series for the high price.
lowSrc : The input series for the low price.
closeSrc : The input series for the close price.
n1 : The length of the ADX.
regime_filter(src, threshold, useRegimeFilter)
Parameters:
src
threshold
useRegimeFilter
filter_adx(src, length, adxThreshold, useAdxFilter)
filter_adx
Parameters:
src : The source series.
length : The length of the ADX.
adxThreshold : The ADX threshold.
useAdxFilter : Whether to use the ADX filter.
Returns: The ADX.
filter_volatility(minLength, maxLength, useVolatilityFilter)
filter_volatility
Parameters:
minLength : The minimum length of the ATR.
maxLength : The maximum length of the ATR.
useVolatilityFilter : Whether to use the volatility filter.
Returns: Boolean indicating whether or not to let the signal pass through the filter.
backtest(high, low, open, startLongTrade, endLongTrade, startShortTrade, endShortTrade, isStopLossHit, maxBarsBackIndex, thisBarIndex)
Performs a basic backtest using the specified parameters and conditions.
Parameters:
high : The input series for the high price.
low : The input series for the low price.
open : The input series for the open price.
startLongTrade : The series of conditions that indicate the start of a long trade.`
endLongTrade : The series of conditions that indicate the end of a long trade.
startShortTrade : The series of conditions that indicate the start of a short trade.
endShortTrade : The series of conditions that indicate the end of a short trade.
isStopLossHit : The stop loss hit indicator.
maxBarsBackIndex : The maximum number of bars to go back in the backtest.
thisBarIndex : The current bar index.
Returns: A tuple containing backtest values
init_table()
init_table()
Returns: tbl The backtest results.
update_table(tbl, tradeStatsHeader, totalTrades, totalWins, totalLosses, winLossRatio, winrate, stopLosses)
update_table(tbl, tradeStats)
Parameters:
tbl : The backtest results table.
tradeStatsHeader : The trade stats header.
totalTrades : The total number of trades.
totalWins : The total number of wins.
totalLosses : The total number of losses.
winLossRatio : The win loss ratio.
winrate : The winrate.
stopLosses : The total number of stop losses.
Returns: Updated backtest results table.
SUPER MULTI MOVING AVERAGE [Gabbo]📈 Moving Average Indicator Update - Version 2
🔹 New Features and Improvements:
1️⃣ Enhanced MA Selection for Table Lines:
Previously, the indicator did not allow users to choose a different Moving Average type for the table lines. Now, you can select the MA type for the table.
2️⃣ New Table Text Customization Inputs:
Added inputs to choose the table text color and size for a more personalized display.
3️⃣ Improved Input Visibility and Organization:
We’ve reorganized the inputs so that the most commonly used options are now placed at the beginning for quicker and more convenient configuration.
4️⃣ Bug Fixes and Code Improvements:
Minor bugs have been fixed, and the code has been optimized for improved stability and performance. The code is now cleaner and fully functional in version 6.
5️⃣ Cometreon Public Library Integration:
To lighten the code and improve modularity, we’ve integrated the Cometreon public library. This makes the code more efficient and reduces the need to duplicate common functions.
☄️ With this update, the Moving Average indicator becomes even more versatile and user-friendly, offering a refined table interface and enhanced customization options!
Auto Support & Resistance With Wick Signals & Percentage GapsThis auto support and resistance indicator uses percentage deviations from the previous session close to calculate levels. It provides arrows as signals when it detects 2 wicks in the last 5 bars from a support or resistance level. Includes alerts for price crossing any level as well as real time percentage gaps from current price to the next closest support and resistance level. You also have the option to set up to 3 major levels of your own for any levels that are very important on longer timeframes that you want included. Those will show on the chart as well as within your percentage gap table with color coded background. All features can be customized or turned off to suit your preferences.
SOURCE
This indicator uses the previous session close as a source by default but can be adjusted to use the previous session high or the previous session low. I find the close setting to provide the most accurate levels.
SESSION
The default setting for the previous session used is the daily session but can be adjusted to use the daily, weekly, monthly, quarterly or yearly session. Use longer sessions when looking at longer time frame charts.
SIGNALS
The signals by default are set to only show an arrow if there have been 2 bullish or bearish wicks off of a support or resistance level in the last 5 bars. This can be changed to one bullish wick off of support and one bearish wick off of resistance or it can be set to give a signal anytime a bar crosses a support or resistance level. This can be controlled in the indicator settings.
PERCENTAGE DEVIATION LEVELS
The default percentage deviation is set to 1% but can and should be adjusted according to whatever ticker you are using. For example use .25% or .5% when looking at forex intraday charts since they are not as volatile as other markets. For leveraged etfs used 1% multiplied by the leverage on the etf, so for SQQQ use 3% as it is a 3x leveraged etf. When looking at longer timeframes or highly volatile charts, set the percentage deviation to 2%, 5%, 10%, etc.
LINE COLORS
The color of the lines will change from red to green depending on if the price is above or below that level. You can customize these colors in the settings.
MAJOR LEVELS
If you have major levels of support and resistance from longer timeframes and your own charting, you can add up to 3 major levels that will show on the chart as well as show the percentage gaps in the table. The label for each major level will be colored to match the color of the line on the chart individually.
PERCENTAGE GAP TABLE
The gap table will update live with percentages to go from current price to the next closest support and resistance levels so you don’t have to calculate them manually. The position of the percentage gap table can also be changed within the indicator settings.
TURN FEATURES ON/OFF
There are 3 toggle switches so you can easily turn on or off certain features such as: the support and resistance lines, the percentage gaps table and the arrow signals.
LINE WIDTHS
You can also set the line width of all levels and the line width of the starting level within the indicator settings.
***MARKETS***
This indicator can be used as a signal on all markets, including stocks, crypto, futures and forex.
***TIMEFRAMES***
This automatic support and resistance indicator can be used on all timeframes as long as there is enough data for the session used.
***TIPS***
Try using numerous indicators of ours on your chart so you can instantly see the bullish or bearish trend of multiple indicators in real time without having to analyze the data. Some of our favorites are our Volume Spike Scanner, Volume Profile, Momentum and Trend Friend in combination with this auto support and resistance indicator. They all have real time Bullish and Bearish labels as well so you can immediately understand each indicator's trend.
Volatility Adjusted Grid [Gann]█ OVERVIEW
Gann Square of 9 is one of the many brilliant concepts from W.D.Gann himself where it revolves around the idea that price is moving in a certain geometrical pattern. Numbers on the Square of 9 spiral tables, especially those lie in every 45degree in the chart act as key vibration levels where prices have tendency to react to (more on the table below).
There are few square of 9 related scripts here in Tradingview and while there's nothing wrong with them, it doesn't address 1 particular issue that i have: The numbers can be too rigid even when scaled based on current price because the levels are fixed, which makes them not tradable on certain timeframes depending on where the price currently sitting.
Heres 5min and 1hour Bitcoin chart to illustrate what i mean: Grey line on the left is based on Volatility Adjusted levels, while red/blue on the right are the standard Gann levels.
You can see that on 1hour chart, it provides a good levels (both Volatility Adjusted and the standard one happened to share the same multiplier in this case),
1Hour Chart:
On 5 min chart tells a different story as the range between blue/red levels can be deemed as to big for a short term trade, while the grey line is adjusted to suit that particular timeframe (You can still adjust to make it bigger/smaller from the settings, more on this below)
5Min Chart:
█ Little bit on Gann Square of 9 table
This is the square of nine table, the numbers highlighted in Red are known as Cardinal Cross and considered to be a major Support/Resistance while those in Blue color are known as Ordinal Cross considered as minor (but still important) Support/Resistance levels
Similarly, this script use these numbers (and certain multipliers) to print out the levels, with Cardinal numbers represented by solid lines and Ordinal numbers by dotted lines.
█ How it Works and Limitations
The Volatility Adjusted grid will go through several iterations of different multipliers to find the Gann number range that is at least bigger than times ATR. Because it's using ATR to determine the range, occasionally you'll notice that the line become smaller as ATR contracting (and vice versa). To overcome this, you can change the size range multiplier from the settings to retrieve the previous range size.
Use the size guide at the bottom left to find the multiplier that suits your need:
1st Row -> Previous Range -- Change Range Size to number lower than this to get a smaller range
2nd Row -> Next Range -- Change Range Size to number higher than this to get a larger range
Example:
Before:
After:
As you'll soon realise, the key here is to find the range that fits the historical structure and suits your own strategy. Enjoy :)
█ Disclaimer
Past performance is not an indicator of future results.
My opinions and research are my own and do not constitute financial advice in any way whatsoever.
Nothing published by me constitutes an investment recommendation, nor should any data or Content published by me be relied upon for any investment/trading activities.
I strongly recommends that you perform your own independent research and/or speak with a qualified investment professional before making any financial decisions.
Any ideas to further improve this indicator are welcome :)
Daily GAP StatsI did not write the script from scratch but rather started editing code of an existing one. The original code came from a script called GAP DETECTOR by @Asch-
First up: I am a trader, not a programmer and therefore my code most likely is inefficient. If someone with more expertise would like to help and optimize it - feel free to get in touch, I am always happy to learn some new tricks. :)
This script does 2 things:
- It shows daily gaps stats based on user inputs
- It shows color coded labels on gap days with additional information in tooltips ( important: make sure to read 'known issues/limitations' at the end )
User Inputs
==========
Although the input dialog is pretty straight forward, I do a quick rundown:
- Length: max lookback time
- Gap Direction: self explanatory
- Show All Gaps | Cont Only | Reversal Only | Off:
This refers to the way labels are displayed on gap days (again: make sure to read known issues/limitations!)
- Show All Gaps: does what it says
- Cont Only: only shows gaps where price continued in the gap direction. If you filter for gap ups and chose 'Cont only' you will only see labels on gap days where price closed above the open (and vice versa if you scan for gap downs).
- Reversal Only: you will only see labels for closes below the open on gap up days (and the opposite on gap down days)
- Off: self explanatory
- Gap Measure in ATR/PCT: self explanatory, ATR is calculated over a 10d period
- Gap Size (Abs Values): no negative values allowed here. If you filter for gap downs and enter 3 it means it will show gaps where the stock fell more than 3 ATR/PCT on the open.
- RVOL Factor: along with significant gaps should come significant volume. RVOL = volume of the gap day / 20d average volume
- Viewing Options: Placing the stats label in the window is a bit tricky (see knonw issues/limitations) and I was not sure which way I liked better. See for yourself what works best for you.
Known Isusses/Limitations:
=======================
- Positioning of the stats table:
As to my knowledge, Tradingview only allows label positioning relative to price and not relative to the chart window. I tried to always display the gap stats table in the upper right corner, using 52wk high as y-coordinate. This works ok most of the time, but is not pretty. If anybody has some fancy way to tag the label in a fixed position, please get in touch.
- Max number of labels per script:
TradingView has a limitation that allows a maxium of ~50 labels per script. If there are more labels, TradingView will automatically cut the oldest ones, without any notification. I have found this behaviour to be rather inconsistent - sometimes it'll dump labels even if there are a lot fewer than 50. Hopefully TradingView will drop this limitation at one point in the future.
Important: The inconsistent display of the gap day labels has NO INFLUENCE on the calculations in the gap stats table - the count and the calculations are complete and correct!
MonthlyReturnTableLibrary "MonthlyReturnTable"
TODO: The table displays monthly returns, profits, MDD, and number of trades.
get_table(mode, tablePosition, precision, textSize, marginTop, marginBottom, marginLeft, marginRight, colorHead, colorBull, colorBear, colorZero)
: get_table
Parameters:
mode (string)
tablePosition (string)
precision (int)
textSize (int)
marginTop (int)
marginBottom (int)
marginLeft (int)
marginRight (int)
colorHead (color)
colorBull (color)
colorBear (color)
colorZero (color)
Returns: : null, plot perfTable
Volume +OBV + ADXVolume + OBV + ADX Table
Optimized Buyer & Seller Volume with Trend Indications
Overview:
This indicator provides a comprehensive view of market participation and trend strength by integrating Volume, On Balance Volume (OBV) trends, and ADX (Average Directional Index) signals into a visually structured table. Designed for quick decision-making, it highlights buyer and seller dominance while comparing the selected stock with another custom symbol.
Features:
✅ Buyer & Seller Volume Analysis:
Computes buyer and seller volume percentages based on market movements.
Displays daily cumulative volume statistics to assess ongoing market participation.
✅ On Balance Volume (OBV) Trends:
Identifies positive, negative, or neutral OBV trends using an advanced smoothing mechanism.
Highlights accumulation or distribution phases with colored visual cues.
✅ ADX-Based Trend Confirmation:
Evaluates Directional Indicators (DI+ and DI-) to determine the trend direction.
Uses customizable ADX settings to filter out weak trends.
Provides uptrend, downtrend, or neutral signals based on strength conditions.
✅ Custom Symbol Comparison:
Allows users to compare two different assets (e.g., a stock vs. an index or ETF).
Displays a side-by-side comparison of volume dynamics and trend strength.
✅ User-Friendly Table Display:
Presents real-time calculations in a compact and structured table format.
Uses color-coded trend signals for easier interpretation.
Recommended Usage for Best Results:
📌 Pairing this indicator with Sri_Momentum and Sri(+) Pivot will enhance accuracy and provide better trade confirmations.
📌 Adding other major indicators like RSI, CCI, etc., will further increase the probability of winning trades.
How to Use:
Select a custom symbol for comparison.
Adjust ADX settings based on market conditions.
Analyze the table to identify buyer/seller dominance, OBV trends, and ADX trend strength.
Use the combined signals to confirm trade decisions and market direction.
Best Use Cases:
🔹 Trend Confirmation – Validate breakout or reversal signals.
🔹 Volume Strength Analysis – Assess buyer/seller participation before entering trades.
🔹 Multi-Asset Comparison – Compare the behavior of two related instruments.
This indicator is ideal for traders looking to combine volume dynamics with trend-following strategies. 🚀📈
Trend Structure Shift By BCB ElevateTrend Structure Shift by BCB Elevate
This indicator helps traders identify trend structure shifts by detecting Higher Highs (HH) and Lower Lows (LL) to determine bullish, bearish, or neutral market conditions. It provides real-time trend classification to help traders align with market direction.
How It Works:
📌 Bullish Trend: A new Higher High (HH) is detected, signaling potential uptrend continuation.
📌 Bearish Trend: A new Lower Low (LL) is detected, indicating potential downtrend continuation.
📌 Neutral: No significant trend shift is detected.
Key Features:
✅ Dynamic Trend Detection – Identifies key trend structure shifts using swing highs and lows.
✅ Customizable Settings – Adjust the swing length to fine-tune trend detection.
✅ Trend Table Display – Shows current trend as Bullish, Bearish, or Neutral in a convenient on-chart table.
✅ Table Position Selection – Choose where the trend table appears on the chart (Top/Bottom Left or Right).
✅ Works on All Markets & Timeframes – Use it for Crypto, Forex, Stocks, Commodities, and Indices.
How to Use:
1️⃣ Apply the indicator to your chart.
2️⃣ Observe the Trend Table to determine the market condition.
3️⃣ Use it with support/resistance, moving averages, or other indicators for better trade decisions.
Smart DCA Strategy (Public)INSPIRATION
While Dollar Cost Averaging (DCA) is a popular and stress-free investment approach, I noticed an opportunity for enhancement. Standard DCA involves buying consistently, regardless of market conditions, which can sometimes mean missing out on optimal investment opportunities. This led me to develop the Smart DCA Strategy – a 'set and forget' method like traditional DCA, but with an intelligent twist to boost its effectiveness.
The goal was to build something more profitable than a standard DCA strategy so it was equally important that this indicator could backtest its own results in an A/B test manner against the regular DCA strategy.
WHY IS IT SMART?
The key to this strategy is its dynamic approach: buying aggressively when the market shows signs of being oversold, and sitting on the sidelines when it's not. This approach aims to optimize entry points, enhancing the potential for better returns while maintaining the simplicity and low stress of DCA.
WHAT THIS STRATEGY IS, AND IS NOT
This is an investment style strategy. It is designed to improve upon the common standard DCA investment strategy. It is therefore NOT a day trading strategy. Feel free to experiment with various timeframes, but it was designed to be used on a daily timeframe and that's how I recommend it to be used.
You may also go months without any buy signals during bull markets, but remember that is exactly the point of the strategy - to keep your buying power on the sidelines until the markets have significantly pulled back. You need to be patient and trust in the historical backtesting you have performed.
HOW IT WORKS
The Smart DCA Strategy leverages a creative approach to using Moving Averages to identify the most opportune moments to buy. A trigger occurs when a daily candle, in its entirety including the high wick, closes below the threshold line or box plotted on the chart. The indicator is designed to facilitate both backtesting and live trading.
HOW TO USE
Settings:
The input parameters for tuning have been intentionally simplified in an effort to prevent users falling into the overfitting trap.
The main control is the Buying strictness scale setting. Setting this to a lower value will provide more buying days (less strict) while higher values mean less buying days (more strict). In my testing I've found level 9 to provide good all round results.
Validation days is a setting to prevent triggering entries until the asset has spent a given number of days (candles) in the overbought state. Increasing this makes entries stricter. I've found 0 to give the best results across most assets.
In the backtest settings you can also configure how much to buy for each day an entry triggers. Blind buy size is the amount you would buy every day in a standard DCA strategy. Smart buy size is the amount you would buy each day a Smart DCA entry is triggered.
You can also experiment with backtesting your strategy over different historical datasets by using the Start date and End date settings. The results table will not calculate for any trades outside what you've set in the date range settings.
Backtesting:
When backtesting you should use the results table on the top right to tune and optimise the results of your strategy. As with all backtests, be careful to avoid overfitting the parameters. It's better to have a setup which works well across many currencies and historical periods than a setup which is excellent on one dataset but bad on most others. This gives a much higher probability that it will be effective when you move to live trading.
The results table provides a clear visual representation as to which strategy, standard or smart, is more profitable for the given dataset. You will notice the columns are dynamically coloured red and green. Their colour changes based on which strategy is more profitable in the A/B style backtest - green wins, red loses. The key metrics to focus on are GOA (Gain on Account) and Avg Cost.
Live Trading:
After you've finished backtesting you can proceed with configuring your alerts for live trading.
But first, you need to estimate the amount you should buy on each Smart DCA entry. We can use the Total invested row in the results table to calculate this. Assuming we're looking to trade on
BTCUSD
Decide how much USD you would spend each day to buy BTC if you were using a standard DCA strategy. Lets say that is $5 per day
Enter that USD amount in the Blind buy size settings box
Check the Blind Buy column in the results table. If we set the backtest date range to the last 10 years, we would expect the amount spent on blind buys over 10 years to be $18,250 given $5 each day
Next we need to tweak the value of the Smart buy size parameter in setting to get it as close as we can to the Total Invested amount for Blind Buy
By following this approach it means we will invest roughly the same amount into our Smart DCA strategy as we would have into a standard DCA strategy over any given time period.
After you have calculated the Smart buy size, you can go ahead and set up alerts on Smart DCA buy triggers.
BOT AUTOMATION
In an effort to maintain the 'set and forget' stress-free benefits of a standard DCA strategy, I have set my personal Smart DCA Strategy up to be automated. The bot runs on AWS and I have a fully functional project for the bot on my GitHub account. Just reach out if you would like me to point you towards it. You can also hook this into any other 3rd party trade automation system of your choice using the pre-configured alerts within the indicator.
PLANNED FUTURE DEVELOPMENTS
Currently this is purely an accumulation strategy. It does not have any sell signals right now but I have ideas on how I will build upon it to incorporate an algorithm for selling. The strategy should gradually offload profits in bull markets which generates more USD which gives more buying power to rinse and repeat the same process in the next cycle only with a bigger starting capital. Watch this space!
MARKETS
Crypto:
This strategy has been specifically built to work on the crypto markets. It has been developed, backtested and tuned against crypto markets and I personally only run it on crypto markets to accumulate more of the coins I believe in for the long term. In the section below I will provide some backtest results from some of the top crypto assets.
Stocks:
I've found it is generally more profitable than a standard DCA strategy on the majority of stocks, however the results proved to be a lot more impressive on crypto. This is mainly due to the volatility and cycles found in crypto markets. The strategy makes its profits from capitalising on pullbacks in price. Good stocks on the other hand tend to move up and to the right with less significant pullbacks, therefore giving this strategy less opportunity to flourish.
Forex:
As this is an accumulation style investment strategy, I do not recommend that you use it to trade Forex.
For more info about this strategy including backtest results, please see the full description on the invite only version of this strategy named "Smart DCA Strategy"
Simple Decesion Matrix Classification Algorithm [SS]Hello everyone,
It has been a while since I posted an indicator, so thought I would share this project I did for fun.
This indicator is an attempt to develop a pseudo Random Forest classification decision matrix model for Pinescript.
This is not a full, robust Random Forest model by any stretch of the imagination, but it is a good way to showcase how decision matrices can be applied to trading and within Pinescript.
As to not market this as something it is not, I am simply calling it the "Simple Decision Matrix Classification Algorithm". However, I have stolen most of the aspects of this machine learning algo from concepts of Random Forest modelling.
How it works:
With models like Support Vector Machines (SVM), Random Forest (RF) and Gradient Boosted Machine Learning (GBM), which are commonly used in Machine Learning Classification Tasks (MLCTs), this model operates similarity to the basic concepts shared amongst those modelling types. While it is not very similar to SVM, it is very similar to RF and GBM, in that it uses a "voting" system.
What do I mean by voting system?
How most classification MLAs work is by feeding an input dataset to an algorithm. The algorithm sorts this data, categorizes it, then introduces something called a confusion matrix (essentially sorting the data in no apparently order as to prevent over-fitting and introduce "confusion" to the algorithm to ensure that it is not just following a trend).
From there, the data is called upon based on current data inputs (so say we are using RSI and Z-Score, the current RSI and Z-Score is compared against other RSI's and Z-Scores that the model has saved). The model will process this information and each "tree" or "node" will vote. Then a cumulative overall vote is casted.
How does this MLA work?
This model accepts 2 independent variables. In order to keep things simple, this model was kept as a three node model. This means that there are 3 separate votes that go in to get the result. A vote is casted for each of the two independent variables and then a cumulative vote is casted for the overall verdict (the result of the model's prediction).
The model actually displays this system diagrammatically and it will likely be easier to understand if we look at the diagram to ground the example:
In the diagram, at the very top we have the classification variable that we are trying to predict. In this case, we are trying to predict whether there will be a breakout/breakdown outside of the normal ATR range (this is either yes or no question, hence a classification task).
So the question forms the basis of the input. The model will track at which points the ATR range is exceeded to the upside or downside, as well as the other variables that we wish to use to predict these exceedences. The ATR range forms the basis of all the data flowing into the model.
Then, at the second level, you will see we are using Z-Score and RSI to predict these breaks. The circle will change colour according to "feature importance". Feature importance basically just means that the indicator has a strong impact on the outcome. The stronger the importance, the more green it will be, the weaker, the more red it will be.
We can see both RSI and Z-Score are green and thus we can say they are strong options for predicting a breakout/breakdown.
So then we move down to the actual voting mechanisms. You will see the 2 pink boxes. These are the first lines of voting. What is happening here is the model is identifying the instances that are most similar and whether the classification task we have assigned (remember out ATR exceedance classifier) was either true or false based on RSI and Z-Score.
These are our 2 nodes. They both cast an individual vote. You will see in this case, both cast a vote of 1. The options are either 1 or 0. A vote of 1 means "Yes" or "Breakout likely".
However, this is not the only voting the model does. The model does one final vote based on the 2 votes. This is shown in the purple box. We can see the final vote and result at the end with the orange circle. It is 1 which means a range exceedance is anticipated and the most likely outcome.
The Data Table Component
The model has many moving parts. I have tried to represent the pivotal functions diagrammatically, but some other important aspects and background information must be obtained from the companion data table.
If we bring back our diagram from above:
We can see the data table to the left.
The data table contains 2 sections, one for each independent variable. In this case, our independent variables are RSI and Z-Score.
The data table will provide you with specifics about the independent variables, as well as about the model accuracy and outcome.
If we take a look at the first row, it simply indicates which independent variable it is looking at. If we go down to the next row where it reads "Weighted Impact", we can see a corresponding percent. The "weighted impact" is the amount of representation each independent variable has within the voting scheme. So in this case, we can see its pretty equal, 45% and 55%, This tells us that there is a slight higher representation of z-score than RSI but nothing to worry about.
If there was a major over-respresentation of greater than 30 or 40%, then the model would risk being skewed and voting too heavily in favour of 1 variable over the other.
If we move down from there we will see the next row reads "independent accuracy". The voting of each independent variable's accuracy is considered separately. This is one way we can determine feature importance, by seeing how well one feature augments the accuracy. In this case, we can see that RSI has the greatest importance, with an accuracy of around 87% at predicting breakouts. That makes sense as RSI is a momentum based oscillator.
Then if we move down one more, we will see what each independent feature (node) has voted for. In this case, both RSI and Z-Score voted for 1 (Breakout in our case).
You can weigh these in collaboration, but its always important to look at the final verdict of the model, which if we move down, we can see the "Model prediction" which is "Bullish".
If you are using the ATR breakout, the model cannot distinguish between "Bullish" or "Bearish", must that a "Breakout" is likely, either bearish or bullish. However, for the other classification tasks this model can do, the results are either Bullish or Bearish.
Using the Function:
Okay so now that all that technical stuff is out of the way, let's get into using the function. First of all this function innately provides you with 3 possible classification tasks. These include:
1. Predicting Red or Green Candle
2. Predicting Bullish / Bearish ATR
3. Predicting a Breakout from the ATR range
The possible independent variables include:
1. Stochastics,
2. MFI,
3. RSI,
4. Z-Score,
5. EMAs,
6. SMAs,
7. Volume
The model can only accept 2 independent variables, to operate within the computation time limits for pine execution.
Let's quickly go over what the numbers in the diagram mean:
The numbers being pointed at with the yellow arrows represent the cases the model is sorting and voting on. These are the most identical cases and are serving as the voting foundation for the model.
The numbers being pointed at with the pink candle is the voting results.
Extrapolating the functions (For Pine Developers:
So this is more of a feature application, so feel free to customize it to your liking and add additional inputs. But here are some key important considerations if you wish to apply this within your own code:
1. This is a BINARY classification task. The prediction must either be 0 or 1.
2. The function consists of 3 separate functions, the 2 first functions serve to build the confusion matrix and then the final "random_forest" function serves to perform the computations. You will need all 3 functions for implementation.
3. The model can only accept 2 independent variables.
I believe that is the function. Hopefully this wasn't too confusing, it is very statsy, but its a fun function for me! I use Random Forest excessively in R and always like to try to convert R things to Pinescript.
Hope you enjoy!
Safe trades everyone!
Portfolio SnapShot v0.3Here is a Tradingview Pinescript that I call "Portfolio Snapshot". It is based on two other separate scripts that I combined, modified and simplified - shoutout to RedKTrader (Portfolio Tracker - Table Version) and FriendOfTheTrend (Portfolio Tracker For Stocks & Crypto) for their inspiration and code. I was using both of these scripts, and decided to combine the two and increase the number of stocks to 20. I was looking for an easy way to track my entire portfolio (scattered across 5 accounts) PnL on a total and stock basis. PnL - that's it, very simple by design. The features are:
1) Track PnL across multiple accounts, from inception and current day.
2) PnL is reported in two tables, at the portfolio level and individual stock level
3) Both tables can be turned on/off and placed anywhere on the chart.
4) Input up to 20 assets (stocks, crypto, ETFs)
The user has to manually calculate total shares and average basis for stocks in multiple accounts, and then inputs this in the user input dialog. I update mine as each trade is made, or you can just update once a week or so.
I've pre-loaded it with the major indices and sector ETFs, plus URA, GLD, SLV. 100 shares of each, and prices are based on the close Jan 2 2024. So if you don't want to track your portfolio, you can use it to track other things you find interesting, such as annual performance of each sector.
MTF SqzMom [tradeviZion]Credits:
John Carter for creating the TTM Squeeze and TTM Squeeze Pro.
Lazybear for the original interpretation of the TTM Squeeze: Squeeze Momentum Indicator.
Makit0 for evolving Lazybear's script by incorporating TTM Squeeze Pro upgrades – Squeeze PRO Arrows.
MTF SqzMom - Multi-Timeframe Squeeze & Momentum Tool
MTF SqzMom is a tool designed to help traders easily monitor squeeze and momentum signals across multiple timeframes in a simple, organized format. Built using Pine Script 5, it ensures that data remains consistent, even when switching between different time intervals on the chart.
Key Features:
Multi-Timeframe Monitoring: Track squeeze and momentum signals across various timeframes, all in one view. This includes key timeframes like 1-minute, 5-minute, hourly, and daily.
Dynamic Table Display: A color-coded table that automatically adjusts based on the selected timeframes, offering a clear view of market conditions.
Alerts for Key Market Events: Get notifications when a squeeze starts or fires across your chosen timeframes, so you can stay informed without needing to monitor the chart continuously.
Customizable Appearance: Tailor the look of the table by selecting colors for squeeze levels and momentum shifts, and choose the best position on your chart for easy access.
How It Works:
MTF SqzMom is based on the concept of the squeeze, which signals periods of lower volatility where price breakouts may occur. The tool tracks this by monitoring the contraction of Bollinger Bands within Keltner Channels. Along with this, it provides momentum analysis to help you gauge the potential direction of the market after a squeeze.
Squeeze Conditions: The script tracks four levels of squeeze conditions (no squeeze, low, mid, and high), each represented by a different color in the table.
Momentum Analysis: Momentum is visually represented by colors indicating four stages: up increasing, up decreasing, down increasing, and down decreasing. This color coding helps you quickly assess whether the market is gaining or losing momentum.
Using Alerts:
You can enable two types of alerts: when a squeeze starts (indicating consolidation) and when a squeeze fires (indicating a breakout). These alerts cover all timeframes you’ve selected, so you never miss important signals.
How to Set It Up:
1. Enable Alerts in Settings: Turn on "Alert for Squeeze Start" and "Alert for Squeeze Fire" in the settings.
2. Add Alerts to Your Chart:
Click the three dots next to the indicator name.
Select "Add alert on tradeviZion - MTF SqzMom."
3. Customize and Save: Adjust alert options, choose your notification type, and click "Create."
Why Use MTF SqzMom ?
Consistent Data: The tool ensures that squeeze and momentum data remain consistent, even when you switch between chart intervals.
Real-Time Alerts: Stay updated with alerts for squeeze conditions without needing to constantly watch the chart.
Simple to Use, Customizable to Fit: You can easily adjust the table’s look and choose the timeframes and colors that best suit your trading style.
Acknowledgment:
While this tool builds on the TTM Squeeze concept developed by John Carter of Simpler Trading, it offers added flexibility through multi-timeframe analysis, alerts, and customizability to make monitoring market conditions more accessible.
Portfolio Index Generator [By MUQWISHI]▋ INTRODUCTION:
The “Portfolio Index Generator” simplifies the process of building a custom portfolio management index, allowing investors to input a list of preferred holdings from global securities and customize the initial investment weight of each security. Furthermore, it includes an option for rebalancing by adjusting the weights of assets to maintain a desired level of asset allocation. The tool serves as a comprehensive approach for tracking portfolio performance, conducting research, and analyzing specific aspects of portfolio investment. The output includes an index value, a table of holdings, and chart plotting, providing a deeper understanding of the portfolio's historical movement.
_______________________
▋ OVERVIEW:
The image can be taken as an example of building a custom portfolio index. I created this index and named it “My Portfolio Performance”, which comprises several global companies and crypto assets.
_______________________
▋ OUTPUTS:
The output can be divided into 4 sections:
1. Portfolio Index Title (Name & Value).
2. Portfolio Specifications.
3. Portfolio Holdings.
4. Portfolio Index Chart.
1. Portfolio Index Title, displays the index name at the top, and at the bottom, it shows the index value, along with the chart timeframe, e.g., daily change in points and percentage.
2. Portfolio Specifications, displays the essential information on portfolio performance, including the investment date range, initial capital, returns, assets, and equity.
3. Portfolio Holdings, a list of the holding securities inside a table that contains the ticker, average entry price, last price, return percentage of the portfolio's initial capital, and customized weighted percentage of the portfolio. 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.
4. Index Chart, display a plot of the historical movement of the index in the form of a bar, candle, or line chart.
_______________________
▋ INDICATOR SETTINGS:
Section(1): Style Settings
(1) Naming the index.
(2) Table location on the chart and cell size.
(3) Sorting Holdings Table. By securities’ {Return(%) Portfolio, Weight(%) Portfolio, or Ticker Alphabetical} order.
(4) Choose the type of index: {Equity or Return (%)}, and the plot type for the index: {Candle, Bar, or Line}.
(5) Positive/Negative colors.
(6) Table Colors (Title, Cell, and Text).
(7) To show/hide any indicator’s components.
Section(2): Performance Settings
(1) Calculation window period: from DateTime to DateTime.
(2) Initial Capital and specifying currency.
(3) Option to enable portfolio rebalancing in {Monthly, Quarterly, or Yearly} intervals.
Section(3): Portfolio Holdings
(1) Enable and count security in the investment portfolio.
(2) Initial weight of security. For example, if the initial capital is $100,000 and the weight of XYZ stock is 4%, the initial value of the shares would be $4,000.
(3) Select and add up to 30 symbols that interested in.
Please let me know if you have any questions.
Day/Week/Month Metrics (Zeiierman)█ Overview
The Day/Week/Month Metrics (Zeiierman) indicator is a powerful tool for traders looking to incorporate historical performance into their trading strategy. It computes statistical metrics related to the performance of a trading instrument on different time scales: daily, weekly, and monthly. Breaking down the performance into daily, weekly, and monthly metrics provides a granular view of the instrument's behavior.
The indicator requires the chart to be set on a daily timeframe.
█ Key Statistics
⚪ Day in month
The performance of financial markets can show variability across different days within a month. This phenomenon, often referred to as the "monthly effect" or "turn-of-the-month effect," suggests that certain days of the month, especially the first and last days, tend to exhibit higher than average returns in many stock markets around the world. This effect is attributed to various factors including payroll contributions, investment of monthly dividends, and psychological factors among traders and investors.
⚪ Edge
The Edge calculation identifies days within a month that consistently outperform the average monthly trading performance. It provides a statistical advantage by quantifying how often trading on these specific days yields better returns than the overall monthly average. This insight helps traders understand not just when returns might be higher, but also how reliable these patterns are over time. By focusing on days with a higher "Edge," traders can potentially increase their chances of success by aligning their strategies with historically more profitable days.
⚪ Month
Historically, the stock market has exhibited seasonal trends, with certain months showing distinct patterns of performance. One of the most well-documented patterns is the "Sell in May and go away" phenomenon, suggesting that the period from November to April has historically brought significantly stronger gains in many major stock indices compared to the period from May to October. This pattern highlights the potential impact of seasonal investor sentiment and activities on market performance.
⚪ Day in week
Various studies have identified the "day-of-the-week effect," where certain days of the week, particularly Monday and Friday, show different average returns compared to other weekdays. Historically, Mondays have been associated with lower or negative average returns in many markets, a phenomenon often linked to the settlement of trades from the previous week and negative news accumulation over the weekend. Fridays, on the other hand, might exhibit positive bias as investors adjust positions ahead of the weekend.
⚪ Week in month
The performance of markets can also vary within different weeks of the month, with some studies suggesting a "week of the month effect." Typically, the first and the last week of the month may show stronger performance compared to the middle weeks. This pattern can be influenced by factors such as the timing of economic reports, monthly investment flows, and options and futures expiration dates which tend to cluster around these periods, affecting investor behavior and market liquidity.
█ How It Works
⚪ Day in Month
For each day of the month (1-31), the script calculates the average percentage change between the opening and closing prices of a trading instrument. This metric helps identify which days have historically been more volatile or profitable.
It uses arrays to store the sum of percentage changes for each day and the total occurrences of each day to calculate the average percentage change.
⚪ Month
The script calculates the overall gain for each month (January-December) by comparing the closing price at the start of a month to the closing price at the end, expressed as a percentage. This metric offers insights into which months might offer better trading opportunities based on historical performance.
Monthly gains are tracked using arrays that store the sum of these gains for each month and the count of occurrences to calculate the average monthly gain.
⚪ Day in Week
Similar to the day in the month analysis, the script evaluates the average percentage change between the opening and closing prices for each day of the week (Monday-Sunday). This information can be used to assess which days of the week are typically more favorable for trading.
The script uses arrays to accumulate percentage changes and occurrences for each weekday, allowing for the calculation of average changes per day of the week.
⚪ Week in Month
The script assesses the performance of each week within a month, identifying the gain from the start to the end of each week, expressed as a percentage. This can help traders understand which weeks within a month may have historically presented better trading conditions.
It employs arrays to track the weekly gains and the number of weeks, using a counter to identify which week of the month it is (1-4), allowing for the calculation of average weekly gains.
█ How to Use
Traders can use this indicator to identify patterns or trends in the instrument's performance. For example, if a particular day of the week consistently shows a higher percentage of bullish closes, a trader might consider this in their strategy. Similarly, if certain months show stronger performance historically, this information could influence trading decisions.
Identifying High-Performance Days and Periods
Day in Month & Day in Week Analysis: By examining the average percentage change for each day of the month and week, traders can identify specific days that historically have shown higher volatility or profitability. This allows for targeted trading strategies, focusing on these high-performance days to maximize potential gains.
Month Analysis: Understanding which months have historically provided better returns enables traders to adjust their trading intensity or capital allocation in anticipation of seasonally stronger or weaker periods.
Week in Month Analysis: Identifying which weeks within a month have historically been more profitable can help traders plan their trades around these periods, potentially increasing their chances of success.
█ Settings
Enable or disable the types of statistics you want to display in the table.
Table Size: Users can select the size of the table displayed on the chart, ranging from "Tiny" to "Auto," which adjusts based on screen size.
Table Position: Users can choose the location of the table on the chart
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
MACD_TRIGGER_CROSS_TRIANGLEMACD Triangle Trigger Indicator by thebearfib
Overview
The MACD Cross Triangle Indicator is a powerful tool for traders who rely on the MACD's signal line crossovers to make informed trading decisions. This indicator enhances the traditional MACD by allowing users to customize triggers for bullish and bearish signals and by displaying these signals directly on the chart with visually distinctive labels.
Features
Customizable Color Scheme: Choose distinct colors for bullish and bearish signals to fit your chart's theme or your personal preference.
Flexible Trigger Conditions: Select from a variety of trigger conditions based on MACD and signal line behaviors over a specified number of bars back.
Visual Signal Indicators: Bullish and bearish signals are marked with upward and downward triangles, making it easy to spot potential entry or exit points.
Detailed Trigger Descriptions: A comprehensive table lists all available triggers and their descriptions, aiding in selection and understanding of each trigger's mechanism.
Configuration Options
Bullish and Bearish Colors: Customize the color of the labels for bullish (upward) and bearish (downward) signals.
Trend Lookback Period: Choose how far back (in bars) the indicator should look to determine the trend, affecting the calculation of certain triggers.
Trigger Selection for Bullish and Bearish Signals: Pick specific triggers for both bullish and bearish conditions from a list of 10 different criteria, ranging from MACD crossovers to historical comparisons of MACD, signal line, and histogram values.
Label Size and Font Settings: Adjust the size of the signal labels on the chart and the font size of the trigger descriptions table to ensure readability and fit with your chart layout.
Trigger Descriptions Table Position and Color: Customize the position and color of the trigger descriptions table to match your chart's aesthetic and layout preferences.
Trigger Mechanisms
Trigger 1 to 10: Each trigger corresponds to a specific condition involving the MACD line, signal line, and histogram. These include crossovers, directional changes compared to previous bars, and comparisons of current values to historical values.
Usage
1. Select Trigger Conditions: Choose the desired triggers for bullish and bearish signals based on your trading strategy.
2. Customize Visuals: Set your preferred colors for the bullish and bearish labels, adjust label and font sizes, and configure the trigger descriptions table.
3. Analyze Signals: Watch for the upward (bullish) and downward (bearish) triangles to identify potential trading opportunities based on MACD crossover signals.
Conclusion
The MACD Cross Triangle Indicator offers a customizable and visually intuitive way to leverage MACD crossover signals for trading. With its flexible settings and clear signal indicators, traders can tailor the indicator to fit their strategy and improve their decision-making process on TradingView.
3x MTF MACD v3.0MACD's on 3 different Time Frames
Indicator Information
- Each Time Frame shows start of Trend and end of trend of the MACD vs the Signal Cross
- They are labled 1,2,3 with respective up or down triangle for possible direction.
User Inputs
- configure the indicator by specifying various inputs. These inputs include colors for bullish
and bearish conditions, the time frame to use, whether to show a Simple Moving Average
(SMA) line, and other parameters.
- Users can choose time frames for analysis (like 30 minutes, 1 hour, etc.)
but they must be in mintues.
- The code also allows users to customize how the indicator looks on the chart by providing
options for position and color.
Main Calculations
- The script calculates the Simple Moving Average (SMA) based on the user-defined time
frame.
- It then determines the color of the plot (line) based on certain conditions, such as whether
the SMA is rising or falling. These conditions help users quickly identify market trends.
Label Creation
- The code creates labels that can be displayed on the chart.
These labels indicate whether there's a bullish or bearish signal.
Level Detection
- The script determines and labels key levels or points of interest in the chart based on
certain conditions.
- It can show labels like "①" and "▲" for bullish conditions and "▼" for bearish conditions.
Table Display
- There's an option to show a table on the chart that displays information about the MACD
indicator Chosen and the NUmber Bubble assocated with that time frame
- The table can include information like which time frame is being analyzed, whether the SMA
line is shown, and other relevant data.
Plotting on the Chart
- The script plots the Simple Moving Average (SMA) on the chart. The color of this line
changes based on the calculated trend conditions.
ATR (Average True Range)
- The script also plots the Average True Range (ATR) on the chart. ATR is used to measure
market volatility.
"In essence, this script is a highly customizable MACD and SMA indicator for traders. It assists traders in comprehending market trends, offering insights into different MACD cycles concerning various timeframes.
Users can configure it to match their trading strategies, and it presents information in a user-friendly manner with colors, labels, and tables.
This simplifies market analysis, allowing traders to make more informed decisions without the distraction of multiple indicators."
Quadratic & Linear Time Series Regression [SS]Hey everyone,
Releasing the Quadratic/Linear Time Series regression indicator.
About the indicator:
Most of you will be familiar with the conventional linear regression trend boxes (see below):
This is an awesome feature in Tradingview and there are quite a few indicators that follow this same principle.
However, because of the exponential and cyclical nature of stocks, linear regression tends to not be the best fit for stock time series data. From my experience, stocks tend to fit better with quadratic (or curvlinear) regression, which there really isn't a lot of resources for.
To put it into perspective, let's take SPX on the 1 month timeframe and plot a linear regression trend from 1930 till now:
You can see that its not really a great fit because of the exponential growth that SPX has endured since the 1930s. However, if we take a quadratic approach to the time series data, this is what we get:
This is a quadratic time series version, extended by up to 3 standard deviations. You can see that it is a bit more fitting.
Quadratic regression can also be helpful for looking at cycle patterns. For example, if we wanted to plot out how the S&P has performed from its COVID crash till now, this is how it would look using a linear regression approach:
But this is how it would look using the quadratic approach:
So which is better?
Both linear regression and quadratic regression are pivotal and important tools for traders. Sometimes, linear regression is more appropriate and others quadratic regression is more appropriate.
In general, if you are long dating your analysis and you want to see the trajectory of a ticker further back (over the course of say, 10 or 15 years), quadratic regression is likely going to be better for most stocks.
If you are looking for short term trades and short term trend assessments, linear regression is going to be the most appropriate.
The indicator will do both and it will fit the linear regression model to the data, which is different from other linreg indicators. Most will only find the start of the strongest trend and draw from there, this will fit the model to whatever period of time you wish, it just may not be that significant.
But, to keep it easy, the indicator will actually tell you which model will work better for the data you are selecting. You can see it in the example in the main chart, and here:
Here we see that the indicator indicates a better fit on the quadratic model.
And SPY during its recent uptrend:
For that, let's take a look at the Quadratic Vs the Linear, to see how they compare:
Quadratic:
Linear:
Functions:
You will see that you have 2 optional tables. The statistics table which shows you:
The R Squared to assess for Variance.
The Correlation to assess for the strength of the trend.
The Confidence interval which is set at a default of 1.96 but can be toggled to adjust for the confidence reading in the settings menu. (The confidence interval gives us a range of values that is likely to contain the true value of the coefficient with a certain level of confidence).
The strongest relationship (quadratic or linear).
Then there is the range table, which shows you the anticipated price ranges based on the distance in standard deviations from the mean.
The range table will also display to you how often a ticker has spent in each corresponding range, whether that be within the anticipated range, within 1 SD, 2 SD or 3 SD.
You can select up to 3 additional standard deviations to plot on the chart and you can manually select the 3 standard deviations you want to plot. Whether that be 1, 2, 3, or 1.5, 2.5 or 3.5, or any combination, you just enter the standard deviations in the settings menu and the indicator will adjust the price targets and plotted bands according to your preferences. It will also count the amount of time the ticker spent in that range based on your own selected standard deviation inputs.
Tips on Use:
This works best on the larger timeframes (1 hour and up), with RTH enabled.
The max lookback is 5,000 candles.
If you want to ascertain a longer term trend (over years to months), its best to adjust your chart timeframe to the weekly and/or monthly perspective.
And that's the indicator! Hopefully you all find it helpful.
Let me know your questions and suggestions below!
Safe trades to all!