srd786-Intraday VWAP Price Action IndicatorDISCLAIMER
This Pine Script indicator does not constitute financial advice; it is just intended for educational and informational purposes. It functions as a tool for technical analysis that could help traders spot possible trading opportunities. It is crucial to remember that participating in financial markets has a number of risks that might result in large losses and are not suitable for all investors.
Users are encouraged to conduct their own thorough investigation and analysis prior to using this indicator. Avoiding trading with money that one cannot afford to lose is essential. It is also advised to seek advice from a certified financial expert. Users must use suitable risk management techniques and recognize that past success does not guarantee future outcomes.
Any losses, damages, or other consequences resulting from the usage of this indicator are not the author's responsibility. The user is ultimately responsible for all trading decisions, therefore using this tool is at their own risk.
INTRODUCTION
The “srd786-Intraday VWAP Price Action Indicator” is a sophisticated Pine Script (version 6) trading tool designed for intraday traders who focus on New York session trading hours. This indicator combines multiple technical analysis concepts including Volume Weighted Average Price (VWAP), Average True Range (ATR) for risk management, swing point detection for support/resistance identification, and momentum analysis through RSI. The primary objective is to generate high-probability long and short signals based on price action confluence with trend, momentum, and key structural levels.
1.
VWAP (Volume Weighted Average Price): Shows the "fair" average price based on both price and trading volume.
2.
ATR (Average True Range): Measures how much the price typically moves each day.
3.
Trend Analysis: Identifies whether the market is going up, down, or sideways.
4.
Momentum Indicators: Shows how strong the current price movement is.
5.
Support & Resistance: Identifies key price levels where the price might stop or reverse.
6.
Swing Points: Finds significant turning points in the price.
This indicator is specifically optimized for the New York trading session (9:30 AM to 4:00 PM ET), making it particularly suitable for traders who focus on US market hours. It provides a complete trading framework that includes not only signal generation but also precise trade management levels including entry prices, stop-loss orders, and profit targets based on a configurable reward-to-risk ratio.
The philosophy behind this indicator is confluence-based trading. Rather than relying on a single indicator or condition, it requires multiple factors to align before generating a trade signal. This approach filters out lower-probability setups and focuses only on high-quality opportunities where price action, trend direction, momentum, and key technical levels all point in the same direction.
CORE CONCEPT AND METHODOLOGY
Volume Weighted Average Price (VWAP)
VWAP is the cornerstone of this indicator's trading methodology. Unlike a simple moving average that treats all price bars equally, VWAP incorporates volume data into its calculation, giving more weight to bars with higher trading volume. This makes VWAP a more accurate representation of the true average price where the most significant trading activity occurred.
The calculation of VWAP is performed using the built-in 'ta.vwap()' function, which computes the cumulative volume-weighted average price from the beginning of the session. For intraday traders, VWAP serves as a critical reference point that indicates whether the current price is trading at a premium (above VWAP) or discount (below VWAP) relative to the session's volume-weighted average.
In this indicator, the VWAP source is configurable through the 'vwapSource' parameter, with the default being HLC3 (High + Low + Close / 3). This source selection allows traders to experiment with different price types such as typical price, weighted close, or even custom sources to suit their trading style and market preferences.
Average True Range (ATR) for Risk Management
The Average True Range, calculated using 'ta.atr()', measures market volatility by decomposing the current range of price movement. ATR does not indicate price direction;
instead, it quantifies the degree of price movement or volatility over a specified period. In this indicator, ATR serves dual purposes: determining the distance for limit orders and calculating stop-loss levels.
The 'atrLength' parameter (default: 14) controls the lookback period for the ATR calculation. A shorter length makes the indicator more responsive to recent volatility, while a longer length provides a smoother average that may be more suitable for less volatile markets. The 'atrMultiplier' (default: 1.5) determines how many ATR units away the stop-loss is placed from the entry price, allowing traders to adjust their risk exposure based on current market conditions.
Swing Detection and Support/Resistance
Swing points represent significant turning points in price action where the market has temporarily exhausted its directional momentum. This indicator uses pivot high and pivot low calculations to identify swing highs and swing lows, which then form the basis for dynamic support and resistance levels.
The 'swingLength' parameter (default: 5) defines how many bars to the left and right of a potential pivot point must be lower (for pivot highs) or higher (for pivot lows) to confirm the swing point. This lookback period helps filter out minor price fluctuations and focuses on more significant structural levels.
Support and resistance levels are stored in arrays ('swingHighArray' and 'SwingLowArray'), with the most recent swing points serving as the primary reference levels. The 'srLookback' parameter (default: 20) controls the overall lookback window and also determines how many
swing points to maintain in each array, ensuring that only relevant historical levels are considered.
Breakout Detection
When a price moves past a major support or resistance level, this is known as a price breakout. This price breakout suggests that there is a possibility of a new trend direction heading forward.Breakout detection eliminates noise, as little price fluctuations or volatility may momentarily drive prices past a threshold without authentic conviction.Detection of breakouts affirms robustness when the price above the threshold by 2%, indicating genuine market interest, and mitigates whipsaws to prevent placing trades based on transient price swings.
The Breakout Tolerance parameter, set by default to 2%, regulates the breakout tolerance for the indicator. A price closure above the current high plus a minor tolerance buffer (usually 2%) indicates a potential continuation of upward movement, classified as a Bullish Breakout. Conversely, when the price closes below the recent low plus a minor tolerance buffer (usually 2%), it suggests that the price may continue to decline, which is classified as a Bearish Breakout Down.
Trend Identification
Trend determination is accomplished through an Exponential Moving Average (EMA) with a configurable length ('trendMaLength', default: 9). The indicator classifies trend into three
states: BULLISH (price above EMA with confirmation from the previous bar), BEARISH (price below EMA with confirmation), and SIDEWAYS (price crossing or near the EMA).
The EMA is chosen over simple moving averages because it responds more quickly to recent price changes while still providing enough smoothing to filter out noise. The confirmation requirement (both current and previous bar must be on the same side of the EMA) reduces false signals during periods of choppy price action.
Momentum Analysis
Momentum is measured using the Relative Strength Index (RSI) with a configurable length ('momentumLength', default: 9). RSI values are categorized into five states to provide nuanced momentum readings: STRONG BULL (RSI above 70), BUILDING (RSI between 55 and 70), NEUTRAL (RSI between 45 and 55), WEAKENING (RSI below 45), and STRONG BEAR (RSI below 30).
This momentum categorization allows traders to distinguish between strong trending conditions (STRONG BULL/BEAR) and transitions (BUILDING/WEAKENING), providing context for trade signals and helping to avoid entering positions during momentum divergences.
CONFIGURATION PARAMETERS
VWAP Settings
The 'vwapSource' parameter determines which price value is used in the VWAP calculation. The default value of 'hlc3' (High + Low + Close / 3) provides a balanced representation of each bar's price action. Traders can modify this to use typical price ('high + low + close / 3'), weighted close ('high + low + close + close / 4'), or other price types depending on their analytical preferences.
ATR Settings
The 'atrLength' parameter sets the lookback period for the Average True Range calculation. The default of 14 periods is standard across most trading platforms and timeframes, providing a good balance between responsiveness and smoothness. The 'atrMultiplier' parameter (default: 1.5) scales the ATR value to determine stop-loss distances. A multiplier of 1.5 means the stop-loss is placed 1.5 ATR units away from the entry price, providing enough buffer to accommodate normal volatility while limiting risk.
Trade Settings
The 'rrRatio' parameter (default: 3.0) establishes the reward-to-risk ratio for trade targets. A ratio of 2.0 means the profit target is twice the distance of the stop-loss from the entry price. The 'limitOrderDistance' parameter (default: 0.5) determines how far below (for long trades)
or above (for short trades) the current close the limit order is placed, measured in ATR units. This allows traders to enter positions at better prices while waiting for pullbacks.
Swing Detection Settings
The 'swingLength' parameter (default: 5) controls pivot identification sensitivity. Higher values identify more significant swing points but may miss shorter-term opportunities. The 'showSwings' boolean parameter toggles the visual display of swing high and low points on the chart.
Support & Resistance Settings
The 'srLookback' parameter (default: 20) defines how many bars back to search for swing points and support/resistance levels. The 'breakoutTolerance' parameter (default: 0.02 or 2%) adds a small buffer to breakout detection to account for minor penetration of support/resistance levels due to price spikes or slippage.
Trend & Momentum Settings
The 'trendMaLength' parameter (default: 9) sets the EMA length for trend determination, while 'momentumLength' (default: 9) sets the RSI lookback period. Both should be at least 5 periods for meaningful calculations.
Table Settings
The 'showTable' parameter (default: true) enables the display of two information tables that provide real-time data on Indicator values and trade levels.
SIGNAL GENERATION LOGIC
Long Signal Conditions
A long signal is generated when all the following conditions are simultaneously true:
1.
Session Filter: The trade must occur during New York session hours (9:30 AM - 4:00 PM ET).
2.
Trend Confirmation: The trend must be BULLISH (price above EMA with confirmation).
3.
Price Position: Current price must be above VWAP, indicating bullish price action.
4.
Breakout or No Resistance: Either price is breaking out above resistance level with tolerance, or there is no prior resistance level to overcome.
5.
Momentum Alignment: Momentum must be either STRONG BULL or BUILDING.
This confluence of conditions ensures that long trades are only taken when the market is trending higher, price is confirming strength by trading above VWAP, and momentum is supportive of continued upward movement.
Short Signal Conditions
A short signal is generated when all the following conditions are simultaneously true:
1.
Session Filter: The trade must occur during New York session hours
2.
Trend Confirmation: The trend must be BEARISH (price below EMA with confirmation)
3.
Price Position: Current price must be below VWAP, indicating bearish price action
4.
Breakout or No Support: Either price is breaking down below support level with tolerance, or there is no prior support level to overcome
5.
Momentum Alignment: Momentum must be either STRONG BEAR or WEAKENING
Similar to long signals, short trades require alignment across multiple timeframes and analytical approaches, filtering out counter-trend trades and focusing on high-probability setups.
TRADE MANAGEMENT FRAMEWORK
Entry Price Calculation
For long trades, the limit order price is calculated as: 'Close - (ATR Value × Limit Order Distance)'. This places the entry price below the current close, allowing traders to buy on dips while maintaining a favorable entry price. For short trades, the limit order is placed above the current close: 'Close + (ATR Value × Limit Order Distance)'.
The limit order distance is expressed in ATR units, making it adaptive to current volatility conditions. In more volatile markets, the limit order will be placed further from the current price, while in calmer markets, it will be closer.
Stop-Loss Placement
Stop-loss levels are calculated using the ATR multiplier to ensure adaptive risk management. For long trades: 'Entry Price - (ATR Value × ATR Multiplier)'. For short trades: 'Entry Price + (ATR Value × ATR Multiplier)'.
This adaptive approach to stop-loss placement means that in volatile markets, stops are wider to avoid being stopped out by normal price fluctuations, while in quieter markets, stops are tighter to limit potential losses. The default multiplier of 1.5 provides approximately 1.5 times the average true range of protection.
Target Price Calculation
Profit targets are determined by the reward-to-risk ratio: 'Entry Price + (ATR Stop Distance × RR Ratio)' for long trades and 'Entry Price - (ATR Stop Distance × RR Ratio)' for short trades. The default ratio of 2.0 means the target is twice the distance of the stop-loss, providing a favorable risk-reward profile.
New York Session Tracking
The indicator includes specialized logic for tracking the New York session open price. When a new NY session begins (determined by the 'isNewNySession' variable), the current open price is recorded and maintained throughout the session. This provides a reference point for measuring intraday directional bias from the session's starting level.
INFORMATION TABLES
Indicators Table
This table displays the current price, VWAP value, NY session open price, support level,resistance level, ATR, ATR-scaled stop distance, current trend classification, momentum state with RSI value, and breakout status. All values are color-coded based on their bullish or bearish implications. The VWAP cell is color-coded green if price is above VWAP (bullish) and red if below (bearish), providing instant visual confirmation of price's position relative to this critical level.
Trade Levels Table
This table shows current signal status (LONG, SHORT, or WAIT), limit order distance in ATR units, calculated limit order price, stop-loss level, and target price with the reward-to-risk ratio displayed. The signal cell is highlighted in green for long signals and red for short signals.
ALERT CONDITIONS
The indicator includes four alert conditions that can be configured in TradingView:
1.
LONG Signal: Triggers when a long signal is generated, providing entry price, stop-loss, and target information.
2.
SHORT Signal: Triggers when a short signal is generated with corresponding trade details.
3.
Breakout Up: Notifies when price breaks out above resistance level.
4.
Breakout Down: Notifies when price breaks down below support level.
These alerts enable traders to receive notifications via TradingView's alert system without continuously monitoring the charts.
USAGE EXAMPLES AND TRADING SCENARIOS
Strong Bullish Trend with VWAP Support
In this scenario, price has been trading above the 9-period EMA for multiple bars, confirming a bullish trend. The current price is above VWAP, indicating buyers are willing to pay a premium. A recent swing low has established a support level, and RSI is reading 65, indicating building momentum without being overextended. When price breaks above the recent swing high resistance with a 2% tolerance, the indicator generates a long signal. The trader places a limit order below the current bar's close (0.5 ATR units) and sets the stop-loss 1.5 ATR units below the entry, with a target 2.0 times the stop distance away.
Short Setup During Volatile Session
During a particularly volatile NY session, price gaps down below VWAP early in the day. The 9-period EMA is declining, and both current and previous bars are below it, confirming a bearish trend. The RSI has dropped to 28, indicating strong bearish momentum. A recent swing high serves as resistance, and when price breaks below the swing low support level, the indicator generates a short signal. The trader enters on a limit order placed 0.5 ATR units above the current price, with the stop-loss 1.5 ATR units above the entry and the target at a 2.0 reward-to-risk ratio.
Avoiding Counter-Trend Trades
Consider a scenario where price is above VWAP and the RSI reads 72 (overbought), but the price is below the 9-period EMA and the previous bar was also below the EMA. In this case, the trend is classified as BEARISH (or SIDEWAYS) despite the bullish price position relative to VWAP. The indicator will not generate a long signal because the trend condition is not met, protecting the trader from what could be a bear trap or continuation pattern.
No Prior Levels Scenario
At the beginning of a trading session or after significant volatility has cleared prior swing points, there may be no established support or resistance levels in the lookback window. In this case, the breakout condition 'or na(resistanceLevel)' allows long signals to be generated without requiring a resistance level to be broken, enabling traders to participate in emerging trends without waiting for prior levels to form.
BEST PRACTICES AND TIPS
Timeframe Selection
This indicator is optimized for intraday timeframes (1-minute to 60-minute charts) and specifically for NY session trading. Higher timeframes may produce more reliable signals but fewer opportunities, while lower timeframes will generate more signals but with potentially lower reliability. Traders should backtest on their preferred timeframe before trading live.
Market Conditions
The indicator performs best in trending markets with clear directional bias. During ranging or sideways markets, the trend condition may oscillate frequently, and VWAP may oscillate around price, reducing signal quality. Consider filtering signals or reducing position size during low-volatility, range-bound conditions.
Parameter Optimization
While the default parameters have been selected for general applicability, traders should consider optimizing certain parameters for specific markets or instruments. For highly volatile instruments like crude oil or natural gas, increasing the 'atrMultiplier' to 2.0 or 2.5 may provide more appropriate risk management. For less volatile instruments like certain forex pairs, reducing the multiplier to 1.0 or 1.2 may improve signal quality.
Multiple Timeframe Analysis
For enhanced performance, traders can analyze the trend on a higher timeframe (such as 15-minute or hourly) while taking signals on a lower timeframe (such as 5-minute or 1-minute). This multi-timeframe approach ensures that signals are aligned with the larger trend direction.
Risk Management
While the indicator provides calculated stop-loss levels, traders should consider their overall position sizing and portfolio risk. The ATR-based stops provide a market-adaptive approach, but individual risk tolerance and account size should ultimately determine position sizing. The 2.0 reward-to-risk ratio is fixed but can be adjusted based on personal preferences or the specific characteristics of the instrument being traded.
INTEGRATION WITH TRADINGVIEW
Adding the Indicator
To add this indicator to a TradingView chart, paste the code into the Pine Script editor and click "Add to Chart." The indicator will appear in the chart's sidebar and begin calculating immediately once sufficient historical data is available.
Configuring Alerts
To set up alerts, right-click on any of the alert conditions in the indicator's settings panel (long signal, short signal, breakout up, or breakout down) and select "Add Alert." Configure the alert frequency and notification methods (push notification, email, webhook, etc.) according to your preferences.
Customization
All input parameters can be adjusted through the indicator's settings panel without modifying the source code. Traders can experiment with different VWAP sources, ATR lengths and multipliers, swing detection parameters, and table display options to suit their trading style and market preferences.
LIMITATIONS AND CONSIDERATIONS
Session Dependency
The indicator is specifically designed for NY session trading and will not generate signals outside these hours. Traders focused on other sessions or 24-hour markets may need to modify the session string to match their trading hours.
Historical Data Requirements
The indicator requires sufficient historical data to accurately calculate swing points and support/resistance levels. On lower timeframe charts with limited history, the initial signals may be less reliable until adequate swing points are identified.
Lag in Swing Detection
By definition, swing points are confirmed after the price has moved away from them, introducing some lag into support/resistance identification. Traders should be aware that the most recent swing point may not be confirmed until several bars after it occurs.
Not Financial Advice
This indicator is a technical analysis tool and should not be construed as financial advice. Traders are responsible for their own research and risk management decisions. Past performance of any trading system does not guarantee future results.
SUMMARY
The code follows a logical flow:
•
Version and Declaration: Pine Script version 6 indicator declaration with overlay enabled
•
Input Parameters: All user-configurable settings grouped by category
•
Session Logic: New York session tracking and open price recording
•
Core Calculations: VWAP, ATR, EMA, RSI, swing points
•
Support/Resistance Logic: Array-based storage and retrieval of swing levels
•
Trend and Momentum Classification: Categorization of current market state
•
Signal Generation: Confluence-based long and short conditions
•
Trade Level Calculations: Entry, stop-loss, and target pricing
•
Visual Plots: Hidden plots for alert data access
•
Information Tables: Real-time display of key values
•
Alert Conditions: Four configurable alert triggers
This structured approach ensures clarity, maintainability, and extensibility for future modifications or enhancements.
Pine Script® indicator






















