DCA StrategyThis strategy makes it easy for you to backtest and automate the DCA strategy based on 2 triggers:
Day of the week
Every X candles
This way you can set up your DCA strategy the way you like and automate on any exchange or even a DEX, which offers an API.
The strategy is auto selling on the last candle, otherwise you won't see any performance numbers because all positions will still be open (non conclusive).
Settings
Start Date & End Date
Use those dates to help you with your backtest period. It also helps when automating, to start at a specific time to mimic what you have already done on your own portfolio and thus be in sync in TV as well.
Capital to invest per trade
Set how capital to use per DCA buy signal. Hover over the tooltip to understand, which currency is used.
Close All on last candle
When backtesting, you must close open positions, otherwise the Strategy Tester won't show you any numbers. This is why the strategy automatically closes all positions on the last candle for your convenience (ON per default).
BUT, when automating, you cannot have this checked because it would sell all of your asset on every candle open. So turn this OFF when automating.
Use Day of Week Mode
This checkbox switches between the "Day of Week" mode or the "Every X Candles" mode.
Day of Week
Opens a long position at the start of the weekday you have set it to.
Hover over the tooltip to understand, which number to use for the day of the week you need.
Every X Candles
Opens a long position after every x candles. Always at the start of every such candle.
On the daily chart, this number represents "1 day", on the 1h chart, it's "1 hour" and so on.
Properties
Initial Capital
DCA has a special quirk and that is that it invests more and more and more funds the longer it runs. But TradingView takes the Initial Capital number to calculate Net Profit, thus the Initial Capital number has to grow with every additional dollar (money) that is being invested over time, otherwise the Net Profit number will be wrong.
Sadly PineScript does not allow to set the Initial Capital number dynamically. So you have to set it manually.
To that end, this strategy shows a Label on the last candle, which shows the Invested Capital. You must take that number and put it into the Initial Capital input and click Ok .
If you don't do this, your Net Profit Number will be totally wrong!
The label must show green .
If it shows red it means you need to change the Initial Capital number before looking at the performance numbers.
After every timeframe or settings change, you must adapt the Initial Capital, otherwise you will get wrong numbers.
חפש סקריפטים עבור "trigger"
VWAP StrategyVWAP and volatility filters for structured intraday trades.
How the Strategy Works
1. VWAP Anchored to Session
VWAP is calculated from the start of each trading day.
Standard deviations are used to create bands above/below the VWAP.
2. Entry Triggers: Al Brooks H1/H2 and L1/L2
H1/H2 (Long Entry): Opens below 2nd lower deviation, closes above it.
L1/L2 (Short Entry): Opens above 2nd upper deviation, closes below it.
3. Volatility Filter (ATR)
Skips trades when deviation bands are too tight (< 3 ATRs).
4. Stop Loss
Based on the signal bar’s high/low ± stop buffer.
Longs: signalBarLow - stopBuffer
Shorts: signalBarHigh + stopBuffer
5. Take Profit / Exit Target
Exit logic is customizable per side:
VWAP, Deviation Band, or None
6. Safety Exit
Exits early if X consecutive bars go against the trade.
Longs: X red bars
Shorts: X green bars
Explanation of Strategy Inputs
- Stop Buffer: Distance from signal bar for stop-loss.
- Long/Short Exit Rule: VWAP, Deviation Band, or None
- Long/Short Target Deviation: Standard deviation for target exit.
- Enable Safety Exit: Toggle emergency exit.
- Opposing Bars: Number of opposing candles before safety exit.
- Allow Long/Short Trades: Enable or disable entry side.
- Show VWAP/Entry Bands: Toggle visual aids.
- Highlight Low Vol Zones: Orange shading for low volatility skips.
Tuning Tips
- Stop buffer: Use 1–5 points.
- Target deviation: Start with VWAP. In strong trends use 2nd deviation and turn off the counter-trend entry.
- Safety exit: 3 bars recommended.
- Disable short/long side to focus on one type of reversal.
Backtest Setup Suggestions
- initial_capital = 2000
- default_qty_value = 1 (fixed contracts or percent-of-equity)
Vortex Candle MarkerVortex Candle Marker
The Vortex Candle Marker is a specialized TradingView indicator designed to identify and highlight **Vortex Candles**—candles that momentarily form without wicks on either the high or low. This unique price behavior can signal potential price retracements or reversals, aligning with the **Power of Three (PO3)** concept in price action theory.
Indicator Logic:
A candle is classified as a **Vortex Candle** if either of these conditions is met during its formation:
1. **Vortex Top:** The **high** equals either the **open** or **close**, indicating no upper wick.
2. **Vortex Bottom:** The **low** equals either the **open** or **close**, indicating no lower wick.
When a Vortex Candle is detected, the indicator changes the **candle border color** to **aqua**, making it easy to identify these significant price moments.
Market Insight & PO3 Interpretation:
In typical price behavior, most candles exhibit both upper and lower wicks, representing price exploration before settling at a closing value. A candle forming without a wick suggests **strong directional intent** at that moment. However, by the **Power of Three (PO3)** concept—Accumulation, Manipulation, and Distribution—such wickless formations often imply:
- **Price Reversion Likelihood:** When a candle temporarily forms without a wick, it suggests the market may **revisit the opening price** to establish a wick before the candle closes.
- **Liquidity Manipulation:** The absence of a wick may indicate a **stop-hunt** or liquidity grab, where the price manipulates one side before reversing.
- **Entry Triggers:** Identifying these moments can help traders anticipate potential **retracements** or **continuations** within the PO3 framework.
Practical Application
- **Early Reversal Detection:** Spot potential price reversals by observing wickless candles forming at key levels.
- **Breakout Validation:** Use Vortex Candles to confirm **true breakouts** or **false moves** before the price returns.
- **Liquidity Zones:** Identify areas where the market is likely to revisit to create a wick, signaling entry/exit points.
This indicator is a powerful tool for traders applying **Po3** methodologies and seeking to capture price manipulation patterns.
CCI Buy and Sell Signals with 20/30 EMACCI Buy and Sell Signals with EMA and ATR Stop Loss/Take Profit
This indicator is designed to identify buy and sell signals based on a combination of the Commodity Channel Index (CCI) and Exponential Moving Averages (EMA). It also includes an optional ATR-based stop loss and take profit system, which is useful for traders who want to manage their trades with dynamic risk levels.
Features:
CCI Buy and Sell Signals:
Buy Signal: A buy signal is triggered when the CCI crosses up through -100 (from an oversold condition), the 20-period EMA is above the 30-period EMA, and the price is above the 200-period EMA. This suggests that the market is entering an upward trend.
Sell Signal: A sell signal is triggered when the CCI crosses down through +100 (from an overbought condition), the 20-period EMA is below the 30-period EMA, and the price is below the 200-period EMA. This suggests that the market is entering a downward trend.
Exponential Moving Averages (EMA):
The script plots three EMAs:
20-period EMA (Green): Used to identify short-term trends.
30-period EMA (Red): Used to capture medium-term trends.
200-period EMA (Orange): A long-term trend filter, with the price above it generally indicating bullish conditions and below it indicating bearish conditions.
ATR-Based Stop Loss and Take Profit:
Optional Feature: The ATR (Average True Range) indicator can be used to set stop loss and take profit levels based on market volatility.
Stop Loss: Set at a multiple of the ATR below the entry price for long positions and above the entry price for short positions.
Take Profit: Set at a multiple of the ATR above the entry price for long positions and below the entry price for short positions.
Customizable: You can adjust the ATR length, Stop Loss Multiplier, and Take Profit Multiplier through the settings.
Dots: The stop loss and take profit levels are plotted as dots on the chart when the ATR feature is enabled.
Alert Conditions:
Buy Signal Alert: Triggered when a buy signal occurs based on CCI crossing up -100 and other conditions being met.
Sell Signal Alert: Triggered when a sell signal occurs based on CCI crossing down +100 and other conditions being met.
Any Signal Alert: This is a combined alert that triggers for either a buy or sell signal. It helps you stay updated on both types of signals simultaneously.
How to Use:
The indicator will plot buy and sell arrows on the chart, giving clear entry points for trades based on CCI and EMA conditions.
The ATR stop loss and take profit dots (when enabled) provide automatic risk management levels, adjusting dynamically with market volatility.
Traders can customize the ATR settings to fine-tune their stop loss and take profit levels, making this strategy adaptable to different trading styles and market conditions.
ELC Indicator**ELC Indicator – Enigma Liquidity Concept**
The ELC Indicator is a cutting-edge tool designed for traders who want to leverage price action and liquidity concepts for high-precision trading opportunities. Unlike conventional indicators that rely purely on trend-following or oscillatory methods, ELC incorporates a unique combination of market structure, Fibonacci retracement levels, and dynamic EMA filtering to detect key buy and sell zones. This original approach helps traders capture the most relevant market movements and anticipate potential reversals with higher confidence.
---
### **What the ELC Indicator Does**
The primary goal of the ELC Indicator is to identify liquidity zones and plot Fibonacci-based levels around detected buy or sell signals. It continuously monitors price action to identify instances where significant liquidity grabs occur, signaled by breakouts beyond recent highs or lows. Once a signal is detected, the indicator plots horizontal lines at key Fibonacci ratios (0%, 25%, 50%, 75%, 100%, 120%, and 180%) to give traders a clear visual framework for potential retracement or extension levels.
Additionally, the indicator includes a dynamic EMA filter, which ensures that buy signals are only triggered when the price is above the EMA and sell signals when the price is below the EMA. This filtering mechanism helps reduce false signals in choppy markets and aligns trades with the broader trend direction.
---
### **Key Features**
1. **Buy & Sell Signals**
- Buy signals are generated when a liquidity grab occurs below the previous low, and the closing price is above the candle body midpoint and the EMA.
- Sell signals are triggered when a liquidity grab occurs above the previous high, and the closing price is below the candle body midpoint and the EMA.
- Visual cues are provided via small upward (green) and downward (red) triangles on the chart.
2. **Fibonacci Levels**
- For each buy or sell signal, the indicator plots multiple horizontal lines at key Fibonacci levels. These levels can help traders set realistic profit targets and stop-loss levels.
- The plotted lines can be customized in terms of style (solid, dotted, dashed) and color (buy and sell line colors).
3. **Dynamic EMA Filtering**
- A customizable EMA filter is integrated into the logic to align trades with the prevailing trend.
- The EMA length is adjustable, allowing traders to fine-tune the indicator based on their trading style and market conditions.
4. **Alert System**
- Alerts can be enabled for both buy and sell signals, ensuring traders never miss an opportunity even when away from the screen.
- Alerts are triggered once per bar, ensuring timely notifications without excessive noise.
5. **Customizable Signal Visibility**
- Traders can toggle the visibility of the last 9 buy and sell signals. When this option is disabled, only the most recent signal is displayed, helping to declutter the chart.
---
### **How to Use the ELC Indicator**
- **Trend Following**: The ELC Indicator works well in trending markets by filtering signals based on the EMA direction. Traders can use the plotted Fibonacci levels to enter trades, set profit targets, and manage risk.
- **Reversal Trading**: The liquidity grab detection mechanism allows traders to capture potential market reversals. By waiting for price retracements to key Fibonacci levels after a signal, traders can enter trades with a favorable risk-to-reward ratio.
- **Scalping & Day Trading**: With its ability to plot key intraday levels and generate real-time alerts, the ELC Indicator is particularly useful for scalpers and day traders looking to exploit short-term market inefficiencies.
---
### **Concepts Underlying the Calculations**
1. **Liquidity Grabs**: The ELC Indicator’s core logic is based on detecting instances where the market moves beyond a recent high or low, triggering a liquidity grab. This often signals a potential reversal or continuation, depending on broader market conditions.
2. **Fibonacci Ratios**: Once a signal is detected, key Fibonacci levels are plotted to provide traders with actionable zones for trade entries, profit targets, or stop-loss placements.
3. **EMA Filtering**: The EMA acts as a dynamic trend filter, ensuring that signals are aligned with the dominant market direction. This reduces the likelihood of entering trades against the prevailing trend.
---
### **Why ELC is Unique**
The ELC Indicator stands out by combining multiple powerful trading concepts—liquidity, Fibonacci ratios, and EMA filtering—into a single tool that provides actionable and visually intuitive information. Unlike traditional trend-following indicators that lag behind price action, ELC proactively identifies key market turning points based on liquidity events. Its customizable features, real-time alerts, and comprehensive plotting of Fibonacci levels make it a versatile tool for traders across various styles and timeframes.
Whether you're a scalper looking for intraday opportunities or a swing trader aiming to capture larger moves, the ELC Indicator offers a robust framework for identifying and executing high-probability trades.
---
### **How to Get Started**
1. Add the ELC Indicator to your chart.
2. Customize the EMA length, line colors, and style based on your preference.
3. Enable alerts to receive real-time notifications of buy and sell signals.
4. Use the plotted Fibonacci levels to plan your trade entries, profit targets, and stop-loss levels.
5. Combine the signals from ELC with your existing market analysis for optimal results.
---
This unique approach makes the ELC Indicator a valuable tool for traders seeking precision, clarity, and consistency in their trading decisions.
MFS-3 Bars Pattern Strategy3 Bar Pattern Strategy
Detects an Ignite Candle followed by a Pullback Candle followed by a Confirmation Candle.
A Box will be drawn around the setup and three arrows will identify I, P, C (Ignite, Pullback, Confirmation) the setup.
The strategy will calculate a Stop Loss below the Low Price of the Ignite candle and a Take Profit at 2 times the Stop Loss giving a Risk to Reward Ratio of 1:2.
Extra conditions are included to reduce false triggers:
- A down trend must be detected using 3 SMA (Long, Medium, Short) that should be aligned from Long to Short one above the other.
- The Ignite Candle's body must be BELOW the Short SMA
An input form is available to adjust some strategy parameters.
Performance Note
----------------------
Trading conditions are very strict, so most of the time, no signals will be detected in the Strategy window.
This strategy should only be one of many strategies used for trade setups.
Hope you enjoy it.
Austin MTF EMA Entry PointsAustin MTF EMA Entry Points
Overview
The Austin MTF EMA Entry Points is a custom TradingView indicator designed to assist traders in identifying high-probability entry points by combining multiple time frame (MTF) analysis. It leverages exponential moving averages (EMAs) from the daily, 1-hour, and 15-minute charts to generate buy and sell signals that align with the overall trend.
This indicator is ideal for traders who:
Want to trade in the direction of the broader daily trend.
Seek precise entry points on lower time frames (1H and 15M).
Prefer using EMAs as their main trend-following tool.
How It Works
Daily Trend Filter:
The indicator calculates the 50 EMA on the daily chart.
The daily EMA acts as the primary trend filter:
If the current price is above the daily 50 EMA, the trend is bullish.
If the current price is below the daily 50 EMA, the trend is bearish.
Lower Time Frame Entry Points:
The indicator calculates the 20 EMA on both the 1-hour (1H) and 15-minute (15M) time frames.
Buy and sell signals are generated when the price aligns with the trend on all three time frames:
Buy Signal: Price is above the daily 50 EMA and also above the 20 EMA on both the 1H and 15M charts.
Sell Signal: Price is below the daily 50 EMA and also below the 20 EMA on both the 1H and 15M charts.
Visual and Alert Features:
Plot Lines:
The daily 50 EMA is plotted in yellow for easy identification of the main trend.
The 20 EMA from the 1H chart is plotted in blue, and the 15M chart's EMA is in purple for comparison.
Buy/Sell Markers:
Green "Up" arrows appear for buy signals.
Red "Down" arrows appear for sell signals.
Alerts:
Alerts notify users when a buy or sell signal is triggered, making it easier to act on trading opportunities in real-time.
How to Use the Indicator
Identify the Main Trend:
Check the relationship between the price and the daily 50 EMA (yellow line):
Only look for buy signals if the price is above the daily 50 EMA.
Only look for sell signals if the price is below the daily 50 EMA.
Wait for Lower Time Frame Alignment:
For a valid signal, ensure that the price is also above or below the 20 EMA (blue and purple lines) on both the 1H and 15M time frames:
This alignment confirms short-term momentum in the same direction as the daily trend.
Act on Signals:
Use the arrows as visual cues for entry points:
Enter long trades on green "Up" arrows.
Enter short trades on red "Down" arrows.
The alerts will notify you of these signals, so you don’t have to monitor the chart constantly.
Exit Strategy:
Use your preferred stop-loss, take-profit, or trailing stop strategy.
You can also exit trades if the price crosses back below/above the daily 50 EMA, signaling a potential reversal.
Use Cases
Swing Traders: Use the daily trend filter to trade in the direction of the dominant trend, while using 1H and 15M signals to fine-tune entries.
Day Traders: Leverage the 1H and 15M time frames to capitalize on short-term momentum while respecting the broader daily trend.
Position Traders: Monitor the indicator to determine potential reversals or significant alignment across time frames.
Customizable Inputs
The indicator includes the following inputs:
Daily EMA Length: Default is 50. Adjust this to change the length of the trend filter EMA.
Lower Time Frame EMA Length: Default is 20. Adjust this to change the short-term EMA for the 1H and 15M charts.
Time Frames: Hardcoded to "D", "60", and "15", but you can modify the script for different time frames if needed.
Example Scenarios
Buy Signal:
Price is above the daily 50 EMA.
Price crosses above the 20 EMA on both the 1H and 15M time frames.
A green "Up" arrow is displayed, and an alert is triggered.
Sell Signal:
Price is below the daily 50 EMA.
Price crosses below the 20 EMA on both the 1H and 15M time frames.
A red "Down" arrow is displayed, and an alert is triggered.
Strengths and Limitations
Strengths:
Aligns trades with the higher time frame trend for increased probability.
Uses multiple time frame analysis to identify precise entry points.
Visual signals and alerts make it easy to use in real-time.
Limitations:
May produce fewer signals in choppy or ranging markets.
Requires discipline to avoid overtrading when conditions are unclear.
Lag in EMAs could result in late entries in fast-moving markets.
Final Notes
The Austin MTF EMA Entry Points indicator is a powerful tool for traders who value multiple time frame alignment and trend-following strategies. While it simplifies decision-making, it is always recommended to backtest and practice proper risk management before using it in live markets.
Try it out and make smarter, trend-aligned trades today! 🚀
Liquidity + Engulfment StrategyThis strategy identifies potential trading opportunities by combining bullish and bearish engulfing candle patterns with liquidity seal-off points. The logic is based on the concept of engulfing candles, which signal a shift in market sentiment, and liquidity lines, which represent local price extremes (highs and lows) that can indicate potential reversal or continuation points.
Key Features:
Mode Selection
The strategy allows for three modes: "Both", "Bullish Only", and "Bearish Only". Users can choose whether to trade both directions, only bullish setups, or only bearish setups.
Time Range
Users can define a specific time range for when the strategy is active, enabling tailored analysis and trade execution over a desired period.
Engulfing Candles
Bullish Engulfing: A candle that closes above the high of the previous bearish candle, signaling potential upward momentum.
Bearish Engulfing: A candle that closes below the low of the previous bullish candle, indicating a potential downtrend.
Liquidity Seal-Off Points
The strategy detects local highs and local lows within a specified lookback period, which can serve as critical support and resistance points.
A bullish signal is triggered when the price touches a lower liquidity point (local low), and a bearish signal is triggered at a higher liquidity point (local high).
Signal Confirmation
Signals are only triggered when both an engulfing candle and the price action at a liquidity seal-off point align. This helps filter out weaker signals.
Consecutive signals are prevented by locking the trade direction after an initial signal and waiting for the liquidity line to be broken before re-triggering a signal.
Entry and Exit Conditions
The strategy can enter both long (bullish) or short (bearish) positions based on the mode and signals.
Exit is based on opposing signals or reaching predefined stop-loss and take-profit levels.
Alerts
The strategy supports alert conditions to notify users when bullish engulfing after a lower liquidity touch or bearish engulfing after an upper liquidity touch is detected.
SMA200 & RSI [Tarun]The SMA200 & RSI Signal Indicator is a powerful tool designed for traders who want to identify potential entry zones based on a combination of price action and momentum. This indicator combines two essential trading components:
SMA200 (Simple Moving Average): A widely used trend-following tool that highlights the overall direction of the market.
RSI (Relative Strength Index): A momentum oscillator that measures the speed and change of price movements.
How It Works:
Price Above SMA200: Indicates bullish market conditions.
RSI Between 40 and 20: Suggests that the asset is in a potential oversold or pullback zone within a bullish trend.
When both conditions are met, the indicator triggers:
Background Highlight: The chart background turns green to indicate a potential signal zone.
Disclaimer:
This indicator is not a standalone trading strategy. Use it in conjunction with other analysis methods such as support and resistance, candlestick patterns, or volume analysis. Always practice proper risk management.
Cosmic Cycle Trader -AYNETThe "Cosmic Cycle Trader 🌌"
Here's a summarized breakdown of the code:
Inputs
Orbital Periods (Moving Averages):
User specifies moving average (MA) periods as a comma-separated string (e.g., "10,20,50,100").
Predefined colors for each MA are used.
Fibonacci Sphere Levels:
User specifies Fibonacci retracement levels as a string (e.g., "0.236,0.382,0.618,1.0").
Color customization for Fibonacci levels is included.
Gravitational Pull (Signal Thresholds):
Configurable thresholds (buy_pull and sell_pull) to define signal triggers.
Alerts can be toggled on or off.
Core Features
Helper Functions:
parse_floats: Converts a comma-separated string into an array of floating-point numbers.
parse_ints: Converts a comma-separated string into an array of integers.
Orbital Periods (Moving Averages):
Moving averages are calculated for the given periods using the ta.sma function.
Each MA is stored in an array and plotted on the chart with a unique color.
Fibonacci Spheres:
Fibonacci levels are calculated based on the high and low of the current bar.
These levels are plotted as circles, visually indicating key price zones.
Signals:
Buy Signal: Triggered when:
The price closes above the highest MA.
The price is between specific Fibonacci levels.
Sell Signal: Triggered when:
The price closes below the lowest MA.
The price is below specific Fibonacci levels.
Alerts:
Alerts are created for buy and sell signals.
Signals are also annotated on the chart with labels and shapes.
Visual Elements
Plots:
Moving averages are plotted with distinct colors and line widths.
Fibonacci spheres are plotted as circles with customizable transparency.
Shapes:
Triangles indicate buy (green) and sell (red) signals on the chart.
Labels:
Buy signals display a "🌕 Buy" label.
Sell signals display a "🌑 Sell" label.
Purpose
This indicator helps traders identify potential buy and sell zones based on:
Moving average trends (orbital periods).
Key Fibonacci retracement levels.
Configurable thresholds (gravitational pull).
This combination of technical analysis tools makes it a visually appealing and functional indicator for traders.
WillStop Pro [tradeviZion]WillStop Pro : A Step-by-Step Guide for Beginners to Master Trend Trading
Welcome to an in-depth guide to the WillStop Pro indicator. This article will walk you through the key features, how to use them effectively, and how this tool can help you navigate the markets confidently. WillStop Pro is based on principles established by Larry Williams, a well-known figure in trading, and aims to help you manage trades more effectively without overcomplicating things.
This guide will help you understand the basics of the WillStop Pro indicator, how to interpret its signals, and how to use it step-by-step to manage risk and identify opportunities in your trading journey. We will also cover the underlying logic and calculations for advanced users interested in more details.
What is the WillStop Pro Indicator?
The WillStop Pro indicator is a user-friendly tool that helps traders establish stop levels dynamically. It helps you figure out optimal points to enter or exit trades, while managing risk effectively during changing market conditions. The indicator tracks trending markets and sets price levels as stops for ongoing trades, making it suitable both for deciding when to enter and exit trades.
The indicator is beginner-friendly because it simplifies complex calculations and presents the results visually. This allows traders to focus more on their decision-making process instead of spending time with complex analysis.
WillStop Pro adapts to different market conditions, whether you're trading stocks, forex, commodities, or cryptocurrencies. It adjusts stop levels dynamically based on current market momentum, providing a practical way to manage both risk and reward.
Another significant benefit of WillStop Pro is that it works well with other indicators. Beginners can use it on its own or combine it with other tools like moving averages or oscillators to form a comprehensive trading strategy. Whether you are trading daily or looking at longer-term trends, WillStop Pro helps you manage your trades effectively.
Key Features of WillStop Pro
Dynamic Stop Levels : WillStop Pro calculates real-time stop levels for both long (buy) and short (sell) positions. This helps you protect your profits and reduce risk. The stop levels adjust based on the current market environment, making them more adaptable compared to fixed stop levels.
Advanced Stop Settings : There are optional settings to make the stop calculations more advanced, which take into consideration previous price movements to refine where the stops should be placed. These settings provide more precise control over your trades.
Break Signals and Alerts : The indicator provides visual signals, like arrows, to show when a stop level has been broken. This makes it easier for you to identify possible reversals and understand when the market direction is changing.
Comprehensive Table Display : A small table on the chart shows the current trend, the stop level, and whether advanced mode is active. This simple display provides an overview of the market, making decision-making easier.
Based on Larry Williams' Methodology : WillStop Pro builds upon Larry Williams' ideas, which are designed to capture major market trends while managing risk effectively. It provides a systematic way to follow these strategies without requiring deep technical analysis skills.
How Are Stop Levels Calculated? (For Advanced Users)
The WillStop Pro indicator determines stop levels by evaluating highs, lows, and closing prices over a specific lookback period. It uses this information to identify key points that justify adjusting your stop level, and there are separate approaches for both long and short positions.
Below, we explain the mathematical logic behind the stop calculations, along with some code snippets to give advanced users a clearer understanding.
For Long Stops (buy positions): The indicator looks for the highest closing price within the lookback period and continues until it finds three valid bars that meet certain criteria. Stops are adjusted to skip bars that have consecutive upward closes to ensure that the stop is placed at a level that offers solid support. Specifically, the function iterates over recent bars to determine the highest closing value, and checks for specific conditions before finalizing the stop level. Here is an excerpt of the relevant code:
getTrueLow(idx) => math.min(low , close )
findStopLevels() =>
float highestClose = close
int highestCloseIndex = 0
for i = 0 to lookback
if close > highestClose
highestClose := close
highestCloseIndex := i
// Logic to adjust based on up close skipping
int longCount = 0
int longCurrentIndex = highestCloseIndex
while longCount < 3 and longCurrentIndex < 100
if not isInsideBar(longCurrentIndex)
longCount += 1
longCurrentIndex += 1
// Determine the lowest low for the stop level
float longStopLevel = high * 2
for i = searchIndex to highestCloseIndex
longStopLevel := math.min(longStopLevel, getTrueLow(i))
// Apply offset
longStopLevel := longStopLevel - (offsetTicks * tickSize)
In this code snippet, the function findStopLevels() calculates the long stop level by first identifying the highest close within the lookback period and then finding a suitable support level while skipping certain conditions, such as inside bars or consecutive upward closes. Finally, the user-defined offset ( offsetTicks ) is applied to determine the stop level.
For Short Stops (sell positions): Similarly, the indicator finds the lowest closing price within the lookback period and then identifies three bars that fit the conditions for a short stop. It avoids using bars with consecutive down closes to help find a more robust resistance level. Here's a relevant code snippet:
getTrueHigh(idx) => math.max(high , close )
findStopLevels() =>
float lowestClose = close
int lowestCloseIndex = 0
for i = 0 to lookback
if close < lowestClose
lowestClose := close
lowestCloseIndex := i
// Logic to adjust based on down close skipping
int shortCount = 0
int shortCurrentIndex = lowestCloseIndex
while shortCount < 3 and shortCurrentIndex < 100
if not isInsideBar(shortCurrentIndex)
shortCount += 1
shortCurrentIndex += 1
// Determine the highest high for the stop level
float shortStopLevel = 0
for i = searchIndex to lowestCloseIndex
shortStopLevel := math.max(shortStopLevel, getTrueHigh(i))
// Apply offset
shortStopLevel := shortStopLevel + (offsetTicks * tickSize)
Here, findStopLevels() calculates the short stop level by finding the lowest closing price within the lookback period. It then determines the highest value that acts as a resistance level, excluding bars that do not fit certain criteria.
Volume Confirmation for Alert Accuracy : To further enhance the stop level accuracy, volume is used as a confirmation filter. The average volume (volAvg) is calculated over a 20-period moving average, and alerts are only generated if the volume exceeds a defined threshold (volMultiplier). This ensures that price movements are significant enough to consider as meaningful signals.
volAvg = ta.sma(volume, 20)
isVolumeConfirmed() =>
result = requireVolumeConfirmation ? volume > (volAvg * volMultiplier) : true
result
This additional logic ensures that stop level breaks or adjustments are not triggered during periods of low trading activity, thus enhancing the reliability of the generated signals.
These calculations are at the core of WillStop Pro's ability to determine dynamic stop levels that respond effectively to market movements, helping traders manage risk by placing stops at levels that make sense given historical price and volume data.
How to Identify Opportunities with WillStop Pro
WillStop Pro provides various signals that help you decide when to enter or exit a trade:
When a Stop Level is Broken: If a stop level (support for long positions or resistance for short positions) is broken, it may indicate a reversal. WillStop Pro visually plots arrows whenever a stop level is breached, making it easy for you to see where changes might occur. This feature helps traders identify momentum shifts quickly.
Support and Resistance Levels: The indicator plots support and resistance levels, which show key zones to watch for opportunities. These levels often act as psychological barriers in the market, where price action may either reverse or stall temporarily.
Dynamic State Management: The indicator shifts between long and short states based on price action, providing real-time feedback. This helps traders stick to their trading plan without second-guessing the market.
A major advantage of WillStop Pro is that it responds well to changing market conditions. By identifying when key support or resistance levels break, it allows you to adjust your strategies and react to new opportunities accordingly. Whether the market is trending strongly or staying within a range, WillStop Pro provides valuable information to help guide your trades.
Setting Up Alerts
Alerts are an important feature in trading, especially when you can’t be in front of your charts all the time. WillStop Pro has been enhanced to include flexible alert settings to help you stay on top of your trades without constantly monitoring the charts.
Enable Alerts: There is a master switch to enable or disable all alerts. This way, you can control whether you want to be notified of events at any time.
Alert Frequency: Choose between receiving alerts Once Per Bar or Once Per Bar Close . This helps you manage the frequency of alerts and decide if you need real-time updates or want confirmation after a bar closes.
Break Alerts: These alerts notify you when a stop level has been broken. This can help you catch potential reversals or trading opportunities as soon as they happen.
Strong Break Alerts: Alerts are available for strong breaks, which occur when the price breaks stop levels with confirmation based on additional price, volume, and momentum criteria. These alerts help identify significant shifts in the market.
Level Change Alerts: These alerts tell you whenever a new stop level is calculated, keeping you updated about changes in market dynamics. You can set a Minimum Level Change % to ensure that alerts are only triggered when the stop level changes significantly.
Require Volume Confirmation: You can opt to receive alerts only if the volume is above a certain threshold. This confirmation helps reduce false signals by ensuring that significant price changes are backed by increased trading activity.
Volume Multiplier: The volume multiplier allows you to set a minimum volume requirement that must be met for an alert to trigger. This ensures that alerts are triggered only when there is sufficient trading interest.
Here is a part of the updated alert logic that has been implemented in the indicator:
// Alert on break conditions
if alertsEnabled
if alertOnBreaks
if longStopBroken and isVolumeConfirmed()
alert(createAlertMessage("Support Break - Short Signal", useAdvancedStops), alertFreq)
if shortStopBroken and isVolumeConfirmed()
alert(createAlertMessage("Resistance Break - Long Signal", useAdvancedStops), alertFreq)
// Strong break alerts
if alertOnStrongBreaks
if longStopBroken and isStrongBreak(false)
alert(createAlertMessage("Strong Support Break - Short Signal", useAdvancedStops), alertFreq)
if shortStopBroken and isStrongBreak(true)
alert(createAlertMessage("Strong Resistance Break - Long Signal", useAdvancedStops), alertFreq)
// Level change alerts
if alertOnLevelChanges and isSignificantChange() and isVolumeConfirmed()
alert(createAlertMessage("Significant Level Change", useAdvancedStops), alertFreq)
Setting alerts allows you to react to market changes without having to watch the charts constantly. Alerts are particularly helpful if you have other responsibilities and can’t be actively monitoring your trades all day.
Understanding the Table Display
The WillStop Pro indicator provides a status table that gives an overview of the current market state. Here’s what the table shows:
Indicator Status: The table indicates whether the indicator is in a LONG or SHORT state. This helps you quickly understand the market trend.
Stop Level: The active stop level is shown, whether it is acting as support (long) or resistance (short). This is important for knowing where to set your protective stops.
Mode: The table also displays whether the advanced calculation mode is being used. This keeps you informed about how stop levels are being calculated and why they are positioned where they are.
Empowering Messages: The table also includes motivational messages that rotate periodically, such as 'Trade with Clarity, Stop with Precision' and 'Let Winners Run, Cut Losses Short.' These messages are designed to keep you focused, motivated, and disciplined during your trading journey.
The table is simple and easy to follow, helping you maintain discipline in your trading plan. By having all the essential information in one place, the table reduces the need to make quick, emotional decisions and promotes more thoughtful analysis.
Tips for Using WillStop Pro Effectively
Here are some practical ways to make the most of the WillStop Pro indicator:
Start with Default Settings: If you’re new to the indicator, start with the default settings. This will give you an idea of how stop levels are determined and how they adjust to different markets.
Experiment with Advanced Settings: Once you are comfortable, try using the advanced stop settings to see how they refine the stop levels. This can be useful in certain market conditions to improve accuracy.
Use Alerts to Stay Updated: Set up alerts for when a stop level is broken or when new levels are calculated. This helps you take action without constantly watching the chart. Swing traders may find alerts especially helpful for monitoring longer-term moves.
Monitor the Status Table: Keep an eye on the status table to understand the current market condition. Whether the indicator is in a LONG or SHORT state can help you make more informed decisions.
Focus on Risk Management: WillStop Pro is designed to help you manage risk by dynamically adjusting stop levels. Make sure you are using these levels to protect your trades, especially during strong trends or volatile periods.
Acknowledging Larry Williams' Influence
WillStop Pro is inspired by the work of Larry Williams, who described the approach as one of his best trading techniques. His method aims to ride major market trends while reducing the risk of giving back gains during corrections. WillStop Pro builds upon this approach, adding features like advanced stop settings and visual alerts that make it easier to apply in modern markets.
By using WillStop Pro, you are essentially leveraging a well-established trading strategy with additional tools that help improve its effectiveness. The indicator is designed to provide a reliable way to manage trades, stay on top of market conditions, and reduce emotional decision-making.
Conclusion: Why WillStop Pro is Great for Beginners and Advanced Users
The WillStop Pro is a powerful yet easy-to-use tool that helps traders ride trends while managing risk during market corrections. It can be used both for entering and exiting trades, and its visual features make it accessible for those who are new to trading, while the underlying logic appeals to advanced users seeking greater control and understanding.
WillStop Pro is more than just a tool for setting stops. It is a comprehensive solution for managing trades, with features like dynamic stop levels, customizable alerts, and an easy-to-understand status table. This combination of simplicity and advanced features makes it suitable for beginners as well as more experienced traders.
We hope this guide helps you get started with WillStop Pro and improves your trading confidence. Remember to start with the basics, explore the advanced features, and set alerts to stay informed without getting overwhelmed. Whether you’re just beginning or want to simplify your strategy, WillStop Pro is a valuable tool to have in your trading arsenal.
Trading can be challenging, but the right tools make it more manageable. WillStop Pro helps you keep track of market movements, identify opportunities, and manage risk effectively. Give it a try and see how it can improve your trading decisions and help you navigate the markets more efficiently.
By incorporating WillStop Pro into your strategy, you are following a systematic approach that has been refined over time. It’s designed to help you make sense of the markets, plan your trades, and manage your risks with greater clarity and confidence.
Note: Always practice proper risk management and thoroughly test the indicator to ensure it aligns with your trading strategy. Past performance is not indicative of future results.
Trade smarter with TradeVizion—unlock your trading potential today!
TSI Market Timer + Volatility MeterThis is the TSI Market Timer. It is years in the making and it is comprised of four indicators in one. The stock (or source) is run through an indicator called the True Strength Indicator with settings(5,15) , then the TSI is run on both the Index(SPY) by default and what I call a Trigger line which is basically the TSI applied to the DXY (US Dollar Index).
Midline Volatility Indicator:
Lastly, we have a volatility indicator on the midline. The colors of the midline indicate levels of volatility. For the lowest volatility in the last 100 days, the dot turns dark blue. For the lowest volatility in 30 days, the dot turns aqua. For regular volatility, it remains orange. And last, for higher volatility of the last 100 days, it turns red. These are more or less arbitrary but they do come in handy.
Settings for Green/Red Shading:
Next on the indicator are the settings. You can toggle a color change between the stock/source and the index(spy). If the stock/source is greater than the index, it will color the area in between a green and if it is below the index, it will be red.
There is also a toggle for the stock/source and the trigger/DXY. This will also show green when the stock is above the trigger and red if it is below the trigger.
By turning on both of these, you get light green and dark green areas as well as red and darker red areas. The lighter green represent when the stock is above both the index and the trigger and conversely for the red areas.
Settings for vertical line crossings:
When the stock crosses the trigger/dxy line, it shows a green vertical line signal. When the stock crosses below the trigger/dxy, a red vertical line is shown.
You can turn these off by toggling them in the settings.
Stacked Condition:
Lastly, we have a "stacked condition" which shows up as a white triangle at the bottom when the condition of the stock being above the index and the trigger below the zero line.
New Highs:
If you see the stock line turn lime green, this indicates a new high was reached for the last 255 days/periods. This is like a new 52 week high signal.
Note:
This indicator is made mostly for the stock market. It may work ok during the week for crypto but using the trigger/dxy and index lines on the weekends doesn't work too well as they will be flat.
Also note that this indicator is not a recommendation to buy or sell any stock/instrument. It is only a study of market conditions. Any analysis should be followed up with volume analysis or other confirming indicators.
Alert on Candle CloseAlert on Candle Close is a simple indicator allowing you to set alerts when a candlestick closes.
Instructions for use
From the chart window, click on "Indicators" and search for "Alert on Candle Close".
Click on "Alert on Candle Close" to add the indicator to your chart. Click on the star icon to add it to your favourites to easily access later.
Set your chart timeframe to the timeframe you wish to alert on. For example, to create an alert when a 4h candlestick closes, set your chart to the "4h" timeframe.
Hover over the "Alert on Candle Close" indicator which has been added to your chart and click the ellipsis "..." icon, then click "Add alert on Alert on Candle Close" or use the keyboard shortcut "Alt+A" from the chart.
In the alert pop-up window, make sure "Condition" is set to "Alert on Candle Close" and "Trigger" is set to "Once Per Bar".
Optionally, you can set a custom expiry for the alert, give the alert a name and customise the alert message. You can configure notification settings from the "Notifications" tab.
Click "Create" and your alert is set up!
Each alert is tied to the timeframe and chart it was created on, so you can change the timeframe or asset and create more alerts by repeating the above process.
Note : this indicator is only designed to work with time-based chart types, such as Bars, Candles or Heikin Ashi. It will not work for non-time charts such as Renko.
FAQs
Why do my alerts sometimes not fire as soon as the candle closes?
This is a limitation with Pine Script's execution model. Indicators are calculated whenever a price or volume change occurs i.e. when a new trade happens. For illiquid or slow moving markets, there may be some time between when a candle closes and the next trade, leading to a delay in the alert triggering. The alert will trigger on the next tick of data on the chart.
Why can't I create more alerts?
TradingView has a limit on the number of active technical alerts you can have based on your membership tier. To configure more alerts, consider upgrading your TradingView plan to a higher tier. See a comparison of TradingView plans at www.tradingview.com
My alert only fired once, how can I get it to keep working?
When configuring the alert in the alert pop-up window, make sure you set "Trigger" to "Once Per Bar" and "Expiration" to "Open-ended alert".
Fibonacci Trailing Stop [LuxAlgo]The Fibonacci Trailing Stop indicator creates a Trailing Stop, based on Fibonacci levels which are retrieved from the latest swing high & low . This provides a Trailing Stop-line .
🔶 USAGE
The Fibonacci Trailing Stop can indicate the current trend direction.
Shadows can also provide potential support/resistance areas.
Users can also display Fibonacci retracements.
🔶 CONCEPTS
🔹 Basic principles
There are 2 basic principles:
Every new swing will create or update a new Fibonacci pattern, potentially changing the Fibonacci Trailing Stop (FTS)
The Trend depends on whether the FTS is crossed/breached, the trigger is a chosen 'level/trigger'
(settings -> Fibonacci Trailing Stop -> Level/Trigger)
In an uptrend, these levels will be placed at the bottom half of the pattern.
In a downtrend, these levels will be placed at the top half of the pattern.
Once a trend is established, the Trailing Stop will only update in the direction of the trend:
Only higher when in an uptrend
Only lower when in a downtrend
If a Trailing Stop line is broken, the trend shifts to the other direction
The FTS line is accompanied by a secondary line (colour-filled), created by smaller swings (half of L/R, rounded to above)
EXAMPLES
• New bullish Trend/pattern
• Updating later on
• Bearish Trend -> breached -> New bullish Trend -> Trend is updated later on, and is breached at the end:
• Trend broken -> new Trend/direction:
• Bearish Trend -> breached -> New bullish Trend -> breached -> New bearish Trend (Here you see the latest cross of the bullish trend)
🔹 Shadows & latest Fibonacci
The indicator contains the option to show:
Latest Fibonacci
Shadows : previous Fibonacci Levels (will only appear after a 1 bar delay)
Shadows can be very useful to provide support/resistance areas, especially from large shadow-blocks .
When shadows are enabled, the color fill of Latest Fibonacci and FTS will be removed, this to provide less clutter:
🔶 SETTINGS
🔹 Swings
L: set left of pivothigh / pivotlow
R: set right of pivothigh / pivotlow
Swing labels: show labels of swings (updated in the same direction)
🔹 Fibonacci Trailing Stop
Level - Toggle - Custom value
• Choose pré-set levels [ -0.5, -0.382, -0.236 , 0, 0.236, 0.382, 0.5, 0.618 ]
• Choose custom level -> Toggle enabled and adjust the number at the right
Trigger: set trigger for breaching the FTS, close or wick (high in downtrend/low in uptrend)
🔹 Fibonacci
Latest Fibonacci: show Latest Fibonacci
Shadows: show Shadows
Major and Minor Trend Indicator by Nikhil34a V 2.2Title: Major and Minor Trend Indicator by Nikhil34a V 2.2
Description:
The Major and Minor Trend Indicator v2.2 is a comprehensive technical analysis script designed for use with the TradingView platform. This powerful tool is developed in Pine Script version 5 and helps traders identify potential buying and selling opportunities in the stock market.
Features:
SMA Trend Analysis: The script calculates two Simple Moving Averages (SMAs) with user-defined lengths for major and minor trends. It displays these SMAs on the chart, allowing traders to visualize the prevailing trends easily.
Surge Detection: The indicator can detect buying and selling surges based on specific conditions, such as volume, RSI, MACD, and stochastic indicators. Both Buying and Selling surges are marked in black on the chart.
Option Buy Zone Detection: The script identifies the option buy zone based on SMA crossovers, RSI, and MACD values. The buy zone is categorized as "CE Zone" or "PE Zone" and displayed in the table along with the trigger time.
Two-Day High and Low Range: The script calculates the highest high and lowest low of the previous two trading days and plots them on the chart. The area between these points is shaded in semi-transparent green and red colors.
Crossover Analysis: The script analyzes moving average crossovers on multiple timeframes (2-minute, 3-minute, and 5-minute) and displays buy and sell signals accordingly.
Trend Identification: The script identifies the major and minor trends as either bullish or bearish, providing valuable insights into the overall market sentiment.
Usage:
Customize Major and Minor SMA Periods: Adjust the lengths of major and minor SMAs through input parameters to suit your trading preferences.
Enable/Disable Moving Averages: Choose which SMAs to display on the chart by toggling the "showXMA" input options.
Set Surge and Option Buy Zone Thresholds: Modify the surgeThreshold, volumeThreshold, RSIThreshold, and StochThreshold inputs to refine the surge and buy zone detection.
Analyze Crossover Signals: Monitor the crossover signals in the table, categorized by timeframes (2-minute, 3-minute, and 5-minute).
Explore Market Bias and Distance to 2-Day High/Low: The table provides information on market bias, current price movement relative to the previous two-day high and low, and the option buy zone status.
Additional Use Cases:
Surge Indicator:
The script includes a Surge Indicator that detects sudden buying or selling surges in the market. When a buying surge is identified, the "BSurge" label will appear below the corresponding candle with black text on a white background. Similarly, a selling surge will display the "SSurge" label in white text on a black background. These indicators help traders quickly spot strong buying or selling activities that may influence their trading decisions. These surges can be used to identify sudden premium dump zones.
Option Buy Zone:
The Option Buy Zone is an essential feature that identifies potential zones for buying call options (CE Zone) or put options (PE Zone) based on specific technical conditions. The indicator evaluates SMA crossovers, RSI, and MACD values to determine the current market sentiment. When the option buy zone is triggered, the script will display the respective zone ("CE Zone" or "PE Zone") in the table, highlighted with a white background. Additionally, the time when the buy zone was triggered will be shown under the "Option Buy Zone Trigger Time" column.
Price Movement Relative to 2-Day High/Low:
The script calculates the highest high and lowest low of the previous two trading days (high2DaysAgo and low2DaysAgo) and plots these points on the chart. The area between these two points is shaded in semi-transparent green and red colors. The green region indicates the price range between the highpricetoconsider (highest high of the previous two days) and the lower value between highPreviousDay and high2DaysAgo. Similarly, the red region represents the price range between the lowpricetoconsider (lowest low of the previous two days) and the higher value between lowPreviousDay and low2DaysAgo.
Entry Time and Current Zone:
The script identifies potential entry times for trades within the option buy zone. When a valid buy zone trigger occurs, the script calculates the entryTime by adding the durationInMinutes (user-defined) to the startTime. The entryTime will be displayed in the "Entry Time" column of the table. Depending on the comparison between optionbuyzonetriggertime and entryTime, the background color of the entry time will change. If optionbuyzonetriggertime is greater than entryTime, the background color will be yellow, indicating that a new trigger has occurred before the specified duration. Otherwise, the background color will be green, suggesting that the entry time is still within the defined duration.
Current Zone Indicator:
The script further categorizes the current zone as either "CE Zone" (call option zone) or "PE Zone" (put option zone). When the market is trending upwards and the minor SMA is above the major SMA, the currentZone will be set to "CE Zone." Conversely, when the market is trending downwards and the minor SMA is below the major SMA, the currentZone will be "PE Zone." This information is displayed in the "Current Zone" column of the table.
These additional use cases empower traders with valuable insights into market trends, buying and selling surges, option buy zones, and potential entry times. Traders can combine this information with their analysis and risk management strategies to make informed and confident trading decisions.
Note:
The script is optimized for identifying trends and potential trade opportunities. It is crucial to perform additional analysis and risk management before executing any trades based on the provided signals.
Happy Trading!
Trail Blaze - (Multi Function Trailing Stop Loss) - [mutantdog]Shorter version:
As the title states, this is a 'Trailing Stop' type indicator, albeit one with a whole bunch of additional functionality, making it far more versatile and customisable than a standard trailing stop.
The main set of features includes:
Three independent trailing types each with their own +/- multipliers:
- Standard % change
- ATR (aka Supertrend)
- IQR (inter-quartile range)
These can be used in isolation or summed together. A subsequent pair of direction specific multipliers are also included.
Two separate custom source inputs are available, both feature the standard options alongside a selection of 'weighted inputs' and the option to use another indicator (selected via 'AUX'):
- 'Centre' determines the value about which the trailing sum will be added to define the stop level.
- 'Trigger' determines the value used for crossing of stops, initiating trend changes and triggering alerts.
A selection of optional filters and moving averages are available for both.
Furthermore there are various useful visualisation options available, including the underlying bands that govern the stop levels. Preset alerts for trend reversals are also included.
This is not really an 'out-of-the-box' indicator. Depending upon the market and timeframe some adjustments will be necessary for it to function in a useful manner, these can be as simple or complex as the feature-set allows. Basic settings are easy to dial in however and the default state is intended as a good starting point. Alternatively with some experimentation, a plethora of unique and creative configurations are possible, making this a great tool for tweaking. Below is a more detailed overview followed by a bunch of simple example settings.
------------------------
Lengthy Version :
DESIGN & CONCEPT
Before we start breaking this down, a little background. This started off as an attempt to improve upon the ever-popular Supertrend indicator. Of course there are many excellent user created variants available utilising some interesting methods to overcome the drawbacks of the basic version. To that end, rather than copying the work of others, the direction here shifted towards a hybrid trailing stop loss with a bunch of additional user customisation options. At some point, a completely different project involving IQR got morphed into this one. After sitting through months of sideways chop (where this proved to be of limited use), at the time of publication the market has began to form some near term trend direction and it appears to be performing well in many different timeframes.
And so with that out of the way...
INPUTS
The standard Supertrend (and most other variants) includes a single source input, as default set to 'hl2' (candle mid-range). This is the centre around which the atr bands are added/subtracted to govern the stop levels. This is not however the value which is used to trigger the trend reversal, that is usually hard-coded to 'close'. For this version both source values are adjustable: labelled 'centre' and 'trigger' respectively.
Each has custom input selectors including the usual options, a selection of 'weighted inputs' and the option to use another indicator (selected from the Aux input). The 'weighted inputs' are those introduced in Weight Gain 4000, for more details please refer to that listing. These should be treated as experimental, however may prove useful in certain configurations. In this case 'hl-oc2' can be considered an estimate of the candle median and may be a good alternative to the default 'centre' setting of 'hl2', in contrast 'cc-ohlc4' can tend to favour the extremes in the trend direction so could be useful as a faster 'trigger' than the default 'close'.
To cap them off both come with a selection of moving average filters (SMA, EMA, WMA, RMA, HMA, VWMA and a simple VWEMA - note: not elastic) aswell as median and mid-range. 'Centre' can also be set to the output of 'trigger' post-filter which can be useful if working with fast/slow crosses as the basis.
DYNAMICS
This is the main section, comprised of three separate factors: 'TSL', 'ATR' and 'IQR'. The first two should be fairly obvious, 'TSL' (trailing stop loss) is simply a percentage of the 'centre' value while 'ATR' (average true range) is the standard RMA-based version as used in Supertrend, Volatility Stop etc.
The third factor is less common however: 'IQR' (inter-quartile range). In case you are unfamiliar the principle here is, for a given dataset, the greatest 25% and smallest 25% of samples are removed. The remainder is then treated as a set and the range is calculated by highest - lowest. This is a commonly used method in statistical analysis, by removing the extremes it is less prone to influence by outliers and gives a good representation of the main dispersion around the median. In practise i have found it can be a good alternative to ATR, translating better across multiple time-frames due to it representing a fraction of the total range rather than an average of per-candle range like ATR. Used in combination with the others it can also add a factor more representative of longer-term/higher-timeframe trend. By discarding outliers it also benefits from not being impacted by brief pumps/volatility, instead responding only to more sustained changes in trend, such as rallies and parabolic moves. In order to give an accurate result the IQR is calculated using a dataset of high, low and hlcc4 values for all bars within the lookback length. Once calculated this value is then halved which, strictly speaking, makes it a semi-interquartile range.
All three of these components can be used individually or summed together to create a hybrid dynamics factor. Furthermore each multiplier can be set to both positive and negative values allowing for some interesting and creative possibilities. An optional smoothing filter can be applied to the sum, this is a basic SWMA-4 which is can reduce the impact of sudden changes but does incur a noticeable lag. Finally, a basic limiter condition has been hard-coded here to prevent the sum total from ever going below zero.
Capping off this section is a pair of direction multipliers. These simply take the prior dynamics sum and allow for further multiplication applied only to one side (uptrend/lo-stop and downtrend/hi-stop). To see why this is useful consider that markets often behave differently in each direction, we've all seen prices steadily climb over several weeks and then abruptly dump in the process of a day or two, shorter time frames are no stranger to this either. A lack of downside liquidity, a panicked market, aggressive shorts. All these things contribute to significant differences in downward price action. This function allows for tighter stops in one direction compared to the other to reflect this imbalance.
VISUALISATIONS
With all of these options and possibilities, some visual aids are useful. Beneath the dynamics' section are several visual options including both sources post-filter and the actual 'bands' created by the dynamics. These are what govern the stop levels and seeing them in full can help to better understand what our various configurations actually do. We can even hide the stop levels altogether and just use the bands, making this a kind of expanded Keltner Channel. Here we can also find colour and opacity settings for everything we've discussed.
EXAMPLES
The obvious first example here is the standard %-change trailing stop loss which, from my experience, tends to be the best suited for lower time frames. Filtering should probably minimal here. In both charts here we use the default config for source inputs, the top is a standard bi-directional setup with 1.5% tsl while the bottom uses a 2.5% tsl with the histop multiplier reduced to 0 resulting in an uptrend only stoploss.
Shown here in grey is the standard Supertrend which uses 'hl2' as centre and 'close' as trigger, ATR(10) multiplied by 3. On top we have the default filtered source config with ATR(8) multiplied by 2 which gives a different yet functionally similar result, below is the same source config instead using IQR(12) multiplied by 2. Notice here the more 'stepped' response from IQR following the central rally, holding back for a while before closing in on price and ultimately initiating reversal much sooner. Unlike ATR, the length parameter for IQR is absolute and can more significantly affect its responsiveness.
Next we focus on the visualisation options, on top we have the default source config with ATR(8) multiplied by 2 and IQR(12) multiplied by 1. Here we have activated the switch to show 'bands', from this we can see the actual summed dynamics and how it influences the stop levels. Below that we have an altogether different config utilising the included filters which are now visible. In this example we have created a basic 8/21 EMA cross and set a 1% TSL, notice the brief fakeout in the middle which ordinarily might indicate a buy signal. Here the TSL functions as an additional requirement which in this case is not met and thus no buy signal is given.
Finally we have a couple of more 'experimental' examples. On top we have Lazybear's 'Variable Moving Average' in white which has been assigned via 'aux' as the centre with no additional filtering, the default config for trigger is used here and a basic TSL of 1.5% added. It's a simple example but it shows how this can be applied to other indicators. At the bottom we return to the default source config, combining a TSL of 8% with IQR(24) multiplied by -2. Note here the negative IQR with greater length which causes the stop to close in on price following significant deviations while otherwise remaining fairly wide. Combining positive and negative multiples of each factor can yield mixed results, some more useful than others depending upon suitable market conditions.
Since this has been quite lengthy, i shall leave it there. Suffice to say that there are plenty more ways to use this besides these examples. Please feel free to share any of your own ideas in the comments below. Enjoy.
GSI (Gap Size Indicator)The purpose of this indicator is to give a quick view of a gap size between two candles, and to detect any gap bigger than the trigger setting.
Options
Mode: Select the display mode (% or Value)
Variation Trigger: Defines the minimum gap size to give a signal, for both positive and negative sides. This option depends on the Mode setting
Show trigger lines: Enable/Disable the display of the Variation Trigger setting lines
Color signals only: When enabled, bars crossing the trigger value are still colored, but other are gray
Show signals only: When enabled, will only show bars corresponding to gaps crossing the trigger value
Notes
Basic alerts on Bullish , Bearish and All gaps are available.
Feel free to suggest any improvement.
[blackcat] L2 Ehlers Adaptive BandPass FilterLevel: 2
Background
John F. Ehlers introduced Adaptive BandPass Filter in his "Cycle Analytics for Traders" chapter 11 on 2013.
Function
Adaptive band-pass filter was designed. It just makes since to tune that filter to the measured dominant cycle to eliminate all the other frequency components that are of no interest. Here, the adaptive band-pass indicator starts with the computation of the dominant cycle using the autocorrelation periodogram approach.
One way to make a band-pass filter have a leading phase capability is to tune the filter to a period shorter than the period of the cycle being measured. In this case, the bandwidth of filter is set to 0.3. That is 30 percent of the tuned center period. Therefore, the half bandwidth is 15 percent. We tune the filter to be 10 percent toward the shorter period from the dominant cycle period to provide the phase lead while still having the data of interest be within the filter bandwidth. This provides a phase lead of the dominant cycle to be something on the order of 60 degrees, or one-sixth of a cycle. If the dominant cycle were 18 bars, for example, then the detuning of the filter would produce a 3-bar lead. This leading function is not huge, but it is significant.
A convenient trigger line is included in the adaptive band-pass filter to signal the more highly likely buy and sell points. The trigger is compute as 90 percent of the amplitude of the adaptive band-pass filter line and is delayed by one bar. While the line crossings occur after the peak of the band-pass filter, phase lead provides for the generation of a timely signal. Significant trading signals should also include the criteria that the line crossing occur at greater than the +0.7 and less than the −0.7 reference lines.
Key Signal
DominantCycle --> Dominant Cycle signal
Signal --> Adaptive BandPass Filter signal
Trigger --> lag version of Adaptive BandPass Filter sinal
LeadSignal --> Adaptive BandPass Filter Lead signal
Trigger2 --> lag version of Adaptive BandPass Filter Lead sinal
Pros and Cons
100% John F. Ehlers definition translation of original work, even variable names are the same. This help readers who would like to use pine to read his book. If you had read his works, then you will be quite familiar with my code style.
Remarks
The 54th script for Blackcat1402 John F. Ehlers Week publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
VRSI-MARSI StrategyI wanted to create an indicator which resembles price movement, aside to volume movement.
The "yellow-blue" line is the MA(5) of the RSI (9) of closing price.
The "orange" line is the MA(5) of the RSI (9) of Volume .
(Default plot of RSI and VRSI is not visible but can be made visible ("Settings" > "Style" > set "Opacity" of "RSI & VRSI"))
The Long (Buy) condition is triggered when the MA(5) of the RSI (9, close) goes up.
The Short (Sell) condition is triggered when the MA(5) of the RSI (9, close) goes down.
Comparing the price movement with the "orange" Volume line helps to spot a possible trend change,
for example when price goes up and an ascending Volume line starts to flatten or starts descending,
this could be a sign that the Bullish trend is weakening, predicting a possible trend change.
Or, when for example a downwards price movement is accompanied with a rising Volume line, this can be a sign of large Bearish power.
Because it still is a RSI indicator, the midline (50), and Oversold/Overbought area's (20-30 & 70-80) are important to watch, especially the MARSI!
A second strategy is made (VRSI-MARSI Strategy 2) where the Long/Short condition is triggered when "MA RSI (close) - MA RSI ( Volume )" crosses.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The Long & Short entries, as well as the Entry Close are visible 1 bar after the trigger.
When the blue line changes in a yellow line (and vice versa) it will show a candle earlier (see yellow dashed lines = (1)).
Also, the condition is fulfilled when the candle closes (2), but the order doesn't take place in the same bar, but the next (3).
Because this is a strategy the "actual Order" will not take place at the "Close" of the candle (2), but at the "Open" at the NEXT candle (3).
I also have this strategy as a study (A+B), where the "Buy" & "Sell" shows a candle earlier.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The entries are default 5% of equity, without pyramiding, which already gives large profits.
A large part of the profit is because of the Entry Close of the Long & Short entries.
You can easily turn these off (Settings > Inputs) to see what profit the strategy gives without Entry Close.
Here they are disabled:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
More information available in the script ;-)
XPloRR MA-Trailing-Stop StrategyXPloRR MA-Trailing-Stop Strategy
Long term MA-Trailing-Stop strategy with Adjustable Signal Strength to beat Buy&Hold strategy
None of the strategies that I tested can beat the long term Buy&Hold strategy. That's the reason why I wrote this strategy.
Purpose: beat Buy&Hold strategy with around 10 trades. 100% capitalize sold trade into new trade.
My buy strategy is triggered by the fast buy EMA (blue) crossing over the slow buy SMA curve (orange) and the fast buy EMA has a certain up strength.
My sell strategy is triggered by either one of these conditions:
the EMA(6) of the close value is crossing under the trailing stop value (green) or
the fast sell EMA (navy) is crossing under the slow sell SMA curve (red) and the fast sell EMA has a certain down strength.
The trailing stop value (green) is set to a multiple of the ATR(15) value.
ATR(15) is the SMA(15) value of the difference between the high and low values.
The scripts shows a lot of graphical information:
The close value is shown in light-green. When the close value is lower then the buy value, the close value is shown in light-red. This way it is possible to evaluate the virtual losses during the trade.
the trailing stop value is shown in dark-green. When the sell value is lower then the buy value, the last color of the trade will be red (best viewed when zoomed)(in the example, there are 2 trades that end in gain and 2 in loss (red line at end))
the EMA and SMA values for both buy and sell signals are shown as a line
the buy and sell(close) signals are labeled in blue
How to use this strategy?
Every stock has it's own "DNA", so first thing to do is tune the right parameters to get the best strategy values voor EMA , SMA, Strength for both buy and sell and the Trailing Stop (#ATR).
Look in the strategy tester overview to optimize the values Percent Profitable and Net Profit (using the strategy settings icon, you can increase/decrease the parameters)
Then keep using these parameters for future buy/sell signals only for that particular stock.
Do the same for other stocks.
Important : optimizing these parameters is no guarantee for future winning trades!
Here are the parameters:
Fast EMA Buy: buy trigger when Fast EMA Buy crosses over the Slow SMA Buy value (use values between 10-20)
Slow SMA Buy: buy trigger when Fast EMA Buy crosses over the Slow SMA Buy value (use values between 30-100)
Minimum Buy Strength: minimum upward trend value of the Fast SMA Buy value (directional coefficient)(use values between 0-120)
Fast EMA Sell: sell trigger when Fast EMA Sell crosses under the Slow SMA Sell value (use values between 10-20)
Slow SMA Sell: sell trigger when Fast EMA Sell crosses under the Slow SMA Sell value (use values between 30-100)
Minimum Sell Strength: minimum downward trend value of the Fast SMA Sell value (directional coefficient)(use values between 0-120)
Trailing Stop (#ATR): the trailing stop value as a multiple of the ATR(15) value (use values between 2-20)
Example parameters for different stocks (Start capital: 1000, Order=100% of equity, Period 1/1/2005 to now) compared to the Buy&Hold Strategy(=do nothing):
BEKB(Bekaert): EMA-Buy=12, SMA-Buy=44, Strength-Buy=65, EMA-Sell=12, SMA-Sell=55, Strength-Sell=120, Stop#ATR=20
NetProfit: 996%, #Trades: 6, %Profitable: 83%, Buy&HoldProfit: 78%
BAR(Barco): EMA-Buy=16, SMA-Buy=80, Strength-Buy=44, EMA-Sell=12, SMA-Sell=45, Strength-Sell=82, Stop#ATR=9
NetProfit: 385%, #Trades: 7, %Profitable: 71%, Buy&HoldProfit: 55%
AAPL(Apple): EMA-Buy=12, SMA-Buy=45, Strength-Buy=40, EMA-Sell=19, SMA-Sell=45, Strength-Sell=106, Stop#ATR=8
NetProfit: 6900%, #Trades: 7, %Profitable: 71%, Buy&HoldProfit: 2938%
TNET(Telenet): EMA-Buy=12, SMA-Buy=45, Strength-Buy=27, EMA-Sell=19, SMA-Sell=45, Strength-Sell=70, Stop#ATR=14
NetProfit: 129%, #Trade
Pivot Point Moving AveragesThis indicator contains two simple moving averages that is calculated from the pivot point rather than the closing price. This indicator is described in detail in chapter 6 of the book Candlestick and Pivot Point Trading Triggers: Setups for Stock, Forex, and Futures Markets by John L. Person.
CAHOLD / CBLOHDCAHOLD (Close Above Highest Low Day) and CBLOHD (Close Below Lowest High Day)
The logic is based on identifying pullbacks followed by strength in the direction of the trend, making it useful as a trend-continuation entry signal rather than a reversal tool.
⸻
How CAHOLD Works (Bullish)
1. A sequence of red candles forms (a pullback).
2. The first green candle appears.
3. The script identifies the highest high of the prior red-candle sequence (HOLD).
4. A CAHOLD signal triggers when a green candle closes above that HOLD level.
5. A small green arrow is plotted below the candle.
⸻
How CBLOHD Works (Bearish)
1. A sequence of green candles forms (a bounce).
2. The first red candle appears.
3. The script identifies the lowest low of the prior green-candle sequence (LOHD).
4. A CBLOHD signal triggers when a red candle closes below that LOHD level.
5. A small red arrow is plotted above the candle.
⸻
Optional Filters
• EMA / SMA Trend Filter
Only shows CAHOLDs in uptrends and CBLOHDs in downtrends.
• Minimum Pullback Depth
Requires a minimum number of red/green candles before a signal can trigger.
• ATR Breakout Filter
Requires price to break the level by a volatility-adjusted amount.
Open Interest Bubbles [BackQuant]Open Interest Bubbles
A visual OI positioning overlay that aggregates futures open interest across major venues, normalizes it into a consistent “signal strength” scale, then plots extreme events as bubbles, labels, and optional horizontal levels directly on price.
What this is for
Open interest is one of the cleanest ways to track when positioning is building, unwinding, or aggressively shifting. The problem is raw OI is noisy, exchange-specific, and hard to compare across time. This script solves that by:
- Aggregating OI across multiple exchanges.
- Letting you choose what “OI signal” you care about (raw, delta, percent versions).
- Normalizing the signal so “big events” are easy to spot.
- Plotting those events as bubbles and levels at the exact price they occurred.
You end up with a clean, fast visual map of where large positioning changes occurred, and where those events may later matter as reaction points.
────────────────────────────────────────────────────────────
Plotting types (what you can display)
Bubbles
This mode plots OI events as size-bucketed circles on the chart. Bigger bubbles represent stronger normalized events. You can tune:
- Bubble sizing by bucket (Tiny → Huge).
- Heatmap vs solid color styling.
- Signed vs unsigned coloring (positive/negative separation or magnitude-only).
Best use:
- Spotting “where something changed” at a glance.
- Identifying clusters of positioning events around key price zones.
- Seeing whether the market is repeatedly building/closing positions at similar levels.
Levels
Levels mode draws a horizontal line at the anchor price when an extreme OI event triggers. These act like “positioning memory” levels:
- They do not claim to be support/resistance by themselves.
- They highlight prices where the derivatives market clearly did something meaningful.
Best use:
- Marking potential reaction zones.
- Combining with your price action tools (structure, OBs, FVGs) to confirm whether an OI level aligns with a technical level.
- Building a “map” of where leverage likely entered or exited.
Modes available in the script:
- Off
- Bubbles
- Bubbles + Labels
- Labels Only
- Levels + Labels
────────────────────────────────────────────────────────────
Aggregated Open Interest source (multi-exchange)
This indicator builds a single aggregated OI series by requesting OI data from multiple exchanges and summing it. You can toggle exchanges on/off:
- Binance, Bybit, OKX, Bitget, Kraken, HTX, Deribit
You can also choose OI units:
- COIN , OI in base units (native sizing)
- USD , converted for a dollar-value representation
Important note:
Not every symbol has OI data on every venue. If the script cannot build an aggregated series for the symbol, it will throw an error rather than quietly plotting garbage.
────────────────────────────────────────────────────────────
OI Source, what the bubbles are measuring
You control what “signal” is normalized and plotted:
- Delta , change in aggregated OI from the prior bar.
Use when you want to highlight bursts of new positioning or sudden unwind events.
- Raw OI , the aggregated open interest level itself.
Use when you want to highlight absolute positioning build-up periods.
- Delta % , percent change in OI.
Use when you want moves normalized to the current OI regime, useful across different market eras.
- Raw OI % , percent change form of the raw series.
Use when you want relative changes rather than absolute size.
Practical guidance:
- Delta modes are best for “event detection”.
- Raw modes are better for “regime context” and whether positioning is structurally rising or fading.
────────────────────────────────────────────────────────────
Normalization (the key to making it readable)
Because OI varies massively across assets and time, the script includes multiple normalization modes to convert your chosen OI source into a comparable “strength” value.
Options:
- ZScore , deviation from a rolling mean in standard deviation units.
- StdNorm , scaled by rolling standard deviation.
- AbsZScore , absolute value version for magnitude-only mapping.
- AbsStdNorm , absolute value version for magnitude-only mapping.
- None , plots raw values (advanced users only, often too noisy visually).
Why this matters:
Normalization makes a “1.5” or “3.0” threshold mean something across different assets and timeframes, instead of being stuck to raw OI units.
────────────────────────────────────────────────────────────
Threshold system (when bubbles/levels trigger)
The plot is driven by two user thresholds:
- Base Threshold
Controls where “meaningful” events start. Raising this reduces noise and focuses on larger deviations.
- Extreme Threshold
Controls what qualifies as a top-tier event. Extreme events are what you typically want to convert into labels and levels.
You also control side filtering:
- Both , show positive and negative events.
- Positive Only , show only increases (or positive signal side depending on source).
- Negative Only , show only decreases (or negative signal side).
In practice:
- Use Base Threshold to tune chart cleanliness.
- Use Extreme Threshold to mark only the “big stuff” that tends to matter later.
────────────────────────────────────────────────────────────
Anchor Source (where the bubble/level is placed)
The indicator places bubbles, labels, and levels at a price anchor you choose:
- HL2, Close, Open, High, Low, VWAP
This is important because “where you pin the event” changes how it reads:
- Close is clean and consistent for backtesting and candle-close logic.
- High/Low can better represent where the fight occurred intrabar.
- VWAP can be useful for “fair price” anchoring in active markets.
────────────────────────────────────────────────────────────
Style system (theme, palette, signed logic)
This script is built to look good and stay readable on busy charts.
Themes
- BackQuant, Classic, Ice, Fire, Mono, Custom
Palette Mode
- Solid , one consistent color
- Heatmap , intensity increases with magnitude
- Single Color Adaptive , adapts to chart background for clarity
Side Coloring
- Signed , positive and negative events can use different ramps
- Unsigned , magnitude-only coloring
Negative theme handling:
- Auto (mirrors your chosen theme),
- Invert (flips the ramp),
- Custom (fully user-defined negative palette).
What this gives you:
- You can run a clean “mono” look for professional charts.
- Or a high-contrast heatmap for fast scanning.
- Or fully custom branding colors for BackQuant-style presentation.
────────────────────────────────────────────────────────────
Labels (what’s inside the label)
When labels are enabled, the script can display:
- OI , the aggregated OI value
- OI + Norm , OI plus normalized strength
- Norm Only , just the normalized strength
- Src + Norm , the selected source value (Delta, Raw, %) plus normalized strength
You can also control:
- Left/Center/Right label alignment
- Number formatting style (Raw, Compact, Volume format)
Best practice:
- Use “Src + Norm” when you want both the raw event size and its rarity.
- Use “Norm Only” when you want a clean, minimal chart.
────────────────────────────────────────────────────────────
Levels and object limits (performance and cleanliness)
Because this script draws objects, it includes a hard cleanup system:
- You set Max Levels / Labels to control chart clutter.
- The script deletes older lines/labels when the limit is exceeded.
This is critical if you trade lower timeframes, where OI events can trigger frequently.
────────────────────────────────────────────────────────────
How to interpret the signals
What a large bubble usually means:
- A statistically large positioning change relative to recent history.
- This can represent fresh leverage entering, forced liquidations, or aggressive de-risking, depending on direction and context.
How to use levels:
- Treat them as “attention levels”, not automatic entries.
- Combine them with structure and liquidity tools:
- If price revisits an OI level and shows rejection, it often confirms that level mattered.
- If price slices through with no reaction, it often indicates the OI event was transitional, not defended.
Common setups:
- Clustered extreme bubbles near a breakout zone, then retest later.
- Extreme negative event at capitulation low, followed by structure flip.
- Extreme positive build into resistance, then unwind and mean reversion.
Also, please check out @NoveltyTrade for the OI Aggregation logic & pulling the data source!
Here is the original script:






















