OteHmacSha256Library "OteHmacSha256"
Library to use HMAC SHA-256 by OgahTerkenal
hmac_sha256(string) HMAC SHA-256
Parameters:
string : msg String to be hashed
Returns: Return a hashed string in hex format and an array of 8 32 bits integer
Library to use HMAC SHA-256 for authenticating alert message going out from TradingView.
It has limitation on allowed characters (because PineScript cannot access the underlying bits of each ASCII) from ASCII 32 to 126 only.
Usage Example section at the end of the source code pretty much tell everything about this library.
General example as how to import to your PineScript code is not included (please refer to the PineScript manual).
חפש סקריפטים עבור "alert"
No Shadow Candles - Alertsalert script to detect candles with no wick, for testing.
scripted on request.
Alert Batches v2This version triggers every batch within each candle. The previous version only triggered one batch per candle.
This will not trigger batches in perfect order, but I left the "sequential" option because it still triggers the batches in order more often than not.
Moving Averages - BacktestingAlerts script that has triggers on multiple moving average crossovers so that profit is maximised, it also has an optional control moving average, enabled by default, that when active will stop trading when the price (first ma) is below the control moving average.
Source code is open so that others can use and modify
Click Below for Alerts Study version:
Disclaimers, not an expert, not intended to be financial advise.
Biffy
Alerts to Google Sheetsa script that will send us alerts from TradingView. For simplicity, I’ve created a basic script that sends long/short signals for each bar, depending on its color. In this example, I construct the JSON manually using string concatenation. This is a straightforward example, but of course, you can create and run much more complex scripts if needed.
myAutoviewAlertsLibrary "myAutoviewAlerts"
My Alerts Functions - To use with autoview
@returns - These functions returns a string to use in alerts to send commands to autoview. You can open an order, place a stop or take order, close an opened order or a opened position, or open a hedge position.
@param a = String - Account Identification
@param e = String - Exchange
@param s = String - Symbol
@param b = String - Book Side
@param q = Float - Quantity
@param fp = Float - Fixed Price
@param delay = Integer - In Seconds
@param i = Integer - Account Index (to multiple accounts allerts)
@param base = String - Base Currency (bitmex) - "Tether" or "Bitcoin"
@param fsl = Float - Stop Loss Limit Price
@param c = String - Close -> "order" or "position"
@param ro = Bool - Reduce Only
@param sl = Bool - Stop Loss -> bitfinex
@param t = String - Type -> "market" or "limit"
@function f_order => Open Orders
@function f_stop => Set Stop Loss Order
@function f_take => Set Take Order
@function f_closeOrder => Close Open Orders
@function f_closePosition => Close Open Positions
@function f_hedge => To Open a Hedge Position (short 100% of balance)
Rule Number 1 Signals [ALERTS]Alerts version of rule number 1 signals, a long-only strategy for long term investors to help them enter positions more optimally
Alerts EMA RSI [ Buy/Sell ]Buy alerts when RSI cross over 30, 40, 50, 60, 70 and EMA5 changes > 0.
Sell alerts when RSI cross down 80, 70, 60, 50, 40 and EMA5 changes < 0.
QuantNomad - Significant Pivot Reversal Strategy AlertsAlerts for "Significant Pivot Reversal Strategy":
As one of the ways to filter out insignificant levels I decided to check that pivot point is not above/below neighbors, but check that it's above/below at least by a certain amount.
I use ATR, so in params, you can set length of ATR and also ATR multiplier. The new level will be calculated only if PP will be above/below neighbors by atr * atr_mult.
It seems this approach might help in some cases.
[ALERTS] Range Filter"This is an experimental study designed to filter out minor price action for a clearer view of trends.
Inspired by the QQE's volatility filter, this filter applies the process directly to price rather than to a smoothed RSI .
First, a smooth average price range is calculated for the basis of the filter and multiplied by a specified amount.
Next, the filter is calculated by gating price movements that do not exceed the specified range.
Lastly the target ranges are plotted to display the prices that will trigger filter movement.
Custom bar colors are included. The color scheme is based on the filtered price trend."
Thanks to Donovan Wall...
Enjoy!
[ALERTS] MA Cross ElevenThis script is a crossing of eleven different MA, with alerts and SL and TP.
The simplest is what works best.
SMA --> Simple
EMA --> Exponential
WMA --> Weighted
VWMA --> Volume Weighted
SMMA --> Smoothed
DEMA --> Double Exponential
TEMA --> Triple Exponential
HMA --> Hull
TMA --> Triangular
SSMA --> SuperSmoother filter
ZEMA --> Zero Lag Exponential
Using "once per bar close" repaint is 0%, but if you like risk can choose "once per bar", better profit.
Thanks to JustUncleL and his amazing sripts.
[ALERTS] lamBOTghiniIt is a script based on changes in trend of EMAs.
You can copy it, modify it to your liking and maybe even buy a lambo.
Try it and if you can think of how to improve it please comment.
Enjoy!!!
Alert Kabi Family Unlimited Alarm indicator for any time frame and any type of currency, stock and index
اندییکاتور آلارم نامحدود برای هر تایم فریم و هر شاخص و ارز و سهام
Settings :
1- Before starting, clear all alarms in the trading view alarm section
2- Specify your alarm areas and currency pairs in the indicator settings section
3- Go to the trading view alarm section, click create alert, select the name of the indicator and click OK
4- Good Luck
T e L : @Ar3781
1- قبل از شروع تمام آلارم های تریدینگ ویو را پاک کنید
2- در قسمت تنظیمات اندیکاتور نواحی آلارم و جفت ارز خود را مشخص کنید
3- به قسمت الارم تریدینگ ویو رفته ایجاد هشدار را زده و اسم اندیکاتور را انتخاب کنید و اوکی کنید
4- مـــــــوفق بــــــاشـید
Alert for 3Commas Bollinger StrategyThis is just an alert for the 3Commas Bollinger Strategy written by tedwardd
Auto Trendlines with Break AlertsIdentify the two most recent significant swing highs and swing lows based on a customizable pivot length.
Draw trendlines extending from these points.
Provide an optional visual signal (a small diamond on the chart) and a alertcondition for sound/push notifications when a trendline is broken.
Configure: Once the indicator is on your chart, you can click on the gear icon (⚙️) next to its name to adjust the settings. You will see a checkbox to enable/disable alerts and a slider to change the pivot length.
Configuring Alerts in TradingView
The alertcondition lines in the code allow you to set up official TradingView alerts for sound and push notifications.
Create an Alert: Click the clock icon (⏰) on the right-side toolbar of your TradingView chart.
Set the Condition: In the "Condition" field, select the name of the indicator: "Auto Trendlines with Break Alerts".
Choose the Alert Type: A second dropdown will appear. Select either "High Trendline Broken" or "Low Trendline Broken" to specify which break you want to be alerted for.
Select Notification Options: In the "Notifications" section, you can check the boxes for "Play sound," "Send email," "Send push notification," etc.
Create the Alert: Click "Create" to save your alert.
Stocks Multi-Indicator Alerts (cryptodaddy)//@version=6
// Multi-Indicator Alerts
// --------------------------------------------
// This script combines technical indicators and basic analyst data
// to produce composite buy and sell signals. Each block is heavily
// commented so future modifications are straightforward.
indicator("Multi-Indicator Alerts", overlay=true, max_labels_count=500)
//// === Daily momentum indicators ===
// Relative Strength Index measures price momentum.
rsiLength = input.int(14, "RSI Length")
rsi = ta.rsi(close, rsiLength)
// Money Flow Index incorporates volume to track capital movement.
// In Pine Script v6 the function only requires a price source and length;
// volume is taken from the built-in `volume` series automatically.
mfLength = input.int(14, "Money Flow Length")
mf = ta.mfi(hlc3, mfLength)
// `mfUp`/`mfDown` flag a turn in money flow over the last two bars.
mfUp = ta.rising(mf, 2)
mfDown = ta.falling(mf, 2)
//// === WaveTrend oscillator ===
// A simplified WaveTrend model produces "dots" indicating potential
// exhaustion points. Values beyond +/-53 are treated as oversold/overbought.
n1 = input.int(10, "WT Channel Length")
n2 = input.int(21, "WT Average Length")
ap = hlc3 // typical price
esa = ta.ema(ap, n1) // smoothed price
d = ta.ema(math.abs(ap - esa), n1) // smoothed deviation
ci = (ap - esa) / (0.015 * d) // channel index
tci = ta.ema(ci, n2) // trend channel index
wt1 = tci // main line
wt2 = ta.sma(wt1, 4) // signal line
greenDot = ta.crossover(wt1, wt2) and wt1 < -53
redDot = ta.crossunder(wt1, wt2) and wt1 > 53
plotshape(greenDot, title="Green Dot", style=shape.circle, color=color.green, location=location.belowbar, size=size.tiny)
plotshape(redDot, title="Red Dot", style=shape.circle, color=color.red, location=location.abovebar, size=size.tiny)
//// === Analyst fundamentals ===
// Fundamental values from TradingView's database. If a ticker lacks data
// these will return `na` and the related conditions simply evaluate false.
rating = request.financial(syminfo.tickerid, "rating", period="FY")
targetHigh = request.financial(syminfo.tickerid, "target_high_price", period="FY")
targetLow = request.financial(syminfo.tickerid, "target_low_price", period="FY")
upsidePct = (targetHigh - close) / close * 100
downsidePct = (close - targetLow) / close * 100
// `rating` comes back as a numeric value (1 strong sell -> 5 strong buy). Use
// thresholds instead of string comparisons so the script compiles even when
// the broker only supplies numeric ratings.
ratingBuy = rating >= 4 // buy or strong buy
ratingNeutralOrBuy = rating >= 3 // neutral or better
upsideCondition = upsidePct >= 2 * downsidePct // upside at least twice downside
downsideCondition = downsidePct >= upsidePct // downside greater or equal
//// === Daily moving-average context ===
// 50 EMA represents short-term trend; 200 EMA long-term bias.
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
longBias = close > ema200 // price above 200-day = long bias
momentumFavorable = close > ema50 // price above 50-day = positive momentum
//// === Weekly trend filter ===
// Higher timeframe confirmation to reduce noise.
weeklyClose = request.security(syminfo.tickerid, "W", close)
weeklyEMA20 = request.security(syminfo.tickerid, "W", ta.ema(close, 20))
weeklyRSI = request.security(syminfo.tickerid, "W", ta.rsi(close, rsiLength))
// Weekly Money Flow uses the same two-argument `ta.mfi()` inside `request.security`.
weeklyMF = request.security(syminfo.tickerid, "W", ta.mfi(hlc3, mfLength))
weeklyFilter = weeklyClose > weeklyEMA20
//// === Buy evaluation ===
// Each true condition contributes one point to `buyScore`.
c1_buy = rsi < 50 // RSI below midpoint
c2_buy = mfUp // Money Flow turning up
c3_buy = greenDot // WaveTrend oversold bounce
c4_buy = ratingBuy // Analyst rating Buy/Strong Buy
c5_buy = upsideCondition // Forecast upside twice downside
buyScore = (c1_buy?1:0) + (c2_buy?1:0) + (c3_buy?1:0) + (c4_buy?1:0) + (c5_buy?1:0)
// Require all five conditions plus trend filters and persistence for two bars.
buyCond = c1_buy and c2_buy and c3_buy and c4_buy and c5_buy and longBias and momentumFavorable and weeklyFilter and weeklyRSI > 50 and weeklyMF > 50
buySignal = buyCond and buyCond
//// === Sell evaluation ===
// Similar logic as buy side but inverted.
c1_sell = rsi > 70 // RSI above overbought threshold
c2_sell = mfDown // Money Flow turning down
c3_sell = redDot // WaveTrend overbought reversal
c4_sell = ratingNeutralOrBuy // Analysts neutral or still buy
c5_sell = downsideCondition // Downside at least equal to upside
sellScore = (c1_sell?1:0) + (c2_sell?1:0) + (c3_sell?1:0) + (c4_sell?1:0) + (c5_sell?1:0)
// For exits require weekly filters to fail or long bias lost.
sellCond = c1_sell and c2_sell and c3_sell and c4_sell and c5_sell and (not longBias or not weeklyFilter or weeklyRSI < 50)
sellSignal = sellCond and sellCond
// Plot composite scores for quick reference.
plot(buyScore, "Buy Score", color=color.green)
plot(sellScore, "Sell Score", color=color.red)
//// === Confidence table ===
// Shows which of the five buy/sell checks are currently met.
var table status = table.new(position.top_right, 5, 2, border_width=1)
if barstate.islast
table.cell(status, 0, 0, "RSI", bgcolor=c1_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 1, 0, "MF", bgcolor=c2_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 2, 0, "Dot", bgcolor=c3_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 3, 0, "Rating", bgcolor=c4_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 4, 0, "Target", bgcolor=c5_buy?color.new(color.green,0):color.new(color.red,0))
table.cell(status, 0, 1, "RSI>70", bgcolor=c1_sell?color.new(color.red,0):color.new(color.green,0))
table.cell(status, 1, 1, "MF down",bgcolor=c2_sell?color.new(color.red,0):color.new(color.green,0))
table.cell(status, 2, 1, "Red dot", bgcolor=c3_sell?color.new(color.red,0):color.new(color.green,0))
table.cell(status, 3, 1, "Rating", bgcolor=c4_sell?color.new(color.red,0):color.new(color.green,0))
table.cell(status, 4, 1, "Target", bgcolor=c5_sell?color.new(color.red,0):color.new(color.green,0))
//// === Alert text ===
// Include key metrics in alerts so the chart doesn't need to be opened.
buyMsg = "BUY: RSI " + str.tostring(rsi, "#.##") +
", MF " + str.tostring(mf, "#.##") +
", Upside " + str.tostring(upsidePct, "#.##") + "%" +
", Downside " + str.tostring(downsidePct, "#.##") + "%" +
", Rating " + str.tostring(rating, "#.##")
sellMsg = "SELL: RSI " + str.tostring(rsi, "#.##") +
", MF " + str.tostring(mf, "#.##") +
", Upside " + str.tostring(upsidePct, "#.##") + "%" +
", Downside " + str.tostring(downsidePct, "#.##") + "%" +
", Rating " + str.tostring(rating, "#.##")
// Alert conditions use static messages; dynamic data is sent via `alert()`
alertcondition(buySignal, title="Buy Signal", message="Buy conditions met")
alertcondition(sellSignal, title="Sell Signal", message="Sell conditions met")
if buySignal
alert(buyMsg, alert.freq_once_per_bar_close)
if sellSignal
alert(sellMsg, alert.freq_once_per_bar_close)
//// === Watch-out flags ===
// Gentle warnings when trends weaken but before full sell signals.
warnRSI = rsi > 65 and rsi <= 65
warnAnalyst = upsidePct < 2 * downsidePct and upsidePct > downsidePct
alertcondition(warnRSI, title="RSI Watch", message="RSI creeping above 65")
alertcondition(warnAnalyst, title="Analyst Watch", message="Analyst upside shrinking")
if warnRSI
alert("RSI creeping above 65: " + str.tostring(rsi, "#.##"), alert.freq_once_per_bar_close)
if warnAnalyst
alert("Analyst upside shrinking: up " + str.tostring(upsidePct, "#.##") + "% vs down " + str.tostring(downsidePct, "#.##") + "%", alert.freq_once_per_bar_close)
//// === Plot bias moving averages ===
plot(ema50, color=color.orange, title="EMA50")
plot(ema200, color=color.blue, title="EMA200")
//// === Cross alerts for context ===
goldenCross = ta.crossover(ema50, ema200)
deathCross = ta.crossunder(ema50, ema200)
alertcondition(goldenCross, title="Golden Cross", message="50 EMA crossed above 200 EMA")
alertcondition(deathCross, title="Death Cross", message="50 EMA crossed below 200 EMA")
1D Exit Alerts"A Daily Exit LONG" + "B Daily Exit SHORT":
I'm not using this one anymore since they often make me worry more than necessary, and I focus more on aiming to reach specific price targets, or using the 5m Exit alerts instead.
Also swing trades require less time-sensitive operations than day trades, so for me personally they felt a bit redundant.
But maybe it helps some of you:
There are 4 conditions that trigger it. As with 5m Exit Alerts, the triggering reasons show up in the exit alert message (unfortunately only as a number, since alert messages can't have "dynamic text" in TradingView).
Here are the conditions sorted from best to worst:
Gap Up / Down. Better check SPY and the stock whether a Gap Reversal is likely to happen (aka get out) or whether the stock will keep going higher / lower.
Earnings: End of day or Tomorrow morning. Alert is triggered at beginning of morning before earnings, and then again 15m before market close.
Mental stop loss: Broke daily EMA 8 or SMA - in the wrong direction....
Wrong direction: Broke below / above yesterday's Low / High. It's not immediately triggered, but only after re-touching VWAP again, to prevent too impulsive exits.
As with 5m Exit alerts: Always consider how the market and stock looks like, then decide whether to exit or not! These are meant to make you look at the chart, not to FOMO-exit.
"X Candle Close":
Same as in 1D Enter alert: Is triggered 15m before market close (I put it in here as well because I kept forgetting whether I put this one into Enter or Exit alerts...)
More infos: www.reddit.com
Supertrend + MACD Trend Change with AlertsDetailed Guide
1. Indicator Overview
Purpose:
This script combines the Supertrend and MACD indicators to help you detect potential trend changes. It plots a Supertrend line (green for bullish, red for bearish) and marks the chart with shapes when a trend reversal is signaled by both indicators. In addition, it includes alert conditions so that you can be notified when a potential trend change occurs.
How It Works:
Supertrend: Uses the Average True Range (ATR) to determine dynamic support and resistance levels. When the price crosses these levels, it signals a possible change in trend.
MACD: Focuses on the crossover between the MACD line and the signal line. A bullish crossover (MACD line crossing above the signal line) suggests upward momentum, while a bearish crossover (MACD line crossing below the signal line) suggests downward momentum.
2. Supertrend Component
Key Parameters:
Factor:
Function: Multiplies the ATR to create an offset from the mid-price (hl2).
Adjustment Impact: Lower values make the indicator more sensitive (producing more frequent signals), while higher values result in fewer, more confirmed signals.
ATR Period:
Function: Sets the number of bars over which the ATR is calculated.
Adjustment Impact: A shorter period makes the ATR react more quickly to recent price changes (but can be noisy), whereas a longer period provides a smoother volatility measurement.
Trend Calculation:
The script compares the previous close with the dynamically calculated upper and lower bands. If the previous close is above the upper band, the trend is set to bullish (1); if it’s below the lower band, the trend is bearish (-1). The Supertrend line is then plotted in green for bullish trends and red for bearish trends.
3. MACD Component
Key Parameters:
Fast MA (Fast Moving Average):
Function: Represents a shorter-term average, making the MACD line more sensitive to recent price movements.
Slow MA (Slow Moving Average):
Function: Represents a longer-term average to smooth out the MACD line.
Signal Smoothing:
Function: Defines the period for the signal line, which is a smoothed version of the MACD line.
Crossover Logic:
The script uses the crossover() function to detect when the MACD line crosses above the signal line (bullish crossover) and crossunder() to detect when it crosses below (bearish crossover).
4. Combined Signal Logic
How Signals Are Combined:
Bullish Scenario:
When the MACD shows a bullish crossover (MACD line crosses above the signal line) and the Supertrend indicates a bullish trend (green line), a green upward triangle is plotted below the bar.
Bearish Scenario:
When the MACD shows a bearish crossover (MACD line crosses below the signal line) and the Supertrend indicates a bearish trend (red line), a red downward triangle is plotted above the bar.
Rationale:
By combining the signals from both indicators, you increase the likelihood that the detected trend change is reliable, filtering out some false signals.
5. Alert Functionality
Alert Setup in the Code:
The alertcondition() function is used to define conditions under which TradingView can trigger alerts.
There are two alert conditions:
Bullish Alert: Activated when there is a bullish MACD crossover and the Supertrend confirms an uptrend.
Bearish Alert: Activated when there is a bearish MACD crossover and the Supertrend confirms a downtrend.
What Happens When an Alert Triggers:
When one of these conditions is met, TradingView registers the alert condition. You can then create an alert in TradingView (using the alert dialog) and choose one of these alert conditions. Once set up, you’ll receive notifications (via pop-ups, email, or SMS, depending on your settings) whenever a trend change is signaled.
6. User Adjustments and Their Effects
Factor (Supertrend):
Adjustment: Lowering the factor increases sensitivity, resulting in more frequent signals; raising it will filter out some signals, making them potentially more reliable.
ATR Period (Supertrend):
Adjustment: A shorter ATR period makes the indicator more responsive to recent price movements (but can introduce noise), while a longer period smooths out the response.
MACD Parameters (Fast MA, Slow MA, and Signal Smoothing):
Adjustment:
Shortening the Fast MA increases sensitivity, generating earlier signals that might be less reliable.
Lengthening the Slow MA produces a smoother MACD line, reducing noise.
Adjusting the Signal Smoothing changes how quickly the signal line responds to changes in the MACD line.
7. Best Practices and Considerations
Multiple Confirmation:
Even if both indicators signal a trend change, consider confirming with additional analysis such as volume, price action, or other indicators.
Market Conditions:
These indicators tend to perform best in trending markets. In sideways or choppy conditions, you may experience more false alerts.
Backtesting:
Before applying the indicator in live trading, backtest your settings to ensure they suit your trading style and the market conditions.
Risk Management:
Always use proper risk management, including stop-loss orders and appropriate position sizing, as alerts may occasionally produce late or false signals.
Happy trading!
Market Structure & Session Alerts### Market Structure & Session Alerts Indicator
#### Overview
The "Market Structure & Session Alerts" indicator is a comprehensive tool designed to assist traders in identifying key market structure levels, detecting liquidity sweeps, and receiving alerts for specific trading sessions. This indicator is particularly useful for traders who want to keep an eye on previous high and low levels and be alerted during pre-London and pre-New York sessions.
#### Features
1. **Previous High/Low Levels:**
- **Daily, Weekly, and Monthly Highs and Lows:** The indicator plots the previous day, week, and month high and low levels on the chart. These levels can be crucial for identifying support and resistance zones.
- **Toggle Display:** Users can choose to show or hide these levels using the "Show Previous Day/Week/Month High/Low" option.
2. **Liquidity Sweep Detection:**
- **Liquidity Sweep Identification:** The indicator detects liquidity sweeps when the current price closes above the previous day's high. This can signal potential reversals or continuations in the market.
- **Visual Alerts:** When a liquidity sweep is detected, a green triangle is plotted below the bar.
3. **Session Alerts:**
- **Session Timings:** Users can set specific start and end times for the pre-London and pre-New York sessions to match their timezone.
- **Visual Background Highlight:** The background of the chart is highlighted in yellow during the defined session times to provide a visual cue.
- **Alert Messages:** The indicator can generate alerts to notify traders when the market enters the pre-London or pre-New York session.
4. **Current Price Line:**
- The current price is plotted as a black line, providing a clear visual reference for the current market price.
#### How to Use
1. **Input Parameters:**
- `Show Previous Day/Week/Month High/Low`: Enable or disable the display of previous high/low levels.
- `Show Liquidity Sweep`: Enable or disable the detection and display of liquidity sweeps.
- `Show Session Alerts`: Enable or disable session alerts and background highlights.
2. **Session Timing Adjustments:**
- Set the `Pre-London Start`, `Pre-London End`, `Pre-New York Start`, and `Pre-New York End` times according to your timezone to ensure accurate session alerts.
3. **Alerts:**
- Make sure alerts are enabled in your TradingView settings to receive notifications when the market enters the pre-London or pre-New York sessions.
#### Example Use Cases
- **Day Traders:** Identify potential support and resistance levels using the previous day's high and low.
- **Swing Traders:** Use weekly and monthly high and low levels to determine significant market structure points.
- **Scalpers:** Detect liquidity sweeps to identify potential quick trades.
- **Session Traders:** Be alerted when the market enters key trading sessions to align your trading strategy with major market activities.
This indicator combines multiple market analysis tools into one, providing a robust system for traders to enhance their trading decisions and market awareness.
Volume Spike AlertIndicator Features:
📊 Core Functionalities:
Exceptional Volume Detection:
Calculates volume in USD (volume × price)
Compares it against a 90-day average (3 months)
Configurable from 1 to 252 days
Visual Signals:
Green labels for bullish candles with high volume
Red labels for bearish candles with high volume
Displays excess percentage (e.g., +45.2%)
Dual Alert System:
AlertCondition: For manual alert configuration in TradingView
Alert(): Automated alerts with detailed information
⚙️ Available Settings:
Average Period: 1–252 days (default: 90 days)
Enable/Disable Alerts: Configurable checkbox
Show/Hide Labels: Visual control
Label Size: Tiny, Small, Normal, Large
Minimum Threshold: Minimum percentage required to trigger a signal
📋 Displayed Information:
On Labels:
Excess percentage (e.g., +67.3%)
Color based on candle direction
In the Table:
Current volume in millions USD
Average volume in millions USD
Excess percentage
Alert status (ACTIVE/NORMAL)
Calculation period
In Alerts:
Candle type (BULLISH 🟢 / BEARISH 🔴)
Symbol and current price
Current volume vs. average
Timeframe used
Volume Spike Alert & Overlay"Volume Spike Alert & Overlay" highlights unusually high trading volume on a chart. It calculates whether the current volume exceeds a user-defined percentage above the historical average and triggers an alert if it does. The information is also displayed in a customizable on-screen table.
What It Does
Monitors volume for each bar and compares it to an average over a user-defined lookback period.
Supports multiple smoothing methods (SMA, EMA, WMA, RMA) for calculating the average volume.
Triggers an alert when current volume exceeds the threshold percentage above the average.
Displays a table on the chart with:
Current Volume
Average Volume
Threshold Percentage
Optional empty row for spacing/formatting
How It Works
User Inputs:
lookbackPeriods: Number of bars used to calculate the average volume.
thresholdPercent: % above the average that triggers a volume spike alert.
smoothingType: Type of moving average used for volume calculation.
textColor, bgColor: Formatting for the display table.
tablePositionInput: Where the table appears on the chart (e.g., Bottom Right).
Toggles for showing/hiding parts of the table.
Volume Calculations:
Calculates current bar's volume.
Calculates average volume using the selected smoothing method.
Computes the threshold: avgVol * (1 + thresholdPercent / 100).
Compares current volume to threshold.
Table Display:
Dynamically creates a table with volume stats.
Adds rows based on user preferences.
Alerts:
alertcondition fires when currentVol crosses above the calculated threshold.
Message: "Volume Threshold Exceeded"
Usage Examples
Example 1: Spotting High Activity
Apply the script to a stock like AAPL on a 5-minute chart.
Set lookbackPeriods to 20 and thresholdPercent to 30.
Use EMA for more reactive volume tracking.
When volume spikes more than 30% above the 20-period EMA, an alert triggers.
Example 2: Day Trading Filter
For scalpers, apply it to a 1-minute crypto chart (e.g., BTC/USDT).
Set thresholdPercent to 50 to catch only strong surges.
Position the table at the top left and reduce visible info for a clean layout.
Example 3: Long-Term Context
On a daily chart, use SMA and set lookbackPeriods to 50.
Helps identify breakout moves supported by strong volume.
How this is different from Trading View's Volume indicator:
The standard volume plot from trading view allows users to set a alert when the average line is crossed, but it does not allow you to set a custom percentage at which to trigger an alert. This indicator will allow you to set any percentage you wish to monitor and above that percentage threshold will trigger your alert.
===== ORIGINAL DESCRIPTION =====
Volume Spike Alert & Overlay
This indicator will display the following as an overlay on your chart:
Current volume
Average Volume
Threshold for Alert
Description:
This indicator will display the current bar volume based on the chart time frame,
display the average volume based on selected conditions,
allow user selectable threshold over the average volume to trigger an alert.
Options:
Average lookback period
Smoothing type
Alert Threshold %
Enable / Disable Each Value
Change Text Color
Change Background Color
Change Table location
Add/Remove extra row for placement in top corner
Usage Example:
I use this indicator to alert when the current volume exceeds the average volume by a specified percentage to alert to volume spikes.
Set the threshold to 25% in the settings
Create an alert by clicking on the 3 dots on the right of the indicator title on the chart
When the threshold is exceeded the alert will trigger