VWAP & EMA9 Cross AlertAlerts when EMA9 and VWAP Cross. This provides an indicator of general market direction based on these 2 indicators.
Search in scripts for "VWAP"
VWAP (SIYL) Stdev Bands v2v2 indicator to allow for reversion-to-mean trading via the Stay In Your Lane approach.
ES VWAP Overlay for SPX VWAP indicator for SPX. Since SPX does not have volume (index) it's using /es to mimic SPX volume. I find it good for day trading
Auto AVWAP (Anchored-VWAP) with Breakout Screener_v2Updated indicator for AWAP breakout. The indicator identified the candle that breaks out of AVWAP
Volume Weighted Average Price - CoinruleVWAP with additional Anchor Periods as supported on Coinrule.
Anchored VWAP ClickIt calculates AVWAP set from a mouse click on a chart instead of having to edit a popup box, manually transferring date and time from the chart.
It's the Oct 2021 sample script from Tradingview to demonstrate their new chart interactive capabilities of Pine script.
www.tradingview.com
I take no credit for this, just noticed it wasn't in the Public Library.
This ability to accept OnMouse positional data from the chart, into an indicator has been needed in TV for a long time.
Glad to see they continue to grow the capabilities.
Auto Anchored Volume Weighted Average Price - Custom AVWAP
Based on Brian Shannon's AVWAP - This indicator anchors vwap to the highest high, lowest low and highest volume bar of a user defined lookback period.
In the chart example above on AVAX, the lookback period is set to 90 days
- The blue line depicts AVWAP from the highest bar in in the last 90 dats
- The purple Line is AVWAP from the lowest bar in the last 90 days
- The golden line is AVWAP from the highest volume bar in the last 90 Days
These levels act as a price magnet and strong levels of support and resistance. I use them to identify chart locations for where I want to do business and look for trade setups.
Unlike moving averages, AVWAP will maintain it's chart position no matter the chart resolution. One way to take advantage of this is to wait for price to get to one of these levels, go to lower timeframes and find low risk setups based on your trading strategy.
You can customise the look and feel and which anchors you want displayed. You can use multiple instances with varying lookback periods to display shorter and longer term levels simultaneously
VWAP Stoch Long Trailing Stop without wednesday and thursdaySimple trading strategy based on VWAP and Stochastic indicators and a 3% trailing stop.
After backtesting, wednesdays and thursdays seemed to be bad entry days so they are blacklisted.
VWAP St. Dev BandsThis indicator allows you to add up to 3 volatility bands to VWAP based on its Standard Deviation.
Best use is for intraday but you can choose higher timeframes too.
For day trading a band of 3 standard deviations usually works well as an overbought/oversold region, allowing for mean reversion trading, but you are free to come up with your own strategies.
Enjoy!
VWAP-Bollinger BandsThis script uses Bollinger bands but with a VWAP as the source, it uses the high crossing the upper band as a buy signal and a low crossing the lower band as a sell signal
Its default settings are for a day chart - Crypto 30 periods, forex 24 periods and stocks 20 periods, which basically line up with a month per asset class
ive seen good results in crypto and stocks, settings used between1% and 10% equity per trade with a 0.1% fee which lines up with Binance fee structure and $25 per trade which lines up with Commsec on the ASX
Vwap Ribbon - JDThis indicator displays a custom timeframe VWAP line
together with several multiples of this timeframe
After a large price move, the price often tends to return to one of these multiples
JD.
#nottradingadvice
#DYOR
VWAP Bands BacktestThis is a backtest for evaluating the profitability of a vwap offsets strategy over time.
I took part of the code to create the script from Noro
So there is a link for its code
VWAP BandsThis indicator plots distant VWAP lines that serve as support and resistance. You can add more lines from the script.
Good trades!
VWAP Stdev Bands v3Adds timeframe option for Weekly and Monthly timeframes, changes default 2nd and 3rd bands to more common deviations
vwap-ma-strategy-v0.7This strategy was inspired by my Israeli fellow iAtiya.
I love it because it's my first pine v3 script that actually works.
Powerful with respect to it's simplicity.
VWAP Stdev BandsThis indicator plots VWAP with 2x Standard Deviation bands. This could potentially be used to trade a mean reversion type strategy. Only works on intraday charts.
VWAP with FIB range JayyThis is sandbox experiment. The script creates bands around the VWAP based on the opening range on an intraday chart (adjustable in the format section) using fibonacci multipliers (mostly): .236, .382, .5, .618, .786, 1, 1.27 and 1.618. I have not built much flexibility into the script so this is very much an alpha script. Something new for Pippin and Kipp.
Triple ST + MACD + 7x MTF EMA + VWAP + ORB + Lux Pivots + AMA//@version=6
indicator('Triple ST + MACD + 7x MTF EMA + VWAP + ORB + Lux Pivots + AMA', overlay = true, max_labels_count = 500)
//━━━━━━━━━━━━━━━━━━━
// INPUTS
//━━━━━━━━━━━━━━━━━━━
// AMA Signals Group (Zeiierman Style)
showAMA = input.bool(true, "Show AMA Signals", group="AMA Signals")
amaLength = input.int(10, "AMA Length", group="AMA Signals")
amaFast = input.int(2, "AMA Fast Period", group="AMA Signals")
amaSlow = input.int(30, "AMA Slow Period", group="AMA Signals")
// SuperTrend Group
atrPeriodPrimary = input.int(18, 'Primary ST ATR Period', group="SuperTrend")
multiplierPrimary = input.float(4.0, 'Primary ST Multiplier', group="SuperTrend")
// MACD Group
fastLength = input.int(24, 'MACD Fast Length', group="MACD")
slowLength = input.int(52, 'MACD Slow Length', group="MACD")
signalLength = input.int(9, 'MACD Signal Smoothing', group="MACD")
// EMA Group
tfEMA = input.timeframe("60", "EMA Timeframe (Global)", group="EMAs")
ema1Len = input.int(9, 'EMA 1 Length', group="EMAs"), ema2Len = input.int(21, 'EMA 2 Length', group="EMAs")
ema3Len = input.int(27, 'EMA 3 Length', group="EMAs"), ema4Len = input.int(50, 'EMA 4 Length', group="EMAs")
ema5Len = input.int(100, 'EMA 5 Length', group="EMAs"), ema6Len = input.int(150, 'EMA 6 Length', group="EMAs")
ema7Len = input.int(200, 'EMA 7 Length', group="EMAs")
// LuxAlgo Style Pivots (50 Lookback)
showPivots = input.bool(true, "Show Pivot High/Low", group="LuxAlgo Pivots")
pivotLen = input.int(50, "Pivot Lookback", group="LuxAlgo Pivots")
showMissed = input.bool(true, "Show Missed Reversal Levels", group="LuxAlgo Pivots")
// Previous OHLC Group
showPrevOHLC = input.bool(true, "Show Previous Day OHLC?", group="Previous OHLC")
// Visuals & ORB Group
showVwap = input.bool(true, 'Show VWAP?', group="Visuals")
showORB = input.bool(true, "Show ORB", group="ORB Settings")
orbTime = input.string("0930-1000", "ORB Time Range", group="ORB Settings")
//━━━━━━━━━━━━━━━━━━━
// CALCULATIONS
//━━━━━━━━━━━━━━━━━━━
// 1. AMA Calculation (Zeiierman Logic)
fastAlpha = 2.0 / (amaFast + 1)
slowAlpha = 2.0 / (amaSlow + 1)
efficiencyRatio = math.sum(math.abs(close - close ), amaLength) != 0 ? math.abs(close - close ) / math.sum(math.abs(close - close ), amaLength) : 0
scaledAlpha = math.pow(efficiencyRatio * (fastAlpha - slowAlpha) + slowAlpha, 2)
var float amaValue = na
amaValue := na(amaValue ) ? close : amaValue + scaledAlpha * (close - amaValue )
// 2. Pivot Points & Missed Reversals (RECTIFIED: Bool Fix)
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
var float lastMissedHigh = na
var float lastMissedLow = na
if not na(ph)
lastMissedHigh := ph
if not na(pl)
lastMissedLow := pl
// 3. Custom SuperTrend Function (RECTIFIED: Parenthesis Fix)
f_supertrend(_atrLen, _mult) =>
atr_ = ta.atr(_atrLen)
upperBasic = hl2 + _mult * atr_
lowerBasic = hl2 - _mult * atr_
var float upperFinal = na
var float lowerFinal = na
upperFinal := na(upperFinal ) ? upperBasic : (upperBasic < upperFinal or close > upperFinal ? upperBasic : upperFinal )
lowerFinal := na(lowerFinal ) ? lowerBasic : (lowerBasic > lowerFinal or close < lowerFinal ? lowerBasic : lowerFinal )
var int dir = 1
if not barstate.isfirst
dir := dir
if dir == 1 and close < lowerFinal
dir := -1
else if dir == -1 and close > upperFinal
dir := 1
= f_supertrend(atrPeriodPrimary, multiplierPrimary)
// 4. MACD & 7 MTF EMAs
macdLine = ta.ema(close, fastLength) - ta.ema(close, slowLength)
signal = ta.ema(macdLine, signalLength)
ema1 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema1Len), gaps = barmerge.gaps_on)
ema2 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema2Len), gaps = barmerge.gaps_on)
ema3 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema3Len), gaps = barmerge.gaps_on)
ema4 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema4Len), gaps = barmerge.gaps_on)
ema5 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema5Len), gaps = barmerge.gaps_on)
ema6 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema6Len), gaps = barmerge.gaps_on)
ema7 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema7Len), gaps = barmerge.gaps_on)
// 5. ORB Logic
is_new_day = ta.change(time("D")) != 0
in_orb = not na(time(timeframe.period, orbTime))
var float orbHigh = na, var float orbLow = na
if is_new_day
orbHigh := na, orbLow := na
if in_orb
orbHigh := na(orbHigh) ? high : math.max(high, orbHigh)
orbLow := na(orbLow) ? low : math.min(low, orbLow)
//━━━━━━━━━━━━━━━━━━━
// PLOTTING
//━━━━━━━━━━━━━━━━━━━
// AMA Plots
plot(showAMA ? amaValue : na, "AMA Line", color=amaValue > amaValue ? color.lime : color.red, linewidth=2)
plotshape(showAMA and ta.crossover(amaValue, amaValue ), "AMA BUY", shape.labelup, location.belowbar, color.lime, 0, "BUY", color.black, size=size.small)
plotshape(showAMA and ta.crossunder(amaValue, amaValue ), "AMA SELL", shape.labeldown, location.abovebar, color.red, 0, "SELL", color.white, size=size.small)
// Pivots
plotshape(showPivots ? ph : na, "PH", shape.labeldown, location.abovebar, color.red, -pivotLen, "PH", color.white)
plotshape(showPivots ? pl : na, "PL", shape.labelup, location.belowbar, color.green, -pivotLen, "PL", color.white)
// Missed Reversal Lines
var line hLine = na, var line lLine = na
if showMissed and barstate.islast
line.delete(hLine), line.delete(lLine)
hLine := line.new(bar_index - pivotLen, lastMissedHigh, bar_index + 10, lastMissedHigh, color=color.new(color.red, 50), style=line.style_dashed)
lLine := line.new(bar_index - pivotLen, lastMissedLow, bar_index + 10, lastMissedLow, color=color.new(color.green, 50), style=line.style_dashed)
// Previous Day OHLC
= request.security(syminfo.tickerid, "D", [high , low ], lookahead=barmerge.lookahead_on)
plot(showPrevOHLC ? pdH : na, "PDH", color.gray, style=plot.style_stepline)
plot(showPrevOHLC ? pdL : na, "PDL", color.gray, style=plot.style_stepline)
// 7 EMAs & VWAP
plot(ema1, "E1", color.new(color.white, 50)), plot(ema7, "E7", color.new(color.gray, 50))
plot(showVwap ? ta.vwap : na, "VWAP", color.orange, 2)
plot(stPrimary, 'Primary ST', dirPrimary == 1 ? color.green : color.red, 2)
// MACD (RECTIFIED: Named arguments)
plotshape(ta.crossover(macdLine, signal), title="MACD+", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(ta.crossunder(macdLine, signal), title="MACD-", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Global Trend Background
bgcolor(dirPrimary == 1 ? color.new(color.green, 97) : color.new(color.red, 97))
Triple ST + MACD + 7x MTF EMA + VWAP + ORB//@version=6
indicator('Triple ST + MACD + 7x MTF EMA + VWAP + ORB', overlay = true, max_labels_count = 500)
//━━━━━━━━━━━━━━━━━━━
// INPUTS
//━━━━━━━━━━━━━━━━━━━
// SuperTrend Group
atrPeriodPrimary = input.int(18, 'Primary ST ATR Period', group="SuperTrend")
multiplierPrimary = input.float(4.0, 'Primary ST Multiplier', group="SuperTrend")
atrPeriodSecondary = input.int(9, 'Secondary ST ATR Period', group="SuperTrend")
multiplierSecondary = input.float(2.0, 'Secondary ST Multiplier', group="SuperTrend")
atrPeriodTertiary = input.int(12, 'Tertiary ST ATR Period', group="SuperTrend")
multiplierTertiary = input.float(3.0, 'Tertiary ST Multiplier', group="SuperTrend")
// MACD Group
fastLength = input.int(24, 'MACD Fast Length', group="MACD")
slowLength = input.int(52, 'MACD Slow Length', group="MACD")
signalLength = input.int(9, 'MACD Signal Smoothing', group="MACD")
// EMA Group
tfEMA = input.timeframe("60", "EMA Timeframe (Global)", group="EMAs")
ema1Len = input.int(9, 'EMA 1 Length', group="EMAs")
ema2Len = input.int(21, 'EMA 2 Length', group="EMAs")
ema3Len = input.int(27, 'EMA 3 Length', group="EMAs")
ema4Len = input.int(50, 'EMA 4 Length', group="EMAs")
ema5Len = input.int(100, 'EMA 5 Length', group="EMAs")
ema6Len = input.int(150, 'EMA 6 Length', group="EMAs")
ema7Len = input.int(200, 'EMA 7 Length', group="EMAs")
// Visuals & ORB Group
showVwap = input.bool(true, 'Show VWAP?', group="Visuals")
showORB = input.bool(true, "Show ORB (Current Day Only)", group="ORB Settings")
orbTime = input.string("0930-1000", "ORB Time Range", group="ORB Settings")
orbTargetMult1 = input.float(1.0, "Target 1 Mult", group="ORB Settings")
//━━━━━━━━━━━━━━━━━━━
// CALCULATIONS
//━━━━━━━━━━━━━━━━━━━
// 1. Custom SuperTrend Function
f_supertrend(_atrLen, _mult) =>
atr_ = ta.atr(_atrLen)
upperBasic = hl2 + _mult * atr_
lowerBasic = hl2 - _mult * atr_
var float upperFinal = na
var float lowerFinal = na
upperFinal := na(upperFinal ) ? upperBasic : (upperBasic < upperFinal or close > upperFinal ? upperBasic : upperFinal )
lowerFinal := na(lowerFinal ) ? lowerBasic : (lowerBasic > lowerFinal or close < lowerFinal ? lowerBasic : lowerFinal )
var int dir = 1
if not barstate.isfirst
dir := dir
if dir == 1 and close < lowerFinal
dir := -1
else if dir == -1 and close > upperFinal
dir := 1
super = dir == 1 ? lowerFinal : upperFinal
= f_supertrend(atrPeriodPrimary, multiplierPrimary)
= f_supertrend(atrPeriodSecondary, multiplierSecondary)
= f_supertrend(atrPeriodTertiary, multiplierTertiary)
// 2. MACD
macdLine = ta.ema(close, fastLength) - ta.ema(close, slowLength)
signal = ta.ema(macdLine, signalLength)
// 3. MTF EMAs (7 Options)
ema1 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema1Len), gaps = barmerge.gaps_on)
ema2 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema2Len), gaps = barmerge.gaps_on)
ema3 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema3Len), gaps = barmerge.gaps_on)
ema4 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema4Len), gaps = barmerge.gaps_on)
ema5 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema5Len), gaps = barmerge.gaps_on)
ema6 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema6Len), gaps = barmerge.gaps_on)
ema7 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema7Len), gaps = barmerge.gaps_on)
// 4. ORB CALCULATION (Current Day Only)
is_new_day = ta.change(time("D")) != 0
in_orb = not na(time(timeframe.period, orbTime))
is_today = (year(time) == year(timenow)) and (month(time) == month(timenow)) and (dayofmonth(time) == dayofmonth(timenow))
var float orbHigh = na
var float orbLow = na
if is_new_day
orbHigh := na
orbLow := na
if in_orb and is_today
orbHigh := na(orbHigh) ? high : math.max(high, orbHigh)
orbLow := na(orbLow) ? low : math.min(low, orbLow)
orbRange = orbHigh - orbLow
t1_up = orbHigh + (orbRange * orbTargetMult1)
t1_dn = orbLow - (orbRange * orbTargetMult1)
//━━━━━━━━━━━━━━━━━━━
// PLOTTING
//━━━━━━━━━━━━━━━━━━━
// VWAP
plot(showVwap ? ta.vwap : na, title="VWAP", color=color.orange, linewidth=2)
// Triple SuperTrends
plot(stPrimary, title='Primary ST', color=dirPrimary == 1 ? color.green : color.red, linewidth=2)
plot(stSecondary, title='Secondary ST', color=dirSecondary == 1 ? color.teal : color.maroon, linewidth=1)
plot(stTertiary, title='Tertiary ST', color=dirTertiary == 1 ? color.lime : color.orange, linewidth=1)
// 7 EMAs
plot(ema1, title='EMA 1', color=color.new(color.white, 50))
plot(ema2, title='EMA 2', color=color.new(color.yellow, 60))
plot(ema3, title='EMA 3', color=color.new(color.orange, 70))
plot(ema4, title='EMA 4', color=color.new(color.blue, 70))
plot(ema5, title='EMA 5', color=color.new(color.purple, 70))
plot(ema6, title='EMA 6', color=color.new(color.fuchsia, 80))
plot(ema7, title='EMA 7', color=color.new(color.gray, 80))
// ORB Plots
plot(showORB and is_today ? orbHigh : na, title="ORB High", color=color.aqua, linewidth=2, style=plot.style_linebr)
plot(showORB and is_today ? orbLow : na, title="ORB Low", color=color.aqua, linewidth=2, style=plot.style_linebr)
plot(showORB and is_today and not in_orb ? t1_up : na, title="Target 1 Up", color=color.new(color.lime, 40), style=plot.style_linebr)
plot(showORB and is_today and not in_orb ? t1_dn : na, title="Target 1 Down", color=color.new(color.red, 40), style=plot.style_linebr)
// MACD Shapes
plotshape(ta.crossover(macdLine, signal), title="MACD Bull", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, text="MACD+")
plotshape(ta.crossunder(macdLine, signal), title="MACD Bear", style=shape.triangledown, location=location.belowbar, color=color.red, size=size.small, text="MACD-")
// Background (Based on Primary ST)
bgcolor(dirPrimary == 1 ? color.new(color.green, 96) : color.new(color.red, 96))






















