Futures Contract SizerThis script helps futures traders instantly calculate the ideal number of contracts to trade based on their desired dollar risk and tick stop-loss size. Whether you're trading micro contracts (e.g., MNQ, MES) or full-size contracts (e.g., NQ, ES), this tool takes the guesswork out of position sizing and risk management.
Indicators and strategies
Trend - Wave - EMA & Pin BarThis is a Trend indicator.
This calculates the signals based on the Reversals and prints a signal based on the Bullish and bearish Pin bar.
Pips per Candle - XAUUSD//@version=5
indicator("Pips per Candle - XAUUSD", overlay=true)
// Opsi tampilkan label di atas atau bawah
tampilkan_di_atas = input.bool(true, "Tampilkan di atas candle")
tampilkan_di_bawah = input.bool(true, "Tampilkan di bawah candle")
tampilkan_berdasarkan = input.string("High-Low", title="Hitung pips berdasarkan", options= )
// Hitung pip
perbedaan = tampilkan_berdasarkan == "High-Low" ? high - low : math.abs(close - open)
pip = perbedaan * 100 // 1 point = 100 pip untuk XAU
// Bersihkan label lama
var label labels = array.new_label()
if bar_index > 1
for i = 0 to array.size(labels) - 1
label.delete(array.get(labels, i))
array.clear(labels)
// Tampilkan label
if tampilkan_di_atas
array.push(labels, label.new(bar_index, high, text=str.tostring(pip, "#.0") + " pip", style=label.style_label_up, textcolor=color.white, size=size.small, color=color.orange))
if tampilkan_di_bawah
array.push(labels, label.new(bar_index, low, text=str.tostring(pip, "#.0") + " pip", style=label.style_label_down, textcolor=color.white, size=size.small, color=color.maroon))
Advanced Doji Breakout StrategyTo identify high-probability breakout trades by detecting Doji candles that form near the 21-period EMA, with additional filters to avoid low-volatility and extreme price action conditions.
RSI SMA Inflection AlertFor trading a 1-min chart, the alert triggers when the SMA (smooth line) of the RSI turns up (bullish) in the oversold zones and turns down (bearish) in the overbought zones.
This largely fires as trends show weakness and/or divergences are forming in overbought or oversold territory, suggesting a reversal may be near. It acts as confirmation, rather than entering a trade before true divergences/weakness has formed.
It also helps define an extremely clear and tight stop (local high/low) often providing good R:R (very often 2+) even in relatively choppy PA.
Luma DCA Simulator (BTC only)Luma DCA Simulator – Guide
What is the Luma DCA Simulator?
The Luma DCA Tracker shows how regular Bitcoin investments (Dollar Cost Averaging) would have developed over a freely selectable period – directly in the chart, transparent and easy to follow.
Settings Overview
1. Investment amount per interval
Specifies how much capital is invested at each purchase (e.g. 100).
2. Start date
Defines the point in time from which the simulation begins – e.g. 01.01.2020.
3. Investment interval
Determines how frequently investments are made:
– Daily
– Weekly
– Every 14 days
– Monthly
4. Language
Switches the info box display between English and German.
5. Show investment data (optional)
If activated, the chart will display additional values such as total invested capital, BTC amount, current value, and profit/loss.
What the Chart Displays
Entry points: Each DCA purchase is marked as a point in the price chart.
Average entry price: An orange line visualizes the evolving DCA average.
Info box (bottom left) with a live summary of:
– Total invested capital
– Total BTC acquired
– Average entry price
– Current portfolio value
– Profit/loss in absolute terms and percentage
Note on Accuracy
This simulation is for illustrative purposes only.
Spreads, slippage, fees, and tax effects are not included.
Actual results may vary.
Technical Note
For daily or weekly intervals, the chart timeframe should be set to 1 day or lower to ensure all purchases are accurately included.
Larger timeframes (e.g. weekly or monthly charts) may result in missed investments.
Currency Handling
All calculations are based on the selected chart symbol (e.g. BTCUSD, BTCEUR, BTCUSDT).
The displayed currency is automatically determined by the chart used.
내 스크립트//@version=6
indicator('AWMA', overlay = true)
//inputs
_Period1 = input(3, 'WMA1 Period')
_Period2 = input(5, 'WMA2 Period')
_Period3 = input(8, 'WMA3 Period')
_Period4 = input(10, 'WMA4 Period')
_Period5 = input(12, 'WMA5 Period')
_Period6 = input(15, 'WMA6 Period')
_Period7 = input(30, 'WMA7 Period')
_Period8 = input(35, 'WMA8 Period')
_Period9 = input(40, 'WMA9 Period')
_Period10 = input(45, 'WMA10 Period')
_Period11 = input(50, 'WMA11 Period')
_Period12 = input(60, 'WMA12 Period')
//calculate wma
wma1 = ta.wma(close, _Period1)
wma2 = ta.wma(close, _Period2)
wma3 = ta.wma(close, _Period3)
wma4 = ta.wma(close, _Period4)
wma5 = ta.wma(close, _Period5)
wma6 = ta.wma(close, _Period6)
wma7 = ta.wma(close, _Period7)
wma8 = ta.wma(close, _Period8)
wma9 = ta.wma(close, _Period9)
wma10 = ta.wma(close, _Period10)
wma11 = ta.wma(close, _Period11)
wma12 = ta.wma(close, _Period12)
plot(wma1, color = color.new(#4fc3d2, 0), title = 'short1')
plot(wma2, color = color.new(#4fc3d2, 0), title = 'short2')
plot(wma3, color = color.new(#4fc3d2, 0), title = 'short3')
plot(wma4, color = color.new(#4fc3d2, 0), title = 'short4')
plot(wma5, color = color.new(#4fc3d2, 0), title = 'short5')
plot(wma6, color = color.new(#4fc3d2, 0), title = 'short6')
plot(wma7, color = color.new(#fe0d5f, 0), title = 'long1')
plot(wma8, color = color.new(#fe0d5f, 0), title = 'long2')
plot(wma9, color = color.new(#fe0d5f, 0), title = 'long3')
plot(wma10, color = color.new(#fe0d5f, 0), title = 'long4')
plot(wma11, color = color.new(#fe0d5f, 0), title = 'long5')
plot(wma12, color = color.new(#fe0d5f, 0), title = 'long6')
RifleLibLibrary "RifleLib"
Provides a collection of helper functions in support of the Rifle Shooter Indicators.
toStrRnd(val, digits)
Parameters:
val (float)
digits (int)
_isValidTimeRange(startTimeInput, endTimeInput)
Parameters:
startTimeInput (string)
endTimeInput (string)
_normalize(_src, _min, _max)
Parameters:
_src (float)
_min (float)
_max (float)
arrayToSeries(arrayInput)
arrayToSeries Return an array from the provided series.
Parameters:
arrayInput (array)
f_parabolicFiltering(_activeCount, long, shooterRsi, shooterRsiLongThreshold, shooterRsiShortThreshold, fiveMinuteRsi, fiveMinRsiLongThreshold, fiveMinRsiShortThreshold, shooterRsiRoc, shooterRsiRocLongThreshold, shooterRsiRocShortThreshold, quickChangeLookbackBars, quckChangeThreshold, curBarChangeThreshold, changeFromPrevBarThreshold, maxBarsToholdParabolicMoveActive, generateLabels)
f_parabolicFiltering Return true when price action indicates a parabolic active movement based on the provided inputs and thresholds.
Parameters:
_activeCount (int)
long (bool)
shooterRsi (float)
shooterRsiLongThreshold (float)
shooterRsiShortThreshold (float)
fiveMinuteRsi (float)
fiveMinRsiLongThreshold (float)
fiveMinRsiShortThreshold (float)
shooterRsiRoc (float)
shooterRsiRocLongThreshold (float)
shooterRsiRocShortThreshold (float)
quickChangeLookbackBars (int)
quckChangeThreshold (int)
curBarChangeThreshold (int)
changeFromPrevBarThreshold (int)
maxBarsToholdParabolicMoveActive (int)
generateLabels (bool)
rsiValid(rsi, buyThreshold, sellThreshold)
rsiValid Returns true if the provided RSI value is withing the associated threshold. For the unused threshold set it to na
Parameters:
rsi (float)
buyThreshold (float)
sellThreshold (float)
squezePro(source, length)
squezePro Returns the squeeze pro momentum color of current source series input
Parameters:
source (float)
length (int)
f_momentumOscilator(source, length, transperency)
f_momentumOscilator Returns the squeeze pro momentum value and bar color states of the series input
Parameters:
source (float)
length (int)
transperency (int)
f_getLookbackExtreme(lowSeries, highSeries, lbBars, long)
f_getLookbackExtreme Return the highest high or lowest low over the look back window
Parameters:
lowSeries (float)
highSeries (float)
lbBars (int)
long (bool)
f_getInitialMoveTarget(lbExtreme, priveMoveOffset, long)
f_getInitialMoveTarget Return the point delta required to achieve an initial rifle move (X points over Y lookback)
Parameters:
lbExtreme (float)
priveMoveOffset (int)
long (bool)
isSymbolSupported(sym)
isSymbolSupported Return true if provided symbol is one of the supported DOW Rifle Indicator symbols
Parameters:
sym (string)
getBasePrice(price)
getBasePrice Returns integer portion of provided float
Parameters:
price (float)
getLastTwoDigitsOfPrice(price)
getBasePrice Returns last two integer numerals of provided float value
Parameters:
price (float)
getNextLevelDown(price, lowestLevel, middleLevel, highestLevel)
getNextLevelDown Returns the next level above the provided price value
Parameters:
price (float)
lowestLevel (float)
middleLevel (float)
highestLevel (float)
getNextLevelUp(price, lowestLevel, middleLevel, highestLevel)
getNextLevelUp Returns the next level below the provided price value
Parameters:
price (float)
lowestLevel (float)
middleLevel (float)
highestLevel (float)
isALevel(price, lowestLevel, middleLevel, highestLevel)
isALevel Returns true if the provided price is onve of the specified levels
Parameters:
price (float)
lowestLevel (float)
middleLevel (float)
highestLevel (float)
getClosestLevel(price, lowestLevel, middleLevel, highestLevel)
getClosestLevel Returns the level closest to the price value provided
Parameters:
price (float)
lowestLevel (float)
middleLevel (float)
highestLevel (float)
f_fillSetupTableCell(_table, _col, _row, _text, _bgcolor, _txtcolor, _text_size)
f_fillSetupTableCell Helper function to fill a setup table celll
Parameters:
_table (table)
_col (int)
_row (int)
_text (string)
_bgcolor (color)
_txtcolor (color)
_text_size (string)
f_fillSetupTableRow(_table, _row, _col0Str, _col1Str, _col2Str, _bgcolor, _textColor, _textSize)
f_fillSetupTableRow Helper function to fill a setup table row
Parameters:
_table (table)
_row (int)
_col0Str (string)
_col1Str (string)
_col2Str (string)
_bgcolor (color)
_textColor (color)
_textSize (string)
f_addBlankRow(_table, _row)
f_addBlankRow Helper function to fill a setup table row with empty values
Parameters:
_table (table)
_row (int)
f_updateVersionTable(versionTable, versionStr, versionDateStr)
f_updateVersionTable Helper function to fill the version table with provided values
Parameters:
versionTable (table)
versionStr (string)
versionDateStr (string)
f_updateSetupTable(_table, parabolicMoveActive, initialMoveTargetOffset, initialMoveAchieved, shooterRsi, shooterRsiValid, rsiRocEnterThreshold, shooterRsiRoc, fiveMinuteRsi, fiveMinuteRsiValid, requireValid5MinuteRsiForEntry, stallLevelOffset, stallLevelExceeded, stallTargetOffset, recoverStallLevelValid, curBarChangeValid, volumeRoc, volumeRocThreshold, enableVolumeRocForTrigger, tradeActive, entryPrice, curCloseOffset, curSymCashDelta, djiCashDelta, showDjiDelta, longIndicator, fontSize)
f_updateSetupTable Manages writing current data to the setup table
Parameters:
_table (table)
parabolicMoveActive (bool)
initialMoveTargetOffset (float)
initialMoveAchieved (bool)
shooterRsi (float)
shooterRsiValid (bool)
rsiRocEnterThreshold (float)
shooterRsiRoc (float)
fiveMinuteRsi (float)
fiveMinuteRsiValid (bool)
requireValid5MinuteRsiForEntry (bool)
stallLevelOffset (float)
stallLevelExceeded (bool)
stallTargetOffset (float)
recoverStallLevelValid (bool)
curBarChangeValid (bool)
volumeRoc (float)
volumeRocThreshold (float)
enableVolumeRocForTrigger (bool)
tradeActive (bool)
entryPrice (float)
curCloseOffset (float)
curSymCashDelta (float)
djiCashDelta (float)
showDjiDelta (bool)
longIndicator (bool)
fontSize (string)
4EMA Moving Average Group4EMA移动平均线组合 - 专业趋势分析指标
📈 核心功能:
• 四条EMA线:7、20、90、180周期
• Vegas隧道填充效果,清晰显示趋势通道
• 自动识别多头/空头排列
• 可选趋势背景颜色提示
• 支持EMA平滑处理和布林带扩展
🎯 使用场景:
• 趋势跟踪和方向判断
• 支撑阻力位识别
• 入场出场时机选择
• 多时间框架分析
💡 交易信号:
• 多头信号:EMA呈7>20>90>180排列 + 价格在EMA上方
• 空头信号:EMA呈7<20<90<180排列 + 价格在EMA下方
• 填充区域作为动态支撑阻力参考
⚙️ 特色功能:
• 完全可自定义颜色和透明度
• 灵活的显示选项控制
• 多种平滑算法可选
• 适用于所有时间周期
适合各级别交易者使用,建议结合其他技术指标综合分析。
4EMA Moving Average Group - Professional Trend Analysis Indicator
📈 Core Features:
• Four EMA lines: 7, 20, 90, 180 periods
• Vegas Tunnel fill effect for clear trend channels
• Automatic bullish/bearish alignment detection
• Optional trend background color alerts
• EMA smoothing and Bollinger Bands extension support
🎯 Use Cases:
• Trend following and direction analysis
• Support/resistance level identification
• Entry/exit timing optimization
• Multi-timeframe analysis
💡 Trading Signals:
• Bullish: EMA alignment 7>20>90>180 + price above EMAs
• Bearish: EMA alignment 7<20<90>180 + price below EMAs
• Fill areas serve as dynamic support/resistance zones
⚙️ Key Features:
• Fully customizable colors and transparency
• Flexible display options
• Multiple smoothing algorithms available
• Works on all timeframes
Suitable for traders of all levels. Recommended to use with other technical indicators for comprehensive analysis.
Day of Week Highlighter# 📅 Day of Week Highlighter - Global Market Edition
**Enhanced visual trading tool that highlights each day of the week with customizable colors across all major global financial market timezones.**
## 🌍 Global Market Coverage
This indicator supports **27 major financial market timezones**, including:
- **Asia-Pacific**: Tokyo, Sydney, Hong Kong, Singapore, Shanghai, Seoul, Mumbai, Dubai, Auckland (New Zealand)
- **Europe**: London, Frankfurt, Zurich, Paris, Amsterdam, Moscow, Istanbul
- **Americas**: New York, Chicago, Toronto, São Paulo, Buenos Aires
- **Plus UTC and other key financial centers**
## ✨ Key Features
### 🎨 **Fully Customizable Colors**
- Individual color picker for each day of the week
- Transparent overlays that don't obstruct price action
- Professional color scheme defaults
### 🌐 **Comprehensive Timezone Support**
- 27 major global financial market timezones
- Automatic daylight saving time adjustments
- Perfect for multi-market analysis and global trading
### ⚙️ **Flexible Display Options**
- Toggle individual days on/off
- Optional day name labels with size control
- Clean, professional appearance
### 📊 **Trading Applications**
- **Market Session Analysis**: Identify trading patterns by day of week
- **Multi-Market Coordination**: Track different markets in their local time
- **Pattern Recognition**: Spot day-specific market behaviors
- **Risk Management**: Avoid trading on historically volatile days
## 🔧 How to Use
1. **Add to Chart**: Apply the indicator to any timeframe
2. **Select Timezone**: Choose your preferred market timezone from the dropdown
3. **Customize Colors**: Set unique colors for each day in the settings panel
4. **Enable/Disable Days**: Toggle specific days on or off as needed
5. **Optional Labels**: Show day names with customizable label sizes
## 💡 Pro Tips
- Use different color intensities to highlight your preferred trading days
- Combine with other session indicators for comprehensive market timing
- Perfect for swing traders who want to identify weekly patterns
- Ideal for international traders managing multiple market sessions
## 🎯 Perfect For
- Day traders tracking intraday patterns
- Swing traders analyzing weekly cycles
- International traders managing multiple markets
- Anyone wanting better visual organization of their charts
**Works on all timeframes and instruments. Set it once, trade with confidence!**
---
*Compatible with Pine Script v6 | No repainting | Lightweight performance*
EMA + RSI + MACD StrategyEMA + RSI + MACD Strategy EMA + RSI + MACD Strategy EMA + RSI + MACD Strategy EMA + RSI + MACD Strategy EMA + RSI + MACD Strategy EMA + RSI + MACD Strategy EMA + RSI + MACD Strategy EMA + RSI + MACD Strategy EMA + RSI + MACD Strategy EMA + RSI + MACD Strategy EMA + RSI + MACD Strategy
SlopeDirectionLine_TWSlopeDirectionLine_TW
___________________________
Tried to copy a MT4 indicator
Market Sessions Indicator by NomadTradesCustomisable Market session indicator
This indicator visually marks the high and low price levels for the Asia, London, and New York trading sessions directly on the chart, using distinct horizontal lines and color-coding for each session. Each session’s high and low are labelled for easy identification, allowing traders to quickly assess key support and resistance levels established during major global market hours. The indicator is designed for clear session demarcation, helping users identify price reactions at these significant levels and supporting multi-session analysis for intraday and swing trading strategies
X-Day Capital Efficiency ScoreThis indicator helps identify the Most Profitable Movers for Your fixed Capital (ie, which assets offer the best average intraday profit potential for a fixed capital).
Unlike traditional volatility indicators (like ATR or % change), this script calculates how much real dollar profit you could have made each day over a custom lookback period — assuming you deployed your full capital into that ticker daily.
How it works:
Calculates the daily intraday range (high − low)
Filters for clean candles (where body > 60% of the candle range)
Assumes you invested the full amount of capital ($100K set as default) on each valid day
Computes an average daily profit score based on price action over the selected period (default set to 20 days)
Plots the score in dollars — higher = more efficient use of capital
Why It’s Useful:
Compare tickers based on real dollar return potential — not just % volatility
Spot low-priced, high-volatility stocks that are better suited for intraday or momentum trading
Inputs:
Capital ($): Amount you're hypothetically deploying (e.g., 100,000)
Look Back Period: Number of past days to average over (e.g., 20)
Liquidity Rush (VWAP × Avg Daily Vol in Cr)Liquidity Rush SHOWS TRADED VALUE PER DAY.It shows how much rupee volume (turnover) is concentrating around VWAP, giving you a sense of institutional participation, volume weight, or momentum readiness.
Zimpact Custom ColorsZimpact Custom Colors – Buy/Sell Signals with Personalized Styling
Description:
This script is an enhanced version of the Zimpact indicator, designed to deliver clear Buy and Sell signals with the added flexibility of customizable line and background colors. The indicator combines two variants of the Hull Moving Average (HMA and a modified HMA) to detect trend changes and provide visually intuitive trading cues.
Key Features:
Dynamic line coloring: Lines automatically change color depending on trend direction (up/down).
Customizable colors: Users can set their own line colors and background transparency.
Clear Buy/Sell signals: Label markers highlight crossover points for potential entries.
Built-in alerts: Receive alerts when Buy or Sell signals are triggered.
How the Indicator Works:
Two HMAs are calculated: a standard and a modified version.
A Buy signal appears when the modified HMA crosses above the standard HMA.
A Sell signal appears when the modified HMA crosses below the standard HMA.
Line and background colors adapt dynamically to trend direction.
All visual elements can be adjusted via user input settings.
Adjustable Inputs:
Price source (hl2, close, etc.)
Period and shift for HMA calculations
Toggle Buy/Sell labels on or off
Colors for bullish and bearish trends
Background fill transparency (0% to 100%)
Who It's For:
This indicator is ideal for swing and intraday traders seeking a visually simple yet informative tool for trend detection and trade entries.
Note: This is not financial advice. Always use additional tools and perform your own analysis before entering a trade.
High/Low 10–90, 111–999Находит свечи, где HIGH или LOW заканчивается на 10, 20, 30...90 или 111, 222, 333...999
...
Finds candles with HIGH or LOW ends at 10, 20, 30...90 or 111, 222, 333...999
Color StochDestaca cuando supera niveles establecidos, para usar debajo del panel como estocástico aparte.
5, 3, 5.
Muy sensible, para 5 min TF preferiblemente.
Highlights area when it exceeds established levels, to be used below panel, as a normal stochastic.
5, 3, 5.
Very sensitive, for 5 min TF preferably.
Haven Average Daily RangeOverview
This indicator is an enhanced version of the traditional ADR tool that adapts to intraday price movements. Unlike static ADR levels, this indicator dynamically adjusts its range boundaries based on real-time price action while maintaining the original ADR calculation framework.
Key Features
ADR calculation based on multiple periods (5, 10, and 20 days)
ADR levels displayed with automatic style changes upon range reach
Customizable display settings (color, line style)
Price labels for better visualization
The indicator helps traders assess the instrument's volatility, identify potential reversal zones, and plan daily trading targets.
Suitable for all timeframes up to D1 and any trading instrument.
How It Works
Session Start (UTC+0): Calculates ADR based on historical data and sets initial High/Low levels
Dynamic Phase: Monitors price action and adjusts the opposite boundary (ADR Low or High) when new extremes are reached.
When price creates new Day high price above the opening price, the ADR Low level moves upward proportionally.
When price creates new Day low price below the opening price, the ADR High level moves downward proportionally.
Completion Phase: Stops adjustments and highlights breach when price reaches either boundary
Trading Application
Entry and Exit Signals
The ADR boundaries serve as key decision points for trade execution. When price approaches the upper ADR boundary, it often signals a potential selling zone, particularly when confluence exists with other overbought indicators such as RSI divergence or resistance levels. Conversely, price reaching the lower ADR boundary frequently indicates potential buying opportunities, especially when supported by oversold conditions or support confluences.
Trend Continuation Assessment
One of the most valuable applications is gauging the probability of continued directional movement. When the current session's price action has not yet reached either ADR boundary, statistical probability favors trend continuation in the established direction. This information helps traders stay with profitable positions longer rather than exiting prematurely.
Reversal and Consolidation Zones
The visual color change to orange when ADR boundaries are reached provides immediate feedback that the normal daily range has been exhausted. At this point, the probability of trend reversal or sideways consolidation increases significantly. This signal helps traders prepare for potential position adjustments or new counter-trend opportunities.
HOG QQE CandlesHOG QQE Candles
📊 Overview
A lightweight overlay that visually reflects RSI/QQE dynamics through color-coded candles. Designed for traders who want quick insight into momentum shifts — without opening a separate oscillator panel.
⚙️ How It Works
• Calculates smoothed RSI using QQE-style EMA
• Colors candles green for Overbought (OB), red for Oversold (OS)
• Colors candles blue on midline cross up (bullish), orange on cross down (bearish)
• OB/OS levels and midline signals are fully configurable
• Optional toggle for highlighting midline crosses
🎯 Inputs
• RSI Length
• QQE Smoothing
• Overbought / Oversold Levels
• Toggle: Show Midline Cross Highlights
• Toggle: Color OB/OS Candles
✅ Benefits
• No subwindow clutter — signals directly on price
• Clear OB/OS candles help identify exhaustion
• Midline color shifts reveal fresh momentum early
• Makes RSI/QQE readable at a glance
• Works great as a visual enhancer for trend or volume-based systems
📈 Use Cases
• Spot trend exhaustion during strong moves
• Confirm entry/exit with RSI midline cross
• Layer with trend overlays (e.g., EMAs, Supertrend)
• Ideal for minimal or clean chart setups
⚠️ Notes
• Candle color precedence: Midline cross > OB/OS
• Signal strength varies by timeframe and asset
• Best used as a visual companion, not standalone entry trigger
TUFAN Hacim / Fiyat SkoruCalculates long, mid, and short-term volume averages along with volume volatility.
Scores volume strength based on volume trend slope and price changes.
Adjusts the score based on the relationship between price and its 50, 100, and 150-day moving averages.
Combines and normalizes these factors into a final volume/price score.
Triggers an alert when the score is 3 or higher and displays the score with color coding on the chart.
GCM Price Based ColorIndicator Name:
GCM Price Based Color Indicator
Detailed Description:
The GCM Price Based Color Indicator is a unique tool designed to help traders spot potential "pump" events in the market. Unlike traditional Volume Rate of Change (VROC) indicators, this script is conditional: it calculates a VROC value only when both the average volume and the price are increasing. This focus helps filter out volume surges that don't accompany immediate price appreciation, highlighting more relevant "pump" signals.
Key Features & Calculation Logic:
Conditional Volume Rate of Change (VROC):
It first calculates a Simple Moving Average (SMA) of the volume over a user-defined length (lookback period).
It then checks two conditions:
Is the current SMA volume greater than the previous bar's SMA volume (i.e., volumeIncreasing)?
Is the current close price greater than the previous bar's close price (i.e., valueIncreasing)?
Only if both volume Increasing AND value Increasing are true, a VROC value is calculated as (current _ MA _ volume - previous _ MA _ volume) * (100 / previous _ MA _ volume). Otherwise, the VROC for that bar is 0.
Historical Normalization:
The raw VROC value is then normalized against its own historical maximum value observed since the indicator was applied. This scaling brings all VROC values into a common 0-100 range.
Why is this important? Normalization makes the indicator's readings comparable across different assets (e.g., high-volume vs. low-volume stocks/cryptos) and different timeframes, making it easier to interpret the strength of a "pump" relative to its own past.
Dynamic Plot Color (Price-Based):
The plot line's color itself provides an immediate visual cue about the current bar's price action:
Green: close is greater than close (price is up for the current bar).
Red: close is less than close (price is down for the current bar).
Grey: close is equal to close (price is flat for the current bar).
Important Note: The plot color reflects the price movement of the current bar, not the magnitude of the VROC Normalized value itself. This means you can have a high vrocNormalized value (indicating a strong conditional volume surge) but a red plot color if the very next bar's price closes lower, providing a multi-faceted view.
Thresholds & Alerts:
Two horizontal lines (small Pump Threshold and big Pump Threshold) are plotted to visually mark significant levels of normalized pump strength.
Customizable alerts can be set up to notify you when VROC Normalized reaches or exceeds these thresholds, helping you catch potential pump events in real-time.
How to Use It:
Identify Potential Pumps: Look for upward spikes in the VROC Normalized line. Higher spikes indicate stronger pump signals (i.e., a larger increase in average volume coinciding with an increasing price).
Monitor Thresholds: Pay attention when the VROC Normalized line crosses above your small Pump Threshold or big Pump Threshold. These are configurable levels to suit different assets and trading styles.
Observe Plot Color: The line color provides crucial context. A high VROC Normalized (strong pump signal) with a green line indicates current price momentum is still positive. If VROC Normalized is high but the line turns red, it might suggest the initial pump is losing steam or experiencing a pullback.
Combine with Other Tools: This indicator is best used in conjunction with other technical analysis tools (e.g., support/resistance, trend lines, other momentum indicators) for confirmation and a more holistic trading strategy.
Indicator Inputs:
Lookback period (1 - 4999) (default: 420): This length determines the period for the Simple Moving Average (SMA) of volume. A higher value will smooth the volume average more, reacting slower, while a lower value will make it more reactive. Adjust based on the timeframe and asset volatility.
Big Pump Threshold (0.01 - 99.99) (default: 10.0): The normalized VROC Normalized level that signifies a "Big Pump." When VROC Normalized reaches or exceeds this level, an alert can be triggered.
Small Pump Threshold (0.01 - 99.99) (default: 0.5): The normalized VROC Normalized level that signifies a "Small Pump." This is a lower threshold for earlier or less significant pump activity.
Alerts:
Small Pump: Triggers when VROC Normalized crosses above or equals the small Pump Threshold.
Big Pump: Triggers when VROC Normalized crosses above or equals the big Pump Threshold.
Best Practices & Considerations:
Timeframes: The indicator can be used on various timeframes, but its effectiveness may vary. Experiment to find what works best for your chosen asset and trading style.
Volatility: Highly volatile assets might require different threshold settings compared to less volatile ones.
Lag: Due to the use of a Simple Moving Average (SMA) for volume, there will be some inherent lag in the calculation.
Normalization Start: The historic Max for normalization starts with a default value of 10.0. For the very first bars, or if there hasn't been a significant VROC yet, the VROC Normalized might behave differently until a true historical maximum VROC establishes itself.
Not Financial Advice: This indicator is a tool for analysis and does not constitute financial advice. Always perform your own research and manage your risk.