EMD Oscillator (Zeiierman)█ Overview
The Empirical Mode Decomposition (EMD) Oscillator is an advanced indicator designed to analyze market trends and cycles with high precision. It breaks down complex price data into simpler parts called Intrinsic Mode Functions (IMFs), allowing traders to see underlying patterns and trends that aren’t visible with traditional indicators. The result is a dynamic oscillator that provides insights into overbought and oversold conditions, as well as trend direction and strength. This indicator is suitable for all types of traders, from beginners to advanced, looking to gain deeper insights into market behavior.
█ How It Works
The core of this indicator is the Empirical Mode Decomposition (EMD) process, a method typically used in signal processing and advanced scientific fields. It works by breaking down price data into various “layers,” each representing different frequencies in the market’s movement. Imagine peeling layers off an onion: each layer (or IMF) reveals a different aspect of the price action.
⚪ Data Decomposition (Sifting): The indicator “sifts” through historical price data to detect natural oscillations within it. Each oscillation (or IMF) highlights a unique rhythm in price behavior, from rapid fluctuations to broader, slower trends.
⚪ Adaptive Signal Reconstruction: The EMD Oscillator allows traders to select specific IMFs for a custom signal reconstruction. This reconstructed signal provides a composite view of market behavior, showing both short-term cycles and long-term trends based on which IMFs are included.
⚪ Normalization: To make the oscillator easy to interpret, the reconstructed signal is scaled between -1 and 1. This normalization lets traders quickly spot overbought and oversold conditions, as well as trend direction, without worrying about the raw magnitude of price changes.
The indicator adapts to changing market conditions, making it effective for identifying real-time market cycles and potential turning points.
█ Key Calculations: The Math Behind the EMD Oscillator
The EMD Oscillator’s advanced nature lies in its high-level mathematical operations:
⚪ Intrinsic Mode Functions (IMFs)
IMFs are extracted from the data and act as the building blocks of this indicator. Each IMF is a unique oscillation within the price data, similar to how a band might be divided into treble, mid, and bass frequencies. In the EMD Oscillator:
Higher-Frequency IMFs: Represent short-term market “noise” and quick fluctuations.
Lower-Frequency IMFs: Capture broader market trends, showing more stable and long-term patterns.
⚪ Sifting Process: The Heart of EMD
The sifting process isolates each IMF by repeatedly separating and refining the data. Think of this as filtering water through finer and finer mesh sieves until only the clearest parts remain. Mathematically, it involves:
Extrema Detection: Finding all peaks and troughs (local maxima and minima) in the data.
Envelope Calculation: Smoothing these peaks and troughs into upper and lower envelopes using cubic spline interpolation (a method for creating smooth curves between data points).
Mean Removal: Calculating the average between these envelopes and subtracting it from the data to isolate one IMF. This process repeats until the IMF criteria are met, resulting in a clean oscillation without trend influences.
⚪ Spline Interpolation
The cubic spline interpolation is an advanced mathematical technique that allows smooth curves between points, which is essential for creating the upper and lower envelopes around each IMF. This interpolation solves a tridiagonal matrix (a specialized mathematical problem) to ensure that the envelopes align smoothly with the data’s natural oscillations.
To give a relatable example: imagine drawing a smooth line that passes through each peak and trough of a mountain range on a map. Spline interpolation ensures that line is as smooth and close to reality as possible. Achieving this in Pine Script is technically demanding and demonstrates a high level of mathematical coding.
⚪ Amplitude Normalization
To make the oscillator more readable, the final signal is scaled by its maximum amplitude. This amplitude normalization brings the oscillator into a range of -1 to 1, creating consistent signals regardless of price level or volatility.
█ Comparison with Other Signal Processing Methods
Unlike standard technical indicators that often rely on fixed parameters or pre-defined mathematical functions, the EMD adapts to the data itself, capturing natural cycles and irregularities in real-time. For example, if the market becomes more volatile, EMD adjusts automatically to reflect this without requiring parameter changes from the trader. In this way, it behaves more like a “smart” indicator, intuitively adapting to the market, unlike most traditional methods. EMD’s adaptive approach is akin to AI’s ability to learn from data, making it both resilient and robust in non-linear markets. This makes it a great alternative to methods that struggle in volatile environments, such as fixed-parameter oscillators or moving averages.
█ How to Use
Identify Market Cycles and Trends: Use the EMD Oscillator to spot market cycles that represent phases of buying or selling pressure. The smoothed version of the oscillator can help highlight broader trends, while the main oscillator reveals immediate cycles.
Spot Overbought and Oversold Levels: When the oscillator approaches +1 or -1, it may indicate that the market is overbought or oversold, signaling potential entry or exit points.
Confirm Divergences: If the price movement diverges from the oscillator's direction, it may indicate a potential reversal. For example, if prices make higher highs while the oscillator makes lower highs, it could be a sign of weakening trend strength.
█ Settings
Window Length (N): Defines the number of historical bars used for EMD analysis. A larger window captures more data but may slow down performance.
Number of IMFs (M): Sets how many IMFs to extract. Higher values allow for a more detailed decomposition, isolating smaller cycles within the data.
Amplitude Window (L): Controls the length of the window used for amplitude calculation, affecting the smoothness of the normalized oscillator.
Extraction Range (IMF Start and End): Allows you to select which IMFs to include in the reconstructed signal. Starting with lower IMFs captures faster cycles, while ending with higher IMFs includes slower, trend-based components.
Sifting Stopping Criterion (S-number): Sets how precisely each IMF should be refined. Higher values yield more accurate IMFs but take longer to compute.
Max Sifting Iterations (num_siftings): Limits the number of sifting iterations for each IMF extraction, balancing between performance and accuracy.
Source: The price data used for the analysis, such as close or open prices. This determines which price movements are decomposed by the indicator.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Search in scripts for "demand"
FVG Instantaneous Mitigation Signals [LuxAlgo]The FVG Instantaneous Mitigation Signals indicator detects and highlights "instantaneously" mitigated fair value gaps (FVG), that is FVGs that get mitigated one bar after their creation, returning signals upon mitigation.
Take profit/stop loss areas, as well as a trailing stop loss are also included to complement the signals.
🔶 USAGE
Instantaneous Fair Value Gap mitigation is a new concept introduced in this script and refers to the event of price mitigating a fair value gap one bar after its creation.
The resulting signal sentiment is opposite to the bias of the mitigated fair value gap. As such an instantaneously mitigated bearish FGV results in a bullish signal, while an instantaneously mitigated bullish FGV results in a bearish signal.
Fair value gap areas subject to instantaneous mitigation are highlighted alongside their average level, this level is extended until reached in a direction opposite to the FVG bias and can be used as a potential support/resistance level.
Users can filter out less volatile fair value gaps using the "FVG Width Filter" setting, with higher values highlighting more volatile fair value gaps subject to instantaneous mitigation.
🔹 TP/SL Areas
Users can enable take-profit/stop-loss areas. These are displayed upon a new signal formation, with an area starting from the mitigated FVG area average to this average plus/minus N ATRs, where N is determined by their respective multiplier settings.
Using a higher multiplier will return more distant areas from the price, requiring longer-term variations to be reached.
🔹 Trailing Stop Loss
A trailing-stop loss is included, increasing when the price makes a new higher high or lower low since the trailing has been set. Using a higher trailing stop multiplier will allow its initial position to be further away from the price, reducing its chances of being hit.
The trailing stop can be reset on "Every Signal", whether they are bullish or bearish, or only on an "Inverse Signal", which will reset the trailing when a signal of opposite bias is detected, this will preserve an existing trailing stop when a new signal of the same bias to the present one is detected.
🔶 DETAILS
Fair Value Gaps are ubiquitous to price action traders. These patterns arise when there exists a disparity between supply and demand. The action of price coming back and filling these imbalance areas is referred to as "mitigation" or "rebalancing".
"Instantaneous mitigation" refers to the event of price quickly mitigating a prior fair value gap, which in the case of this script is one bar after their creation. These events are indicative of a market more attentive to imbalances, and more willing to correct disparities in supply and demand.
If the market is particularly sensitive to imbalances correction then these can be excessively corrected, leading to further imbalances, highlighting a potential feedback process.
🔶 SETTINGS
FVG Width Filter: Filter out FVGs with thinner areas from returning a potential signal.
🔹 TP/SL
TP Area: Enable take-profit areas for new signals.
Multiplier: Control the distance from the take profit and the price, with higher values returning more distant TP's.
SL Area: Enable stop-loss areas for new signals.
Multiplier: Control the distance from the stop loss and the price, with higher values returning more distant SL's.
🔹 Trailing Stop
Reset Trailing Stop: Determines when the trailing stop is reset.
Multiplier: Controls the initial position of the trailing stop, with higher values returning more distant trailing stops.
Adaptive Trend Finder (log)In the dynamic landscape of financial markets, the Adaptive Trend Finder (log) stands out as an example of precision and professionalism. This advanced tool, equipped with a unique feature, offers traders a sophisticated approach to market trend analysis: the choice between automatic detection of the long-term or short-term trend channel.
Key Features:
1. Choice Between Long-Term or Short-Term Trend Channel Detection: Positioned first, this distinctive feature of the Adaptive Trend Finder (log) allows traders to customize their analysis by choosing between the automatic detection of the long-term or short-term trend channel. This increased flexibility adapts to individual trading preferences and changing market conditions.
2. Autonomous Trend Channel Detection: Leveraging the robust statistical measure of the Pearson coefficient, the Adaptive Trend Finder (log) excels in autonomously locating the optimal trend channel. This data-driven approach ensures objective trend analysis, reducing subjective biases, and enhancing overall precision.
3. Precision of Logarithmic Scale: A distinctive characteristic of our indicator is its strategic use of the logarithmic scale for regression channels. This approach enables nuanced analysis of linear regression channels, capturing the subtleties of trends while accommodating variations in the amplitude of price movements.
4. Length and Strength Visualization: Traders gain a comprehensive view of the selected trend channel, with the revelation of its length and quantification of trend strength. These dual pieces of information empower traders to make informed decisions, providing insights into both the direction and intensity of the prevailing trend.
In the demanding universe of financial markets, the Adaptive Trend Finder (log) asserts itself as an essential tool for traders, offering an unparalleled combination of precision, professionalism, and customization. Highlighting the choice between automatic detection of the long-term or short-term trend channel in the first position, this indicator uniquely caters to the specific needs of each trader, ensuring informed decision-making in an ever-evolving financial environment.
2Rsi buy & sell & candlesticks patterns in rsi[Trader's Journal]An Ingenious Trading Indicator: RSI, Japanese Candlesticks, and Buy/Sell Signals
The world of trading is a subtle game of analysis, where the smallest piece of information can make the difference between success and failure. In this perpetual quest to anticipate market movements, one indicator stands out: the Relative Strength Index (RSI), a powerful tool that measures the strength of price movements. However, RSI alone may not always suffice for informed trading decisions.
This is where our indicator comes into play, adding a new dimension to your analysis. The indicator skillfully combines RSI with Japanese candlesticks, those small candles rich in market movement information. The goal is clear: to generate buy and sell signals during trend reversals while keeping a keen eye on overbought and oversold zones.
RSI: Guardian of Extremes
The RSI is a basic tool that measures buying and selling pressure on an asset. It oscillates between 0 and 100, signaling overbought levels when the RSI exceeds 70 and oversold levels below 30. These extreme zones are often the stage for trend reversals, but timing is crucial.
Japanese Candlesticks: Messengers of the Market
Japanese candlesticks are more than just candles on a chart. They depict market emotions, reflecting the ongoing struggle between buyers and sellers. Trend reversals are typically heralded by specific candlestick patterns such as the Bearish Engulfing, Evening Star, or Inverted Hammer. These candlesticks act as powerful visual signals.
The Indicator in Action: Timing and Confirmation
When the RSI reaches the overbought zone (above 70) or oversold zone (below 30), our indicator is on alert. This is when vigilance is at its peak. However, buy and sell signals don't occur automatically. They await confirmation from Japanese candlesticks.
For a sell signal, the indicator awaits an exit from the overbought zone, followed by a bearish reversal candlestick. When these conditions are met, the sell signal is triggered. For a buy signal, the process is similar, but upon exiting the oversold zone and in the presence of a bullish candlestick.
The Elegance of the Combination
The beauty of this indicator lies in its ability to combine RSI analysis with the power of Japanese candlesticks. It doesn't just predict trend reversals, it does so elegantly, demanding visual confirmation, thus avoiding false signals.
As the market moves relentlessly, this indicator is your ally for making informed decisions. It reminds you that the wisdom of trading lies in combining different analytical tools to decipher the mysteries of the financial market. Envelop your trading strategies with this indicator, and witness how it can illuminate your path to success.
Open Interest Chart [LuxAlgo]The Open Interest Chart displays Commitments of Traders %change of futures open interest , with a unique circular plotting technique, inspired from this publication Periodic Ellipses .
🔶 USAGE
Open interest represents the total number of contracts that have been entered by market participants but have not yet been offset or delivered. This can be a direct indicator of market activity/liquidity, with higher open interest indicating a more active market.
Increasing open interest is highlighted in green on the circular plot, indicating money coming into the market, while decreasing open interests highlighted in red indicates money coming out of the market.
You can set up to 6 different Futures Open interest tickers for a quick follow up:
🔶 DETAILS
Circles are drawn, using plot() , with the functions createOuterCircle() (for the largest circle) and createInnerCircle() (for inner circles).
Following snippet will reload the chart, so the circles will remain at the right side of the chart:
if ta.change(chart.left_visible_bar_time ) or
ta.change(chart.right_visible_bar_time)
n := bar_index
Here is a snippet which will draw a 39-bars wide circle that will keep updating its position to the right.
//@version=5
indicator("")
n = bar_index
barsTillEnd = last_bar_index - n
if ta.change(chart.left_visible_bar_time ) or
ta.change(chart.right_visible_bar_time)
n := bar_index
createOuterCircle(radius) =>
var int end = na
var int start = na
var basis = 0.
barsFromNearestEdgeCircle = 0.
barsTillEndFromCircleStart = radius
startCylce = barsTillEnd % barsTillEndFromCircleStart == 0 // start circle
bars = ta.barssince(startCylce)
barsFromNearestEdgeCircle := barsTillEndFromCircleStart -1
basis := math.min(startCylce ? -1 : basis + 1 / barsFromNearestEdgeCircle * 2, 1) // 0 -> 1
shape = math.sqrt(1 - basis * basis)
rad = radius / 2
isOK = barsTillEnd <= barsTillEndFromCircleStart and barsTillEnd > 0
hi = isOK ? (rad + shape * radius) - rad : na
lo = isOK ? (rad - shape * radius) - rad : na
start := barsTillEnd == barsTillEndFromCircleStart ? n -1 : start
end := barsTillEnd == 0 ? start + radius : end
= createOuterCircle(40)
plot(h), plot(l)
🔶 LIMITATIONS
Due to the inability to draw between bars, from time to time, drawings can be slightly off.
Bar-replay can be demanding, since it has to reload on every bar progression. We don't recommend using this script on bar-replay. If you do, please choose the lowest speed and from time to time pause bar-replay for a second. You'll see the script gets reloaded.
🔶 SETTINGS
🔹 TICKERS
Toggle :
• Enabled -> uses the first column with a pre-filled list of Futures Open Interest tickers/symbols
• Disabled -> uses the empty field where you can enter your own ticker/symbol
Pre-filled list : the first column is filled with a list, so you can choose your open interest easily, otherwise you would see COT:088691_F_OI aka Gold Futures Open Interest for example.
If applicable, you will see 3 different COT data:
• COT: Legacy Commitments of Traders report data
• COT2: Disaggregated Commitments of Traders report data
• COT3: Traders in Financial Futures report data
Empty field : When needed, you can pick another ticker/symbol in the empty field at the right and disable the toggle.
Timeframe : Commitments of Traders (COT) data is tallied by the Commodity Futures Trading Commission (CFTC) and is published weekly. Therefore data won't change every day.
Default set TF is Daily
🔹 STYLE
From middle:
• Enabled (default): Drawings start from the middle circle -> towards outer circle is + %change , towards middle of the circle is - %change
• Disabled: Drawings start from the middle POINT of the circle, towards outer circle is + OR -
-> in both options, + %change will be coloured green , - %change will be coloured red .
-> 0 %change will be coloured blue , and when no data is available, this will be coloured gray .
Size circle : options tiny, small, normal, large, huge.
Angle : Only applicable if "From middle" is disabled!
-> sets the angle of the spike:
Show Ticker : Name of ticker, as seen in table, will be added to labels.
Text - fill
• Sets colour for +/- %change
Table
• Sets 2 text colours, size and position
Circles
• Sets the colour of circles, style can be changed in the Style section.
You can make it as crazy as you want:
Magic levelsIt is by far the simplest on chart presentation of Gann square of 9. It calculates the levels based on previous day closing. These levels usually acts as support and resistance.
Webhook Starter Kit [HullBuster]
Introduction
This is an open source strategy which provides a framework for webhook enabled projects. It is designed to work out-of-the-box on any instrument triggering on an intraday bar interval. This is a full featured script with an emphasis on actual trading at a brokerage through the TradingView alert mechanism and without requiring browser plugins.
The source code is written in a self documenting style with clearly defined sections. The sections “communicate” with each other through state variables making it easy for the strategy to evolve and improve. This is an excellent place for Pine Language beginners to start their strategy building journey. The script exhibits many Pine Language features which will certainly ad power to your script building abilities.
This script employs a basic trend follow strategy utilizing a forward pyramiding technique. Trend detection is implemented through the use of two higher time frame series. The market entry setup is a Simple Moving Average crossover. Positions exit by passing through conditional take profit logic. The script creates ten indicators including a Zscore oscillator to measure support and resistance levels. The indicator parameters are exposed through 47 strategy inputs segregated into seven sections. All of the inputs are equipped with detailed tool tips to help you get started.
To improve the transition from simulation to execution, strategy.entry and strategy.exit calls show enhanced message text with embedded keywords that are combined with the TradingView placeholders at alert time. Thereby, enabling a single JSON message to generate multiple execution events. This is genius stuff from the Pine Language development team. Really excellent work!
This document provides a sample alert message that can be applied to this script with relatively little modification. Without altering the code, the strategy inputs can alter the behavior to generate thousands of orders or simply a few dozen. It can be applied to crypto, stocks or forex instruments. A good way to look at this script is as a webhook lab that can aid in the development of your own endpoint processor, impress your co-workers and have hours of fun.
By no means is a webhook required or even necessary to benefit from this script. The setups, exits, trend detection, pyramids and DCA algorithms can be easily replaced with more sophisticated versions. The modular design of the script logic allows you to incrementally learn and advance this script into a functional trading system that you can be proud of.
Design
This is a trend following strategy that enters long above the trend line and short below. There are five trend lines that are visible by default but can be turned off in Section 7. Identified, in frequency order, as follows:
1. - EMA in the chart time frame. Intended to track price pressure. Configured in Section 3.
2. - ALMA in the higher time frame specified in Section 2 Signal Line Period.
3. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
4. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
5. - DEMA in the higher time frame specified in Section 2 Trend Line Period.
The Blue, Green and Orange lines are signal lines are on the same time frame. The time frame selected should be at least five times greater than the chart time frame. The Purple line represents the trend line for which prices above the line suggest a rising market and prices below a falling market. The time frame selected for the trend should be at least five times greater than the signal lines.
Three oscillators are created as follows:
1. Stochastic - In the chart time frame. Used to enter forward pyramids.
2. Stochastic - In the Trend period. Used to detect exit conditions.
3. Zscore - In the Signal period. Used to detect exit conditions.
The Stochastics are configured identically other than the time frame. The period is set in Section 2.
Two Simple Moving Averages provide the trade entry conditions in the form of a crossover. Crossing up is a long entry and down is a short. This is in fact the same setup you get when you select a basic strategy from the Pine editor. The crossovers are configured in Section 3. You can see where the crosses are occurring by enabling Show Entry Regions in Section 7.
The script has the capacity for pyramids and DCA. Forward pyramids are enabled by setting the Pyramid properties tab with a non zero value. In this case add on trades will enter the market on dips above the position open price. This process will continue until the trade exits. Downward pyramids are available in Crypto and Range mode only. In this case add on trades are placed below the entry price in the drawdown space until the stop is hit. To enable downward pyramids set the Pyramid Minimum Span In Section 1 to a non zero value.
This implementation of Dollar Cost Averaging (DCA) triggers off consecutive losses. Each loss in a run increments a sequence number. The position size is increased as a multiple of this sequence. When the position eventually closes at a profit the sequence is reset. DCA is enabled by setting the Maximum DCA Increments In Section 1 to a non zero value.
It should be noted that the pyramid and DCA features are implemented using a rudimentary design and as such do not perform with the precision of my invite only scripts. They are intended as a feature to stress test your webhook endpoint. As is, you will need to buttress the logic for it to be part of an automated trading system. It is for this reason that I did not apply a Martingale algorithm to this pyramid implementation. But, hey, it’s an open source script so there is plenty of room for learning and your own experimentation.
How does it work
The overall behavior of the script is governed by the Trading Mode selection in Section 1. It is the very first input so you should think about what behavior you intend for this strategy at the onset of the configuration. As previously discussed, this script is designed to be a trend follower. The trend being defined as where the purple line is predominately heading. In BiDir mode, SMA crossovers above the purple line will open long positions and crosses below the line will open short. If pyramiding is enabled add on trades will accumulate on dips above the entry price. The value applied to the Minimum Profit input in Section 1 establishes the threshold for a profitable exit. This is not a hard number exit. The conditional exit logic must be satisfied in order to permit the trade to close. This is where the effort put into the indicator calibration is realized. There are four ways the trade can exit at a profit:
1. Natural exit. When the blue line crosses the green line the trade will close. For a long position the blue line must cross under the green line (downward). For a short the blue must cross over the green (upward).
2. Alma / Linear Regression event. The distance the blue line is from the green and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 6 and relies on the period and length set in Section 2. A long position will exit on an upward thrust which exceeds the activation threshold. A short will exit on a downward thrust.
3. Exponential event. The distance the yellow line is from the blue and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 3 and relies on the period and length set in the same section.
4. Stochastic event. The purple line stochastic is used to measure overbought and over sold levels with regard to position exits. Signal line positions combined with a reading over 80 signals a long profit exit. Similarly, readings below 20 signal a short profit exit.
Another, optional, way to exit a position is by Bale Out. You can enable this feature in Section 1. This is a handy way to reduce the risk when carrying a large pyramid stack. Instead of waiting for the entire position to recover we exit early (bale out) as soon as the profit value has doubled.
There are lots of ways to implement a bale out but the method I used here provides a succinct example. Feel free to improve on it if you like. To see where the Bale Outs occur, enable Show Bale Outs in Section 7. Red labels are rendered below each exit point on the chart.
There are seven selectable Trading Modes available from the drop down in Section 1:
1. Long - Uses the strategy.risk.allow_entry_in to execute long only trades. You will still see shorts on the chart.
2. Short - Uses the strategy.risk.allow_entry_in to execute short only trades. You will still see long trades on the chart.
3. BiDir - This mode is for margin trading with a stop. If a long position was initiated above the trend line and the price has now fallen below the trend, the position will be reversed after the stop is hit. Forward pyramiding is available in this mode if you set the Pyramiding value in the Properties tab. DCA can also be activated.
4. Flip Flop - This is a bidirectional trading mode that automatically reverses on a trend line crossover. This is distinctively different from BiDir since you will get a reversal even without a stop which is advantageous in non-margin trading.
5. Crypto - This mode is for crypto trading where you are buying the coins outright. In this case you likely want to accumulate coins on a crash. Especially, when all the news outlets are talking about the end of Bitcoin and you see nice deep valleys on the chart. Certainly, under these conditions, the market will be well below the purple line. No margin so you can’t go short. Downward pyramids are enabled for Crypto mode when two conditions are met. First the Pyramiding value in the Properties tab must be non zero. Second the Pyramid Minimum Span in Section 1 must be non zero.
6. Range - This is a counter trend trading mode. Longs are entered below the purple trend line and shorts above. Useful when you want to test your webhook in a market where the trend line is bisecting the signal line series. Remember that this strategy is a trend follower. It’s going to get chopped out in a range bound market. By turning on the Range mode you will at least see profitable trades while stuck in the range. However, when the market eventually picks a direction, this mode will sustain losses. This range trading mode is a rudimentary implementation that will need a lot of improvement if you want to create a reliable switch hitter (trend/range combo).
7. No Trade. Useful when setting up the trend lines and the entry and exit is not important.
Once in the trade, long or short, the script tests the exit condition on every bar. If not a profitable exit then it checks if a pyramid is required. As mentioned earlier, the entry setups are quite primitive. Although they can easily be replaced by more sophisticated algorithms, what I really wanted to show is the diminished role of the position entry in the overall life of the trade. Professional traders spend much more time on the management of the trade beyond the market entry. While your trade entry is important, you can get in almost anywhere and still land a profitable exit.
If DCA is enabled, the size of the position will increase in response to consecutive losses. The number of times the position can increase is limited by the number set in Maximum DCA Increments of Section 1. Once the position breaks the losing streak the trade size will return the default quantity set in the Properties tab. It should be noted that the Initial Capital amount set in the Properties tab does not affect the simulation in the same way as a real account. In reality, running out of money will certainly halt trading. In fact, your account would be frozen long before the last penny was committed to a trade. On the other hand, TradingView will keep running the simulation until the current bar even if your funds have been technically depleted.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that the endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Webhook Integration
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. Being a strategy type script place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that my endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
Setup
The following steps provide a very brief set of instructions that will get you started on your first configuration. After you’ve gone through the process a couple of times, you won’t need these anymore. It’s really a simple script after all. I have several example configurations that I used to create the performance charts shown. I can share them with you if you like. Of course, if you’ve modified the code then these steps are probably obsolete.
There are 47 inputs divided into seven sections. For the most part, the configuration process is designed to flow from top to bottom. Handy, tool tips are available on every field to help get you through the initial setup.
Step 1. Input the Base Currency and Order Size in the Properties tab. Set the Pyramiding value to zero.
Step 2. Select the Trading Mode you intend to test with from the drop down in Section 1. I usually select No Trade until I’ve setup all of the trend lines, profit and stop levels.
Step 3. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Remember that the profit is taken as a conditional exit not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 4. Apply the appropriate value to the Tick Scalar field in Section 1. This value is used to remove the pipette from the price. You can enable the Summary Report in Section 7 to see the TradingView minimum tick size of the current chart.
Step 5. Apply the appropriate Price Normalizer value in Section 1. This value is used to normalize the instrument price for differential calculations. Basically, we want to increase the magnitude to significant digits to make the numbers more meaningful in comparisons. Though I have used many normalization techniques, I have always found this method to provide a simple and lightweight solution for less demanding applications. Most of the time the default value will be sufficient. The Tick Scalar and Price Normalizer value work together within a single calculation so changing either will affect all delta result values.
Step 6. Turn on the trend line plots in Section 7. Then configure Section 2. Try to get the plots to show you what’s really happening not what you want to happen. The most important is the purple trend line. Select an interval and length that seem to identify where prices tend to go during non-consolidation periods. Remember that a natural exit is when the blue crosses the green line.
Step 7. Enable Show Event Regions in Section 7. Then adjust Section 6. Blue background fills are spikes and red fills are plunging prices. These measurements should be hard to come by so you should see relatively few fills on the chart if you’ve set this up as intended. Section 6 includes the Zscore oscillator the state of which combines with the signal lines to detect statistically significant price movement. The Zscore is a zero based calculation with positive and negative magnitude readings. You want to input a reasonably large number slightly below the maximum amplitude seen on the chart. Both rise and fall inputs are entered as a positive real number. You can easily use my code to create a separate indicator if you want to see it in action. The default value is sufficient for most configurations.
Step 8. Turn off Show Event Regions and enable Show Entry Regions in Section 7. Then adjust Section 3. This section contains two parts. The entry setup crossovers and EMA events. Adjust the crossovers first. That is the Fast Cross Length and Slow Cross Length. The frequency of your trades will be shown as blue and red fills. There should be a lot. Then turn off Show Event Regions and enable Display EMA Peaks. Adjust all the fields that have the word EMA. This is actually the yellow line on the chart. The blue and red fills should show much less than the crossovers but more than event fills shown in Step 7.
Step 9. Change the Trading Mode to BiDir if you selected No Trades previously. Look on the chart and see where the trades are occurring. Make adjustments to the Minimum Profit and Stop Offset in Section 1 if necessary. Wider profits and stops reduce the trade frequency.
Step 10. Go to Section 4 and 5 and make fine tuning adjustments to the long and short side.
Example Settings
To reproduce the performance shown on the chart please use the following configuration: (Bitcoin on the Kraken exchange)
1. Select XBTUSD Kraken as the chart symbol.
2. On the properties tab set the Order Size to: 0.01 Bitcoin
3. On the properties tab set the Pyramiding to: 12
4. In Section 1: Select “Crypto” for the Trading Model
5. In Section 1: Input 2000 for the Minimum Profit
6. In Section 1: Input 0 for the Stop Offset (No Stop)
7. In Section 1: Input 10 for the Tick Scalar
8. In Section 1: Input 1000 for the Price Normalizer
9. In Section 1: Input 2000 for the Pyramid Minimum Span
10. In Section 1: Check mark the Position Bale Out
11. In Section 2: Input 60 for the Signal Line Period
12. In Section 2: Input 1440 for the Trend Line Period
13. In Section 2: Input 5 for the Fast Alma Length
14. In Section 2: Input 22 for the Fast LinReg Length
15. In Section 2: Input 100 for the Slow LinReg Length
16. In Section 2: Input 90 for the Trend Line Length
17. In Section 2: Input 14 Stochastic Length
18. In Section 3: Input 9 Fast Cross Length
19. In Section 3: Input 24 Slow Cross Length
20. In Section 3: Input 8 Fast EMA Length
21. In Section 3: Input 10 Fast EMA Rise NetChg
22. In Section 3: Input 1 Fast EMA Rise ROC
23. In Section 3: Input 10 Fast EMA Fall NetChg
24. In Section 3: Input 1 Fast EMA Fall ROC
25. In Section 4: Check mark the Long Natural Exit
26. In Section 4: Check mark the Long Signal Exit
27. In Section 4: Check mark the Long Price Event Exit
28. In Section 4: Check mark the Long Stochastic Exit
29. In Section 5: Check mark the Short Natural Exit
30. In Section 5: Check mark the Short Signal Exit
31. In Section 5: Check mark the Short Price Event Exit
32. In Section 5: Check mark the Short Stochastic Exit
33. In Section 6: Input 120 Rise Event NetChg
34. In Section 6: Input 1 Rise Event ROC
35. In Section 6: Input 5 Min Above Zero ZScore
36. In Section 6: Input 120 Fall Event NetChg
37. In Section 6: Input 1 Fall Event ROC
38. In Section 6: Input 5 Min Below Zero ZScore
In this configuration we are trading in long only mode and have enabled downward pyramiding. The purple trend line is based on the day (1440) period. The length is set at 90 days so it’s going to take a while for the trend line to alter course should this symbol decide to node dive for a prolonged amount of time. Your trades will still go long under those circumstances. Since downward accumulation is enabled, your position size will grow on the way down.
The performance example is Bitcoin so we assume the trader is buying coins outright. That being the case we don’t need a stop since we will never receive a margin call. New buy signals will be generated when the price exceeds the magnitude and speed defined by the Event Net Change and Rate of Change.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
CFTC RULE 4.41
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
Realtime Delta Volume Action [LucF]█ OVERVIEW
This indicator displays on-chart, realtime, delta volume and delta ticks information for each bar. It aims to provide traders who trade price action on small timeframes with volume and tick information gathered as updates come in the chart's feed. It builds its own candles, which are optimized to display volume delta information. It only works in realtime.
█ WARNING
This script is intended for traders who can already profitably trade discretionary on small timeframes. The high cost in fees and the excitement of trading at small timeframes have ruined many newcomers to trading. While trading at small timeframes can work magic for adrenaline junkies in search of thrills rather than profits, I DO NOT recommend it to most traders. Only seasoned discretionary traders able to factor in the relatively high cost of such a trading practice can ever hope to take money out of markets in that type of environment, and I would venture they account for an infinitesimal percentage of traders. If you are a newcomer to trading, AVOID THIS TOOL AT ALL COSTS — unless you are interested in experimenting with the interpretation of volume delta combined with price action. No tool currently available on TradingView provides this type of close monitoring of volume delta information, but if you are not already trading small timeframes profitably, please do not let yourself become convinced that it is the missing piece you needed. Avoid becoming a sucker who only contributes by providing liquidity to markets.
The information calculated by the indicator cannot be saved on charts, nor can it be recalculated from historical bars.
If you refresh the chart or restart the script, the accumulated information will be lost.
█ FEATURES
Key values
The script displays the following key values:
• Above the bar: ticks delta (DT), the total ticks for the bar, the percentage of total ticks that DT represents (DT%)
• Below the bar: volume delta (DV), the total volume for the bar, the percentage of total volume that DV represents (DV%).
Candles
Candles are composed of four components:
1. A top shaped like this: ┴, and a bottom shaped like this: ┬ (picture a normal Japanese candle without a body outline; the values used are the same).
2. The candle bodies are filled with the bull/bear color representing the polarity of DV. The intensity of the body's color is determined by the DV% value.
When DV% is 100, the intensity of the fill is brightest. This plays well in interpreting the body colors, as the smaller, less significant DV% values will produce less vivid colors.
3. The bright-colored borders of the candle bodies occur on "strong bars", i.e., bars meeting the criteria selected in the script's inputs, which you can configure.
4. The POC line is a small horizontal line that appears to the left of the candle. It is the volume-weighted average of all price updates during the bar.
Calculations
This script monitors each realtime update of the chart's feed. It first determines if price has moved up or down since the last update. The polarity of the price change, in turn, determines the polarity of the volume and tick for that specific update. If price does not move between consecutive updates, then the last known polarity is used. Using this method, we can calculate a running volume delta and ticks delta for the bar, which becomes the bar's final delta values when the bar closes (you can inspect values of elapsed realtime bars in the Data Window or the indicator's values). Note that these values will all reset if the script re-executes because of a change in inputs or a chart refresh.
While this method of calculating is not perfect, it is by far the most precise way of calculating volume delta available on TradingView at the moment. Calculating more precise results would require scripts to have access to tick data from any chart timeframe. Charts at seconds timeframes do use exchange/broker ticks when the feeds you are using allow for it, and this indicator will run on them, but tick data is not yet available from higher timeframes. Also, note that the method used in this script is far superior to the intrabar inspection technique used on historical bars in my other "Delta Volume" indicators. This is because volume and ticks delta here are calculated from many more realtime updates than the available intrabars in history. Unfortunately, the calculation method used here cannot be used on historical bars, where intrabar inspection remains, in my opinion, the optimal method.
Inputs
The script's inputs provide many ways to personalize all the components: what is displayed, the colors used to display the information, and the marker conditions. Tooltips provide details for many of the inputs; I leave their exploration to you.
Markers
Markers provide a way for you to identify the points of interest of your choice on the chart. You control the set of conditions that trigger each of the five available markers.
You select conditions by entering, in the field for each marker, the number of each condition you want to include, separated by a comma. The conditions are:
1 — The bar's polarity is up/dn.
2 — `close` rises/falls ("rises" means it is higher than its value on the previous bar).
3 — DV's polarity is +/–.
4 — DV% rises (↕).
5 — POC rises/falls.
6 — The quantity of realtime updates rises (↕).
7 — DV > limit (You specify the limit in the inputs. Since DV can be +/–, DV– must be less than `–limit` for a short marker).
8 — DV% > limit (↕).
9 — DV+ rises for a long marker, DV– falls for a short.
10 — Consecutive DV+/DV– on two bars.
11 — Total volume rises (↕).
12 — DT's polarity is +/–.
13 — DT% rises (↕).
14 — DT+ rises for a long marker, DT– falls for a short.
Conditions showing the (↕) symbol do not have symmetrical states; they act more like filters. If you only include condition 4 in a marker's setup, for example, both long and short markers will trigger on bars where DV% rises. To trigger only long or short markers, you must add a condition providing directional differentiation, such as conditions 1 or 2. Accordingly, you would enter "1,4" or "2,4".
For a marker to trigger, ALL the conditions you specified for it must be met. Long markers appear on the chart as "Mx▲" signs under the values displayed below candles. Short markers display "Mx▼" over the number of updates displayed above candles. The marker's number will replace the "x" in "Mx▲". The script loads with five markers that will not trigger because no conditions are associated with them. To activate markers, you will need to select and enter the set of conditions you require for each one.
Alerts
You can configure alerts on this script. They will trigger whenever one of the configured markers triggers. Alerts do not repaint, so they trigger at the bar's close—which is also when the markers will appear.
█ HOW TO USE IT
As a rule, I do not prescribe expected use of my indicators, as traders have proved to be much more creative than me in using them. Additionally, I tend to think that if you expect detailed recommendations from me to be able to use my indicators, it's a sign you are in a precarious situation and should go back to the drawing board and master the necessary basics that will allow you to explore and decide for yourself if my indicators can be useful to you, and how you will use them. I will make an exception for this thing, as it presents fairly novel information. I will use simple logic to surmise potential uses, as contrary to most of my other indicators, I have NOT used this one to actually trade. Markets have a way of throwing wrenches in our seemingly bullet-proof rationalizing, so drive cautiously and please forgive me if the pointers I share here don't pan out.
The first thing to do is to disable your normal bars. You can do this by clicking on the eye icon that appears when you hover over the symbol's name in the upper-left corner of your chart.
The absolute value and polarity of DV mean little without perspective; that's why I include both total volume for the bar and the percentage that DV represents of that total volume. I interpret a low DV% value as indecision. If you share that opinion, you could, let's say, configure one of the markers on "DV% > 80%", for example (to do so you would enter "8" in the condition field of any marker, and "80" in the limit field for condition 8, below the marker conditions).
I also like to analyze price action on the bar with DV%. Small DV% values should often produce small candle bodies. If a small DV% value occurs on a bar with much movement and high volume, I'm thinking "tough battle with potential explosive power when one side wins". Conversely, large bodies with high DV% mean that large volume is breaching through multiple levels, or that nobody is suddenly willing to take the other side of a normal volume of trades.
I find the POC lines really interesting. First, they tell us the price point where the most significant action (taking into account both price occurrences AND volume) during the bar occurred. Second, they can be useful when compared against past values. Third, their color helps us in figuring out which ones are the most significant. Unsurprisingly, bunches of orange POCs tend to appear in consolidation zones, in pauses, and before reversals. It may be useful to often focus more on POC progression than on `close` values. This is not to say that OHLC values are not useful; looking, as is customary, for higher highs or lower lows, or for repeated tests of precise levels can of course still be useful. I do like how POCs add another dimension to chart readings.
What should you do with the ticks delta above bars? Old-time ticker tape readers paid attention to the sounds coming from it (the "ticker" moniker actually comes from the sound they made). They knew activity was picking up when the frequency of the "ticks" increased. My thinking is that the total number of ticks will help you in the same way, since increasing updates usually mean growing interest—and thus perhaps price movement, as increasing volatility or volume would lead us to surmise. Ticks delta can help you figure out when proportionally large, random orders come in from traders with other perspectives than the short-term price action you are typically working with when you use this tool. Just as volume delta, ticks delta are one more informational component that can help you confirm convergence when building your opinions on price action.
What are strong bars? They are an attempt to identify significance. They are like a default marker, except that instead of displaying "Mx▲/▼" below/above the bar, the candle's body is outlined in bright bull/bear color when one is detected. Strong bars require a respectable amount of conditions to be met (you can see and re-configure them in the inputs). Think of them as pushes rather than indications of an upcoming, strong and multi-bar move. Pushes do, for sure, often occur at the beginning of strong trends. You will often see a few strong bars occur at 2-3 bar intervals at the beginning or middle of trends. But they also tend to occur at tops/bottoms, which makes their interpretation problematic. Another pattern that you will see quite frequently is a final strong bar in the direction of the trend, followed a few bars later by another strong bar in the reverse direction. My summary analyses seemed to indicate these were perhaps good points where one could make a bet on an early, risky reversal entry.
The last piece of information displayed by the indicator is the color of the candle bodies. Three possible colors are used. Bull/bear is determined by the polarity of DV, but only when the bar's polarity matches that of DV. When it doesn't, the color is the divergence color (orange, by default). Whichever color is used for the body, its intensity is determined by the DV% value. Maximum intensity occurs when DV%=100, so the more significant DV% values generate more noticeable colors. Body colors can be useful when looking to confirm the convergence of other components. The visual effect this creates hopefully makes it easier to detect patterns on the chart.
One obvious methodology that comes to mind to trade with this tool would be to use another indicator like Technical Ratings at a higher timeframe to identify the larger context's trend, and then use this tool to identify entries for short-term trades in that direction.
█ NOTES AND RAMBLINGS
Instant Calculations
This indicator uses instant values calculated on the bar only. No moving averages or calculations involving historical periods are used. The only exception to this rule is in some of the marker conditions like "Two consecutive DV+ values", where information from the previous bar is used.
Trading Small vs Long Timeframes
I never trade discretionary at the 5sec–5min timeframes this indicator was designed to be used with; I trade discretionary at 1D, 1W and 1M timeframes, and let systems trade at smaller timeframes. The higher the timeframe you trade at, the fewer fees you will pay because you trade less and are not churning trading volume, as is inevitable at smaller timeframes. Trading at higher timeframes is also a good way to gain an instant edge on most of the trading crowd that has its nose to the ground and often tends to forget the big picture. It also makes for a much less demanding trading practice, where you have lots of time to research and build your long-term opinions on potential future outcomes. While the future is always uncertain, I believe trades riding on long-term trends have stronger underlying support from the reality outside markets.
To traders who will ask why I publish an indicator designed for small timeframes, let me say that my main purpose here is to showcase what can be done with Pine. I often see comments by coders who are obviously not aware of what Pine is capable of in 2021. Since its humble beginnings seven years ago, Pine has grown and become a serious programming language. TradingView's growing popularity and its ongoing commitment to keep Pine accessible to newcomers to programming is gradually making Pine more and more of a standard in indicator and strategy programming. The technical barriers to entry for traders interested in owning their trading practice by developing their personal tools to trade have never been so low. I am also publishing this script because I value volume delta information, and I present here what I think is an original way of analyzing it.
Performance
The script puts a heavy load on the Pine runtime and the charting engine. After running the script for a while, you will often notice your chart becoming less responsive, and your chart tab can take longer to activate when you go back to it after using other tabs. That is the reason I encourage you to set the number of historical values displayed on bars to the minimum that meets your needs. When your chart becomes less responsive because the script has been running on it for many hours, refreshing the browser tab will restart everything and bring the chart's speed back up. You will then lose the information displayed on elapsed bars.
Neutral Volume
This script represents a departure from the way I have previously calculated volume delta in my scripts. I used the notion of "neutral volume" when inspecting intrabar timeframes, for bars where price did not move. No longer. While this had little impact when using intrabar inspection because the minimum usable timeframe was 1min (where bars with zero movement are relatively infrequent), a more precise way was required to handle realtime updates, where multiple consecutive prices often have the same value. This will usually happen whenever orders are unable to move across the bid/ask levels, either because of slow action or because a large-volume bid/ask level is taking time to breach. In either case, the proper way to calculate the polarity of volume delta for those updates is to use the last known polarity, which is how I calculate now.
The Order Book
Without access to the order book's levels (the depth of market), we are limited to analyzing transactions that come in the TradingView feed for the chart. That does not mean the volume delta information calculated this way is irrelevant; on the contrary, much of the information calculated here is not available in trading consoles supplied by exchanges/brokers. Yet it's important to realize that without access to the order book, you are forfeiting the valuable information that can be gleaned from it. The order book's levels are always in movement, of course, and some of the information they contain is mere posturing, i.e., attempts to influence the behavior of other players in the market by traders/systems who will often remove their orders when price comes near their order levels. Nonetheless, the order book is an essential tool for serious traders operating at intraday timeframes. It can be used to time entries/exits, to explain the causes of particular price movements, to determine optimal stop levels, to get to know the traders/systems you are betting against (they tend to exhibit behavioral patterns only recognizable through the order book), etc. This tool in no way makes the order book less useful; I encourage all intraday traders to become familiar with it and avoid trading without one.
Theil–Sen EstimatorThe Theil-Sen estimator is a nonparametric statistics method for robustly fitting a regression line to sample points (1,2).
As stated in the Wikipedia article (3), the method is " the most popular nonparametric technique for estimating a linear trend " in the applied sciences due to its robustness to outliers and limited assumptions regarding measurement errors.
Relation with other Methods
The Theil-Sen estimator can be significantly more accurate than simple linear regression (least squares) for skewed and heteroskedastic data.
Method Description
The script computes all the slopes between pairs of points and takes the median as the estimate of the regression slope, m . Subsequently, the intercept, b , is determined from the sample points as the median of y(i) − m x(i) values. The regression line in the slope–intercept form, y = m x + b , is then plotted along with the calculated prediction interval (estimated by means of the root-mean-square error).
I have added two options for how to handle pairs of points:
Method == "All" to use the slopes of all pairs of points;
Method == "Random" to use the slopes of randomly generated pairs of points.
The random choice of the pairs of points is based on the Wichmann–Hill is a pseudorandom number generator.
The reason for introducing the "Random" method is that the calculation of the median involves sorting the array of slopes (the size of N*(N-1)/2, where N is the number of sample points). This is a computationally demanding procedure, which runs into the limit on the cycle computation time (200 ms) set in TradingView. Therefore, the "All" method works only with Length < 50.
Also note that the number of lookback points is limited by by the maximum array size allowed in TradingView.
Literature
1. Sen, P. K. (1968) "Estimates of the regression coefficient based on Kendall's tau." JASA, 1379-1389.
2. Theil, H. (1950) "A rank-invariant method of linear and polynomial regression analysis." Reprinted in 1992 in Henri Theil’s contributions to economics and econometrics, Springer, 345-381.
3. en.wikipedia.org
Waindrops [Makit0]█ OVERALL
Plot waindrops (custom volume profiles) on user defined periods, for each period you get high and low, it slices each period in half to get independent vwap, volume profile and the volume traded per price at each half.
It works on intraday charts only, up to 720m (12H). It can plot balanced or unbalanced waindrops, and volume profiles up to 24H sessions.
As example you can setup unbalanced periods to get independent volume profiles for the overnight and cash sessions on the futures market, or 24H periods to get the full session volume profile of EURUSD
The purpose of this indicator is twofold:
1 — from a Chartist point of view, to have an indicator which displays the volume in a more readable way
2 — from a Pine Coder point of view, to have an example of use for two very powerful tools on Pine Script:
• the recently updated drawing limit to 500 (from 50)
• the recently ability to use drawings arrays (lines and labels)
If you are new to Pine Script and you are learning how to code, I hope you read all the code and comments on this indicator, all is designed for you,
the variables and functions names, the sometimes too big explanations, the overall structure of the code, all is intended as an example on how to code
in Pine Script a specific indicator from a very good specification in form of white paper
If you wanna learn Pine Script form scratch just start HERE
In case you have any kind of problem with Pine Script please use some of the awesome resources at our disposal: USRMAN , REFMAN , AWESOMENESS , MAGIC
█ FEATURES
Waindrops are a different way of seeing the volume and price plotted in a chart, its a volume profile indicator where you can see the volume of each price level
plotted as a vertical histogram for each half of a custom period. By default the period is 60 so it plots an independent volume profile each 30m
You can think of each waindrop as an user defined candlestick or bar with four key values:
• high of the period
• low of the period
• left vwap (volume weighted average price of the first half period)
• right vwap (volume weighted average price of the second half period)
The waindrop can have 3 different colors (configurable by the user):
• GREEN: when the right vwap is higher than the left vwap (bullish sentiment )
• RED: when the right vwap is lower than the left vwap (bearish sentiment )
• BLUE: when the right vwap is equal than the left vwap ( neutral sentiment )
KEY FEATURES
• Help menu
• Custom periods
• Central bars
• Left/Right VWAPs
• Custom central bars and vwaps: color and pixels
• Highly configurable volume histogram: execution window, ticks, pixels, color, update frequency and fine tuning the neutral meaning
• Volume labels with custom size and color
• Tracking price dot to be able to see the current price when you hide your default candlesticks or bars
█ SETTINGS
Click here or set any impar period to see the HELP INFO : show the HELP INFO, if it is activated the indicator will not plot
PERIOD SIZE (max 2880 min) : waindrop size in minutes, default 60, max 2880 to allow the first half of a 48H period as a full session volume profile
BARS : show the central and vwap bars, default true
Central bars : show the central bars, default true
VWAP bars : show the left and right vwap bars, default true
Bars pixels : width of the bars in pixels, default 2
Bars color mode : bars color behavior
• BARS : gets the color from the 'Bars color' option on the settings panel
• HISTOGRAM : gets the color from the Bearish/Bullish/Neutral Histogram color options from the settings panel
Bars color : color for the central and vwap bars, default white
HISTOGRAM show the volume histogram, default true
Execution window (x24H) : last 24H periods where the volume funcionality will be plotted, default 5
Ticks per bar (max 50) : width in ticks of each histogram bar, default 2
Updates per period : number of times the histogram will update
• ONE : update at the last bar of the period
• TWO : update at the last bar of each half period
• FOUR : slice the period in 4 quarters and updates at the last bar of each of them
• EACH BAR : updates at the close of each bar
Pixels per bar : width in pixels of each histogram bar, default 4
Neutral Treshold (ticks) : delta in ticks between left and right vwaps to identify a waindrop as neutral, default 0
Bearish Histogram color : histogram color when right vwap is lower than left vwap, default red
Bullish Histogram color : histogram color when right vwap is higher than left vwap, default green
Neutral Histogram color : histogram color when the delta between right and left vwaps is equal or lower than the Neutral treshold, default blue
VOLUME LABELS : show volume labels
Volume labels color : color for the volume labels, default white
Volume Labels size : text size for the volume labels, choose between AUTO, TINY, SMALL, NORMAL or LARGE, default TINY
TRACK PRICE : show a yellow ball tracking the last price, default true
█ LIMITS
This indicator only works on intraday charts (minutes only) up to 12H (720m), the lower chart timeframe you can use is 1m
This indicator needs price, time and volume to work, it will not work on an index (there is no volume), the execution will not be allowed
The histogram (volume profile) can be plotted on 24H sessions as limit but you can plot several 24H sessions
█ ERRORS AND PERFORMANCE
Depending on the choosed settings, the script performance will be highly affected and it will experience errors
Two of the more common errors it can throw are:
• Calculation takes too long to execute
• Loop takes too long
The indicator performance is highly related to the underlying volatility (tick wise), the script takes each candlestick or bar and for each tick in it stores the price and volume, if the ticker in your chart has thousands and thousands of ticks per bar the indicator will throw an error for sure, it can not calculate in time such amount of ticks.
What all of that means? Simply put, this will throw error on the BITCOIN pair BTCUSD (high volatility with tick size 0.01) because it has too many ticks per bar, but lucky you it will work just fine on the futures contract BTC1! (tick size 5) because it has a lot less ticks per bar
There are some options you can fine tune to boost the script performance, the more demanding option in terms of resources consumption is Updates per period , by default is maxed out so lowering this setting will improve the performance in a high way.
If you wanna know more about how to improve the script performance, read the HELP INFO accessible from the settings panel
█ HOW-TO SETUP
The basic parameters to adjust are Period size , Ticks per bar and Pixels per bar
• Period size is the main setting, defines the waindrop size, to get a better looking histogram set bigger period and smaller chart timeframe
• Ticks per bar is the tricky one, adjust it differently for each underlying (ticker) volatility wise, for some you will need a low value, for others a high one.
To get a more accurate histogram set it as lower as you can (min value is 1)
• Pixels per bar allows you to adjust the width of each histogram bar, with it you can adjust the blank space between them or allow overlaping
You must play with these three parameters until you obtain the desired histogram: smoother, sharper, etc...
These are some of the different kind of charts you can setup thru the settings:
• Balanced Waindrops (default): charts with waindrops where the two halfs are of same size.
This is the default chart, just select a period (30m, 60m, 120m, 240m, pick your poison), adjust the histogram ticks and pixels and watch
• Unbalanced Waindrops: chart with waindrops where the two halfs are of different sizes.
Do you trade futures and want to plot a waindrop with the first half for the overnight session and the second half for the cash session? you got it;
just adjust the period to 1860 for any CME ticker (like ES1! for example) adjust the histogram ticks and pixels and watch
• Full Session Volume Profile: chart with waindrops where only the first half plots.
Do you use Volume profile to analize the market? Lucky you, now you can trick this one to plot it, just try a period of 780 on SPY, 2760 on ES1!, or 2880 on EURUSD
remember to adjust the histogram ticks and pixels for each underlying
• Only Bars: charts with only central and vwap bars plotted, simply deactivate the histogram and volume labels
• Only Histogram: charts with only the histogram plotted (volume profile charts), simply deactivate the bars and volume labels
• Only Volume: charts with only the raw volume numbers plotted, simply deactivate the bars and histogram
If you wanna know more about custom full session periods for different asset classes, read the HELP INFO accessible from the settings panel
EXAMPLES
Full Session Volume Profile on MES 5m chart:
Full Session Unbalanced Waindrop on MNQ 2m chart (left side Overnight session, right side Cash Session):
The following examples will have the exact same charts but on four different tickers representing a futures contract, a forex pair, an etf and a stock.
We are doing this to be able to see the different parameters we need for plotting the same kind of chart on different assets
The chart composition is as follows:
• Left side: Volume Labels chart (period 10)
• Upper Right side: Waindrops (period 60)
• Lower Right side: Full Session Volume Profile
The first example will specify the main parameters, the rest of the charts will have only the differences
MES :
• Left: Period size: 10, Bars: uncheck, Histogram: uncheck, Execution window: 1, Ticks per bar: 2, Updates per period: EACH BAR,
Pixels per bar: 4, Volume labels: check, Track price: check
• Upper Right: Period size: 60, Bars: check, Bars color mode: HISTOGRAM, Histogram: check, Execution window: 2, Ticks per bar: 2,
Updates per period: EACH BAR, Pixels per bar: 4, Volume labels: uncheck, Track price: check
• Lower Right: Period size: 2760, Bars: uncheck, Histogram: check, Execution window: 1, Ticks per bar: 1, Updates per period: EACH BAR,
Pixels per bar: 2, Volume labels: uncheck, Track price: check
EURUSD :
• Upper Right: Ticks per bar: 10
• Lower Right: Period size: 2880, Ticks per bar: 1, Pixels per bar: 1
SPY :
• Left: Ticks per bar: 3
• Upper Right: Ticks per bar: 5, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 2, Pixels per bar: 2
AAPL :
• Left: Ticks per bar: 2
• Upper Right: Ticks per bar: 6, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 1, Pixels per bar: 2
█ THANKS TO
PineCoders for all they do, all the tools and help they provide and their involvement in making a better community
scarf for the idea of coding a waindrops like indicator, I did not know something like that existed at all
All the Pine Coders, Pine Pros and Pine Wizards, people who share their work and knowledge for the sake of it and helping others, I'm very grateful indeed
I'm learning at each step of the way from you all, thanks for this awesome community;
Opensource and shared knowledge: this is the way! (said with canned voice from inside my helmet :D)
█ NOTE
This description was formatted following THIS guidelines
═════════════════════════════════════════════════════════════════════════
I sincerely hope you enjoy reading and using this work as much as I enjoyed developing it :D
GOOD LUCK AND HAPPY TRADING!
Voss Predictor (A Peek Into the Future) - Dr. John EhlersI have been sitting on this for over a year, but I now present this "Voss Predictive Filter" multicator employing PSv4.0 upon initial release, originally formulated by the great and empowering Dr. John Ehlers for TASC - August 2019 Traders Tips. This is a slightly modified version of the original indicator John Ehlers designed. My improved implementation is an all-in-one combination of three indicators, consisting of Ehlers' 2-pole bandpass filter, fed into the Voss predictor, and my Correlation Color. I also purposefully attempted to make this indicator work on both "Light" and "Dark" charts equally well.
You can search for this indicator's white paper, entitled "A PEEK INTO THE FUTURE By John Ehlers", on his site in the educational reference section. It's VERY important that you fully grasp how this indicator works and when it doesn't during trending price movements. According to "TV House Rules", I can't link directly to his white paper on his web site. Technically he's a vendor, even though it has been divulged to me, that he is intending to retire after his last and final wØℾk$#Øp, where he is publicly disseminating the bulk of his unpublished proprietary code that drives his other website VERY SOON.
I love John Ehlers in a respectfully appreciative manner and he is my hero in life! I simply don't revel about pretended celebrities and supposed rock stars. I will never be able to adequately explain to you how much he has influenced me AND this website as it currently exists AND what is in store for the future of the ever evolving "Power of Pine". His inspiring legacy of code poetry shall forever be immortally enshrined here on TV and influence it.
Back to the topic of interest, this script originating from John Ehlers' mind... This indicator helps to anticipate cyclic turning points via negative group delay. It is NOT a predictive crystal ball. Do not become cluelessly disillusioned by it's title. I need to explain.
For example, this indicator could not have anticipated that the bold faced lie of "15 Days to Slow the Spread" of the CHImeravirus "plandemic" in the USA, would turn into our factual reality of multi state mandated orders demanding months of unconstitutional prison cell styled lockdowns with closures and the absurd criminalization of not wearing a mouth mask made from underwear while not being evidently ill, additionally combined with 24/7 black magick mass hypnosis spoon feeding non-scientific fear based psychological propaganda from the world's "finest" epidemiological data analysts and misleaders, eventually decimating the world's markets into zombie economies with abhorrent results of long term massive unemployment and financial hardship on a chart scale never before witnessed. Yep, it's NOT capable of predetermining any of that. I just wanted to make that very clear by example in a metaphorical manner many people can relate to concerning Voss' ability to anticipate.
The indicator consists of a bandpass filter coupled to the Voss predictor. Also, one thing about the Voss predictor, it can catch minute turning points or even false ones as explained in the white paper. So... I included my Correlation Color as a fitting companion to aid you in filtering out false signals during trending price movements. The Voss Predictive Filter should never be used alone, be forewarned!
Features List Includes:
Dark Background - Easily disabled in indicator Settings->Style for "Light" charts or with Pine commenting
AND a few more... Why list them, when you have the source code to explore!
When available time provides itself, I will consider your inquiries, thoughts, and concepts presented below in the comments section, should you have any questions or comments regarding this indicator. When my indicators achieve more prevalent use by TV members , I may implement more ideas when they present themselves as worthy additions. Have a profitable future everyone!
Example: Monte Carlo SimulationExperimental:
Example execution of Monte Carlo Simulation applied to the markets(this is my interpretation of the algo so inconsistencys may appear).
note:
the algorithm is very demanding so performance is limited.
[PX] Exhaustion LevelHello guys,
I love to play around with different methods for detecting support and resistance level. So today here is a new approach, which could be interesting to a few of you. I call it exhaustion level.
I'll give a brief introduction on how the indicator works and leave the testing/applying to you.
How does it work?
The method is basically very simple. The indicator constantly keeps track of the difference between the current close and the VWAP. The detected value will then be normalized and therefore put into comparison to it's previous "n" candles. (You decide yourself which value will be used for "n" by setting the "Length" -parameter in the settings tab.)
Once the normalized value equals "1", the price movement is considered to be somewhat overheated and the indicator starts plotting a level at the current high. The level will continually change until the movement goes the opposite way. Then it will settle and change its color.
The same approach takes place when the normalized value reaches "0", this time plotting a level at the low.
I hope some of you will find it useful and if so, please leave a " like " :)
Have fun, happy trading and merry Christmas :)))
Smart Money Structure█████████████████████████████████████████████████████████████████████████████
█ SMART MONEY STRUCTURE | SMS Pro
█ Institutional Order Flow & Liquidity Zones
█ by @scalping-algo
█████████████████████████████████████████████████████████████████████████████
📋 OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator automatically detects and plots Smart Money Concepts (SMC)
including Break of Structure (BOS), Demand & Supply Zones, and Flip Zones.
Perfect for traders who follow institutional order flow and price action.
🎯 INDICATOR COMPONENTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚡ BOS (Break of Structure)
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
• Bullish BOS: Price breaks above previous swing high → Trend shift UP
• Bearish BOS: Price breaks below previous swing low → Trend shift DOWN
✦ How to use:
→ Wait for BOS confirmation before entering trades
→ Bullish BOS = Look for long entries
→ Bearish BOS = Look for short entries
→ Combine with zones for high-probability setups
🟦 DEMAND ZONE (Teal Box)
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
• Last bearish candle before a bullish BOS
• Institutional buying area / Unfilled orders
✦ How to use:
→ Wait for price to retrace into the zone
→ Look for bullish rejection / confirmation candle
→ Enter LONG with stop below the zone
→ Target: Previous high or next supply zone
🟪 SUPPLY ZONE (Purple Box)
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
• Last bullish candle before a bearish BOS
• Institutional selling area / Unfilled orders
✦ How to use:
→ Wait for price to retrace into the zone
→ Look for bearish rejection / confirmation candle
→ Enter SHORT with stop above the zone
→ Target: Previous low or next demand zone
🔵 FLIP+ / MIT+ (Cyan Box)
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
• FLIP+: Old supply zone that flipped to demand (breaker block)
• MIT+: Mitigation zone - area where price may return to rebalance
✦ How to use:
→ Stronger than regular demand zones
→ Price often reacts sharply at flip zones
→ Great for continuation trades after BOS
→ Enter LONG when price taps the zone
🔴 FLIP- / MIT- (Pink Box)
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
• FLIP-: Old demand zone that flipped to supply (breaker block)
• MIT-: Mitigation zone - area where price may return to rebalance
✦ How to use:
→ Stronger than regular supply zones
→ Price often reacts sharply at flip zones
→ Great for continuation trades after BOS
→ Enter SHORT when price taps the zone
📐 STRUCTURE LINES (Gray Dashed)
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
• Connects swing highs and lows
• Shows market structure and trend direction
✦ How to use:
→ Upward sloping = Bullish structure
→ Downward sloping = Bearish structure
→ Trade in the direction of structure
📊 TRADING STRATEGY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LONG SETUP:
┌─────────────────────────────────────────┐
│ 1. Wait for Bullish ⚡ BOS │
│ 2. Mark the DEMAND or FLIP+ zone │
│ 3. Wait for price to retrace to zone │
│ 4. Enter on bullish confirmation │
│ 5. Stop loss: Below the zone │
│ 6. Take profit: Next SUPPLY zone │
└─────────────────────────────────────────┘
SHORT SETUP:
┌─────────────────────────────────────────┐
│ 1. Wait for Bearish ⚡ BOS │
│ 2. Mark the SUPPLY or FLIP- zone │
│ 3. Wait for price to retrace to zone │
│ 4. Enter on bearish confirmation │
│ 5. Stop loss: Above the zone │
│ 6. Take profit: Next DEMAND zone │
└─────────────────────────────────────────┘
⚙️ SETTINGS GUIDE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Structure Length (default: 9)
└─ Higher = Less signals, stronger zones
└─ Lower = More signals, more noise
└─ Recommended: 7-14 depending on timeframe
• Confirmation Factor (default: 0.33)
└─ Filters out weak structure breaks
└─ Higher = More confirmation needed
└─ Lower = Earlier signals
• Auto-Remove Broken Zones
└─ ON: Removes zones when price breaks through
└─ OFF: Keeps all zones visible
💡 PRO TIPS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ Use higher timeframes (4H, Daily) for stronger zones
✓ Combine with volume analysis for confirmation
✓ FLIP zones are generally stronger than regular zones
✓ Fresh (untested) zones have higher probability
✓ Multiple timeframe analysis = Higher accuracy
✓ Don't trade against the BOS direction
⚠️ RISK DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Trading involves substantial risk. Past performance is not indicative of
future results. This indicator is a tool to assist your analysis, not a
guarantee of profits. Always use proper risk management.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📧 Questions? Leave a comment below!
⭐ If you find this useful, please give it a BOOST!
🔔 Follow @scalping-algo for more indicators
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
RED BULL WINGS [JOAT]RED BULL WINGS - Bullish-Only Institutional Overlay
Introduction and Purpose
RED BULL WINGS is an open-source overlay indicator that combines five distinct bullish detection methods into a single composite scoring system. The core problem this indicator solves is that individual bullish signals (patterns, volume, zones, trendlines) often disagree or fire in isolation. A bullish engulfing pattern means little if volume is weak and price is far from support. Traders need confluence across multiple dimensions to identify high-probability setups.
This indicator addresses that by scoring each bullish component separately, then combining them into a weighted WINGS score (0-100) that reflects overall bullish conviction. When multiple components align, the score rises; when they disagree, the score stays low.
Why These Five Modules Work Together
Each module measures a different aspect of bullish market structure:
1. Module A - Bullish Candlestick Engine - Detects classic reversal patterns (engulfing, marubozu, hammer, 3-bar cluster). These patterns identify WHERE buyers are stepping in.
2. Module B - PVSRA Volume Climax - Measures spread x volume to detect institutional participation. This tells you WHETHER smart money is involved.
3. Module C - Demand Zone Detection - Identifies and tracks order block zones where buyers previously overwhelmed sellers. This shows you WHERE institutional support exists.
4. Module D - Trendline Channel - Builds dynamic support/resistance from pivot points. This reveals the STRUCTURE of the current trend.
5. Module E - Ichimoku Assist - Optional filter using Tenkan/Kijun cross, cloud position, and Chikou confirmation. This provides TREND PERMISSION context.
The combination works because:
Patterns alone can fail without volume confirmation
Volume alone means nothing without price structure context
Zones alone are static without pattern/volume triggers
Trendlines alone miss the micro-level entry timing
When 3+ modules agree, the probability of a valid bullish setup increases significantly
How the Calculations Work
Module A - Pattern Detection:
Bullish Engulfing - Current bullish bar completely engulfs prior bearish bar:
bool engulfingCond = isBullish() and
isBearish() and
open <= close and
close >= open and
bodySize() > bodySize()
Marubozu - Strong body with minimal wicks (body >= 1.8x average, wick ratio < 20%):
float wickRatio = candleRange() > 0 ? (upperWick() + lowerWick()) / candleRange() : 0
bool marubozuCond = isBullish() and
bodySize() >= bodySizeAvg * i_maruMult and
wickRatio < i_wickRatioMax
Hammer - Long lower wick (>= 2.5x body), close in upper third, volume confirmation:
bool hammerWick = lowerWick() >= i_hammerWickMult * bodySize()
bool hammerClose = close >= low + (candleRange() * 0.66)
bool hammerVol = volume >= i_pvsraRisingMult * volAvg
3-Bar Cluster - Three consecutive bullish closes with increasing prices and volume spike:
bool threeBarBullish = isBullish() and isBullish() and isBullish()
bool increasingCloses = close > close and close > close
bool volSpike3Bar = volume >= i_pvsraRisingMult * volAvg or
volume >= i_pvsraRisingMult * volAvg
Module B - PVSRA Volume Analysis:
Uses spread x volume to detect climax conditions:
float spreadVol = candleRange() * volume
float maxSpreadVol = ta.highest(spreadVol, ADJ_PVSRA_LOOKBACK)
bool volClimax = volume >= i_pvsraClimaxMult * volAvg or spreadVol >= maxSpreadVol
bool volRising = volume >= i_pvsraRisingMult * volAvg and volume < i_pvsraClimaxMult * volAvg
Volume only scores when the candle is bullish, preventing false signals on bearish volume spikes.
Module C - Demand Zone Detection:
Identifies zones using a two-candle structure:
// Small bearish candle A followed by larger bullish candle B
bool candleA_bearish = isBearish()
bool candleB_bullish = isBullish()
bool newZoneCond = candleA_bearish and candleB_bullish and
candleB_size >= i_zoneSizeMult * candleA_size
Zones are drawn as rectangles and tracked for retests. Score increases when price is near or inside an active zone, with bonus points for rejection candles.
Module D - Trendline Channel:
Builds dynamic channel from confirmed pivot points:
float ph = ta.pivothigh(high, i_pivotLeft, i_pivotRight)
float pl = ta.pivotlow(low, i_pivotLeft, i_pivotRight)
Pivots are stored and connected to form upper/lower channel lines. The indicator detects breakouts when price closes beyond the channel with volume confirmation.
Module E - Ichimoku Assist:
Standard Ichimoku calculations with bullish scoring:
float tenkan = (ta.highest(high, i_tenkanLen) + ta.lowest(low, i_tenkanLen)) / 2
float kijun = (ta.highest(high, i_kijunLen) + ta.lowest(low, i_kijunLen)) / 2
bool tkCross = ta.crossover(tenkan, kijun)
bool priceAboveCloud = close > cloudTop
bool chikouAbovePrice = chikou > close
Module F - WINGS Composite Score:
All module scores are combined using adjustable weights:
float WINGS_score = 100 * (nW_pattern * S_pattern +
nW_volume * S_vol +
nW_zone * S_zone +
nW_trend * S_trend +
nW_ichi * S_ichi)
Default weights: Pattern 30%, Volume 25%, Zone 20%, Trend 15%, Ichimoku 10%.
Signal Thresholds
WATCH (30-49) - Interesting bullish context forming, not yet actionable
MOMENTUM (50-74) - Strong bullish conditions, multiple modules agreeing
LIFT-OFF (75+) - High-confidence bullish confluence across most modules
WINGS Badge (Dashboard)
The right-side panel displays:
WINGS Score - Current composite score (0-100)
Pattern - Active pattern name and strength, or neutral placeholder
Volume - Normal / Rising / CLIMAX status
Zone - ACTIVE if price is near a demand zone
Trend - Channel position or BREAK status
Ichimoku - OFF / Weak / Bullish / STRONG
Status - Overall signal level (Neutral / WATCH / MOMENTUM / LIFT-OFF)
Input Parameters
Module Toggles:
Enable Bullish Patterns (true) - Toggle pattern detection
Enable PVSRA Volume (true) - Toggle volume analysis
Enable Order Blocks (true) - Toggle demand zone detection
Enable Trendlines (true) - Toggle pivot channel
Enable Ichimoku Assist (false) - Toggle Ichimoku filter (off by default for performance)
Enable Visual Effects (false) - Toggle labels, trails, and visual elements
LIVE MODE (false) - Enable intrabar signals (WARNING: signals may repaint)
Pattern Engine:
Pattern Lookback (5) - Bars for body size averaging
Marubozu Body Multiplier (1.8) - Minimum body size vs average
Hammer Wick Multiplier (2.5) - Minimum lower wick vs body
Max Wick Ratio (0.2) - Maximum wick percentage for marubozu
Volume / PVSRA:
PVSRA Lookback (10) - Period for volume averaging
Climax Multiplier (2.0) - Volume threshold for climax detection
Rising Volume Multiplier (1.5) - Volume threshold for rising detection
Order Blocks:
Zone Size Multiplier (2.0) - Minimum bullish candle size vs bearish
Zone Extend Bars (200) - How far zones project forward
Max Zones (12) - Maximum active zones displayed
Remove Zone on Close Below (true) - Delete broken zones
Trendlines:
Pivot Left/Right Bars (3/3) - Pivot detection sensitivity
Min Slope % (0.25) - Minimum trendline angle
Max Trendlines (5) - Maximum pivot points stored
Trendline Projection Bars (60) - Forward projection distance
Ichimoku:
Tenkan Length (9) - Conversion line period
Kijun Length (26) - Base line period
Senkou B Length (52) - Leading span B period
Displacement (26) - Cloud displacement
WINGS Score:
Weight: Pattern (0.30) - Pattern contribution to score
Weight: Volume (0.25) - Volume contribution to score
Weight: Zone (0.20) - Zone contribution to score
Weight: Trend (0.15) - Trendline contribution to score
Weight: Ichimoku (0.10) - Ichimoku contribution to score
Lift-Off Threshold (75) - Score required for LIFT-OFF signal
Momentum Watch Threshold (50) - Score required for MOMENTUM signal
Visuals:
Signal Cooldown (8) - Minimum bars between labels
Show WINGS Score Badge (true) - Toggle dashboard
Show Wing Combos (true) - Show DOUBLE/MEGA WINGS streaks
Red Background Wash (true) - Tint chart background
Show Lift-Off Trails (false) - Toggle golden trail visuals
How to Use This Indicator
For Bullish Entry Identification:
1. Monitor the WINGS badge for score changes
2. Wait for MOMENTUM (50+) or LIFT-OFF (75+) signals
3. Check which modules are contributing (Pattern + Volume + Zone = stronger)
4. Use demand zones and trendlines as structural reference for entries
For Confluence Confirmation:
1. Use alongside your existing analysis
2. LIFT-OFF signals indicate multiple bullish factors aligning
3. Low scores (< 30) suggest weak bullish context even if one factor looks good
For Zone-Based Trading:
1. Watch for price approaching active demand zones
2. Look for pattern + volume confirmation at zone retests
3. Zone score increases with successful retests
For Trendline Analysis:
1. Monitor the pivot-based channel for trend structure
2. Breakouts with volume confirmation trigger TREND BREAK alerts
3. Price inside channel with bullish patterns = trend continuation setup
1M and lower timeframes:
Alerts Available
LIFT-OFF - High-confidence bullish confluence
MOMENTUM - Strong bullish conditions
Zone Retest - Bullish rejection from demand zone
Trendline Break - Breakout with volume confirmation
Individual patterns (Engulfing, Marubozu, Hammer, 3-Bar Cluster)
Volume Climax - Institutional volume spike
DOUBLE WINGS / MEGA WINGS - Consecutive lift-off signals
Repainting Behavior
By default, the indicator uses confirmed bars only (barstate.isconfirmed), meaning signals appear after the bar closes and do not repaint. However:
LIVE MODE - When enabled, signals can appear intrabar but may disappear if conditions change before bar close. A warning label displays when LIVE MODE is active.
Trendlines - Pivot detection requires lookback bars, so the most recent trendline segments may adjust as new pivots confirm. This is inherent to pivot-based analysis.
Demand Zones - Zones are created on confirmed bars and do not repaint, but they can be removed if price closes below the zone bottom (configurable).
Live Mode with 'Enable Visual Effect' turned off in settings:
Limitations
This is a bullish-only indicator. It does not detect bearish setups or provide short signals.
The WINGS score is a confluence measure, not a prediction. High scores indicate favorable conditions, not guaranteed outcomes.
Pattern detection uses simplified logic. Not all candlestick nuances are captured.
Volume analysis requires reliable volume data. Results may vary on instruments with inconsistent volume reporting.
Ichimoku calculations add processing overhead. Disable if not needed.
Demand zones are based on a specific two-candle structure. Other valid zones may not be detected.
Trendlines use linear regression between pivots. Curved or complex channels are not supported.
Timeframe Recommendations
15m-1H: More frequent signals, useful for intraday analysis. Higher noise.
4H-Daily: Best balance of signal quality and frequency for swing trading.
Weekly: Fewer but more significant signals for position trading.
Adjust lookback periods and thresholds based on your timeframe. Shorter timeframes may benefit from shorter lookbacks.
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied to understand how each module works.
This indicator does not constitute financial advice. The WINGS score and signals do not guarantee profitable trades. Past performance does not guarantee future results. Always use proper risk management, position sizing, and stop-losses. Test thoroughly on your preferred instruments and timeframes before using in live trading.
- Made with passion by officialjackofalltrades
Delta Reaction Zones [BOSWaves]Delta Reaction Zones - Cumulative Delta-Based Supply and Demand Identification with Flow-Weighted Zone Construction
Overview
Delta Reaction Zones is a volume flow-aware supply and demand detection system that identifies price levels where significant buying or selling pressure accumulated, constructing adaptive zones around cumulative delta extremes with intelligent flow composition analysis.
Instead of relying on traditional price-based support and resistance or fixed pivot structures, zone placement, thickness, and directional characterization are determined through delta accumulation patterns, volatility-adaptive sizing, and the proportional composition of positive versus negative volume flow.
This creates dynamic reaction boundaries that reflect actual order flow imbalances rather than arbitrary price levels - contracting during low volatility environments, expanding during elevated volatility periods, and incorporating flow composition statistics to reveal whether zones formed under buying or selling dominance.
Price is therefore evaluated relative to zones anchored at delta extremes rather than conventional technical levels.
Conceptual Framework
Delta Reaction Zones is founded on the principle that meaningful support and resistance emerge where cumulative volume flow reaches local extremes rather than where price alone forms patterns.
Traditional support and resistance methods identify turning points through price structure, which often ignores the underlying order flow dynamics that drive those reversals. This framework replaces price-centric logic with delta-driven zone construction informed by actual buying and selling pressure.
Three core principles guide the design:
Zone placement should correspond to cumulative delta extremes, not price pivots alone.
Zone thickness must adapt to current market volatility conditions.
Flow composition context reveals whether zones formed under accumulation or distribution.
This shifts supply and demand analysis from static price levels into adaptive, flow-anchored reaction boundaries.
Theoretical Foundation
The indicator combines delta proxy methodology, cumulative volume tracking, adaptive volatility measurement, and flow decomposition analysis.
A signed volume delta proxy estimates directional order flow on each bar, which accumulates into a running cumulative delta series. Pivot detection identifies local extremes in either cumulative delta or its rate of change, marking levels where flow momentum reached inflection points. Average True Range (ATR) provides volatility-responsive zone sizing, while impulse window analysis decomposes recent flow into positive and negative components with percentage weighting.
Four internal systems operate in tandem:
Delta Accumulation Engine : Computes smoothed signed volume and maintains cumulative delta tracking for directional flow measurement.
Pivot Detection System : Identifies significant turning points in cumulative delta or delta rate of change to anchor zone placement.
Adaptive Zone Construction : Scales zone thickness dynamically using ATR-based volatility measurement around pivot anchors.
Flow Composition Analysis : Calculates positive and negative flow percentages over a configurable impulse window to characterize zone formation context.
This design allows zones to reflect actual order flow behavior rather than reacting mechanically to price formations.
How It Works
Delta Reaction Zones evaluates price through a sequence of flow-aware processes:
Signed Volume Delta Calculation : Each bar's volume is directionally signed based on close-open relationship, creating a proxy for buying versus selling pressure.
Cumulative Delta Tracking : Signed volume accumulates into a running total, revealing sustained directional flow over time.
Pivot Identification : Local highs and lows in cumulative delta (or its rate of change) mark significant flow inflection points where zones anchor.
Volatility-Adaptive Sizing : ATR multiplier determines zone half-width, automatically adjusting thickness to current market conditions.
Flow Decomposition : Positive and negative volume components are separated and percentage-weighted over the impulse window to reveal dominant flow direction.
Intelligent Zone Merging : Overlapping zones of the same type automatically merge into broader reaction areas, with flow statistics blended proportionally.
Dynamic Extension and Visualization : Zones extend forward with gradient-filled composition segments showing buy versus sell flow proportions.
Breach Detection and Cleanup : Zones invalidate automatically when price closes beyond their boundaries, maintaining chart clarity.
Together, these elements form a continuously updating supply and demand framework anchored in order flow reality.
Interpretation
Delta Reaction Zones should be interpreted as flow-anchored supply and demand boundaries:
Support Zones (Green) : Form at cumulative delta lows, marking levels where selling exhaustion or buying accumulation occurred.
Resistance Zones (Red) : Establish at cumulative delta highs, identifying areas where buying exhaustion or selling distribution dominated.
Flow Composition Segments : Visual gradient within each zone reveals the buy/sell flow proportion during zone formation. The upper segment (red tint) represents negative (selling) flow percentage while the lower segment (green tint) represents positive (buying) flow percentage.
BUY FLOW / SELL FLOW / MIXED Labels : Indicate dominant flow character when one direction exceeds 60% of total impulse window activity.
Net Delta Statistics : Display cumulative flow totals (Δ) alongside percentage breakdowns for immediate context.
Zone Thickness : Reflects current volatility environment - wider zones in volatile conditions, tighter zones in calm markets.
Zone Merging : Multiple nearby pivots consolidate into broader reaction areas, weighted by their respective flow magnitudes.
Flow composition, volatility context, and delta magnitude outweigh isolated price reactions.
Signal Logic & Visual Cues
Delta Reaction Zones presents two primary interaction signals:
Support Reclaim (RC) : Green label appears when price crosses back above a support zone's midline after trading below it, suggesting renewed buying interest.
Resistance Re-enter (RE) : Red label displays when price crosses back below a resistance zone's midline after trading above it, indicating resumed selling pressure.
Alert generation covers zone creation and midline reclaim/re-entry events for systematic monitoring.
Strategy Integration
Delta Reaction Zones fits within order flow-informed and supply/demand trading approaches:
Flow-Anchored Entry Zones : Use zones as high-probability reaction areas where historical order flow imbalances occurred.
Composition-Based Bias : Favor trades aligning with dominant flow character - long setups near zones formed under buying dominance, short setups near selling-dominated zones.
Volatility-Aware Targeting : Expect wider reaction ranges when ATR expands zones, tighter ranges when ATR contracts them.
Merge-Informed Conviction : Broader merged zones represent multiple flow inflection points, potentially offering stronger support/resistance.
Midline Reclaim Validation : Use RC/RE signals as confirmation of zone respect rather than standalone entry triggers.
Multi-Timeframe Flow Context : Apply higher-timeframe delta zones to inform lower-timeframe entry precision.
Technical Implementation Details
Core Engine : Signed volume delta proxy with EMA smoothing
Accumulation Model : Persistent cumulative delta tracking with optional rate-of-change pivot detection
Zone Construction : ATR-scaled thickness around pivot anchors
Flow Analysis : Positive/negative decomposition over configurable impulse window
Visualization : Gradient-filled zones with embedded flow statistics and percentage segments
Signal Logic : Midline crossover detection with breach-based invalidation
Merge System : Proximity-based consolidation with weighted flow blending
Performance Profile : Optimized for real-time execution with configurable zone limits
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Micro-structure flow zones for scalping and short-term reversals
15 - 60 min : Intraday supply/demand identification with flow context
4H - Daily : Swing-level reaction zones with macro flow characterization
Suggested Baseline Configuration:
Delta Smoothing Length : 3
Pivot Length : 12
Pivot Source : Cumulative Delta
Impulse Window : 100
ATR Length : 14
ATR Multiplier : 0.35 (reduce for lower timeframes)
Maximum Zones : 8
Merge Overlapping Zones : Enabled
Merge Gap : 20 ticks
These suggested parameters should be used as a baseline; their effectiveness depends on the asset's volume profile, tick structure, and preferred zone density, so fine-tuning is expected for optimal performance.
Parameter Calibration Notes
Use the following adjustments to refine behavior without altering the core logic:
Zones appearing oversized : Reduce ATR Multiplier to tighten zone thickness, especially on lower timeframes.
Excessive zone clutter : Increase Pivot Length to demand stronger delta extremes before zone creation.
Unstable delta readings : Increase Delta Smoothing Length to reduce bar-to-bar noise in flow calculation.
Missing significant levels : Decrease Pivot Length or switch Pivot Source to "Cumulative Delta RoC" for flow acceleration sensitivity.
Flow percentages feel stale : Reduce Impulse Window Length to emphasize more recent buying/selling composition.
Too many merged zones : Decrease Merge Gap (ticks) or disable merging to preserve individual pivot zones.
Adjustments should be incremental and evaluated across multiple session types rather than isolated market conditions.
Performance Characteristics
High Effectiveness:
Markets with consistent volume and order flow characteristics
Instruments where delta proxy correlates well with actual tape reading
Mean-reversion strategies targeting flow exhaustion zones
Trend continuation entries at zones aligned with dominant flow direction
Reduced Effectiveness:
Extremely low volume environments where delta proxy becomes unreliable
News-driven or gapped markets with discontinuous flow
Highly manipulated or illiquid instruments with erratic volume patterns
Integration Guidelines
Confluence : Combine with BOSWaves structure, market profile, or traditional supply/demand analysis
Flow Respect : Trust zones formed with strong net delta magnitude and clear flow dominance
Context Awareness : Consider whether current market regime matches zone formation conditions
Merge Recognition : Treat merged zones as higher-conviction areas due to multiple flow inflections
Breach Discipline : Exit zone-based setups cleanly when price invalidates boundaries
Disclaimer
Delta Reaction Zones is a professional-grade order flow and supply/demand analysis tool. It uses a volume-based delta proxy that estimates directional pressure but does not access true order book data. Results depend on market conditions, volume reliability, parameter selection, and disciplined execution. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates price structure, volatility context, and comprehensive risk management.
BK AK-King Quazi🦁👑 BK AK–KING QUAZI — MEASURED HAND, CLEAN BLADE. 👑🦁
This is Quasimodo turned into a permissioned process: PROTO → BOS proof → RETEST → CONFIRM → resolve or invalidate — with mapped levels so you execute clean or you stand down.
All glory to the Almighty — the true source of wisdom, restraint, and endurance.
AK is honor — my mentor’s standard: clarity, patience, no shortcuts, no gambling.
🧠 What It Does
King Quazi detects and manages Quasimodo (QM) structures and outputs an execution-ready battlefield:
PROTO detection: identifies developing QM structure early (awareness, not a trade)
BOS validation: requires a displacement break (ATR-based) so you don’t trade fake breaks
RETEST logic: watches the key QM level for the “return to the scene”
CONFIRM stage: only triggers when structure + proof + timing align
INVALIDATION + cleanup: marks failure clearly and manages drawings to keep charts readable
Projections + targets: maps QM / BOS / INV, plus optional T1/T2 so planning is standardized
MTF War Room: reads multiple timeframes and shows who’s in PROTO / CONFIRM / NOW so you stop trading against the higher court
This is not a pattern sticker. It’s a workflow.
What You See On Chart (so it’s usable)
QM level + BOS level + invalidation line
Optional forward projections / extension
Optional target mapping (T1/T2)
Stage-aware labels (PROTO / CONFIRM / invalidation handling)
MTF table showing which timeframe is active and which stage is “live”
🔍 How It Works (So You Know It’s Not Random)
1) Swing Structure → QM Candidate
The script builds swing structure and recognizes valid QM geometry — no guesswork labels without structure.
2) BOS Displacement Filter (Proof of Intent)
Most QM tools fire when the shape appears. King Quazi demands body displacement vs ATR so a “break” has force behind it — not wick theater.
3) Retest + Confirm (Permissioned Entry)
After BOS, it expects retest behavior and confirms only when the market acts right at the level — not in the middle of nowhere.
4) Object Lifecycle (Clean Chart, Honest Outcome)
The script manages lines/labels so your chart stays readable and outcomes are tracked — not hidden.
🧩 Why This Script Is Original (Not Another QM Clone)
The Quasimodo concept is public. The edge here is the integration:
staged event sequencing (PROTO → BOS → RETEST → CONFIRM)
ATR displacement proof to cut false positives
standardized execution mapping (QM/BOS/INV + optional targets)
multi-timeframe stage awareness (so you stop fighting higher structure)
alert routing by event stage (signal control, not spam)
It’s not “more signals.” It’s better permission.
🧭 How To Use It (Execution Rules)
1) Campaign Mode (Trend-Aligned)
Trade only when the MTF posture supports it. PROTO is awareness — BOS/RETEST is proof.
2) Verdict Mode (Turns)
A reversal is not a feeling. It’s testimony failing at the boundary and pressure flipping. Confirm at the level or don’t touch it.
3) Stand-Down Mode (The Feature Tourists Hate)
When the tool goes quiet, it’s telling you the truth:
no permission = no trade.
That’s how capital survives.
⚙️ What You Actually Tune
Zigzag sensitivity (tight vs clean structure)
BOS displacement strictness (how hard price must prove intent)
Retest window + expiration (how strict confirmation is)
Projection visibility (QM/BOS/INV, forward extension)
Targets & entry zone behavior (T1/T2 + buffers)
MTF table + alerts (what you want surfaced)
🧑🏫 BK / AK / Faith
BK is the mark I’m building.
AK is honor — discipline, patience, clean execution.
All glory to the Almighty — the true source of wisdom and endurance.
🗡️ King David Lens (Deep — Discipline Under Fire)
David’s power wasn’t impulse. It was governed force — strength that answers to law.
He learned early that the most dangerous trap is moving before you’re sent.
That’s why his life is full of the same pattern traders ignore:
He was anointed long before he was crowned.
Meaning: truth can be real before it’s allowed to manifest.
He fought Goliath with a weapon people mocked — not because it was flashy, but because it was mastered.
Meaning: edge isn’t what looks impressive — it’s what’s trained and repeatable.
He had Saul in his hands and still refused the shortcut.
Meaning: opportunity is not permission; proximity is not assignment.
He waited through wilderness seasons where nothing “looked like progress.”
Meaning: silence isn’t rejection — sometimes it’s preparation.
That is the trader’s war.
Price will always offer motion.
But motion without permission is bait.
David didn’t survive by chasing what was available.
He survived by waiting until the moment was proved, the ground was chosen, and the strike was clean.
That’s what King Quazi enforces:
PROTO is the rumor.
BOS displacement is the proof.
Retest is the test of legitimacy.
Confirm is permission to strike.
Invalidation is humility — stand down immediately.
A lion doesn’t chase every shadow.
A lion waits until the prey is committed — then ends it.
🦁👑 BK AK–KING QUAZI — execute with proof. 👑🦁
Gd bless. 🙏
Dynamic Stoch200+MACD+Gann Confluence (Cardinal + Ordinal)If you're scrolling through hundreds of indicators on TradingView looking for a reliable edge, here's why this one stands out and deserves a spot on your chart:Ultra-High-Conviction Reversal Signals (Rare but Powerful)
Most indicators spam signals and repaint. This one requires four independent confluences to fire:Hidden bullish/bearish divergences on a very long-period Stochastic (200) – catches major cycle turns, not noise.Matching hidden divergences on MACD histogram – confirms momentum shift.A strong directional candle (close in top/bottom 20% of range) – filters weak wicks.
Price within ~1.75% of a dynamic Gann Square of 9 level (cardinal + ordinal angles).
Because it demands all four at once, signals are extremely rare — often only a handful per year on daily/weekly timeframes. When they appear, they frequently mark significant tops and bottoms.Fully Adaptive Gann Levels (No Static Lines)
Unlike most Gann scripts with fixed levels that quickly become irrelevant, this one:Automatically anchors to the most recent significant pivot low or high.
Calculates authentic Square of 9 rotations (45°, 90°, 135°, 180°, 225°, 270°, 315°, 360°).
Updates dynamically as new swings form — works on any timeframe and any market (BTC, stocks, forex, indices).
Clean & Customizable Toggle cardinal (strong) vs ordinal (intermediate) levels for plotting and signal checks.
Adjustable pivot sensitivity and proximity tolerance.
Minimal chart clutter: bold lines for major levels, subtle for intermediates, plus clear large triangles for entries.
Best For
Swing traders and position traders seeking high-probability reversal zones rather than frequent scalps. Excellent for Bitcoin and volatile assets where geometric levels + extreme momentum divergences often align at cycle extremes.In short: If you want an indicator that stays quiet most of the time but screams when a real reversal is likely — this is it. Add it, watch the Gann levels adapt, and wait patiently for the rare multi-confluence setups. Quality over quantity.
Proactive Execution MachineProactive Execution Machine: Multi-State Momentum Engine
Overview
The Proactive Execution Machine is a comprehensive trading workspace designed to filter market noise and highlight high-probability execution windows. It combines Dynamic Supply/Demand Zones, Manual Level Proximity, and a proprietary Dual-Candle Momentum Scoring system to categorize the market into specific "States" in real-time.
Instead of a simple arrow, this script provides a System Status dashboard that tells you exactly what phase the market is in—whether it's "Level Absorption," a "Demand Vortex," or a "Tired Trend. "Core Components
1. The Momentum Gauge (Bottom Left)
This table provides a deep-dive into order flow by scoring the last two candles based on:
Close Location: Where price closed relative to its range (Upper, Middle, Lower).
Body-to-Wick Ratio: Measuring the "effort vs. result" of the move.
Range Relativity: Whether the current bar is an "Inside" or "Outside" bar relative to the previous candle.
Slope (Linear Regression): A real-time trendline of momentum strength to see if conviction is accelerating or decelerating.
2. Dynamic State Engine The script automatically identifies and colors the chart into three primary zones:
Supply Zone (Red): The upper 30% of the recent price discovery range.
Demand Zone (Green): The lower 30% of the recent price discovery range.
Proximity Zones: When price nears your Manual Levels (PDH, PDL, NY Open, etc.), the engine switches priority to monitor for "Breakouts" or "Level Attacks."
3. System Status (Bottom Right)The dynamic HUD changes size and color based on conviction levels. It will notify you of specific market conditions:
Supply/Demand Overrun: When momentum is so strong it is smashing through reversal zones. Level Absorption/Stalling: When price reaches a key level but momentum has "flattened," suggesting a potential reversal or high-volume churn.
Buy/Sell Now: High-conviction signals triggered only when Location (Zone) and Momentum (Score) align.
How to Trade with the "Machine"
For Trend Followers: Look for the status "TREND (ACTIVE)" combined with a Momentum Score of $\pm 4$ or higher.
For Reversion Traders: Watch for "WATCH LONGS/SHORTS" when price enters a Supply or Demand zone. Wait for the status to flip to "BUY/SELL NOW" as momentum begins to shift back toward the mean.
For Level Traders: Input your daily levels (VAH, VAL, POC) in the settings. The machine will automatically prioritize these levels, changing status to "AT LEVEL" the moment price enters your specified proximity.
Key Settings
Manual Levels: Input up to 5 custom price levels for the proximity engine.
Proximity Sensitivity: Adjust how close price must be to a level (in points/pips) to trigger an "At Level" state.
Aggression (1-5): Tuning the pivot detection. Lower numbers respond faster to micro-structure; higher numbers focus on major swing points.
Visual Coding
Candle bodies are colored to assist with single candle pattern detection:
Lime/Pink Bar Highlights: The script uses a custom color engine to highlight "Shaved" (Marubozu) bars.
Lime indicates aggressive bullish conviction, while Pink (Fuchsia) highlights aggressive bearish conviction.
Green indicates bull engulfing candle
Red indicates bear engulfing candle
Orange is an outside bar
Yellow an inside bar
Gray a Doji bar
Black all other bars
Dynamic Zones: The chart features two primary background areas:
Red Zone (Top): The Supply Zone, identifying where sellers historically reclaim control.
Green Zone (Bottom): The Demand Zone, identifying where buyers historically step in.
System Status HUD (Bottom Right): This is the "brain" of the machine. The text size is adjusted to attract the trader's attention when the slope of the momentum increases above 5 (bullish expansion) or greater than - 5 (Bearish expansion). The system status changes color based on the market state too:
HUD Coloring:
Aqua: Active Bullish Trend.
Gray: Bull trend tired.
Orange: Active Bearish Trend.
Gray: Bear trend tired.
Red: For sell now.
Green: For buy now.
Lime: Bull price level under attack.
Marron: Bear price level under attack.
Gray: Price level absorption.
Yellow: Price at level and stalling.
Maroon: An "Overrun" or "Vortex" where price is smashing through supply/demand with extreme momentum.
The text size serves as a "Volatility Alarm." * When the text is Small, the market is in a "sideways" or "absorbing" state. You should be cautious about entering new trend trades.
When the text is Large, the Machine has detected that "Aggressive" participants have entered the order flow. This is your cue that a "Level Attack" or a "Trend Breakout" is currently in progress.
The 1-Minute Tactical Setup Guide:
Proactive Execution Machine Operating on the 1-minute (1m) timeframe requires a balance between speed and noise filtration. Because the Proactive Execution Machine uses a "State Engine" logic, it is uniquely suited for the high-velocity environment of the NY Open.
I follow these three tactical steps to optimize the chart for the 1m timeframe:
Step 1: Calibrate the "Proximity Sensitivity" On a 1m chart, a "Level" isn't a single price—it's a zone.
Adjustment: In the script settings, set your Proximity Sensitivity to a value that represents the average "noise" of your instrument.
For ES (S&P 500 Futures): 1.5 to 2.5 points.
For NQ (Nasdaq Futures): 5 to 10 points.
For Forex (EURUSD): 1 to 2 pips.
The Goal: You want the "AT LEVEL" status to trigger just as price is "sniffing" the level, giving you time to prepare your order before the touch.
Step 2: Watch the "History" Column in the Momentum Gauge
The bottom-left table is your most important tool for the 1m chart. It shows you the momentum of the last three bars ($T-0$, $T-1$, $T-2$).
Momentum Sequence: Look for a "Sequence of Three." If you see $T-2$ (Neutral), $T-1$ (Long), and $T-0$ (STR Long), you have a momentum explosion.
The Trap: If you see STR LONG followed immediately by a NEUTRAL bar while in a Supply Zone, the "Machine" will shift to "SUPPLY STALLING." This is your signal to tighten your trailing stop or take profit—it means the bulls are hitting a wall of sell orders.
Step 3: The "Level Attack" Execution
The script features a unique state called "LEVEL ATTACK." This is designed specifically for breakout/breakdown traders.
The Setup: Price is approaching a Manual Level (like the NY Open or PDH).
The Signal: If the status changes to "LEVEL ATTACK (BULL)," it means the momentum score is high ($>3$) and the slope is positive while within the proximity of the level.
The Action: This is a "Proactive" entry. Instead of waiting for the candle to close above the level, you are entering as the "Machine" detects institutional pressure "attacking" the level.
Daily Routine for the "Machine"
1) 09:25 AM: Input your 5 manual levels (PDH, PDL, NY Open, VAH, VAL).
2) 09:30 AM: Wait for the first 5 minutes of volatility to settle.
3) The Window: Look for the System Status to move from "IDLE" to a colored state.
4) The Trigger: Never take a signal if the Momentum Gauge is in the "Neutral" (Yellow) zone. Only execute when the gauge shows LONG/SHORT or STR LONG/STR SHORT.
Wyckoff Method - Comprehensive Analysis# WYCKOFF METHOD - QUICK REFERENCE CHEAT SHEET
## 🟢 STRONGEST BUY SIGNALS
### 1. SPRING ⭐⭐⭐⭐⭐
- **What:** False breakdown below support on LOW volume
- **Look for:** Quick reversal, close above support
- **Entry:** When price closes back in range
- **Stop:** Below spring low
- **Target:** Top of range minimum
### 2. SOS (Sign of Strength) ⭐⭐⭐⭐
- **What:** Breakout above resistance on HIGH volume
- **Look for:** Wide spread up bar, strong close
- **Entry:** On breakout or wait for LPS pullback
- **Stop:** Below range top
- **Target:** Height of range projected up
### 3. SHAKEOUT ⭐⭐⭐⭐
- **What:** Sharp move below support with HIGH volume, immediate reversal
- **Look for:** Long lower wick, closes strong
- **Entry:** When price reclaims support
- **Stop:** Below shakeout low
- **Target:** Previous resistance
---
## 🔴 STRONGEST SELL SIGNALS
### 1. UTAD (Upthrust After Distribution) ⭐⭐⭐⭐⭐
- **What:** False breakout above resistance, quick rejection
- **Look for:** Spike high, weak close, often high volume
- **Entry:** When price closes back in range
- **Stop:** Above UTAD high
- **Target:** Bottom of range minimum
### 2. SOW (Sign of Weakness) ⭐⭐⭐⭐
- **What:** Breakdown below support on HIGH volume
- **Look for:** Wide spread down bar, weak close
- **Entry:** On breakdown or wait for LPSY rally
- **Stop:** Above range bottom
- **Target:** Height of range projected down
### 3. UPTHRUST ⭐⭐⭐⭐
- **What:** Move above resistance on LOW volume, weak close
- **Look for:** Long upper wick, closes in lower half
- **Entry:** When resistance holds
- **Stop:** Above upthrust high
- **Target:** Support level
---
## 📊 ACCUMULATION PHASES (Bottom Formation)
```
PHASE A: Stopping the Downtrend
├─ PS (Preliminary Support) - First buying
├─ SC (Selling Climax) - Panic bottom ⚠️ KEY EVENT
├─ AR (Automatic Rally) - Relief bounce
└─ ST (Secondary Test) - Retest SC low
PHASE B: Building the Cause
├─ Trading range forms
├─ Multiple tests of support
├─ Volume decreasing
└─ Absorption occurring
PHASE C: The Test
├─ SPRING - False breakdown ⚠️ KEY EVENT
└─ TEST - Support holds on low volume
PHASE D: Dominance Emerges
├─ SOS - Breakout ⚠️ KEY EVENT
├─ LPS - Last Point of Support (pullback)
└─ BU - Backup
PHASE E: Markup
└─ New uptrend, strong momentum
```
**Background Color:** Blue → Green (getting brighter)
**Action:** Buy in Phase C/D, Hold through Phase E
---
## 📊 DISTRIBUTION PHASES (Top Formation)
```
PHASE A: Stopping the Uptrend
├─ PSY (Preliminary Supply) - First selling
├─ BC (Buying Climax) - Euphoric top ⚠️ KEY EVENT
├─ AR (Automatic Reaction) - Sharp drop
└─ ST (Secondary Test) - Retest BC high
PHASE B: Building the Cause
├─ Trading range forms
├─ Multiple tests of resistance
├─ Demand being absorbed
└─ Volume patterns change
PHASE C: The Test
└─ UTAD - False breakout ⚠️ KEY EVENT
PHASE D: Dominance Emerges
├─ SOW - Breakdown ⚠️ KEY EVENT
└─ LPSY - Last Point of Supply (rally to exit)
PHASE E: Markdown
└─ New downtrend, strong selling
```
**Background Color:** Orange → Red (getting darker)
**Action:** Sell in Phase C/D, Stay out during Phase E
---
## 💰 VOLUME SPREAD ANALYSIS (VSA)
| Signal | Meaning | Color | Implication |
|--------|---------|-------|-------------|
| **ND** (No Demand) | Up bar, LOW volume | 🟠 Orange | Weakness - uptrend ending |
| **NS** (No Supply) | Down bar, LOW volume | 🔵 Blue | Strength - downtrend ending |
| **SV** (Stopping Volume) | VERY HIGH volume, narrow spread | 🟣 Purple | Potential reversal |
| **UT** (Upthrust) | Above resistance, LOW vol, weak close | 🔴 Red | Sell signal |
| **SO** (Shakeout) | Below support, HIGH vol, strong close | 🟢 Green | Buy signal |
---
## 🎯 VOLUME INTERPRETATION
| Volume Level | Bar Color | Meaning |
|--------------|-----------|---------|
| **VERY HIGH** (>2x average) | Dark Green/Red | Climax, potential reversal |
| **HIGH** (>1.5x average) | Light Green/Red | Strong interest |
| **NORMAL** | Gray | Average trading |
| **LOW** (<0.7x average) | Faint Gray | Testing, no interest |
---
## ⚖️ EFFORT vs RESULT
| Scenario | Volume | Spread | Meaning |
|----------|--------|--------|---------|
| **High Effort, Low Result** | HIGH | Narrow | ⚠️ Potential reversal |
| **Low Effort, High Result** | LOW | Wide | ⚠️ Trend weakening |
| **High Effort, High Result** | HIGH | Wide | ✅ Strong trend |
| **Low Effort, Low Result** | LOW | Narrow | 😴 No interest |
---
## 📏 TRADING RULES
### ✅ DO:
- ✅ Wait for confirmation before entering
- ✅ Trade in direction of higher timeframe
- ✅ Use springs and UTAD as primary signals
- ✅ Measure trading range for targets
- ✅ Place stops outside the range
- ✅ Look for volume confirmation
- ✅ Check multiple timeframes
- ✅ Focus on Phase C and D events
### ❌ DON'T:
- ❌ Buy during Phase E Markdown
- ❌ Sell during Phase E Markup
- ❌ Trade against major trend
- ❌ Ignore volume signals
- ❌ Enter without clear stop loss
- ❌ Trade every signal
- ❌ Use on very low timeframes without practice
- ❌ Ignore the context
---
## 🎪 COMPOSITE OPERATOR (Smart Money)
### 💰 Green Money Symbol (Bottom)
- **Meaning:** Institutions accumulating
- **Location:** Demand zones, springs, tests
- **Action:** Follow the smart money - buy
### 💰 Red Money Symbol (Top)
- **Meaning:** Institutions distributing
- **Location:** Supply zones, UTAD, weak rallies
- **Action:** Follow the smart money - sell
---
## 📍 SUPPLY & DEMAND ZONES
### 🟢 Demand Zones (Green Boxes)
- **Created at:** SC, Spring, Shakeout
- **Represents:** Where smart money bought
- **Action:** Look for bounces
### 🔴 Supply Zones (Red Boxes)
- **Created at:** BC, UTAD, Upthrust
- **Represents:** Where smart money sold
- **Action:** Look for rejections
---
## 🎯 TARGET CALCULATION
### Measured Move Method
```
1. Measure trading range height
Example: Top at 120, Bottom at 100 = 20 points
2. Add to breakout point (accumulation)
Breakout at 120 + 20 = Target: 140
3. Or subtract from breakdown (distribution)
Breakdown at 100 - 20 = Target: 80
```
### Multiple Targets
- **Conservative:** 1x range height (100% probability reached)
- **Moderate:** 1.5x range height (70% probability)
- **Aggressive:** 2x range height (40% probability)
---
## ⏰ TIMEFRAME GUIDE
| Timeframe | Use For | Reliability | Recommended For |
|-----------|---------|-------------|-----------------|
| **Weekly** | Major trends | ⭐⭐⭐⭐⭐ | Position traders |
| **Daily** | Swing trades | ⭐⭐⭐⭐⭐ | Most traders |
| **4-Hour** | Active swing | ⭐⭐⭐⭐ | Active traders |
| **1-Hour** | Day trading | ⭐⭐⭐ | Experienced only |
| **15-Min** | Scalping | ⭐⭐ | Experts only |
**Golden Rule:** Always check one timeframe higher for context!
---
## 🚨 ALERT PRIORITY
### 🔔 MUST-HAVE ALERTS
1. Spring
2. UTAD
3. SOS
4. SOW
### 🔔 NICE-TO-HAVE ALERTS
5. Selling Climax (SC)
6. Buying Climax (BC)
7. Smart Money Accumulation
8. Smart Money Distribution
### 🔔 CONFIRMATION ALERTS
9. Phase E Markup
10. Phase E Markdown
---
## 💡 QUICK DECISION TREE
```
Is there a clear trading range?
├─ YES
│ ├─ Did price break BELOW support?
│ │ ├─ Volume LOW + Quick reversal = SPRING → BUY ✅
│ │ └─ Volume HIGH + Stays down = Breakdown → SELL ⚠️
│ │
│ └─ Did price break ABOVE resistance?
│ ├─ Volume LOW + Quick reversal = UTAD → SELL ✅
│ └─ Volume HIGH + Stays up = Breakout → BUY ⚠️
│
└─ NO
├─ Strong uptrend = Wait for re-accumulation
└─ Strong downtrend = Wait for re-distribution
```
---
## 📝 PRE-TRADE CHECKLIST
Before entering any trade:
- Identified the current Wyckoff phase
- Confirmed with volume analysis
- Checked higher timeframe trend
- Located supply/demand zones
- Identified clear entry point
- Set stop loss level
- Calculated target (risk:reward >1:2)
- Verified position size (risk 1-2%)
- Have at least 2 confirming signals
- Not trading against major trend
---
## 🧠 REMEMBER
**The Three Laws:**
1. **Supply & Demand** - Price is determined by imbalance
2. **Cause & Effect** - Range size predicts move size
3. **Effort & Result** - Volume should confirm price movement
**The Key Principle:**
> "Trade with the Composite Operator (smart money), not against them"
**Best Setups:**
1. Spring in accumulation (Phase C)
2. UTAD in distribution (Phase C)
3. SOS breakout (Phase D)
4. SOW breakdown (Phase D)
**When in Doubt:**
- ❓ Stay out
- 📈 Use higher timeframe
- 📚 Review the documentation
- 🎯 Wait for clearer signal
---
## 📱 INDICATOR SETTINGS QUICK SETUP
**For Stocks/Crypto (Good Volume Data):**
- Volume MA Length: 20
- High Volume Multiplier: 1.5
- Climax Volume: 2.0
- Swing Length: 5
**For Forex (Limited Volume Data):**
- Volume MA Length: 20
- High Volume Multiplier: 1.3
- Climax Volume: 1.8
- Swing Length: 7
- Turn OFF "Volume Confirmation"
**For Day Trading:**
- Swing Length: 3
- All other settings: Default
**For Position Trading:**
- Swing Length: 7-10
- Volume MA Length: 30
- Use Daily/Weekly charts
---
## 🎓 SKILL PROGRESSION
### Beginner (Month 1-2)
- Focus on: SC, Spring, SOS
- Timeframe: Daily only
- Goal: Identify phases correctly
### Intermediate (Month 3-6)
- Add: All accumulation events
- Timeframe: Daily + 4H
- Goal: Trade springs profitably
### Advanced (Month 6-12)
- Add: Distribution events, VSA
- Timeframe: Multiple timeframes
- Goal: Trade complete cycles
### Expert (Year 2+)
- Master: All events, all timeframes
- Combine: With other methodologies
- Goal: Consistent profitability
---
**Print this sheet and keep it next to your trading desk!**
*Remember: Quality over quantity. Wait for the best setups.*
# Wyckoff Method - Comprehensive Analysis Indicator
## Complete Implementation Guide for TradingView Pine Script
---
## TABLE OF CONTENTS
1. (#overview)
2. (#installation)
3. (#theory)
4. (#components)
5. (#signals)
6. (#strategies)
7. (#settings)
8. (#alerts)
9. (#patterns)
10. (#troubleshooting)
---
## OVERVIEW
This indicator implements Richard Wyckoff's complete trading methodology, including:
- **All 5 Phases** of Accumulation and Distribution
- **18+ Wyckoff Events** (PS, SC, AR, ST, Spring, SOS, LPS, BC, UTAD, SOW, etc.)
- **Volume Spread Analysis (VSA)** principles
- **Supply & Demand Zone** detection
- **Composite Operator** logic (Smart Money tracking)
- **Effort vs Result** analysis
- **Three Wyckoff Laws**: Supply/Demand, Cause/Effect, Effort/Result
---
## INSTALLATION
### Step 1: Copy the Code
1. Open the `wyckoff_comprehensive.pine` file
2. Select all code (Ctrl+A / Cmd+A)
3. Copy to clipboard (Ctrl+C / Cmd+C)
### Step 2: Add to TradingView
1. Go to TradingView.com
2. Open any chart
3. Click "Pine Editor" at the bottom of the screen
4. Click "New" or "Open"
5. Paste the entire code
6. Click "Save" and give it a name
7. Click "Add to Chart"
### Step 3: Verify Installation
You should see:
- Labels on the chart (PS, SC, Spring, SOS, etc.)
- Background colors indicating phases
- Volume analysis in the lower pane
- A table in the top-right corner showing current phase
---
## WYCKOFF METHOD THEORY
### The Three Fundamental Laws
#### 1. **Law of Supply and Demand**
- Price rises when demand exceeds supply
- Price falls when supply exceeds demand
- The indicator tracks volume vs price movement to identify imbalances
#### 2. **Law of Cause and Effect**
- A period of accumulation (cause) leads to markup (effect)
- A period of distribution (cause) leads to markdown (effect)
- Trading ranges build "cause" for future price movement
#### 3. **Law of Effort vs Result**
- **Effort** = Volume (energy put into the market)
- **Result** = Price movement (spread of the bar)
- High effort with low result = potential reversal
- Low effort with high result = trend weakness
### The Five Phases
#### **ACCUMULATION CYCLE**
**Phase A: Stopping the Downtrend**
- Preliminary Support (PS): First sign of buying
- Selling Climax (SC): Panic selling exhaustion
- Automatic Rally (AR): Bounce from SC
- Secondary Test (ST): Test of SC low on lower volume
**Phase B: Building the Cause**
- Trading range develops
- Supply being absorbed by composite operator
- Multiple tests of support and resistance
- Volume generally decreases
**Phase C: The Test (Spring)**
- False breakdown below support
- Traps late sellers
- Quick reversal on low volume
- Last chance to accumulate before markup
**Phase D: Dominance Emerges**
- Sign of Strength (SOS): Break above resistance
- Last Point of Support (LPS): Pullback opportunity
- Backup (BU): Final consolidation
- Demand clearly exceeds supply
**Phase E: Markup**
- New uptrend established
- Price moves rapidly higher
- Phase E can last months/years
- Original trading range becomes support
#### **DISTRIBUTION CYCLE**
**Phase A: Stopping the Uptrend**
- Preliminary Supply (PSY): First sign of selling
- Buying Climax (BC): Euphoric buying exhaustion
- Automatic Reaction (AR): Sharp selloff from BC
- Secondary Test (ST): Test of BC high on lower volume
**Phase B: Building the Cause**
- Trading range at top
- Demand being absorbed by composite operator
- Multiple tests of support and resistance
**Phase C: The Test (UTAD)**
- Upthrust After Distribution
- False breakout above resistance
- Traps late buyers
- Quick reversal
**Phase D: Dominance Emerges**
- Sign of Weakness (SOW): Break below support
- Last Point of Supply (LPSY): Rally opportunity to exit
- Supply clearly exceeds demand
**Phase E: Markdown**
- New downtrend established
- Price moves rapidly lower
- Original trading range becomes resistance
---
## INDICATOR COMPONENTS
### 1. EVENT LABELS
#### Accumulation Events (Green labels)
- **PS** = Preliminary Support
- **SC** = Selling Climax (largest label, most important)
- **AR** = Automatic Rally
- **ST** = Secondary Test
- **SPRING** = Spring (critical buy signal)
- **TEST** = Test of support
- **SOS** = Sign of Strength (breakout)
- **LPS** = Last Point of Support
- **BU** = Backup
#### Distribution Events (Red labels)
- **PSY** = Preliminary Supply
- **BC** = Buying Climax (largest label, most important)
- **AR** = Automatic Reaction
- **ST** = Secondary Test
- **UTAD** = Upthrust After Distribution (critical sell signal)
- **SOW** = Sign of Weakness
- **LPSY** = Last Point of Supply
#### VSA Events (Small colored labels)
- **ND** (Orange) = No Demand - weakness
- **NS** (Blue) = No Supply - strength
- **SV** (Purple) = Stopping Volume
- **UT** (Red) = Upthrust - weakness
- **SO** (Green) = Shakeout - strength
#### Composite Operator (💰 symbols)
- Green 💰 at bottom = Smart Money Accumulation
- Red 💰 at top = Smart Money Distribution
### 2. BACKGROUND COLORS
- **Light Blue** = Phase A (Accumulation)
- **Light Orange** = Phase A (Distribution)
- **Very Light Green** = Phase C (Accumulation Testing)
- **Very Light Red** = Phase C (Distribution Testing)
- **Light Green** = Phase D (Accumulation Strength)
- **Light Red** = Phase D (Distribution Weakness)
- **Green** = Phase E (Markup - Bull trend)
- **Red** = Phase E (Markdown - Bear trend)
### 3. SUPPLY & DEMAND ZONES
- **Green boxes** = Demand zones (where smart money accumulated)
- **Red boxes** = Supply zones (where smart money distributed)
- Zones extend 20 bars into the future
- Price reactions at these zones are significant
### 4. VOLUME PANEL
- **Dark Green/Red bars** = Very High Volume (climax)
- **Light Green/Red bars** = High Volume
- **Gray bars** = Normal Volume
- **Faint Gray bars** = Low Volume
- **Blue line** = Volume Moving Average
### 5. INFORMATION TABLE (Top Right)
Displays real-time analysis:
- **Current Phase** (A, B, C, D, or E)
- **Status** (description of what's happening)
- **Volume** (Very High, High, Normal, Low)
- **Spread** (Wide, Normal, Narrow)
- **Effort/Result** (Poor, Normal, Good)
- **Range** (YES if in trading range)
- **Bias** (BULLISH, BEARISH, or NEUTRAL)
---
## HOW TO READ THE SIGNALS
### STRONG BUY SIGNALS (in order of strength)
1. **SPRING** (strongest)
- False breakdown below support
- Look for: Low volume, quick reversal, close above support
- Entry: When price closes back above support level
- Stop: Below the spring low
2. **SOS (Sign of Strength)**
- Break above trading range resistance
- Look for: High volume, wide spread up bar
- Entry: On breakout or pullback to LPS
- Stop: Below trading range
3. **Shakeout (SO)**
- Similar to spring but more violent
- Look for: High volume, penetration of support, strong close
- Entry: When price reclaims support
- Stop: Below shakeout low
4. **LPS (Last Point of Support)**
- Pullback after SOS
- Look for: Low volume, shallow pullback
- Entry: When support holds
- Stop: Below LPS
5. **No Supply (NS)**
- Down bar on very low volume
- Indicates lack of selling pressure
- Confirms accumulation phase
### STRONG SELL SIGNALS (in order of strength)
1. **UTAD (Upthrust After Distribution)** (strongest)
- False breakout above resistance
- Look for: High volume spike, rejection, close below resistance
- Entry: When price closes back below resistance
- Stop: Above UTAD high
2. **SOW (Sign of Weakness)**
- Break below trading range support
- Look for: High volume, wide spread down bar
- Entry: On breakdown or rally to LPSY
- Stop: Above trading range
3. **Upthrust (UT)**
- Move above resistance on low volume, weak close
- Look for: Low volume, close in lower half of bar
- Entry: When resistance becomes resistance again
- Stop: Above upthrust high
4. **LPSY (Last Point of Supply)**
- Rally after SOW
- Look for: Low volume, weak rally
- Entry: When rally fails
- Stop: Above LPSY
5. **No Demand (ND)**
- Up bar on very low volume
- Indicates lack of buying pressure
- Confirms distribution phase
### NEUTRAL/WARNING SIGNALS
- **High Effort, Low Result** = Potential reversal coming
- **Stopping Volume** = Trend may be ending
- **Absorption** = Large volume with small movement (accumulation/distribution)
---
## TRADING STRATEGY EXAMPLES
### Strategy 1: Accumulation Range Breakout
**Setup:**
1. Identify trading range (blue background in Phase B)
2. Wait for Spring or Test (Phase C)
3. Wait for SOS breakout (Phase D)
**Entry:**
- Option A: Buy on SOS breakout
- Option B: Wait for LPS pullback (better risk/reward)
**Stop Loss:**
- Below the spring low or trading range bottom
**Target:**
- Measure height of trading range (cause)
- Project upward from breakout point (effect)
- Minimum target = range height
**Example:**
```
Trading Range: 100 to 120 (20 point range)
SOS Breakout at: 120
Target: 120 + 20 = 140 minimum
```
### Strategy 2: Distribution Range Breakdown
**Setup:**
1. Identify trading range after uptrend
2. Wait for UTAD (Phase C)
3. Wait for SOW breakdown (Phase D)
**Entry:**
- Option A: Sell on SOW breakdown
- Option B: Wait for LPSY rally (better risk/reward)
**Stop Loss:**
- Above the UTAD high or trading range top
**Target:**
- Measure height of trading range
- Project downward from breakdown point
- Minimum target = range height
### Strategy 3: Spring Trading
**Setup:**
1. Strong downtrend followed by range
2. Price breaks below range bottom
3. Volume is LOW on breakdown
4. Price quickly reverses and closes above support
**Entry:**
- When candle closes above support level
- Or on retest of support
**Stop Loss:**
- Below spring low (usually tight)
**Target:**
- Top of trading range
- Previous swing high
**Risk/Reward:**
- Typically 1:3 or better
### Strategy 4: Smart Money Tracking
**Setup:**
1. Look for 💰 symbols in demand zones
2. Multiple accumulation signals (PS, SC, ST, Test)
3. Volume decreasing during range
**Entry:**
- At next demand zone test
- On SOS breakout
**Confirmation:**
- Background turning green (Phase D/E)
- Table shows "BULLISH" bias
### Strategy 5: VSA Reversal
**Setup:**
1. Strong trend in place
2. Stopping Volume (SV) appears at extreme
3. Followed by No Demand (ND) or No Supply (NS)
**Entry:**
- When trend breaks down/up
- On retest of extreme
**Example (Bullish):**
```
Downtrend → Stopping Volume → No Supply → Up bar
Entry: Buy when price moves above SV bar
```
---
## SETTINGS & CUSTOMIZATION
### Volume Analysis Settings
**Volume MA Length** (default: 20)
- Shorter = More sensitive to volume changes
- Longer = Smoother, less noise
- Recommended: 15-25 for most timeframes
**High Volume Multiplier** (default: 1.5)
- Threshold for "high volume"
- Lower = More signals
- Higher = Only extreme volume
- Recommended: 1.3-2.0
**Climax Volume Multiplier** (default: 2.0)
- Threshold for climax events (SC, BC)
- Should be significantly higher than normal
- Recommended: 2.0-3.0
### Phase Detection Settings
**Swing Detection Length** (default: 5)
- How many bars to look left/right for swing points
- Shorter = More swings detected (more noise)
- Longer = Fewer swings (cleaner, might miss some)
- Recommended: 3-7
**Range Expansion Threshold** (default: 1.5)
- Multiplier for "wide spread" bars
- Higher = Only very wide bars qualify
- Recommended: 1.3-2.0
**Volume Confirmation** (default: ON)
- Requires volume confirmation for events
- Turn OFF for very low volume instruments
- Keep ON for stocks, forex, crypto
### Display Options
Toggle on/off:
- ✅ **Show Accumulation/Distribution Phases** - Background colors
- ✅ **Show Wyckoff Events** - All labeled events
- ✅ **Show Volume Spread Analysis** - VSA labels
- ✅ **Show Supply/Demand Zones** - Boxes on chart
- ✅ **Show Composite Operator Signals** - 💰 symbols
### Color Customization
- **Bullish Color** - All accumulation events
- **Bearish Color** - All distribution events
- **Neutral Color** - Range/neutral signals
---
## ALERT SETUP
### Available Alerts
1. **Selling Climax (SC)** - Potential bottom forming
2. **Spring** - Strong buy signal
3. **Sign of Strength (SOS)** - Bullish breakout
4. **Buying Climax (BC)** - Potential top forming
5. **UTAD** - Strong sell signal
6. **Sign of Weakness (SOW)** - Bearish breakdown
7. **Phase E Markup** - Uptrend confirmed
8. **Phase E Markdown** - Downtrend confirmed
9. **Smart Money Accumulation** - Institutions buying
10. **Smart Money Distribution** - Institutions selling
### How to Set Up Alerts
1. Click the "⏰" icon on TradingView
2. Select "Create Alert"
3. Condition: Choose the indicator and alert type
4. Example: "Wyckoff Method - Spring"
5. Set notification preferences (popup, email, webhook)
6. Click "Create"
### Recommended Alert Strategy
**Conservative Trader:**
- Spring
- SOS
- UTAD
- SOW
**Aggressive Trader:**
- Add: SC, BC, Smart Money signals
**Long-term Investor:**
- Phase E Markup
- Phase E Markdown
- Smart Money Accumulation
---
## COMMON PATTERNS
### Pattern 1: Classic Accumulation
```
Phase A: Downtrend → PS → SC → AR → ST
Phase B: Range building (4-12 weeks typical)
Phase C: Spring (false breakdown)
Phase D: SOS → LPS → BU
Phase E: Markup (new uptrend)
```
**What to do:**
- Mark the range boundaries
- Wait for spring
- Buy on LPS or SOS
- Hold through markup
### Pattern 2: Classic Distribution
```
Phase A: Uptrend → PSY → BC → AR → ST
Phase B: Range building (topping process)
Phase C: UTAD (false breakout)
Phase D: SOW → LPSY
Phase E: Markdown (new downtrend)
```
**What to do:**
- Mark the range boundaries
- Wait for UTAD
- Sell on LPSY or SOW
- Stay out during markdown
### Pattern 3: Re-Accumulation
```
Uptrend → Trading Range → Spring → Uptrend continues
```
- Occurs during existing uptrend
- Shorter accumulation period
- Often no clear SC (trend is already up)
- Spring is the key signal
### Pattern 4: Re-Distribution
```
Downtrend → Trading Range → UTAD → Downtrend continues
```
- Occurs during existing downtrend
- Shorter distribution period
- Often no clear BC (trend is already down)
- UTAD is the key signal
### Pattern 5: Failed Breakout
**Bullish Failed Breakout:**
```
Range → Breakdown → Immediate reversal (Spring)
```
- Price breaks support
- Volume is LOW
- Immediate strong reversal
- Very bullish
**Bearish Failed Breakout:**
```
Range → Breakout → Immediate reversal (UTAD)
```
- Price breaks resistance
- Volume may be high initially
- Quick rejection and reversal
- Very bearish
---
## TIMEFRAME RECOMMENDATIONS
### Daily Charts (Most Reliable)
- Best for swing trading
- Clear phases and events
- Less noise
- Recommended for beginners
### 4-Hour Charts
- Good for active swing traders
- Faster signals than daily
- Still reliable
### 1-Hour Charts
- For day traders
- More false signals
- Need to filter carefully
- Use in conjunction with higher timeframe
### 15-Minute / 5-Minute
- Only for experienced traders
- High noise level
- Many false signals
- Use daily chart for context
**Golden Rule:** Always check higher timeframe first!
---
## MULTI-TIMEFRAME ANALYSIS
### Top-Down Approach (Recommended)
1. **Weekly Chart** - Identify major trend and phase
2. **Daily Chart** - Find current accumulation/distribution
3. **4H Chart** - Identify entry timing
4. **Entry Timeframe** - Execute trade
### Example Analysis:
**Weekly:** Phase E Markup (bullish)
**Daily:** Phase B Re-accumulation
**4-Hour:** Spring detected
**Action:** Buy on daily LPS
---
## WYCKOFF + OTHER INDICATORS
### Complementary Tools
1. **Moving Averages**
- 20/50 SMA for trend context
- Already plotted on indicator
2. **RSI**
- Divergences at SC/BC
- Confirms overbought/oversold
3. **MACD**
- Confirms trend change in Phase D
- Divergences support Wyckoff events
4. **Volume Profile**
- Identifies value areas
- Confirms supply/demand zones
5. **Order Flow / Footprint Charts**
- See institutional activity
- Confirms smart money signals
**Don't Over-Complicate:**
- Wyckoff is a complete system
- Other indicators are supplementary
- When in doubt, trust Wyckoff
---
## TROUBLESHOOTING
### Issue: Too Many Labels
**Solution:**
- Increase swing length (Settings → 7 or 10)
- Increase volume multipliers
- Turn off VSA labels if not needed
- Focus on major events only (SC, Spring, SOS, BC, UTAD, SOW)
### Issue: Missing Expected Events
**Solution:**
- Decrease swing length (Settings → 3)
- Decrease volume multipliers
- Turn OFF volume confirmation
- Check timeframe (use daily chart)
### Issue: False Signals
**Solution:**
- Use higher timeframe
- Wait for confirmation
- Don't trade against major trend
- Look for multiple signal convergence
### Issue: Can't See Background Colors
**Solution:**
- Check "Show Phases" is enabled
- Increase monitor brightness
- Colors are subtle by design (not to obscure price)
### Issue: Volume Shows Incorrectly
**Solution:**
- Ensure volume data is available for your symbol
- Some symbols have poor volume data
- Forex spot pairs have no real volume
- Use futures or stock markets for best results
### Issue: No Trading Range Detected
**Solution:**
- Market may be trending strongly
- Trading range might be too small
- Wait for price to consolidate
- Not all markets have clear ranges
---
## ADVANCED TIPS
### 1. Count Point & Figure Charts
- Wyckoff used P&F to measure "cause"
- Width of range × height = minimum move target
- Longer accumulation = larger markup
### 2. Watch for Absorption
- High volume + narrow spread = someone absorbing
- In downtrend = accumulation
- In uptrend = distribution
### 3. Multiple Timeframe Springs
- Spring on daily + spring on weekly = very strong
- Increases probability significantly
### 4. Failed Signals Are Signals Too
- Failed spring = weakness, expect lower
- Failed UTAD = strength, expect higher
### 5. Context is King
- Don't buy during Phase E Markdown
- Don't sell during Phase E Markup
- Respect the major trend
### 6. Volume Precedes Price
- Study volume changes first
- Price follows volume
- Decreasing volume in range = building energy
### 7. Composite Operator Mindset
- Think like institutions
- Where would smart money buy/sell?
- They need liquidity (retail traders)
---
## RISK MANAGEMENT
### Position Sizing
**Conservative:**
- Risk 1% per trade
- Wider stops at range boundaries
**Moderate:**
- Risk 1-2% per trade
- Stops below spring/above UTAD
**Aggressive:**
- Risk 2-3% per trade
- Tight stops
- Higher win rate needed
### Stop Loss Placement
**Accumulation:**
- Below spring low
- Below trading range bottom
- Below demand zone
**Distribution:**
- Above UTAD high
- Above trading range top
- Above supply zone
### Take Profit Strategy
**Method 1: Measured Move**
- Range height = minimum target
- 2x range height = extended target
**Method 2: Fibonacci Extensions**
- 1.0 = range height
- 1.618 = extended target
- 2.618 = maximum target
**Method 3: Trail the Stop**
- Move stop to breakeven at 1R
- Trail under swing lows in markup
- Lock in profits progressively
---
## BACKTESTING CHECKLIST
Before trading with real money:
- Backtest on 50+ historical examples
- Record all signals in trading journal
- Calculate win rate (aim for >50%)
- Calculate average R:R (aim for >1:2)
- Test on multiple instruments
- Test on multiple timeframes
- Test in different market conditions
- Verify signal consistency
- Practice on demo account
- Start small with real money
---
## RECOMMENDED READING
### Books
1. **"Studies in Tape Reading"** - Richard D. Wyckoff
2. **"The Richard D. Wyckoff Method"** - Rubén Villahermosa
3. **"Charting the Stock Market: The Wyckoff Method"** - Jack Hutson
4. **"Master the Markets"** - Tom Williams (VSA)
### Courses
1. Wyckoff Analytics - Official Wyckoff course
2. TradeVSA - Volume Spread Analysis
3. StockCharts - Wyckoff education
### Communities
1. Wyckoff Analytics Forum
2. Reddit r/Wyckoff
3. TradingView Wyckoff ideas section
---
## FREQUENTLY ASKED QUESTIONS
**Q: Can I use this on crypto?**
A: Yes, works well on major cryptocurrencies with good volume.
**Q: Does it work on forex?**
A: Yes, but use futures volume (like 6E for EUR/USD) for better accuracy.
**Q: What's the best timeframe?**
A: Daily chart for most traders. 4H for more active trading.
**Q: How long does accumulation last?**
A: Typically 2-12 weeks. Longer accumulation = bigger markup.
**Q: Can I automate this?**
A: You can use the alerts, but manual analysis is recommended.
**Q: What's the win rate?**
A: With proper filtering: 60-70% on major signals (Spring, UTAD, SOS, SOW).
**Q: Should I trade every signal?**
A: No. Focus on Spring, UTAD, SOS, and SOW in trending markets.
**Q: What if I see conflicting signals?**
A: Use higher timeframe for context. When in doubt, stay out.
**Q: How do I know which phase I'm in?**
A: Check the table in top-right corner. Also look at background color.
**Q: Can I use this for options trading?**
A: Yes, excellent for timing option entries (especially around Spring/UTAD).
---
## FINAL THOUGHTS
The Wyckoff Method is:
- **A complete trading system** (not just an indicator)
- **Based on 100+ years** of market wisdom
- **Used by institutions** and professional traders
- **Requires practice** and screen time
- **Highly effective** when applied correctly
**Success Tips:**
1. Start with daily charts
2. Focus on major events (SC, Spring, SOS, BC, UTAD, SOW)
3. Always check higher timeframe context
4. Wait for confirmation before entering
5. Manage risk properly
6. Keep a trading journal
7. Be patient - wait for the best setups
**Remember:**
- Not every range will have all events
- Some phases may be abbreviated
- Context and confluence matter most
- Practice makes perfect
---
## SUPPORT & UPDATES
For questions, improvements, or bug reports:
- Check TradingView script comments
- Join Wyckoff trading communities
- Study historical examples
- Practice on demo accounts
**Good luck and happy trading!**
---
*Disclaimer: This indicator is for educational purposes. Always do your own analysis and risk management. Past performance does not guarantee future results.*
# WYCKOFF VISUAL SETUP EXAMPLES
## ACCUMULATION SCHEMATIC #1 (Classic Bottom)
```
Price Chart View:
│ PHASE E
│ MARKUP
│ ╱
│ ╱
┌─SOS─────┤ ╱
│ │ ╱
┌───────────┤ ┌LPS │╱
│ PHASE B │ │ │
│ (Cause) └──┴──────┤
┌AR──┤ │
┌────┤ │ ┌─Spring │ PHASE D
│ └ST──┤ │ │
│ │ │ │
────SC────────┴─────────┴───────────┴──────────
│
PS
│ PHASE A
│
Downtrend
```
### PHASE A - Stopping the Downtrend
```
PS: │ High volume down bar
▼ First sign of support
■ Not bottom yet
SC: │ VERY HIGH volume
▼ Panic selling exhaustion
█ Long lower wick
█ This is the low
AR: │ Automatic rally
▲ Relief bounce
■ High volume acceptable
ST: │ Secondary test
▼ Low volume (KEY!)
■ Tests SC low
```
### PHASE B - Building the Cause
```
┌─────────┐
│ ~~~ │ Multiple tests
│ ~ ~ │ Volume decreases
│~ ~ │ Range gets tighter
└─────────┘
Duration: 2-12 weeks typical
The longer, the bigger the eventual move
```
### PHASE C - The Test (SPRING)
```
║ False breakdown
─────╨─────
▼ Low volume
█ Breaks below support
■
█ Quick reversal
▲ Closes ABOVE support
CRITICAL: Volume must be LOW
Close must be strong
Happens quickly (1-3 bars)
```
### PHASE D - Strength Emerges
```
SOS: ▲ Sign of Strength
────╥──── Break above resistance
║ High volume
║ Wide spread
LPS: ▼ Last Point Support
■ Pullback on LOW volume
▲ Great entry point
BU: ▲ Backup
■ Final consolidation
▲ Before markup
```
### PHASE E - Markup
```
╱
╱
╱ Strong uptrend
╱ High momentum
╱ Can last months/years
──╱──
```
---
## DISTRIBUTION SCHEMATIC #2 (Classic Top)
```
Price Chart View:
Uptrend
│
PSY
│ PHASE A
────BC────────┬─────────┬───────────┬──────────
│ │ UTAD │
│ PHASE B │ │ PHASE D
┌AR──┤ ┌LPSY │ │
│ │ │ └───────────┤
│ └──┴──────┐ │╲
└ST──┤ │ │ ╲
│ └───────────┤ ╲
└─SOW─────┤ │ ╲
│ │ ╲
│ PHASE C │ ╲
│ │ PHASE E
│ │ MARKDOWN
```
### PHASE A - Stopping the Uptrend
```
PSY: │ High volume up bar
▲ Preliminary supply
■ Selling starting
BC: │ VERY HIGH volume
▲ Buying climax
█ Euphoric top
█ Long upper wick
AR: │ Automatic reaction
▼ Sharp selloff
■ High volume
ST: │ Secondary test
▲ Low volume (KEY!)
■ Tests BC high
```
### PHASE C - The Test (UTAD)
```
▲ False breakout
────╥────
║ Breaks ABOVE resistance
║ Often high volume spike
▼
█ Rejection / weak close
█ Closes BELOW resistance
▼
CRITICAL: Closes weak
Quick rejection
Traps buyers
```
### PHASE D - Weakness Emerges
```
SOW: ▼ Sign of Weakness
────╨──── Break below support
║ High volume
║ Wide spread
LPSY: ▲ Last Point Supply
■ Rally on LOW volume
▼ Last chance to exit
```
---
## VOLUME PATTERNS (Critical to Understanding)
### ACCUMULATION Volume Pattern
```
Volume
│ SC
█
█ ST
■ ■ Spring
■ ■ ■ SOS LPS
──┴────┴────┴──────█───■────►
│ │ │ │ │
│ │ │ │ │
A A C D D
Pattern: HIGH → low → low → HIGH → low
Key: Volume DECREASES during range
INCREASES on breakout
```
### DISTRIBUTION Volume Pattern
```
Volume
│ BC
█
█ ST
■ ■ UTAD
■ ■ ■ SOW LPSY
──┴────┴────┴──────█───■────►
│ │ │ │ │
│ │ │ │ │
A A C D D
Pattern: HIGH → low → varies → HIGH → low
Key: Volume MAY increase on UTAD
Definitely HIGH on breakdown (SOW)
```
---
## REAL TRADE SETUPS
### Setup #1: SPRING BUY
```
Entry Conditions:
1. Clear trading range identified
2. Price breaks BELOW support
3. Volume is LOW (critical!)
4. Price reverses QUICKLY
5. Closes ABOVE support level
Entry: Next bar or on retest
Stop: Below spring low
Target: Top of range (minimum)
Example:
Support: $100
Spring low: $98 (low volume)
Close: $101
Entry: $102
Stop: $97.50
Target: $120 (range top)
Risk/Reward: 1:4
```
### Setup #2: UTAD SELL
```
Entry Conditions:
1. Clear trading range identified (after uptrend)
2. Price breaks ABOVE resistance
3. Often high volume spike
4. Price reverses QUICKLY
5. Closes BELOW resistance level
Entry: Next bar or on retest
Stop: Above UTAD high
Target: Bottom of range (minimum)
Example:
Resistance: $200
UTAD high: $205 (spike)
Close: $198
Entry: $197
Stop: $206
Target: $180 (range bottom)
Risk/Reward: 1:2
```
### Setup #3: SOS BREAKOUT
```
Entry Conditions:
1. Clear accumulation range
2. Spring already occurred (ideal)
3. Price breaks ABOVE resistance
4. HIGH volume on breakout
5. Wide spread up bar
Entry Option A: On breakout ($120)
Entry Option B: Wait for LPS pullback ($115)
Stop: Below range or LPS
Target: Range height projected up
Example:
Range: $100-$120 (20 points)
SOS breakout: $120
Entry A: $120
Stop: $115
Target 1: $140 (100%)
Target 2: $150 (150%)
```
---
## VSA SPECIFIC PATTERNS
### Pattern 1: No Demand (Weakness)
```
▲
■ Up bar
■ Low volume ◄── KEY
▲ Small body
Context: After uptrend
Meaning: Buyers exhausted
Action: Prepare to sell
```
### Pattern 2: No Supply (Strength)
```
▼
■ Down bar
■ Low volume ◄── KEY
▼ Small body
Context: After downtrend
Meaning: Sellers exhausted
Action: Prepare to buy
```
### Pattern 3: Stopping Volume
```
═ Very high volume
█ Narrow spread ◄── KEY
═ Price not moving
Context: At extremes
Meaning: Absorption
Action: Expect reversal
```
---
## COMMON MISTAKES (What NOT to Do)
### ❌ Mistake 1: Buying Prematurely
```
WRONG:
SC
▼
█ ← DON'T BUY HERE
CORRECT:
Spring
─────╨─────
▼
█ ← BUY HERE
▲
```
### ❌ Mistake 2: Ignoring Volume
```
WRONG: "It broke below support, must be spring"
─────╨───── High volume
█
This is a BREAKDOWN, not a spring!
CORRECT Spring:
─────╨───── LOW volume ✓
■ Quick reversal ✓
▲
```
### ❌ Mistake 3: Trading Against Trend
```
WRONG:
Markdown Phase E
╲
╲ ← Trying to buy here
╲
╲
CORRECT:
Wait for new accumulation to complete
```
---
## MULTI-TIMEFRAME EXAMPLE
### Weekly Chart: Phase E Markup (Bullish)
```
╱
╱
╱ Long-term uptrend
╱
───╱─────
```
### Daily Chart: Re-Accumulation Phase C
```
┌─────────┐
│ Spring │ ← We are here
│ ▼ │
─────┴────█────┴─────
▲
```
### 4-Hour Chart: Entry Timing
```
Last 48 hours:
─────╨───── Spring occurred
█
▲ ← Enter now
■
```
**Result:** Triple confirmation across timeframes = High probability trade
---
## PROFIT TARGETS (Visual Guide)
### Method 1: Basic Measured Move
```
Resistance: 120 ┐ ─────────
│
│ 20 points
│
Support: 100 ┘ ─────────
Breakout: 120
Target: 120 + 20 = 140
╱╱╱ 140 (Target)
╱╱╱
╱╱╱
──────◄ 120 (Breakout)
│
Range │ 20
│
──────┘ 100
```
### Method 2: Multiple Targets
```
╱╱╱ 150 (Target 3: 2.5x) - 20% position
╱╱╱
╱╱╱ 140 (Target 2: 2x) - 30% position
╱╱╱
─────◄╱ 130 (Target 1: 1x) - 50% position
│
10 │ 120 (Breakout)
│
─────┘ 110 (Support)
```
### Method 3: Trailing Stop
```
1. Move stop to breakeven at Target 1
2. Trail stop under swing lows
3. Let winners run
╱╱╱
╱ ╱╱ ← Trail stop here
╱╱ ╱
╱ ╱ ← Then here
─────◄──╱
← Start here (breakeven)
```
---
## TIMING ENTRIES (Exact Bar Patterns)
### Perfect Spring Entry
```
Bar 1: ▼ Breaks below (Low vol)
█
Bar 2: ▲ Reverses (Closes strong)
█ ◄─ ENTER HERE
Bar 3: ■ Confirms
▲
DON'T WAIT for Bar 3!
Enter on Bar 2 close
```
### Perfect UTAD Entry
```
Bar 1: ▲ Breaks above (Spike vol OK)
█
Bar 2: ▼ Reverses (Closes weak)
█ ◄─ ENTER HERE
Bar 3: ■ Confirms
▼
SHORT on Bar 2 close
Don't wait for more confirmation
```
---
## COMPOSITE OPERATOR PSYCHOLOGY
### What Smart Money Does (Follow Them)
**Accumulation:**
```
1. Create fear (PS, SC)
2. Shake out weak hands (Spring)
3. Absorb supply quietly (Phase B)
4. Test for remaining supply (Test)
5. Mark it up (SOS → Phase E)
💰 They buy LOW when retail panics
```
**Distribution:**
```
1. Create euphoria (PSY, BC)
2. Trap late buyers (UTAD)
3. Distribute to buyers (Phase B)
4. Test for remaining demand (ST)
5. Mark it down (SOW → Phase E)
💰 They sell HIGH when retail buys
```
### Where to Look for Smart Money
```
💰 Buy signals appear at:
- Demand zones (green boxes)
- Springs and shakeouts
- Tests of support
- After selling climax
💰 Sell signals appear at:
- Supply zones (red boxes)
- UTAD and upthrusts
- Weak rallies (LPSY)
- After buying climax
```
---
## PRACTICE EXERCISES
### Exercise 1: Identify the Phase
Look at any chart and ask:
1. Is there a trading range? (Phase B likely)
2. Did we just stop a trend? (Phase A)
3. Was there a spring/UTAD? (Phase C)
4. Is there a breakout? (Phase D)
5. Is trend running? (Phase E)
### Exercise 2: Volume Analysis
For each bar, note:
- Volume level (High/Normal/Low)
- Spread (Wide/Normal/Narrow)
- Effort vs Result (Matching? Diverging?)
### Exercise 3: Find Historical Springs
Go back 6 months:
- Mark all springs you can find
- Note the setup before each
- Track what happened after
- Calculate win rate
---
## FINAL VISUALIZATION: The Complete Cycle
```
ACCUMULATION → MARKUP → DISTRIBUTION → MARKDOWN → ACCUMULATION...
Distribution Accumulation
(Top) (Bottom)
┌───────────────┐ ┌───────────────┐
│ BC UTAD │ │ Spring SC │
│ │ │ │ │ │ │ │
────┴───┴───┴───────┴─╲ ╱────────┴───┴───┴────
╲ ╱
Markdown ╲ ╱ Markup
(Phase E) ╲ ╱ (Phase E)
╲ ╱
╲ ╱
╲ ╱
╲ ╱
V
The market cycles endlessly
Your job: Identify where you are in the cycle
Trade accordingly
```
---
**Remember:**
- 📊 Study charts daily
- 📝 Journal every setup
- 🎯 Wait for the best signals
- 💰 Follow smart money
- ⏰ Be patient
- 🚀 Let winners run
**The indicator does the heavy lifting - you make the decisions!**
Clean Volume (SUV)The Problem with Raw Volume
Traditional volume bars tell you how much traded, but not whether that amount is unusual. This creates noise that misleads traders:
Stock A averages 1M shares with wild daily swings (500K-2M is normal). Today's 2M volume looks like a spike—but it's just a routine high day.
Stock B averages 1M shares with rock-steady volume (950K-1.05M typical). Today's 2M volume is genuinely extraordinary—institutions are clearly active.
Both show identical 200% relative volume. But Stock B's reading is far more significant. Raw volume and simple relative volume (RVol) can't distinguish between these situations, leading to:
- False signals on naturally volatile stocks
- Missed signals on stable stocks where smaller deviations matter
- Inconsistent comparisons across different securities
---
A Solution: Standardized Unexpected Volume (SUV)
SUV applies statistical normalization to volume, measuring how many standard deviations today's volume is from the mean. This z-score approach accounts for each stock's individual volume stability, not just its average.
SUV = (Today's Volume - Average Volume) / Standard Deviation of Volume
Using the examples above:
- Stock A (high volatility): SUV = 2.0 — elevated but not unusual for this stock
- Stock B (low volatility): SUV = 10.0 — extremely unusual, demands attention
SUV automatically calibrates to each security's behaviour, making volume readings comparable across any stock, ETF, or timeframe.
---
What SUV Is Good For
✅ Identifying genuine volume anomalies — separates signal from noise
✅ Comparing volume across different securities — apples-to-apples z-scores
✅ Spotting institutional activity — large players create statistically significant footprints
✅ Confirming breakouts — high SUV validates price moves
✅ Detecting exhaustion — extreme SUV after extended moves may signal climax
✅ Finding "dry" setups — negative SUV reveals quiet accumulation periods
---
Where SUV Has Limitations
⚠️ Earnings/news events — SUV will spike dramatically (by design), but the statistical reading may be less meaningful when fundamentals change
⚠️ Low-float stocks — extreme volume volatility can produce erratic SUV readings
⚠️ First 20 bars — needs lookback period to establish baseline; early readings are less reliable
⚠️ Doesn't predict direction — SUV measures volume intensity, not whether price will rise or fall
---
How to Read This Indicator
Bar Height
Displays actual volume (like a traditional volume chart) so you can still see absolute levels.
Bar Color (SUV Intensity)
Color intensity reflects the SUV z-score. Brighter = more unusual.
Up Days (Green Gradient):
| Color | SUV Range | Meaning |
|--------------|-----------|------------------------------------------|
| Bright Green | ≥ 3.0 | EXTREME — Highly unusual buying activity |
| Green | ≥ 2.0 | VERY HIGH — Significant accumulation |
| Light Green | ≥ 1.5 | HIGH — Above-average interest |
| Pale Green | ≥ 1.0 | ELEVATED — Moderately active |
| Muted Green | 0 to 1.0 | NORMAL — Typical volume |
| Dark Grey | < 0 | DRY — Below-average, quiet |
Down Days (Red Gradient):
| Color | SUV Range | Meaning |
|------------|-----------|-----------------------------------------|
| Bright Red | ≥ 3.0 | EXTREME — Panic selling or capitulation |
| Red | ≥ 2.0 | VERY HIGH — Heavy distribution |
| Light Red | ≥ 1.5 | HIGH — Active selling |
| Pale Red | ≥ 1.0 | ELEVATED — Moderate selling |
| Muted Red | 0 to 1.0 | NORMAL — Routine down day |
| Dark Grey | < 0 | DRY — Light profit-taking |
Coiled State (Tan/Beige):
When detected, bars turn muted tan regardless of direction. This indicates:
- Volume compression (SUV below threshold for consecutive days)
- Volatility contraction (ATR below average)
- Price tightness (small recent moves)
Coiled states may precede significant breakouts.
Special Markers
"P" Label (Blue) — Pocket Pivot detected. Morales & Kacher's signal fires when:
- Price closes higher than previous close
- Price closes above the open (green candle)
- Volume exceeds the highest down-day volume of the last 10 bars
Pocket Pivots may indicate institutional buying before a traditional breakout.
"C" Label (Orange) — Coiled state confirmed. The stock is consolidating with compressed volume and tight price action. Watch for expansion.
Dashboard
The configurable dashboard displays real-time metrics. Default items:
- Vol — Current bar volume
- SUV — Z-score value
- Class — Classification (EXTREME/VERY HIGH/HIGH/ELEVATED/NORMAL/DRY/COILED)
- Proj RVol — Projected end-of-day relative volume (intraday only)
Additional optional items: Direction, Coil Status, Relative ATR, Pocket Pivot, Average Volume.
---
Practical Usage Tips
1. SUV ≥ 2 on breakouts — Validates the move has institutional participation
2. Watch for SUV < 0 bases — Quiet accumulation zones where smart money builds positions
3. Coil → Expansion — After consecutive coiled days, the first SUV ≥ 1.5 bar often signals direction
4. Pocket Pivots in bases — Early accumulation signals before price breaks out
5. Extreme SUV (≥3) after extended moves — May indicate climax/exhaustion rather than continuation
---
Settings Overview
| Group | Key Settings |
|-----------------|-----------------------------------------------------|
| SUV Settings | Lookback period (default 20) |
| Coil Detection | Enable/disable, sensitivity thresholds |
| Pocket Pivot | Enable/disable, lookback period |
| Display | Dashboard style (Ribbon/Table), position, text size |
| Dashboard Items | Toggle which metrics appear |
| Colors | Fully customizable gradient colors |
---
Credits
SUV concept adapted from academic literature on standardized unexpected volume in market microstructure research. Pocket Pivot methodology based on Gil Morales and Chris Kacher's work. Coil detection inspired by volatility contraction patterns.
---
This indicator does not provide financial advice. Always combine volume analysis with price action, market context, and proper risk management. No animals were harmed during the coding and testing of this indicator.
Vassago & Tesla Ex-Machina 197 45 21 [Hakan Yorganci]Vassago & Tesla Ex-Machina 197 45 21
"Any sufficiently advanced technology is indistinguishable from magic." — Arthur C. Clarke
🌑 The Genesis: Algorithmic Esotericism
This script is not merely a technical indicator; it is a digital artifact born from the convergence of Software Engineering and Hermetic Tradition.
As a developer and researcher dedicated to "Technomancy"—the study of applying esoteric logic to computational systems—I designed this algorithm using a custom, experimental programming environment I am currently developing. My goal was to move beyond standard, arbitrary financial inputs (like the default 200 SMA or 14 RSI) and instead derive parameters based on Universal Harmonics and Historical Archetypes.
This indicator, Ex-Machina, is the result of that transmutation. It applies ancient numeric precision to modern market chaos.
🔢 Decoding the Protocol: 197 - 45 - 21
Why these specific numbers? They were not chosen randomly; they were calculated through specific harmonic reductions to filter out market noise.
1. The Harmonic Trend (Tesla Protocol)
* The Logic: Standard analysis uses the 200-period Moving Average simply out of habit. However, applying Nikola Tesla’s 3-6-9 vibrational principles, the engine reduced the period to 197.
* The Numerology: 1+9+7 = 17 \rightarrow 1+7 = \mathbf{8}. In esoteric numerology, 8 represents infinite power, authority, and financial flow. This creates a baseline that aligns more organically with market accumulation than the static 200.
2. The Hidden Dip (Solomonic Sight)
* The Archetype: Based on the attributes of Vassago, the archetype of discovering "hidden things," the algorithm identified 45 as the precise threshold for a "Sniper Entry."
* The Function: Unlike the standard 30 RSI, this level identifies the exact moment a correction matures within a bullish trend—catching the dip before the crowd returns.
3. The Prophetic Vision
* The Logic: Using the Fibonacci Sequence, the indicator projects the support line 21 bars into the future.
* The Utility: This allows you to visualize where the support will be, granting you foresight before price action arrives.
⚖️ The Dual Mode Engine: Sealed vs. Living
Respecting the user's will, I have engineered this script as a Hybrid System. You can choose how the "spirit" of the code interacts with the market via the settings menu.
1. The Sealed Ritual (Default - Unchecked)
* Philosophy: "Trust in the Constants."
* Behavior: Strictly adheres to the 197 SMA and 45 RSI.
* Visual: Displays a Blue Trend Line.
* Best For: Traders who value stability, long-term trends, and the unyielding nature of harmonic mathematics.
2. The Living Spirit (Adaptive Mode - Checked)
* Philosophy: "As the market breathes, so does the code."
* Behavior:
* Transmutation: The trend line shifts from a Simple Moving Average (SMA) to an Exponential Moving Average (EMA 197) for faster reaction.
* Adaptive Volatility: The RSI entry level (45) becomes dynamic. It expands and contracts based on ATR (Average True Range). In high volatility, it demands a deeper dip to trigger a signal, protecting you from fake-outs.
* Visual: Displays a Fuchsia (Pink) Trend Line.
* Best For: Volatile markets (Crypto/Forex) and traders who want the algorithm to "sense" the fear and greed in the air.
⚙️ How to Trade
* Timeframe: Optimized for 4H (The Builder) and 1D (The Architect).
* The Signal: Wait for the "EX-MACHINA ENTRY" label. This signal manifests ONLY when:
* Price is holding above the 197 Harmonic Trend.
* Momentum crosses the Optimized Threshold (45 or Adaptive).
* Trend Strength is confirmed via ADX.
Author's Note:
I built this tool for those who understand that code is the modern spellbook. Use it wisely, risk responsibly, and let the harmonics guide your entries.
— Hakan Yorganci
Technomancer & Full Stack Developer
Vdubus Divergence Wave Pattern Generator V1The Vdubus Divergence Wave Theory
10 years in the making & now finally thanks to AI I have attempted to put my Trading strategy & logic into a visual representation of how I analyse and project market using Core price action & MacD. Enjoy :)
A Proprietary Structural & Momentum Confluence SystemPart 1: The Strategic Concept1. The Core Philosophy: "Geometry + Physics"Traditional technical analysis often fails because traders confuse location with timing.Geometry (Price Patterns): Tells us WHERE the market is likely to reverse (e.g., at a resistance level or harmonic D-point).Physics (Momentum): Tells us WHEN the energy driving the trend has actually shifted. The Vdubus Theory posits that a trade should never be taken based on Geometry alone. A valid signal requires a specific, fractal decay in momentum—a "Handshake" between price structure and energy exhaustion.2. The 3-Wave Momentum Filter (The Engine)Most traders look for simple divergence (2 points). The Vdubus Theory demands a 3-Wave Structure to confirm the true state of the market.A. The Standard Reversal (Exhaustion)This is the "Safe" entry, catching the slow death of a trend.Wave 1 $\rightarrow$ 2 (The Warning): Price pushes higher, but momentum is lower (Standard Divergence). This signals that the trend is tapping the brakes.Wave 2 $\rightarrow$ 3 (The Confirmation): Price pushes to a final extreme (often a stop-hunt), but momentum is flat or lower than Wave 2 ("No Divergence").The Logic: This confirms that the buyers have expended all remaining energy. The engine is dead.
B. The Climax Reversal (The Trap)This is the "Aggressive" entry, catching V-shape reversals.Wave 1 $\rightarrow$ 2 (The Bait): Price pushes higher, and momentum is Stronger/Higher (No Divergence). This sucks in retail traders who believe the trend is accelerating.Wave 2 $\rightarrow$ 3 (The Snap): Price pushes again, but momentum suddenly collapses (Divergence).The Logic: A "Strong to Weak" shift. The market traps traders with a show of strength before hitting a "concrete wall" of limit orders.C. The Predator (The Trend Continuation)The Logic: Trends rarely move in straight lines. The "Predator" looks for Hidden Divergence during a pullback.The Signal: Price makes a Higher Low (Trend Structure Intact), but Momentum makes a Lower Low (Oversold Trap). This signals the end of the correction and the resumption of the main trend.3. The "Clean Path" PrincipleA trade is only valid if there is no opposing force. If you are looking to Sell (Bearish Reversal), the opposing Bullish momentum must be weak or neutral. If the "Enemy" is strong, the trade is skipped.
Part 2: The Indicator Breakdown
Tool Name: Vdubus Divergence Wave Pattern Generator V1
This script automates your analysis by combining ZigZag Pattern Recognition (Geometry) with your Custom MACD Logic (Physics).
1. The "Golden" Settings
The physics engine is tuned to your specific discovery:
Fast Length: 8
Slow Length: 21
Signal Length: 5
Lookback: 3 (Sensitive enough to catch the exact pivot points).
2. Signal Generation Logic
The indicator scans for four distinct setups. Here is the exact logic code translated into English:
Signal 1: Standard Reversal (Green/Red Pattern)
Geometry: The ZigZag algorithm identifies a 5-point structure (X-A-B-C-D), such as a Gartley, Bat, or Butterfly.
Physics Check:
Finds the last 3 momentum peaks matching the price highs.
Rule: Momentum Peak 2 must be < Peak 1 (Divergence).
Rule: Momentum Peak 3 must be <= Peak 2 (Confirmation/No Div).
Output: Draws the colored pattern and labels it (e.g., "Bearish Gartley (Exhaustion)").
Signal 2: Climax Reversal (Orange Pattern)
Geometry: Identifies the same 5-point structures.
Physics Check:
Rule: Momentum Peak 2 is >= Peak 1 (Strength/No Div).
Rule: Momentum Peak 3 is < Peak 2 (Sudden Failure/Div).
Output: Draws the pattern in Orange labeled "⚠️ CLIMAX REVERSAL". This is your "Trap" detector.
Signal 3: Rounded Top/Bottom (Navy/Maroon Label)
Geometry: Price is compressing or rounding over.
Physics Check:
Scans for 4 consecutive waves of momentum decay.
Rule: Peak 1 > Peak 2 > Peak 3 > Peak 4.
Output: Places a label indicating a "Multi-Wave Decay," identifying turns that don't have sharp pivots.
Signal 4: The Predator (Purple Pattern)
Geometry: Identifies a trend pullback (Higher Low for Buys).
Physics Check:
Rule: Momentum makes a Lower Low while Price makes a Higher Low (Hidden Divergence).
Output: Draws a Purple pattern labeled "🦖 PREDATOR" to signal trend continuation.
3. The Confluence Dashboard
Located in the corner of the screen, this provides a final "Safety Check."
Logic: It compares the absolute value (strength) of the most recent Bearish Momentum Peak vs. the most recent Bullish Momentum Low.
Output:
Green (Bulls Strong): Buying pressure is dominant. Safe to Buy, Dangerous to Sell.
Red (Bears Strong): Selling pressure is dominant. Safe to Sell, Dangerous to Buy.
Grey (Neutral): Forces are balanced.
Summary of Potential
This system solves the "Trader's Dilemma" of entering too early or too late. By waiting for the 3rd Wave, you effectively filter out the market noise and only commit capital when the opposing side has structurally and physically collapsed. It transforms trading from a guessing game into a disciplined execution of identifying Geometric Exhaustion.
Logic 1 / PREVIOUS DIVERGENCE PROJECTS future TREND BREAKS / Reversals *Not in script*
Logic 2 / Wave 1 to 2 = Divergence / Wave 2 to 3 = NO divergence = Signal
Reverse logic: Wave 1 to 2 = NO Divergence / Wave 2 to 3 = Divergence = Signal






















