Wyckoff Event Detection [Alpha Extract]Wyckoff Event Detection
A powerful and intelligent indicator designed to detect key Wyckoff events in real time, helping traders analyze market structure and anticipate potential trend shifts. Using volume and price action, this script automatically identifies distribution and accumulation phases, providing traders with valuable insights into market behavior.
🔶 Phase-Based Detection
Utilizes a phase detection algorithm that evaluates price and volume conditions to identify accumulation (bullish) and distribution (bearish) events. This method ensures the script effectively captures major market turning points and avoids noise.
🔶 Multi-Factor Event Recognition
Incorporates multiple event conditions, including upthrusts, selling climaxes, and springs, to detect high-probability entry and exit points. Each event is filtered through customizable sensitivity settings, ensuring precise detection aligned with different trading styles.
🔶 Customizable Parameters
Fine-tune event detection with adjustable thresholds for volume, price movement, trend strength, and event spacing. These inputs allow traders to personalize the script to match their strategy and risk tolerance.
// === USER INPUTS ===
i_volLen = input.int(20, "Volume MA Length", minval=1)
i_priceLookback = input.int(20, "Price Pattern Lookback", minval=5)
i_lineLength = input.int(15, "Line Length", minval=5)
i_labelSpacing = input.int(5, "Minimum Label Spacing (bars)", minval=1, maxval=20)
❓How It Works
🔶 Event Identification
The script scans for key Wyckoff events by analyzing volume spikes, price deviations, and trend shifts within a user-defined lookback period. It categorizes events into bullish (accumulation) or bearish (distribution) structures and plots them directly on the chart.
// === EVENT DETECTION ===
volMA = ta.sma(volume, i_volLen)
highestHigh = ta.highest(high, i_priceLookback)
lowestLow = ta.lowest(low, i_priceLookback)
🔶 Automatic Filtering & Cleanup
Unconfirmed or weak signals are filtered out using customizable strength multipliers and volume thresholds. Events that do not meet the minimum conditions are discarded to keep the chart clean and informative.
🔶 Phase Strength Analysis
The script continuously tracks bullish and bearish event counts to determine whether the market is currently in an accumulation, distribution, or neutral phase. This allows traders to align their strategies accordingly.
🔶 Visual Alerts & Labels
Detects and labels key Wyckoff events directly on the chart, providing immediate insights into market conditions:
- PSY (Preliminary Supply) and UT (Upthrust) for distribution phases.
- PS (Preliminary Support) and SC (Selling Climax) for accumulation phases.
- Labels adjust dynamically to avoid chart clutter and improve readability.
🔶 Entry & Exit Optimization
By highlighting supply and demand imbalances, the script assists traders in identifying optimal entry and exit points. Wyckoff concepts such as springs and upthrusts provide clear trade signals based on market structure.
🔶 Trend Confirmation & Risk Management
Observing how price reacts to detected events helps confirm trend direction and potential reversals. Traders can place stop-loss and take-profit levels based on Wyckoff phase analysis, ensuring strategic trade execution.
🔶 Table-Based Market Analysis (Table)
A built-in table summarizes:
- Market Phase: Accumulation, Distribution, or Neutral.
- Strength of Phase: Weak, Moderate, or Strong.
- Price Positioning: Whether price is near support, resistance, or in a trading range.
- Supply/Demand State: Identifies whether the market is supply or demand dominant.
🔶 Why Choose Wyckoff Market Phases - Alpha Extract?
This indicator offers a systematic approach to understanding market mechanics through the lens of Wyckoff's time-tested principles. By providing clear and actionable insights into market phases, it empowers traders to make informed decisions, enhancing both confidence and performance in various trading environments.
Distribution
Accurate Bollinger Bands mcbw_ [True Volatility Distribution]The Bollinger Bands have become a very important technical tool for discretionary and algorithmic traders alike over the last decades. It was designed to give traders an edge on the markets by setting probabilistic values to different levels of volatility. However, some of the assumptions that go into its calculations make it unusable for traders who want to get a correct understanding of the volatility that the bands are trying to be used for. Let's go through what the Bollinger Bands are said to show, how their calculations work, the problems in the calculations, and how the current indicator I am presenting today fixes these.
--> If you just want to know how the settings work then skip straight to the end or click on the little (i) symbol next to the values in the indicator settings window when its on your chart <--
--------------------------- What Are Bollinger Bands ---------------------------
The Bollinger Bands were formed in the 1980's, a time when many retail traders interacted with their symbols via physically printed charts and computer memory for personal computer memory was measured in Kb (about a factor of 1 million smaller than today). Bollinger Bands are designed to help a trader or algorithm see the likelihood of price expanding outside of its typical range, the further the lines are from the current price implies the less often they will get hit. With a hands on understanding many strategies use these levels for designated levels of breakout trades or to assist in defining price ranges.
--------------------------- How Bollinger Bands Work ---------------------------
The calculations that go into Bollinger Bands are rather simple. There is a moving average that centers the indicator and an equidistant top band and bottom band are drawn at a fixed width away. The moving average is just a typical moving average (or common variant) that tracks the price action, while the distance to the top and bottom bands is a direct function of recent price volatility. The way that the distance to the bands is calculated is inspired by formulas from statistics. The standard deviation is taken from the candles that go into the moving average and then this is multiplied by a user defined value to set the bands position, I will call this value 'the multiple'. When discussing Bollinger Bands, that trading community at large normally discusses 'the multiple' as a multiplier of the standard deviation as it applies to a normal distribution (gaußian probability). On a normal distribution the number of standard deviations away (which trades directly use as 'the multiple') you are directly corresponds to how likely/unlikely something is to happen:
1 standard deviation equals 68.3%, meaning that the price should stay inside the 1 standard deviation 68.3% of the time and be outside of it 31.7% of the time;
2 standard deviation equals 95.5%, meaning that the price should stay inside the 2 standard deviation 95.5% of the time and be outside of it 4.5% of the time;
3 standard deviation equals 99.7%, meaning that the price should stay inside the 3 standard deviation 99.7% of the time and be outside of it 0.3% of the time.
Therefore when traders set 'the multiple' to 2, they interpret this as meaning that price will not reach there 95.5% of the time.
---------------- The Problem With The Math of Bollinger Bands ----------------
In and of themselves the Bollinger Bands are a great tool, but they have become misconstrued with some incorrect sense of statistical meaning, when they should really just be taken at face value without any further interpretation or implication.
In order to explain this it is going to get a bit technical so I will give a little math background and try to simplify things. First let's review some statistics topics (distributions, percentiles, standard deviations) and then with that understanding explore the incorrect logic of how Bollinger Bands have been interpreted/employed.
---------------- Quick Stats Review ----------------
.
(If you are comfortable with statistics feel free to skip ahead to the next section)
.
-------- I: Probability distributions --------
When you have a lot of data it is helpful to see how many times different results appear in your dataset. To visualize this people use "histograms", which just shows how many times each element appears in the dataset by stacking each of the same elements on top of each other to form a graph. You may be familiar with the bell curve (also called the "normal distribution", which we will be calling it by). The normal distribution histogram looks like a big hump around zero and then drops off super quickly the further you get from it. This shape (the bell curve) is very nice because it has a lot of very nifty mathematical properties and seems to show up in nature all the time. Since it pops up in so many places, society has developed many different shortcuts related to it that speed up all kinds of calculations, including the shortcut that 1 standard deviation = 68.3%, 2 standard deviations = 95.5%, and 3 standard deviations = 99.7% (these only apply to the normal distribution). Despite how handy the normal distribution is and all the shortcuts we have for it are, and how much it shows up in the natural world, there is nothing that forces your specific dataset to look like it. In fact, your data can actually have any possible shape. As we will explore later, economic and financial datasets *rarely* follow the normal distribution.
-------- II: Percentiles --------
After you have made the histogram of your dataset you have built the "probability distribution" of your own dataset that is specific to all the data you have collected. There is a whole complicated framework for how to accurately calculate percentiles but we will dramatically simplify it for our use. The 'percentile' in our case is just the number of data points we are away from the "middle" of the data set (normally just 0). Lets say I took the difference of the daily close of a symbol for the last two weeks, green candles would be positive and red would be negative. In this example my dataset of day by day closing price difference is:
week 1:
week 2:
sorting all of these value into a single dataset I have:
I can separate the positive and negative returns and explore their distributions separately:
negative return distribution =
positive return distribution =
Taking the 25th% percentile of these would just be taking the value that is 25% towards the end of the end of these returns. Or akin the 100%th percentile would just be taking the vale that is 100% at the end of those:
negative return distribution (50%) = -5
positive return distribution (50%) = +4
negative return distribution (100%) = -10
positive return distribution (100%) = +20
Or instead of separating the positive and negative returns we can also look at all of the differences in the daily close as just pure price movement and not account for the direction, in this case we would pool all of the data together by ignoring the negative signs of the negative reruns
combined return distribution =
In this case the 50%th and 100%th percentile of the combined return distribution would be:
combined return distribution (50%) = 4
combined return distribution (100%) = 10
Sometimes taking the positive and negative distributions separately is better than pooling them into a combined distribution for some purposes. Other times the combined distribution is better.
Most financial data has very different distributions for negative returns and positive returns. This is encapsulated in sayings like "Price takes the stairs up and the elevator down".
-------- III: Standard Deviation --------
The formula for the standard deviation (refereed to here by its shorthand 'STDEV') can be intimidating, but going through each of its elements will illuminate what it does. The formula for STDEV is equal to:
square root ( (sum ) / N )
Going back the the dataset that you might have, the variables in the formula above are:
'mean' is the average of your entire dataset
'x' is just representative of a single point in your dataset (one point at a time)
'N' is the total number of things in your dataset.
Going back to the STDEV formula above we can see how each part of it works. Starting with the '(x - mean)' part. What this does is it takes every single point of the dataset and measure how far away it is from the mean of the entire dataset. Taking this value to the power of two: '(x - mean) ^ 2', means that points that are very far away from the dataset mean get 'penalized' twice as much. Points that are very close to the dataset mean are not impacted as much. In practice, this would mean that if your dataset had a bunch of values that were in a wide range but always stayed in that range, this value ('(x - mean) ^ 2') would end up being small. On the other hand, if your dataset was full of the exact same number, but had a couple outliers very far away, this would have a much larger value since the square par of '(x - mean) ^ 2' make them grow massive. Now including the sum part of 'sum ', this just adds up all the of the squared distanced from the dataset mean. Then this is divided by the number of values in the dataset ('N'), and then the square root of that value is taken.
There is nothing inherently special or definitive about the STDEV formula, it is just a tool with extremely widespread use and adoption. As we saw here, all the STDEV formula is really doing is measuring the intensity of the outliers.
--------------------------- Flaws of Bollinger Bands ---------------------------
The largest problem with Bollinger Bands is the assumption that price has a normal distribution. This is assumption is massively incorrect for many reasons that I will try to encapsulate into two points:
Price return do not follow a normal distribution, every single symbol on every single timeframe has is own unique distribution that is specific to only itself. Therefore all the tools, shortcuts, and ideas that we use for normal distributions do not apply to price returns, and since they do not apply here they should not be used. A more general approach is needed that allows each specific symbol on every specific timeframe to be treated uniquely.
The distributions of price returns on the positive and negative side are almost never the same. A more general approach is needed that allows positive and negative returns to be calculated separately.
In addition to the issues of the normal distribution assumption, the standard deviation formula (as shown above in the quick stats review) is essentially just a tame measurement of outliers (a more aggressive form of outlier measurement might be taking the differences to the power of 3 rather than 2). Despite this being a bit of a philosophical question, does the measurement of outlier intensity as defined by the STDEV formula really measure what we want to know as traders when we're experiencing volatility? Or would adjustments to that formula better reflect what we *experience* as volatility when we are actively trading? This is an open ended question that I will leave here, but I wanted to pose this question because it is a key part of what how the Bollinger Bands work that we all assume as a given.
Circling back on the normal distribution assumption, the standard deviation formula used in the calculation of the bands only encompasses the deviation of the candles that go into the moving average and have no knowledge of the historical price action. Therefore the level of the bands may not really reflect how the price action behaves over a longer period of time.
------------ Delivering Factually Accurate Data That Traders Need------------
In light of the problems identified above, this indicator fixes all of these issue and delivers statistically correct information that discretionary and algorithmic traders can use, with truly accurate probabilities. It takes the price action of the last 2,000 candles and builds a huge dataset of distributions that you can directly select your percentiles from. It also allows you to have the positive and negative distributions calculated separately, or if you would like, you can pool all of them together in a combined distribution. In addition to this, there is a wide selection of moving averages directly available in the indicator to choose from.
Hedge funds, quant shops, algo prop firms, and advanced mechanical groups all employ the true return distributions in their work. Now you have access to the same type of data with this indicator, wherein it's doing all the lifting for you.
------------------------------ Indicator Settings ------------------------------
.
---- Moving average ----
Select the type of moving average you would like and its length
---- Bands ----
The percentiles that you enter here will be pulled directly from the return distribution of the last 2,000 candles. With the typical Bollinger Bands, traders would select 2 standard deviations and incorrectly think that the levels it highlights are the 95.5% levels. Now, if you want the true 95.5% level, you can just enter 95.5 into the percentile value here. Each of the three available bands takes the true percentile you enter here.
---- Separate Positive & Negative Distributions----
If this box is checked the positive and negative distributions are treated indecently, completely separate from each other. You will see that the width of the top and bottom bands will be different for each of the percentiles you enter.
If this box is unchecked then all the negative and positive distributions are pooled together. You will notice that the width of the top and bottom bands will be the exact same.
---- Distribution Size ----
This is the number of candles that the price return is calculated over. EG: to collect the price return over the last 33 candles, the difference of price from now to 33 candles ago is calculated for the last 2,000 candles, to build a return distribution of 2000 points of price differences over 33 candles.
NEGATIVE NUMBERS(<0) == exact number of candles to include;
EG: setting this value to -20 will always collect volatility distributions of 20 candles
POSITIVE NUMBERS(>0) == number of candles to include as a multiple of the Moving Average Length value set above;
EG: if the Moving Average Length value is set to 22, setting this value to 2 will use the last 22*2 = 44 candles for the collection of volatility distributions
MORE candles being include will generally make the bands WIDER and their size will change SLOWER over time.
I wish you focus, dedication, and earnest success on your journey.
Happy trading :)
Edufx AMD~Accumulation, Manipulation, DistributionEdufx AMD Indicator
This indicator visualizes the market cycles using distinct phases: Accumulation, Manipulation, Distribution, and Reversal. It is designed to assist traders in identifying potential entry points and understanding price behavior during these phases.
Key Features:
1. Phases and Logic:
-Accumulation Phase: Highlights the price range where market accumulation occurs.
-Manipulation Phase:
- If the price sweeps below the accumulation low, it signals a potential "Buy Zone."
- If the price sweeps above the accumulation high, it signals a potential "Sell Zone."
-Distribution Phase: Highlights where price is expected to expand and establish trends.
-Reversal Phase: Marks areas where the price may either continue or reverse.
2. Weekly and Daily Cycles:
- Toggle the visibility of Weekly Cycles and Daily Cycles independently through the settings.
- These cycles are predefined with precise timings for each phase, based on your selected on UTC-5 timezone.
3. Customizable Appearance:
- Adjust the colors for each phase directly in the settings to suit your preferences.
- The indicator uses semi-transparent boxes to represent the phases, allowing easy visualization without obstructing the chart.
4. Static Boxes:
- Boxes representing the phases are drawn only once for the visible chart range and do not dynamically delete, ensuring important consistent reference points.
XAMD/AMDX ICT 01 [TradingFinder] SMC Quarterly Theory Cycles🔵 Introduction
The XAMD/AMDX strategy, combined with the Quarterly Theory, forms the foundation of a powerful market structure analysis. This indicator builds upon the principles of the Power of 3 strategy introduced by ICT, enhancing its application by incorporating an additional phase.
By extending the logic of Power of 3, the XAMD/AMDX tool provides a more detailed and comprehensive view of daily market behavior, offering traders greater precision in identifying key movements and opportunities
This approach divides the trading day into four distinct phases : Accumulation (19:00 - 01:00 EST), Manipulation (01:00 - 07:00 EST), Distribution (07:00 - 13:00 EST), and Continuation or Reversal (13:00 - 19:00 EST), collectively known as AMDX.
Each phase reflects a specific market behavior, providing a structured lens to interpret price action. Building on the fractal nature of time in financial markets, the Quarterly Theory introduces the Four Quarters Method, where a currency pair’s price range is divided into quarters.
These divisions, known as quarter points, highlight critical levels for analyzing and predicting market dynamics. Together, these principles allow traders to align their strategies with institutional trading patterns, offering deeper insights into market trends
🔵 How to Use
The AMDX framework provides a structured approach to understanding market behavior throughout the trading day. Each phase has its own characteristics and trading opportunities, allowing traders to align their strategies effectively. To get the most out of this tool, understanding the dynamics of each phase is essential.
🟣 Accumulation
During the Accumulation phase (19:00 - 01:00 EST), the market is typically quiet, with price movements confined to a narrow range. This phase is where institutional players accumulate their positions, setting the stage for future price movements.
Traders should use this time to study price patterns and prepare for the next phases. It’s a great opportunity to mark key support and resistance zones and set alerts for potential breakouts, as the low volatility makes immediate trading less attractive.
🟣 Manipulation
The Manipulation phase (01:00 - 07:00 EST) is often marked by sharp and deceptive price movements. Institutions create false breakouts to trigger stop-losses and trap retail traders into the wrong direction. Traders should remain cautious during this phase, focusing on identifying the areas of liquidity where these traps occur.
Watching for price reversals after these false moves can provide excellent entry opportunities, but patience and confirmation are crucial to avoid getting caught in the manipulation.
🟣 Distribution
The Distribution phase (07:00 - 13:00 EST) is where the day’s dominant trend typically emerges. Institutions execute large trades, resulting in significant price movements. This phase is ideal for trading with the trend, as the market provides clearer directional signals.
Traders should focus on identifying breakouts or strong momentum in the direction of the trend established during this period. This phase is also where traders can capitalize on setups identified earlier, aligning their entries with the market’s broader sentiment.
🟣 Continuation or Reversal
Finally, the Continuation or Reversal phase (13:00 - 19:00 EST) offers a critical juncture to assess the market’s direction. This phase can either reinforce the established trend or signal a reversal as institutions adjust their positions.
Traders should observe price behavior closely during this time, looking for patterns that confirm whether the trend is likely to continue or reverse. This phase is particularly useful for adjusting open positions or initiating new trades based on emerging signals.
🔵 Settings
Show or Hide Phases.
Adjust the session times for each phase :
Accumulation: 19:00-01:00 EST
Manipulation: 01:00-07:00 EST
Distribution: 07:00-13:00 EST
Continuation or Reversal: 13:00-19:00 EST
Modify Visualization : Customize how the indicator looks by changing settings like colors and transparency.
🔵 Conclusion
AMDX provides traders with a practical method to analyze daily market behavior by dividing the trading day into four key phases: Accumulation, Manipulation, Distribution, and Continuation or Reversal. Each phase highlights specific market dynamics, offering insights into how institutional activity shapes price movements.
From the quiet buildup in the Accumulation phase to the decisive trends of the Distribution phase, and the critical transitions in Continuation or Reversal, this approach equips traders with the tools to anticipate movements and make informed decisions.
By recognizing the significance of each phase, traders can avoid common traps during Manipulation, capitalize on clear trends during Distribution, and adapt to changes in the final phase of the day.
The structured visualization of market phases simplifies decision-making for traders of all levels. By incorporating these principles into your trading strategy, you can enhance your ability to align with market trends, optimize entry and exit points, and achieve more consistent results in your trading journey.
Power Of 3 ICT 01 [TradingFinder] AMD ICT & SMC Accumulations🔵 Introduction
The ICT Power of 3 (PO3) strategy, developed by Michael J. Huddleston, known as the Inner Circle Trader, is a structured approach to analyzing daily market activity. This strategy divides the trading day into three distinct phases: Accumulation, Manipulation, and Distribution.
Each phase represents a unique market behavior influenced by institutional traders, offering a clear framework for retail traders to align their strategies with market movements.
Accumulation (19:00 - 01:00 EST) takes place during low-volatility hours, as institutional traders accumulate orders. Manipulation (01:00 - 07:00 EST) involves false breakouts and liquidity traps designed to mislead retail traders. Finally, Distribution (07:00 - 13:00 EST) represents the active phase where significant market movements occur as institutions distribute their positions in line with the broader trend.
This indicator is built upon the Power of 3 principles to provide traders with a practical and visual tool for identifying these key phases. By using clear color coding and precise time zones, the indicator highlights critical price levels, such as highs and lows, helping traders to better understand market dynamics and make more informed trading decisions.
Incorporating the ICT AMD setup into daily analysis enables traders to anticipate market behavior, spot high-probability trade setups, and gain deeper insights into institutional trading strategies. With its focus on time-based price action, this indicator simplifies complex market structures, offering an effective tool for traders of all levels.
🔵 How to Use
The ICT Power of 3 (PO3) indicator is designed to help traders analyze daily market movements by visually identifying the three key phases: Accumulation, Manipulation, and Distribution.
Here's how traders can effectively use the indicator :
🟣 Accumulation Phase (19:00 - 01:00 EST)
Purpose : Identify the range-bound activity where institutional players accumulate orders.
Trading Insight : Avoid placing trades during this phase, as price movements are typically limited. Instead, use this time to prepare for the potential direction of the market in the next phases.
🟣 Manipulation Phase (01:00 - 07:00 EST)
Purpose : Spot false breakouts and liquidity traps that mislead retail traders.
Trading Insight : Observe the market for price spikes beyond key support or resistance levels. These moves often reverse quickly, offering high-probability entry points in the opposite direction of the initial breakout.
🟣 Distribution Phase (07:00 - 13:00 EST)
Purpose : Detect the main price movement of the day, driven by institutional distribution.
Trading Insight : Enter trades in the direction of the trend established during this phase. Look for confirmations such as breakouts or strong directional moves that align with broader market sentiment
🔵 Settings
Show or Hide Phases :mDecide whether to display Accumulation, Manipulation, or Distribution.
Adjust the session times for each phase :
Accumulation: 1900-0100 EST
Manipulation: 0100-0700 EST
Distribution: 0700-1300 EST
Modify Visualization : Customize how the indicator looks by changing settings like colors and transparency.
🔵 Conclusion
The ICT Power of 3 (PO3) indicator is a powerful tool for traders seeking to understand and leverage market structure based on time and price dynamics. By visually highlighting the three key phases—Accumulation, Manipulation, and Distribution—this indicator simplifies the complex movements of institutional trading strategies.
With its customizable settings and clear representation of market behavior, the indicator is suitable for traders at all levels, helping them anticipate market trends and make more informed decisions.
Whether you're identifying entry points in the Accumulation phase, navigating false moves during Manipulation, or capitalizing on trends in the Distribution phase, this tool provides valuable insights to enhance your trading performance.
By integrating this indicator into your analysis, you can better align your strategies with institutional movements and improve your overall trading outcomes.
Fractional Accumulation Distribution Strategy🔹 INTRODUCTION:
As traders and investors, we often find ourselves searching for ways to maximize our market positioning—trying to capture the best price, manage risk, and adapt to ever-changing volatility. Through years of working with a variety of traders and investors, a common theme emerged: the most successful market participants were those who accumulated positions strategically over time, rather than relying on one-off, rigid entry points. However, even the best of them struggled to consistently time their entries and exits for optimal results.
That's why I created the Fractional Accumulation/Distribution Strategy (FADS)—an adaptable solution designed to dynamically adjust position sizing and entry points based on changing market conditions, enabling both passive and active market participants to optimize their approach.
The FADS trading strategy combines volatility-based trend detection and adaptive position scaling to maximize profitability across varied market conditions. By using the price ranges from higher timeframes, FADS pinpoints extreme demand and supply zones with a high statistical probability of reversal, making it effective in both high and low volatility environments. By applying adjustable threshold settings, users can focus on meaningful price movements to reduce unnecessary trades. Adaptive position scaling further enhances this approach by adjusting position sizes based on entry level distances, allowing for strategic position building that balances risk and reward in uncertain markets. This systematic scaling begins with smaller positions, expanding as the trend solidifies, creating a refined, robust trading experience.
🔹 FEATURES:
Multi-Timeframe Volatility-Based Trend Detection
Accumulation/Distribution Level Filter
Customizable Period for Highest/Lowest Prices Capture
Adjustable Sensitivity & Frequency in Positioning
Broad control settings of Strategy
Adaptive Position Scaling
🔹 SETTINGS:
Volatility : Determines trading range based on market volatility . Highest range value number of periods.
Factor : Adjusts the width of the Accumulation & Distribution bands separately. The Level Filter feature offers customizable triggering bands, allowing users to fine-tune the initiation point for the Accumulation/Distribution sequence. This flexibility enables traders to align entries more precisely with market conditions, setting optimal thresholds for initiating trade chains, whether in accumulating positions during uptrends or distributing in downtrends.
Lowest : Choose the price source (e.g., Close, Low). Number of bars considered when determining the lowest price level. Selecting the checkbox generate a signal when the price crosses below the previous lowest value for calculating the lowest value used for trade signals.
Highest : Choose the price source (e.g., Close, High). Number of bars considered when determining the highest price levels. Selecting the checkbox generate a signal when the price crosses above the previous highest value for calculating the highest value used for trade signals.
Accumulation Spread : Adjusts the buying frequency sensitivity by setting the distance between entries based on personal risk tolerance. Larger values for less frequent buys; smaller values for more frequent buys.
Distribution Spread : Adjusts the selling frequency sensitivity by setting the distance between exits based on reward preference. Larger values for less frequent sells; smaller values for more frequent sells.
Percentage of Capital Allocation : Sets the portion of total capital used for the initial trade in a strategy. It sets the scale for subsequent trades during accumulation phase.
🔹 APPLICATIONS:
❖ Accumulation and Distribution Phases
Early entries are avoided by initiating accumulation only after a trend reversal is confirmed and price breaks below long-term range.
Position sizes are determined by the distance between consecutive trades, smaller distance results in smaller position sizes and vice versa.
Average position cost is reduced by accumulating larger positions at the lower prices, potentially resulting in improved profitability.
Early exits are avoided by initiating distribution only after trend reversal is confirmed and price breaks above long-term range.
The pace of distribution can be tracked by the violet line that represents average positions during distribution phase
❖ Use Cases (Different than default setting input is used for illustration purposes)
If the starting point of accumulation starts too high for the risk preference, Accumulation Level Filter can be lowered by increasing the 🟢 threshold Factor.
If the starting point of distribution is too low for the reward preference, the Distribution Level Filter can be raised by increasing the 🔴 threshold Factor.
In lower timeframes, positions during the accumulation phase could be purchased at higher levels relative to prior entry positions. To optimize for this, consider extending the period used to capture the lowest prices. Similarly, during the distribution phase, increasing the period for identifying higher prices can improve accuracy.
🔹 Strategy Properties:
Adjusting properties within the script settings is recommended to align with specific accounts and trading platforms, ensuring realistic strategy results.
Balance (default): $100,000
Initial Order Size: 1% of the default balance
Commission: 0.1%
Slippage: 5 Ticks
Backtesting: Backtested using TradingView’s built-in strategy testing tool with default commission rates of 0.1% and slippage of 5 ticks. It reflects average market conditions for Apple Inc. (APPL) on 1-hour timeframe
Disclaimers: Commission and slippage varies with market conditions and brokerage policies. The assumed value may not represent all trading environments.
PAST PERFORMANCE DOESN’T GUARANTEE FUTURE RESULTS!
Disclaimer: Please remember that past performance may not be indicative of future results. Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting. This post and the script don’t provide any financial advice.
This invite-only script is being published as part of my commitment to developing tools that align with TradingView’s community standards. Access requests will be reviewed carefully after the script passes TradingView's moderation process.
Effective Volume (ADV) v3Effective Volume (ADV) v3: Enhanced Accumulation/Distribution Analysis Tool
This indicator is an updated version of the original script by cI8DH, now upgraded to Pine Script v5 with added functionality, including the Volume Multiple feature. The tool is designed for analyzing Accumulation/Distribution (A/D) volume, referred to here as "Effective Volume," which represents the volume impact in alignment with price direction, providing insights into bullish or bearish trends through volume.
Accumulation/Distribution Volume Analysis : The script calculates and visualizes Effective Volume (ADV), helping traders assess volume strength in relation to price action. By factoring in bullish or bearish alignment, Effective Volume highlights points where volume strongly supports price movements.
Volume Multiple Feature for Volume Multiplication : The Volume Multiple setting (default value 2) allows you to set a multiplier to identify bars where Effective Volume exceeds the previous bar’s volume by a specified factor. This feature aids in pinpointing significant shifts in volume intensity, often associated with potential trend changes.
Customizable Aggregation Types : Users can choose from three volume aggregation types:
Simple - Standard SMA (Simple Moving Average) for averaging Effective Volume
Smoothed - RMA (Recursive Moving Average) for a less volatile, smoother line
Cumulative - Accumulated Effective Volume for ongoing trend analysis
Volume Divisor : The “Divide Vol by” setting (default 1 million) scales down the Effective Volume value for easier readability. This allows Effective Volume data to be aligned with the scale of the price chart.
Visualization Elements
Effective Volume Columns : The Effective Volume bar plot changes color based on volume direction:
Green Bars : Bullish Effective Volume (volume aligns with price movement upwards)
Red Bars : Bearish Effective Volume (volume aligns with price movement downwards)
Moving Average Lines :
Volume Moving Average - A gray line representing the moving average of total volume.
A/D Moving Average - A blue line showing the moving average of Accumulation/Distribution (A/D) Effective Volume.
High ADV Indicator : A “^” symbol appears on bars where the Effective Volume meets or exceeds the Volume Multiple threshold, highlighting bars with significant volume increase.
How to Use
Analyze Accumulation/Distribution Trends : Use Effective Volume to observe if bullish or bearish volume aligns with price direction, offering insights into the strength and sustainability of trends.
Identify Volume Multipliers with Volume Multiple : Adjust Volume Multiple to track when Effective Volume has notably increased, signaling potential shifts or strengthening trends.
Adjust Volume Display : Use the volume divisor setting to scale Effective Volume for clarity, especially when viewing alongside price data on higher timeframes.
With customizable parameters, this script provides a flexible, enhanced perspective on Effective Volume for traders analyzing volume-based trends and reversals.
Central Pivot Point Cross & Retrace Strategy // AlgoFyreThe Central Pivot Point Cross & Retrace Strategy uses pivot points for trend identification and trade entry. It combines accumulation/distribution indicators with pivot point levels to generate signals. The strategy incorporates dynamic position sizing based on a fixed risk amount and allows for both long and short positions with customizable stop-loss levels.
TABLE OF CONTENTS
🔶 ORIGINALITY
🔸Pivot Point-Based Trading
🔸Accumulation/Distribution
🔸Dynamic Position Sizing
🔸Customizable Risk Management
🔶 FUNCTIONALITY
🔸Indicators
🞘 Pivot Points
🞘 Accumulation/Distribution
🔸Conditions
🞘 Long Entry
🞘 Short Entry
🞘 Take Profit
🞘 Stop Loss
🔶 INSTRUCTIONS
🔸Adding the Strategy to the Chart
🔸Configuring the Strategy
🔸Backtesting and Practice
🔸Market Awareness
🔸Visual Customization
🔶 CONCLUSION
▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅
🔶 ORIGINALITY The Central Pivot Point Cross & Retrace Strategy uniquely combines pivot point analysis with accumulation/distribution indicators to identify optimal entry and exit points. It employs dynamic position sizing based on a fixed risk amount, ensuring consistent risk management across trades. This approach allows traders to adapt to varying market conditions by adjusting position sizes according to predefined risk parameters, enhancing both flexibility and control in trading decisions. The strategy's integration of customizable stop-loss levels further refines its risk management capabilities.
🔸Pivot Point-Based Trading This strategy utilizes daily pivot points to identify key support and resistance levels, providing a framework for trend identification and trade entry. The central pivot point serves as the intraday point of balance between buyers and sellers, with the largest amount of trading volume assumed to take place in this area.
🔸Accumulation/Distribution The strategy incorporates the Accumulation/Distribution (A/D) line, an underrated volume-based indicator, to establish the main trend. The A/D line is used in conjunction with a trend based indicator like the 200-period Exponential Moving Average (EMA) to confirm trend direction and strength.
🔸Dynamic Position Sizing Position sizes are calculated dynamically based on a fixed risk amount, allowing traders to maintain consistent risk exposure across trades.
🔸Customizable Risk Management Traders can set flexible risk-reward ratios and adjust stop-loss and take-profit levels, tailoring the strategy to their risk tolerance and market conditions. The strategy recommends taking partial profits at S1 or R1 levels and moving the stop-loss to break-even for remaining positions.
🔶 FUNCTIONALITY The Central Pivot Point Cross & Retrace Strategy leverages pivot points and accumulation/distribution indicators to identify optimal trading opportunities. This strategy is designed to capitalize on price movements around key pivot levels by dynamically adjusting position sizes based on predefined risk parameters. It allows traders to manage risk effectively while taking advantage of both long and short positions.
🔸Indicators 🞘 Pivot Points: Calculates daily pivot points (PP, R1, R2, S1, S2) to identify key support and resistance levels. The central pivot point is crucial for determining market bias and entry points.
🞘 Accumulation/Distribution: Uses the A/D line and with a trend based indicator like the 200 EMA to determine market direction and trend strength. This combination helps eliminate noise and provides more reliable trend signals. We recommend using the Adaptive MAs (Hurst, CVaR, Fractal) // AlgoFyre , but any moving average could be used.
🔸Conditions 🞘 Long Entry: Initiates a long position when the price crosses above the central pivot point (PP), retraces back to it and the A/D line is above its 200 EMA, indicating an uptrend. A limit entry order is set at the PP for entering the long trade.
🞘 Short Entry: Initiates a short position when the price crosses below the central pivot point (PP), retraces back to it and the A/D line is below its 200 EMA, indicating a downtrend. A limit entry order is set at the PP for entering the short trade.
🞘 Take Profit: 50% of the position is closed as profit when R1 for Longs and S1 for Shorts is reached. The position is fully closed when R2 for Longs and S2 for Shorts is reached.
🞘 Stop Loss: Stop loss is set via strategy settings. When the first 50% take profit for both long and shorts is taken, stop loss for both will be moved to break-even/entry.
🔶 INSTRUCTIONS
The Central Pivot Point Cross & Retrace Strategy can be set up by adding it to your TradingView chart and configuring parameters such as the accumulation/distribution source, stop-loss percentage, and risk management settings. This strategy is designed to capitalize on price movements around key pivot levels by dynamically adjusting position sizes based on predefined risk parameters. Enhance the accuracy of signals by combining this strategy with additional indicators like trend-following or momentum-based tools. Adjust settings to better manage risk and optimize entry and exit points.
🔸Adding the Strategy to the Chart Go to your TradingView chart.
Click on the "Pine Editor" button at the bottom of the chart.
Copy and paste the strategy code into the Pine Editor.
Click "Add to Chart" to apply the strategy.
Add the technical indicator "Accumulation/Distribution" to the chart.
Add the trend indicator " Adaptive MAs (Hurst, CVaR, Fractal) // AlgoFyre " or any other MA to the chart and move it to the "Accumulation/Distribution" pane.
Set the source of your trend indicator to "Accumulation/Distribution".
🔸Configuring the Strategy Open the strategy settings by clicking on the gear icon next to its name on the chart.
Accumulation/Distribution Source: Select the source for the accumulation/distribution indicator.
Accumulation/Distribution EMA Source: Select the source for the trend indicator.
Stop Loss Percentage: Set the stop loss distance from the pivot point as a percentage.
Risk Amount: Define the fixed risk amount for position sizing.
Base Order Size: Set the base order size for position calculations.
Number of Positions: Specify the maximum number of positions allowed.
Time Frame: Adjust the time frame based on the currency pair or asset being traded (e.g., 15-minute for EUR/USD, 30-minute for GBP/USD).
🔸Backtesting and Practice Backtest the strategy on historical data to understand how it performs in various market environments.
Practice using the strategy on a demo account before implementing it in live trading.
Test different time frames and asset pairs to find the most suitable combinations.
🔸Market Awareness Keep an eye on market news and events that might cause extreme price movements. The strategy reacts to price data and might not account for news-driven events that can cause large deviations.
Remember that this strategy is not recommended for stocks due to the A/D line's inability to account for gaps in its calculation.
🔸Visual Customization Visualization Settings: Customize the display of entry price, take profit, and stop loss levels.
Color Settings: Switch to the AlgoFyre theme or set custom colors for bullish, bearish, and neutral states.
Table Settings: Enable or disable the information table and adjust its position.
🔶 CONCLUSION
The Central Pivot Point Cross & Retrace Strategy provides a robust framework for capitalizing on price movements around key pivot levels by combining pivot point analysis with accumulation/distribution indicators. This strategy leverages pivot point crossovers to identify entry points and utilizes the A/D line crossover with its 200 EMA for trend confirmation, ensuring trades align with prevailing market conditions. By incorporating dynamic position sizing based on a fixed risk amount, traders can effectively manage risk and adapt to varying market conditions. The strategy's focus on trading around the central pivot point and its customizable stop-loss and take-profit levels further enhance its risk management capabilities, making it a versatile tool for both trending and ranging markets. With its strategic blend of technical indicators and risk management, the Central Pivot Point Cross & Retrace Strategy offers traders a comprehensive approach to optimizing trade execution and maximizing potential returns across various currency pairs and commodities.
CRT Trades (turtle soup, A-M-D ranges with inside bars)CRT means Candle Range Theory. Every single candle is a range, on every single timeframe. Ranges may be either manipulated - turtle souped or broken - engulfed - closed above/below and retested.
CRT is usually presented as a 3 candle model. However it may consist of more than 3 candles due to inside bars. Inside bar is the candle where high is not higher then previous candle high and low is not lower then previous candle low.
First candle represents accumulation (may consist of more candles - inside bars), second candle represents manipulation (turtle soup) and third candle represents distribution. The abbreviation for that is A-M-D.
In accumulation the range with specific high and low is created. In manipulation (turtle soup) the high or low of the range is manipulated - liquidity taken and price should usually reverse back to the range. In distribution price is reversing back to the opposite side of the range. On higher timeframe it looks like manipulation candle wick is higher/lower than previous range high/low (may consist of 1 or more inside bar candles) but the body must not close above/below previous range high/low. Otherwise it is not manipulation (turtle soup) most likely and price should continue in direction of the candle close. Distribution candle should touch opposite side of range and it is mostly heavy and fast candle.
CRT model can be found on higher timeframe (e.g. 4h) and entries can be found on lower timeframe (e.g. 15m). You always use only lower timeframe on your chart because CRT model on the higher timeframe is shown on the lower one and also you can plan entries on the lower timeframe. You are able to change CRT model higher timeframe in the indicator settings.
There are two types of entries:
simple - wait for manipulation candle to close on higher timeframe (HTF) and then enter on lower timeframe (LTF) above open of the distribution candle on HTF if it is short or on LTF below open of the distribution candle on HTF if it is long. These entries can be done by market order.
advanced - wait for the break of previous range high/low and enter by limit order when price reverses back to the range and retraces to the order block or fair value gap created by the breaker candle.
Stop loss can be placed above/below of the top/bottom created by manipulation candle. First take profit should be placed in 1/2 of the accumulation range and second take profit should be placed at the opposite range of accumulation range.
It is possible to filter only particular accumulation (range) and manipulation (turtle soup) candles depending also on timezone set in the settings. For example on 4h CRT model if you fill input "indices" for section "range" like 1,2 and input "indices" for section "turtle soup" like 3,4 then you are awaiting the range to form during asia session and manipulation during london session if the timezone is somewhere around "UTC+2".
Dotted lines represent turtle soup of previous range and solid lines represent engulfing candle of the breaker candle on lower timeframe. When the engulfing is closed you can look for entries either by market order after closing or by limit order when the price retraces to order block (created by breaker candle) or fair value gap (created by engulfing).
Recommendations for combining lower (entries) and higher (crt model) timeframes:
1D CRT model => 1h entries,
4h CRT model => 15m entries,
1h CRT model => 5m entries,
15m CRT model => 1m entries.
The Vet [TFO]In collaboration with @mickey1984 , "The Vet" was created to showcase various statistical measures of price.
The first core measurement utilizes the Defining Range (DR) concept on a weekly basis. For example, we might track the session from 09:30-10:30 on Mondays to get the DR high, DR low, IDR high, and IDR low. The DR high and low are the highest high and lowest low of the session, respectively, whereas the IDR high and low would be the highest candle body level (open or close) and lowest candle body level, respectively, during this window of time.
From this data, we use the IDR range (from IDR high to IDR low) to extrapolate several, custom projections of this range from its high and low so that we can collect data on how often these levels are hit, from the close of one DR session to the open of the next one.
This information is displayed in the Range Projection Table with a few main columns of information:
- The leftmost column indicates each level that is projected from the IDR range, where (+) indicates a projection above the range high, and (-) indicates a projection below the range low
- The "First Touch" column indicates how often price has reached these levels in the past at any point until the next weekly DR session
- The "Other Side Touch" column indicates how often price has reached a given level, then reversed to hit the opposing level of the same magnitude. For example, the above chart shows that if price hit the +1 projection, ~33% of instances also hit the -1 projection before the next weekly DR session. For this reason, the probabilities will be the same for projection levels of the same but opposite magnitude (+1 would be the same as -1, +3 would be the same as -3, etc.)
- The "Next Level Touch" column provides insight into how often price reaches the next greatest projection level. For example, in the above chart, the red box in the projection table is highlighting that once price hits the -2 projection, ~86% of instances reached the -3 projection before the next weekly DR session
- The last columns, "Within ADR" and "Within AWR" show if any of the projection levels are within the current Average Daily Range, or Average Weekly Range, respectively, which can both be enabled from the Average Range section
The next section, Distributions, primarily measures and displays the average price movements from specified intraday time windows. The option to Show Distribution Boxes will overlay a box showing each respective session's average range, while adjusting itself to encapsulate the price action of that session until the average range is met/exceeded. Users can choose to display the range average by Day of Week, or the Total average from all days. Values for average ranges can either be shown as point or percent values. We can also show a table to display this information about price's average ranges for each given session, and show labels displaying the current range vs its average.
The final section, Average Range, simply offers the ability to plot the Average Daily Range (ADR) and Average Weekly Range (AWR) of a specified length. An ADR of 10 for example would take the average of the last 10 days, from high to low, while an AWR of 10 would take the average of the last 10 weeks (if the current chart provides enough data to support this). Similarly, we can also show the Average Range Table to indicate what these ADR/AWR values are, what our current range is and how it compares to those values, as well as some simple statistics on how often these levels are hit. As an example, "Hit +/- ADR: 40%/35%" in this table would indicate that price has hit the upper ADR limit 40% of the time, and the lower limit 35% of the time, for the amount of data available on the current chart.
PulsarStruct Minor PremiumPulsarStruct Minor Premium
Introduction:
PulsarStruct Minor Premium is a powerful market analysis indicator designed for traders focused on lower timeframes and minor market structures. This tool is specifically built to track micro-structures and identify breakouts of key accumulation and distribution zones, helping traders make quick, informed decisions.
Unlike traditional multi-timeframe (HTF or MTF) indicators, PulsarStruct Minor Premium concentrates on local movements within minor structures, giving you an edge in tracking the immediate dynamics of the market.
This indicator is part of a package that includes Orion, Phoenix, and OptiStruct™ Premium from AlbaTherium, making it an ideal complement to these tools. By combining PulsarStruct Minor Premium with the multi-timeframe insights of these other indicators, you can optimize both local and broader market analysis.
Key Features:
Minor structure analysis: Track small market movements and their impacts on critical zones.
Breakout detection: Identify key breakouts from accumulation and distribution levels to anticipate future market movements.
Optimized entry signals: Focus on micro-breakouts and reversals for precise entry opportunities.
Analysis without volume dependency: The indicator operates based purely on price action, independent of volume.
How It Works:
PulsarStruct Minor Premium detects accumulation and distribution zones within minor market structures. By identifying these critical areas, the indicator pinpoints potential breakout levels, signaling traders when a significant shift in the market structure is occurring.
The tool’s logic is built to focus on micro-breakouts, which are often the first signals of trend continuation or reversal. It uses an algorithm that tracks price action across local structures and generates signals based on price movements relative to these key levels.
Practical Examples:
Accumulation and Distribution within a Range:
Imagine a consolidation period within a minor structure where accumulation takes place around a key support level. PulsarStruct Minor Premium marks this zone of interest. As the price starts to break out from the accumulation zone, the indicator signals a potential long entry in alignment with the trend.
Accumulation example: A 1 minute chart shows accumulation around a minor support level, followed by a bullish breakout. The indicator confirms the breakout, signaling a long entry opportunity.
Distribution example: Similarly, in a bearish market, a distribution phase around a key resistance level is followed by a breakout to the downside, confirming a short entry opportunity.
Example:
Accumulation and Distribution Example
Pro-Trend Entry Setup:
When trading with the trend, PulsarStruct Minor Premium helps identify high-probability entry points by detecting breakouts from accumulation or distribution levels. The indicator aligns these breakouts with the prevailing trend, offering precise entry signals.
Pro-trend Long Entry example: In an uptrend, the price pulls back into an accumulation zone, followed by a breakout above a minor high. The indicator detects the breakout, signaling a long entry aligned with the trend.
Pro-trend Short Entry example: In a downtrend, a small distribution phase forms at resistance, and a breakout below a minor support is detected, offering a short entry in line with the trend.
Example:
Pro-Trend Example
Minor Structure Breakouts:
PulsarStruct Minor Premium detects breakouts of minor structures, allowing traders to enter trades based on local setups. The indicator tracks price movements relative to these critical levels and provides signals for both long and short trades.
Breakout example: A local support level breaks under selling pressure, signaling a bearish reversal. The indicator alerts traders before the broader market reacts.
Example:
Breakout Example
Conclusion:
PulsarStruct Minor Premium is an essential tool for traders who focus on lower timeframes and minor structures. By concentrating on accumulation/distribution phases and key breakout levels, it allows for faster, more precise decision-making. For users of Orion, Phoenix, or OptiStruct™ Premium , this indicator provides a perfect complement, adding a layer of structured analysis that integrates seamlessly with multi-timeframe strategies.
Whether you’re looking for rapid entries or confirmations in micro-breakouts, PulsarStruct Minor Premium will help you stay in sync with market movements. Take advantage of this innovative tool and optimize your trading performance.
CRT IndicatorCandle Range Trading (CRT) Indicator
The CRT Indicator identifies potential trading opportunities by analyzing specific candlestick patterns. This script is designed to detect both bullish and bearish CRT patterns and provides visual cues directly on your chart.
Features:
Pattern Detection:
Analyzes two consecutive candles to identify the CRT pattern.
Detects both bullish and bearish setups based on the relative positions of the candles.
How It Works:
Bearish CRT Pattern:
The script identifies a bearish CRT when:
The first candle is bullish (closing price is higher than the opening price).
The second candle is bearish (closing price is lower than the opening price).
The second candle’s high exceeds the high of the first candle.
The closing price of the second candle falls within the range of the first candle.
Bullish CRT Pattern:
The script identifies a bullish CRT when:
The first candle is bearish (closing price is lower than the opening price).
The second candle is bullish (closing price is higher than the opening price).
The second candle’s low is below the low of the first candle.
The closing price of the second candle falls within the range of the first candle.
Visual Signals:
A red triangle is plotted above the candles for a bearish CRT pattern.
A green triangle is plotted below the candles for a bullish CRT pattern.
How to Use:
Monitor the chart for the appearance of red and green triangles.
Green triangles suggest potential bullish movements.
Red triangles suggest potential bearish movements.
Use these signals as part of a comprehensive trading strategy and combine with other technical indicators for best results.
Settings:
This indicator operates with default settings for detecting CRT patterns and does not include customizable parameters.
Limitations:
The CRT Indicator is based on two consecutive candles and does not account for broader market trends or other indicators.
Be aware that false signals may occur in volatile or choppy market conditions.
The indicator does not provide entry points, profit targets, or stop loss levels, which should be managed based on individual risk tolerance and strategy.
Note: The CRT Indicator is for informational purposes only and should be used in conjunction with other forms of analysis and proper risk management. Always test any strategy thoroughly before applying it to live trading.
ICT Power Of Three | Flux Charts💎 GENERAL OVERVIEW
Introducing our new ICT Power Of Three Indicator! This indicator is built around the ICT's "Power Of Three" strategy. This strategy makes use of these 3 key smart money concepts : Accumulation, Manipulation and Distribution. Each step is explained in detail within this write-up. For more information about the process, check the "HOW DOES IT WORK" section.
Features of the new ICT Power Of Three Indicator :
Implementation of ICT's Power Of Three Strategy
Different Algorithm Modes
Customizable Execution Settings
Customizable Backtesting Dashboard
Alerts for Buy, Sell, TP & SL Signals
📌 HOW DOES IT WORK ?
The "Power Of Three" comes from these three keywords "Accumulation, Manipulation and Distribution". Here is a brief explanation of each keyword :
Accumulation -> Accumulation phase is when the smart money accumulate their positions in a fixed range. This phase indicates price stability, generally meaning that the price constantly switches between up & down trend between a low and a high pivot point. When the indicator detects an accumulation zone, the Power Of Three strategy begins.
Manipulation -> When the smart money needs to increase their position sizes, they need retail traders' positions for liquidity. So, they manipulate the market into the opposite direction of their intended direction. This will result in retail traders opening positions the way that the smart money intended them to do, creating liquidity. After this step, the real move that the smart money intended begins.
Distribution -> This is when the real intention of the smart money comes into action. With the new liquidity thanks to the manipulation phase, the smart money add their positions towards the opposite direction of the retail mindset. The purpose of this indicator is to detect the accumulation and manipulation phases, and help the trader move towards the same direction as the smart money for their trades.
Detection Methods Of The Indicator :
Accumulation -> The indicator detects accumulation zones as explained step-by-step :
1. Draw two lines from the lowest point and the highest point of the latest X bars.
2. If the (high line - low line) is lower than Average True Range (ATR) * accumulationConstant
3. After the condition is validated, an accumulation zone is detected. The accumulation zone will be invalidated and manipulation phase will begin when the range is broken.
Manipulation -> If the accumulation range is broken, check if the current bar closes / wicks above the (high line + ATR * manipulationConstant) or below the (low line - ATR * manipulationConstant). If the condition is met, the indicator detects a manipulation zone.
Distribution -> The purpose of this indicator is to try to foresee the distribution zone, so instead of a detection, after the manipulation zone is detected the indicator automatically create a "shadow" distribution zone towards the opposite direction of the freshly detected manipulation zone. This shadow distribution zone comes with a take-profit and stop-loss layout, customizable by the trader in the settings.
The X bars, accumulationConstant and manipulationConstant are subject to change with the "Algorithm Mode" setting. Read the "Settings" section for more information.
This indicator follows these steps and inform you step by step by plotting them in your chart.
🚩UNIQUENESS
This indicator is an all-in-one suite for the ICT's Power Of Three concept. It's capable of plotting the strategy, giving signals, a backtesting dashboard and alerts feature. Different and customizable algorithm modes will help the trader fine-tune the indicator for the asset they are currently trading. The backtesting dashboard allows you to see how your settings perform in the current ticker. You can also set up alerts to get informed when the strategy is executable for different tickers.
⚙️SETTINGS
1. General Configuration
Algorithm Mode -> The indicator offers 3 different detection algorithm modes according to your needs. Here is the explanation of each mode.
a) Small Manipulation
This mode has the default bar length for the accumulation detection, but a lower manipulation constant, meaning that slighter imbalances in the price action can be detected as manipulation. This setting can be useful on tickers that have lower liquidity, thus can be manipulated easier.
b) Big Manipulation
This mode has the default bar length for the accumulation detection, but a higher manipulation constant, meaning that heavier imbalances on the price action are required in order to detect manipulation zones. This setting can be useful on tickers that have higher liquidity, thus can be manipulated harder.
c) Short Accumulation
This mode has a ~70% lower bar length requirement for accumulation zone detection, and the default manipulation constant. This setting can be useful on tickers that are highly volatile and do not enter accumulation phases too often.
Breakout Method -> If "Close" is selected, bar close price will be taken into calculation when Accumulation & Manipulation zone invalidation. If "Wick" is selected, a wick will be enough to validate the corresponding zone.
2. TP / SL
TP / SL Method -> If "Fixed" is selected, you can adjust the TP / SL ratios from the settings below. If "Dynamic" is selected, the TP / SL zones will be auto-determined by the algorithm.
Risk -> The risk you're willing to take if "Dynamic" TP / SL Method is selected. Higher risk usually means a better winrate at the cost of losing more if the strategy fails. This setting is has a crucial effect on the performance of the indicator, as different tickers may have different volatility so the indicator may have increased performance when this setting is correctly adjusted.
3. Visuals
Show Zones -> Enables / Disables rendering of Accumulation (yellow) and Manipulation (red) zones.
Frequency and Volume ProfileFREQUENCY & VOLUME PROFILE
⚪ OVERVIEW
The Frequency and Volume Profile indicator plots a frequency or volume profile based on the visible bars on the chart, providing insights into price levels with significant trading activity.
⚪ USAGE
● Market Structure Analysis:
Identify key price levels where significant trading activity occurred, which can act as support and resistance zones.
● Volume Analysis:
Use the volume mode to understand where the highest trading volumes have occurred, helping to confirm strong price levels.
● Trend Confirmation:
Analyze the distribution of trading activity to confirm or refute trends, mark important levels as support and resistance, aiding in making more informed trading decisions.
● Frequency Distribution:
In statistics, a frequency distribution is a list of the values that a variable takes in a sample. It is usually a list. Displayed as a histogram.
⚪ SETTINGS
Source: Select the price data to use for the profile calculation (default: hl2).
Move Profile: Set the number of bars to offset the profile from the current bar (default: 100).
Mode: Choose between "Frequency" and "Volume" for the profile calculation.
Profile Color: Customize the color of the profile lines.
Lookback Period: Uses 5000 bars for daily and higher timeframes, otherwise 10000 bars.
The Frequency Profile indicator is a powerful tool for visualizing price levels with significant trading activity, whether in terms of frequency or volume. Its dynamic calculation and customizable settings make it a versatile addition to any trading strategy.
Global Net Liquidity (TG fork)Worldwide net liquidity, with trend coloring.
Global Net Liquidity attempts to represent worldwide net liquidity, and is defined as: Fed + Japan + China + UK + ECB - RRP - TGA , Where the first five components are central bank assets.
On TradingView, the indicator can be reproduced with the following equations: Global Net Liquidity = FRED:WALCL + FRED:JPNASSETS * FX_IDC:JPYUSD + CNCBBS * FX_IDC:CNYUSD + GBCBBS * FX:GBPUSD + ECBASSETSW * FX:EURUSD + RRPONTSYD + WTREGEN
However, this indicator adds a moving average cloud, and margin coloring, which eases historical trend assessment at a glance.
This indicator can be seen as an alternative representation of the accumulation/distribution indicator (and hence the same terms can be used in this description).
The Moving Average Cloud is simply the filling between the moving average (by default an EMA) and the current value. This feature was inspired by D7R ACC/DIST closed-source indicator, kudos to D7R for making such neat visual indicators.
Usage instructions:
Blue is more likely a phase of accumulation because the current value is above its historical price as defined by the moving average,
red is when this is more likely a phase of distribution.
Yellow is when the difference is below the margin, so we consider it is insignificant and that the trend is undecided. This can be disabled by setting the margin to 0.
While the color indicates if it's more likely an accumulation (blue) or distribution (red) phase or undecided (yellow), the cloud's vertical size allows to assess the strength of this tendency and the horizontal size the momentum, so that the bigger the cloud, the stronger the accumulation (if cloud is blue) or distribution (if cloud is red).
Why is that so? This is because the cloud represents the difference between the current tendency and the moving averaged past one, so a bigger cloud represents a bigger departure from recently observed tendencies. In practice, when there is accumulation, a pump in price can be expected soon, or if it already happened then it means it is indeed supported by volume, whereas if distribution, either a dump is to be expected soon, or if it already happened it means it's supported by volume.
Or maybe not necessarily a dump, but if there is a move upward in price, but the indicator indicates a strong distribution, then it means that the price movement is not supported and may not be sustainable (reversal may happen at anytime), whereas if price is going upward AND there is an accumulation (blue coloring) then it is more sustainable. This can be used to adapt strategies accordingly (risk on/risk off depending on whether there is concordance of both price and accumulation/distribution).
This indicator also includes sentiment signals that can be used to trigger alarms.
This indicator is a remix of Dharmatech's, who authored the first this Global Net Liquidity equation, kudos to them! Please show them some love if you like this indicator!
TTP Big Whale ExplorerThe Big Whale Explorer is an indicator that looks into the ratio of large wallets deposits vs withdrawals.
Whales tend to sale their holding when they transfer their holdings into exchanges and they tend to hold when they withdraw.
In this overlay indicator you'll be able to see in an oscillator format the moves of large wallets.
The moves above 1.5 turn into red symbolising that they are starting to distribute. This can eventually have an impact in the price by causing anything from a mild pullback to a considerable crash depending on how much is being actually sold into the market.
Moves below 0.5 mean that the large whales are heavily accumulating and withdrawing. During these periods price could still pullback or even crash but eventually the accumulation can take prices to new highs.
Instructions:
1) Load INDEX:BTCUSD or BNC:BLX to get the most historic data as possible
2) use the daily timeframe
3) load the indicator into the chart
NormInvTargetSeekerNormInvTargetSeeker
The NormInvTargetSeeker is a trading tool designed to aid traders in identifying and capitalizing on Distribution and Accumulation zones, highlighting specific price levels that could serve as targets for future price movements. Although the indicator itself is not multi-timeframe, an effective trading strategy might involve signal validation across multiple timeframes.
🔶 USAGE
The indicator identifies Distribution and Accumulation zones, providing potential targets for future price moves.
Traders are encouraged to use these zones as profit targets or potential reversal points.
Confluence Zones
These zones are identified as regions where various factors or levels converge, signaling an increased probability of price reaction.
They can be used to reinforce signals or identify levels where price might encounter significant resistance or support.
🔹 Trading Strategy
First, identify a signal on your primary trading timeframe.
Manually check higher timeframes to ensure the signal aligns with them.
Use the identified zones, whether Distribution or Accumulation, as target zones for your trades.
🔶 Order Blocks
The NormInvTargetSeeker identifies "Order Blocks" by examining a specified number of consecutive candles with a specific condition: the current candle must completely engulf the previous candle. This means that both the high and low of the current candle are higher and lower, respectively, than the high and low of the previous candle, signifying a dominant move in the direction of the current candle.
🔹 Trading Strategy
Target Confirmation: Order Blocks can serve to confirm target points, providing additional validation for identified levels.
Market Insight: They offer crucial insights into whether "big hands" or institutional players are positioned as buyers or sellers in the market.
Traders can use Order Blocks as a means to validate targets or key price levels, observing if the price reacts significantly upon reaching these blocks.
They can also provide insights into the general market direction or underlying market strength by identifying where the major market players are placing their orders.
🔶 SETTINGS
The indicator allows users to adjust various parameters to customize the display and logic of the tool to fit their needs.
🔹 Display Settings
Users can customize the colors and displays of various zones and labels to match their preferences.
🔶 LICENSE AND CREDITS
This work is licensed under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). More information here: creativecommons.org
This indicator utilizes a TypeScript implementation of the Normal Inverse function as a reference, which can be found here : github.com
Special thanks to the authors of the referenced code for providing a foundation upon which this indicator was built.
🔶 UPDATES
Current Version: 1.0.0
For future updates, please check the comment section.
🔶 CONTACT
For any questions or suggestions, please feel free to contact @RickSimpson on TradingView.
Position Cost DistributionThe Position Cost Distribution indicator (also known as the Market Position Overview, Chip Distribution, or CYQ Algorithm) provides an estimate of how shares are distributed across different price levels. Visually, it resembles the Volume Profile indicator, though they rely on distinct computational approaches.
🟠 Principle
The Position Cost Distribution algorithm is based on the principle that a security's total shares outstanding usually remains constant, except under conditions like stock splits, reverse splits, or new share issuance. It views all trading activity as simply exchanging share positions between holders at different price points.
By analyzing daily trade volume and the prior day's distribution, the algorithm infers the resulting share distribution after each day. By tracking these inferred transpositions over time, the indicator builds up an aggregate view of the estimated share concentration at each price level. This provides insights into potential buying and selling pressure zones that could form support or resistance areas.
Together with the Volume Profile, the Position Cost Distribution gives traders multiple lenses for examining market structure from both a volume and positional standpoint. Both can help identify meaningful technical price levels.
🟠 Algorithm
The algorithm initializes by allocating all shares to the price range encompassed by the first bar displayed on the chart. Preferably, the chart window should include the stock's IPO date, allowing the model to distribute shares specifically to the IPO price.
For subsequent trading sessions, the indicator performs the following calculations:
1. The daily turnover ratio is calculated by dividing the bar's trading volume by total outstanding shares.
2. For each price level (bucket), the number of shares is reduced by the turnover amount to represent shares transferring from existing holders.
3. The bar's total volume is then added to buckets corresponding to that period's price range.
Currently, the model assumes each share has an equal probability of being exchanged, regardless of how long ago it was acquired or at what price. Potential optimizations could incorporate factors like making shares held longer face a smaller chance of transfer compared to more recently purchased shares.
────────────────────────────────────────────
中文介绍:该指标为“筹码分布”的一个 TradingView 实现 :)
Paytience DistributionPaytience Distribution Indicator User Guide
Overview:
The Paytience Distribution indicator is designed to visualize the distribution of any chosen data source. By default, it visualizes the distribution of a built-in Relative Strength Index (RSI). This guide provides details on its functionality and settings.
Distribution Explanation:
A distribution in statistics and data analysis represents the way values or a set of data are spread out or distributed over a range. The distribution can show where values are concentrated, values are absent or infrequent, or any other patterns. Visualizing distributions helps users understand underlying patterns and tendencies in the data.
Settings and Parameters:
Main Settings:
Window Size
- Description: This dictates the amount of data used to calculate the distribution.
- Options: A whole number (integer).
- Tooltip: A window size of 0 means it uses all the available data.
Scale
- Description: Adjusts the height of the distribution visualization.
- Options: Any integer between 20 and 499.
Round Source
- Description: Rounds the chosen data source to a specified number of decimal places.
- Options: Any whole number (integer).
Minimum Value
- Description: Specifies the minimum value you wish to account for in the distribution.
- Options: Any integer from 0 to 100.
- Tooltip: 0 being the lowest and 100 being the highest.
Smoothing
- Description: Applies a smoothing function to the distribution visualization to simplify its appearance.
- Options: Any integer between 1 and 20.
Include 0
- Description: Dictates whether zero should be included in the distribution visualization.
- Options: True (include) or False (exclude).
Standard Deviation
- Description: Enables the visualization of standard deviation, which measures the amount of variation or dispersion in the chosen data set.
- Tooltip: This is best suited for a source that has a vaguely Gaussian (bell-curved) distribution.
- Options: True (enable) or False (disable).
Color Options
- High Color and Low Color: Specifies colors for high and low data points.
- Standard Deviation Color: Designates a color for the standard deviation lines.
Example Settings:
Example Usage RSI
- Description: Enables the use of RSI as the data source.
- Options: True (enable) or False (disable).
RSI Length
- Description: Determines the period over which the RSI is calculated.
- Options: Any integer greater than 1.
Using an External Source:
To visualize the distribution of an external source:
Select the "Move to" option in the dropdown menu for the Paytience Distribution indicator on your chart.
Set it to the existing panel where your external data source is placed.
Navigate to "Pin to Scale" and pin the indicator to the same scale as your external source.
Indicator Logic and Functions:
Sinc Function: Used in signal processing, the sinc function ensures the elimination of aliasing effects.
Sinc Filter: A filtering mechanism which uses sinc function to provide estimates on the data.
Weighted Mean & Standard Deviation: These are statistical measures used to capture the central tendency and variability in the data, respectively.
Output and Visualization:
The indicator visualizes the distribution as a series of colored boxes, with the intensity of the color indicating the frequency of the data points in that range. Additionally, lines representing the standard deviation from the mean can be displayed if the "Standard Deviation" setting is enabled.
The example RSI, if enabled, is plotted along with its common threshold lines at 70 (upper) and 30 (lower).
Understanding the Paytience Distribution Indicator
1. What is a Distribution?
A distribution represents the spread of data points across different values, showing how frequently each value occurs. For instance, if you're looking at a stock's closing prices over a month, you may find that the stock closed most frequently around $100, occasionally around $105, and rarely around $110. Graphically visualizing this distribution can help you see the central tendencies, variability, and shape of your data distribution. This visualization can be essential in determining key trading points, understanding volatility, and getting an overview of the market sentiment.
2. The Rounding Mechanism
Every asset and dataset is unique. Some assets, especially cryptocurrencies or forex pairs, might have values that go up to many decimal places. Rounding these values is essential to generate a more readable and manageable distribution.
Why is Rounding Needed? If every unique value from a high-precision dataset was treated distinctly, the resulting distribution would be sparse and less informative. By rounding off, the values are grouped, making the distribution more consolidated and understandable.
Adjusting Rounding: The `Round Source` input allows users to determine the number of decimal places they'd like to consider. If you're working with an asset with many decimal places, adjust this setting to get a meaningful distribution. If the rounding is set too low for high precision assets, the distribution could lose its utility.
3. Standard Deviation and Oscillators
Standard deviation is a measure of the amount of variation or dispersion of a set of values. In the context of this indicator:
Use with Oscillators: When using oscillators like RSI, the standard deviation can provide insights into the oscillator's range. This means you can determine how much the oscillator typically deviates from its average value.
Setting Bounds: By understanding this deviation, traders can better set reasonable upper and lower bounds, identifying overbought or oversold conditions in relation to the oscillator's historical behavior.
4. Resampling
Resampling is the process of adjusting the time frame or value buckets of your data. In the context of this indicator, resampling ensures that the distribution is manageable and visually informative.
Resample Size vs. Window Size: The `Resample Resolution` dictates the number of bins or buckets the distribution will be divided into. On the other hand, the `Window Size` determines how much of the recent data will be considered. It's crucial to ensure that the resample size is smaller than the window size, or else the distribution will not accurately reflect the data's behavior.
Why Use Resampling? Especially for price-based sources, setting the window size around 500 (instead of 0) ensures that the distribution doesn't become too overloaded with data. When set to 0, the window size uses all available data, which may not always provide an actionable insight.
5. Uneven Sample Bins and Gaps
You might notice that the width of sample bins in the distribution is not uniform, and there can be gaps.
Reason for Uneven Widths: This happens because the indicator uses a 'resampled' distribution. The width represents the range of values in each bin, which might not be constant across bins. Some value ranges might have more data points, while others might have fewer.
Gaps in Distribution: Sometimes, there might be no data points in certain value ranges, leading to gaps in the distribution. These gaps are not flaws but indicate ranges where no values were observed.
In conclusion, the Paytience Distribution indicator offers a robust mechanism to visualize the distribution of data from various sources. By understanding its intricacies, users can make better-informed trading decisions based on the distribution and behavior of their chosen data source.
SimilarityMeasuresLibrary "SimilarityMeasures"
Similarity measures are statistical methods used to quantify the distance between different data sets
or strings. There are various types of similarity measures, including those that compare:
- data points (SSD, Euclidean, Manhattan, Minkowski, Chebyshev, Correlation, Cosine, Camberra, MAE, MSE, Lorentzian, Intersection, Penrose Shape, Meehl),
- strings (Edit(Levenshtein), Lee, Hamming, Jaro),
- probability distributions (Mahalanobis, Fidelity, Bhattacharyya, Hellinger),
- sets (Kumar Hassebrook, Jaccard, Sorensen, Chi Square).
---
These measures are used in various fields such as data analysis, machine learning, and pattern recognition. They
help to compare and analyze similarities and differences between different data sets or strings, which
can be useful for making predictions, classifications, and decisions.
---
References:
en.wikipedia.org
cran.r-project.org
numerics.mathdotnet.com
github.com
github.com
github.com
Encyclopedia of Distances, doi.org
ssd(p, q)
Sum of squared difference for N dimensions.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Measure of distance that calculates the squared euclidean distance.
euclidean(p, q)
Euclidean distance for N dimensions.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Measure of distance that calculates the straight-line (or Euclidean).
manhattan(p, q)
Manhattan distance for N dimensions.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Measure of absolute differences between both points.
minkowski(p, q, p_value)
Minkowsky Distance for N dimensions.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
p_value (float) : `float` P value, default=1.0(1: manhatan, 2: euclidean), does not support chebychev.
Returns: Measure of similarity in the normed vector space.
chebyshev(p, q)
Chebyshev distance for N dimensions.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Measure of maximum absolute difference.
correlation(p, q)
Correlation distance for N dimensions.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Measure of maximum absolute difference.
cosine(p, q)
Cosine distance between provided vectors.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
Returns: The Cosine distance between vectors `p` and `q`.
---
angiogenesis.dkfz.de
camberra(p, q)
Camberra distance for N dimensions.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Weighted measure of absolute differences between both points.
mae(p, q)
Mean absolute error is a normalized version of the sum of absolute difference (manhattan).
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Mean absolute error of vectors `p` and `q`.
mse(p, q)
Mean squared error is a normalized version of the sum of squared difference.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Mean squared error of vectors `p` and `q`.
lorentzian(p, q)
Lorentzian distance between provided vectors.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Lorentzian distance of vectors `p` and `q`.
---
angiogenesis.dkfz.de
intersection(p, q)
Intersection distance between provided vectors.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Intersection distance of vectors `p` and `q`.
---
angiogenesis.dkfz.de
penrose(p, q)
Penrose Shape distance between provided vectors.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Penrose shape distance of vectors `p` and `q`.
---
angiogenesis.dkfz.de
meehl(p, q)
Meehl distance between provided vectors.
Parameters:
p (float ) : `array` Vector with first numeric distribution.
q (float ) : `array` Vector with second numeric distribution.
Returns: Meehl distance of vectors `p` and `q`.
---
angiogenesis.dkfz.de
edit(x, y)
Edit (aka Levenshtein) distance for indexed strings.
Parameters:
x (int ) : `array` Indexed array.
y (int ) : `array` Indexed array.
Returns: Number of deletions, insertions, or substitutions required to transform source string into target string.
---
generated description:
The Edit distance is a measure of similarity used to compare two strings. It is defined as the minimum number of
operations (insertions, deletions, or substitutions) required to transform one string into another. The operations
are performed on the characters of the strings, and the cost of each operation depends on the specific algorithm
used.
The Edit distance is widely used in various applications such as spell checking, text similarity, and machine
translation. It can also be used for other purposes like finding the closest match between two strings or
identifying the common prefixes or suffixes between them.
---
github.com
www.red-gate.com
planetcalc.com
lee(x, y, dsize)
Distance between two indexed strings of equal length.
Parameters:
x (int ) : `array` Indexed array.
y (int ) : `array` Indexed array.
dsize (int) : `int` Dictionary size.
Returns: Distance between two strings by accounting for dictionary size.
---
www.johndcook.com
hamming(x, y)
Distance between two indexed strings of equal length.
Parameters:
x (int ) : `array` Indexed array.
y (int ) : `array` Indexed array.
Returns: Length of different components on both sequences.
---
en.wikipedia.org
jaro(x, y)
Distance between two indexed strings.
Parameters:
x (int ) : `array` Indexed array.
y (int ) : `array` Indexed array.
Returns: Measure of two strings' similarity: the higher the value, the more similar the strings are.
The score is normalized such that `0` equates to no similarities and `1` is an exact match.
---
rosettacode.org
mahalanobis(p, q, VI)
Mahalanobis distance between two vectors with population inverse covariance matrix.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
VI (matrix) : `matrix` Inverse of the covariance matrix.
Returns: The mahalanobis distance between vectors `p` and `q`.
---
people.revoledu.com
stat.ethz.ch
docs.scipy.org
fidelity(p, q)
Fidelity distance between provided vectors.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
Returns: The Bhattacharyya Coefficient between vectors `p` and `q`.
---
en.wikipedia.org
bhattacharyya(p, q)
Bhattacharyya distance between provided vectors.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
Returns: The Bhattacharyya distance between vectors `p` and `q`.
---
en.wikipedia.org
hellinger(p, q)
Hellinger distance between provided vectors.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
Returns: The hellinger distance between vectors `p` and `q`.
---
en.wikipedia.org
jamesmccaffrey.wordpress.com
kumar_hassebrook(p, q)
Kumar Hassebrook distance between provided vectors.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
Returns: The Kumar Hassebrook distance between vectors `p` and `q`.
---
github.com
jaccard(p, q)
Jaccard distance between provided vectors.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
Returns: The Jaccard distance between vectors `p` and `q`.
---
github.com
sorensen(p, q)
Sorensen distance between provided vectors.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
Returns: The Sorensen distance between vectors `p` and `q`.
---
people.revoledu.com
chi_square(p, q, eps)
Chi Square distance between provided vectors.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
eps (float)
Returns: The Chi Square distance between vectors `p` and `q`.
---
uw.pressbooks.pub
stats.stackexchange.com
www.itl.nist.gov
kulczynsky(p, q, eps)
Kulczynsky distance between provided vectors.
Parameters:
p (float ) : `array` 1D Vector.
q (float ) : `array` 1D Vector.
eps (float)
Returns: The Kulczynsky distance between vectors `p` and `q`.
---
github.com
Normal Distribution CurveThis Normal Distribution Curve is designed to overlay a simple normal distribution curve on top of any TradingView indicator. This curve represents a probability distribution for a given dataset and can be used to gain insights into the likelihood of various data levels occurring within a specified range, providing traders and investors with a clear visualization of the distribution of values within a specific dataset. With the only inputs being the variable source and plot colour, I think this is by far the simplest and most intuitive iteration of any statistical analysis based indicator I've seen here!
Traders can quickly assess how data clusters around the mean in a bell curve and easily see the percentile frequency of the data; or perhaps with both and upper and lower peaks identify likely periods of upcoming volatility or mean reversion. Facilitating the identification of outliers was my main purpose when creating this tool, I believed fixed values for upper/lower bounds within most indicators are too static and do not dynamically fit the vastly different movements of all assets and timeframes - and being able to easily understand the spread of information simplifies the process of identifying key regions to take action.
The curve's tails, representing the extreme percentiles, can help identify outliers and potential areas of price reversal or trend acceleration. For example using the RSI which typically has static levels of 70 and 30, which will be breached considerably more on a less liquid or more volatile asset and therefore reduce the actionable effectiveness of the indicator, likewise for an asset with little to no directional volatility failing to ever reach this overbought/oversold areas. It makes considerably more sense to look for the top/bottom 5% or 10% levels of outlying data which are automatically calculated with this indicator, and may be a noticeable distance from the 70 and 30 values, as regions to be observing for your investing.
This normal distribution curve employs percentile linear interpolation to calculate the distribution. This interpolation technique considers the nearest data points and calculates the price values between them. This process ensures a smooth curve that accurately represents the probability distribution, even for percentiles not directly present in the original dataset; and applicable to any asset regardless of timeframe. The lookback period is set to a value of 5000 which should ensure ample data is taken into calculation and consideration without surpassing any TradingView constraints and limitations, for datasets smaller than this the indicator will adjust the length to just include all data. The labels providing the percentile and average levels can also be removed in the style tab if preferred.
Additionally, as an unplanned benefit is its applicability to the underlying price data as well as any derived indicators. Turning it into something comparable to a volume profile indicator but based on the time an assets price was within a specific range as opposed to the volume. This can therefore be used as a tool for identifying potential support and resistance zones, as well as areas that mark market inefficiencies as price rapidly accelerated through. This may then give a cleaner outlook as it eliminates the potential drawbacks of volume based profiles that maybe don't collate all exchange data or are misrepresented due to large unforeseen increases/decreases underlying capital inflows/outflows.
Thanks to @ALifeToMake, @Bjorgum, vgladkov on stackoverflow (and possibly some chatGPT!) for all the assistance in bringing this indicator to life. I really hope every user can find some use from this and help bring a unique and data driven perspective to their decision making. And make sure to please share any original implementaions of this tool too! If you've managed to apply this to the average price change once you've entered your position to better manage your trade management, or maybe overlaying on an implied volatility indicator to identify potential options arbitrage opportunities; let me know! And of course if anyone has any issues, questions, queries or requests please feel free to reach out! Thanks and enjoy.
Wyckoff Phases OscillatorThe "Wyckoff Phases Oscillator" is a script designed for the TradingView platform. It's an indicator that provides traders with an oscillator-based visual representation of the Wyckoff Market Cycle. The oscillator doesn't overlay the price chart but instead appears in a separate panel beneath it.
How it works:
The script operates based on two input parameters: length and timeFrame. The length parameter, set by default to 21, determines the period used for various calculations within the script. On the other hand, timeFrame, set by default to "1", specifies the timeframe for which the script will gather and analyze data.
The script requests security information such as closing prices (higherClose), volume (higherVolume), highest prices (higherHigh), and lowest prices (higherLow) from the ticker symbol (syminfo.tickerid) within the defined timeframe.
Two exponential moving averages (ema1 and ema2) are calculated based on the closing prices, with lengths of 5 and 9 respectively.
A Rate of Change (ROC) is calculated based on the closing prices and the defined length.
An average volume (avgVolume) is calculated using a simple moving average (SMA) based on the volume and the defined length.
The script defines conditions for institutional buying and selling.
Institutional buying is determined when the closing price is greater than the lowest price and the volume is greater than the average volume.
Institutional selling is determined when the closing price is less than the highest price and the volume is greater than the average volume.
The script also defines conditions for the four phases of the Wyckoff Market Cycle: Accumulation, Markup, Distribution, and Markdown. Each phase has specific conditions based on the closing prices, EMA values, ROC, and institutional buying or selling conditions.
The script then assigns oscillator values based on the Wyckoff phase:
Accumulation is assigned a value of 1
Markup is assigned a value of 2
Distribution is assigned a value of 3
Markdown is assigned a value of 4
These oscillator values are plotted as colored circles, with different colors representing different phases. The color values are specified in RGB format.
Finally, the script plots horizontal lines as references for each of the four phases using the hline function. These lines are labeled and color-coded to match the corresponding oscillator circles. The lines have a linewidth of 1 and are solid in style.
If the oscillator moves from level 1 (Accumulation) to level 2 (Markup), this could indicate a potential bullish trend, as the market moves from a phase of accumulation to a phase of increasing prices.
Conversely, if the oscillator moves from level 3 (Distribution) to level 4 (Markdown), this could signal a potential bearish trend, signaling that the market has moved from a phase of distribution to a phase of declining prices.
While the Wyckoff Phases Oscillator can provide valuable insights on its own, it can also be used in conjunction with other technical analysis tools and indicators. For example, you might use it alongside a volume indicator to confirm signals, or with support and resistance levels to identify potential entry and exit points.
Alpha Trading - Pseudo Laplace Z ScoreAlpha Trading - Pseudo Laplace Z Score
Slowly, very slowly a lot of quant and statistical methods have diffused the world of traditional technical analysis with the world of real math - VEPS (Volatility, Entropy, Probability and Statistics).
‘Alpha Trading' is showing the world how VEPS can show the best probabilities of success with your trading journey.
We send a big thank you to tradingview platform and pine coding team, for this great platform and the possibility to show the methods to trade with quant and statistical methods.
There appears to be resistance in the industry about these methods, so it is even more important now than ever, to support this awesome platform and amazing talented team at trading view and pine coders who enable us all with this wonderful platform to produce tools based on VEPS (Volatility, Entropy, Probability and Statistics).
The newest indicator from the Alpha Trading stable is the “Pseudo Laplace Z Score” which combines the established statistical method of z score applied on asset data. Which is based on our previous indicator called the “Alpha Trading – RMS-Z score”. We have made some optimizations, to give an even better fit to the specific returns of price. Optimizations are on the observation that returns are more Laplace distributed than Normal distributed.
figure 1: pink distribution of the real signal (BTC, 2D), gray is perfect theoretical Laplace distribution.
Therefore, the data is not Normal distributed, but Laplace distributed. Our new indicator calculates the real Z-Score of an underlying asset.
As Z Score is a standardized Normal distribution, it relies upon the definition of Normal distribution. If it deviates from this, it still can give useful information, but the absolute value (distance from the mean in standard deviations) is not reliable, and therefore the use of Normal distribution has some uncertainties.
Therefore, this indicator calculates a pseudo standard deviation, based on the Laplace distribution formulas and the relating Z Score.
By looking at the resulting distribution of the indicator itself, it is close to a perfect theoretical Normal distribution. It is much closer to the theoretical curve (gray), and thus indicates that the use of this approach is correct. Now we can show absolute values (i.e. distance to mean, in standard deviations) which can thus be considered to assist in determining the probabilities with your trading.
figure 2: distribution of indicator AT - Pseudo Laplace Z Score vs a theoretical perfect Normal distribution on BTC 4h
Looking at the indicator directly, it appears that the probability of 99% is crossed very rarely, like expected. Because only 1% of all candles we would expect this probability line to be exceeded.
figure 3: BTC 8h with AT-Pseudo Laplace Z Score
Coming back to the method of a Z Score in general. What is a Z-Score?
A Z-score is a numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean. If a Z-score is 0, it indicates that the data point's score is identical to the mean score. A Z-score of 1.0 would indicate a value that is one standard deviation from the mean. Z-scores may be positive or negative, with a positive value indicating the score is above the mean and a negative score indicating it is below the mean.
Simply put, a z-score (also called a standard score) gives you an idea of how far from the mean a data point is.
Basic guidelines How to Use this indicator:
Consider Entering a Long Position when the indicator is low. Best moves are generally when the indicator Turns yellow(outlier)
Consider Entering a Short Position when the indicator is high. Best moves are generally when the indicator Turns yellow(outlier)
Consider the 3 confidence interval lines (gray lines) at 90%, 95%, and 99%, as possible reversal point (with related probability that it is not getting exceeded 🡪 reversal)