xel_arjona

BUY & SELL VOLUME TO PRICE PRESSURE by @XeL_Arjona

BUY & SELL PRICE TO VOLUME PRESSURE
By Ricardo M Arjona @XeL_Arjona


DISCLAIMER:

The Following indicator/code IS NOT intended to be a formal investment advice or recommendation by the author, nor should be construed as such. Users will be fully responsible by their use regarding their own trading vehicles/assets.

The embedded code and ideas within this work are FREELY AND PUBLICLY available on the Web for NON LUCRATIVE ACTIVITIES and must remain as is.

Pine Script code MOD's and adaptations by @XeL_Arjona with special mention in regard of:
  • Buy (Bull) and Sell (Bear) "Power Balance Algorithm" by: Stocks & Commodities V. 21:10 (68-72): "Bull And Bear Balance Indicator by Vadim Gimelfarb"
  • Normalisation (Filter) from Karthik Marar's VSA work: http://karthikmarar.blogspot.mx
  • Buy to Sell Convergence / Divergence and Volume Pressure Counterforce Histogram Ideas by: @XeL_Arjona

WHAT IS THIS?
The following indicators try to acknowledge in a K-I-S-S approach to the eye (Keep-It-Simple-Stupid), the two most important aspects of nearly every trading vehicle: -- PRICE ACTION IN RELATION BY IT'S VOLUME --

  • Volume Pressure Histogram: Columns plotted in positive are considered the dominant Volume Force for the given period. All "negative" columns represents the counterforce Vol.Press against the dominant.
  • Buy to Sell Convergence / Divergence: It's a simple adaptation of the popular "Price Percentage Oscillator" or MACD but taking Buying Pressure against Selling Pressure Averages, so given a Positive oscillator reading (>0) represents Bullish dominant Trend and a Negative reading (<0) a Bearish dominant Trend. Histogram is the diff between RAW Volume Pressures Convergence/Divergence minus Normalised ones (Signal) which helps as a confirmation.
  • Volume bars are by default plotted from RAW Volume Pressure algorithms, but they can be as well filtered with Karthik Marar's approach against a "Total Volume Average" in favor to clean day to day noise like HFT .
  • ALL NEW IDEAS OR MODIFICATIONS to these indicators are Welcome in favor to deploy a better and more accurate readings. I will be very glad to be notified at Twitter: @XeL_Arjona

Any important addition to this work MUST REMAIN PUBLIC by means of CreativeCommons CC & TradingView. -- 2015
Remove from Favorite Scripts Add to Favorite Scripts
//	* BUY & SELL VOLUME TO PRICE PRESSURE
//    Ver. 1.15.b2.27.07.2015
//    By Ricardo M Arjona @XeL_Arjona
//	
//		DISCLAIMER:
//
//      The Following indicator/code IS NOT intended to be
//      a formal investment advice or recommendation by the
//      author, nor should be construed as such. Users
//      will be fully responsible by their use regarding 
//      their own trading vehicles/assets.
//
//		The embedded code and ideas within this work are 
//		FREELY AND PUBLICLY available on the Web
//		for NON LUCRATIVE ACTIVITIES and must remain as is.
//
//		Pine Script code MOD's and adaptations by @XeL_Arjona 
//      with special mention in regard of:
//      + Buy (Bull) and Sell (Bear) "Power Balance Algorithm" by:
//          Stocks & Commodities V. 21:10 (68-72):
//          "Bull And Bear Balance Indicator by Vadim Gimelfarb"
//      + Normalisation (Filter) from Karthik Marar's VSA work:
//          http://karthikmarar.blogspot.mx
//      + Buy to Sell Convergence / Divergence and Volume Pressure
//        Conunterforce Histogram Ideas by:   @XeL_Arjona
//
//      WHAT IS THIS?
//
//      The following indicators try to acknowledge in a K-I-S-S
//      approach to the eye (Keep-It-Simple-Stupid), the two most
//      important aspects of nearly every trading vehicle:
//           -- PRICE ACTION IN RELATION BY IT'S VOLUME --
//
//      A) Volume Pressure Histogram:
//         Columns plotted in positive are considered the dominant
//      Volume Force for the given period.  All "negative" columns
//      represents the counterforce Vol.Press against the dominant.
//
//      B) Buy to Sell Convergence / Divergence:
//         It's a simple adaptation of the popular "Price
//      Percentage Oscillator" or MACD but taking Buying Pressure
//      against Selling Pressure Averages, so given a Positive 
//      oscillator reading (>0) represents Bullish dominant Trend
//      and a Negative reading (<0) a Bearish dominant Trend.
//      Histogram is the diff between RAW Volume Pressures
//      Convergence/Divergence minus Normalised ones (Signal)
//      which helps as a confirmation.
//
//      C) Volume bars are by default plotted from RAW Volume
//      Pressure algorithms, but they can be as well filtered
//      with Karthik Marar's approach against a "Total Volume
//      Average" in favor to clean day to day noise like HFT.
//
//      D) ALL NEW IDEAS OR MODIFICATIONS to these indicators are
//      Welcome in favor to deploy a better and more accurate readings.
//      I will be very glad to be notified at Twitter: @XeL_Arjona
//
//      Any important adition to this work MUST REMAIN
//      PUBLIC by means of CreativeCommons CC & TradingView.
//      2015
//		
//////////////////////////////////////////////////////////////////
study("BUY & SELL VOLUME TO PRICE PRESSURE by @XeL_Arjona", shorttitle="BSVP_XeL", precision=0)
signal = input(title="Base for FastMA Periods:", type=integer, defval=3)
long = input(title="Buy to Sell Conv/Div Lookback:", type=integer, defval=27)
vmacd = input(true, title="Buy to Sell Convergence/Div OSC:")
vinv = input(false, title="Buy to Sell Conv/Div as cummulative:")
norm = input(false, title="Normalised (Filtered) Version:")
//vapi = input(false, title="Display Acc/Dist % :")
vol = iff(volume > 0, volume , 1)
// PRESSURE ALGORITHMS AND VARIABLES
TR = atr(1)
// Bull And Bear "Power-Balance" by Vadim Gimelfarb Algorithm's
BP =    iff(close<open,     iff(close[1]<open,  max(high-close[1], close-low), 
                                                    max(high-open, close-low)),
            iff(close>open,     iff(close[1]>open,  high-low, 
                                                    max(open-close[1], high-low)),
            iff(high-close>close-low, iff(close[1]<open,    max(high-close[1],close-low),
                                                            high-open),
            iff(high-close<close-low, iff(close[1]>open,    high-low,
                                                            max(open-close[1], high-low)),
            iff(close[1]>open,  max(high-open, close-low),
            iff(close[1]<open,  max(open-close[1], high-low),
        high-low))))))
SP =    iff(close<open,     iff(close[1]>open,  max(close[1]-open, high-low),
                                                    high-low),
            iff(close>open,     iff(close[1]>open,  max(close[1]-low, high-close),
                                                    max(open-low, high-close)),
            iff(high-close>close-low,   iff(close[1]>open,  max(close[1]-open, high-low),
                                                            high-low),
            iff(high-close<close-low,   iff(close[1]>open,  max(close[1]-low, high-close),
                                                            open-low),
            iff(close[1]>open,  max(close[1]-open, high-low),
            iff(close[1]<open,  max(open-low, high-close),
        high-low))))))
TP = BP+SP
// RAW Pressure Volume Calculations
BPV = (BP/TP)*vol
SPV = (SP/TP)*vol
TPV = BPV+SPV
BPVavg = ema(ema(BPV,signal),signal)
SPVavg = ema(ema(SPV,signal),signal)
TPVavg = ema(wma(TPV,signal),signal)
// Karthik Marar's Pressure Volume Normalized Version (XeL-MOD.)
VN = vol/ema(vol,long)
BPN = ((BP/ema(BP,long))*VN)*100
SPN = ((SP/ema(SP,long))*VN)*100
TPN = BPN+SPN
nbf = ema(wma(BPN,signal),signal)
nsf = ema(wma(SPN,signal),signal)
tpf = ema(wma(TPN,signal),signal)
ndif = nbf-nsf
// Conditional Selectors for RAW/Norm
BPc1 = BPV>SPV ? BPV : -abs(BPV)
BPc2 = BPN>SPN ? BPN : -abs(BPN)
SPc1 = SPV>BPV ? SPV : -abs(SPV)
SPc2 = SPN>BPN ? SPN : -abs(SPN)
BPcon = norm ? BPc2 : BPc1
SPcon = norm ? SPc2 : SPc1
BPAcon = norm ? nbf : BPVavg
SPAcon = norm ? nsf : SPVavg
TPAcon = norm ? tpf : TPVavg
// Volume Pressure Convergence Divergence by XeL_Arjona
vpo1 = vinv ? (( sum(BPVavg,long)-sum(SPVavg,long))/sum(TPVavg,long))*100 : ((BPVavg-SPVavg)/TPVavg)*100
vpo2 = vinv ? (( sum(nbf,long)-sum(nsf,long))/sum(tpf,long))*100 : ((nbf-nsf)/tpf)*100
vph = nz((vpo1 - vpo2),0)
// Plot Indicator
histC = vph > vph[1] ? blue:#BA00AA
Vpo1C = vpo1 > 0 ? green:red
Vpo2C = vpo2 > 0 ? green:red
plot(vmacd ? na:SPcon, color=red, title="SELLING", style=columns, linewidth=3, transp=80)
plot(vmacd ? na:BPcon, color=green, title="BUYING", style=columns, linewidth=3, transp=80)
plot(vmacd ? na:SPAcon, color=red, title="SPAvg", style=line, linewidth=2) //ema(BearPower*SPV,signal)
plot(vmacd ? na:BPAcon, color=green, title="BPAvg", style=line, linewidth=2) //ema(BullPower*BPV,signal)
plot(vmacd ? vpo1:na, color=Vpo1C,title="VPO1", style=line, linewidth=3)
plot(vmacd ? vpo2:na, color=Vpo2C,title="VPO2", style=line, linewidth=1)
plot(vmacd ? vph:na, color=histC, title="VPH", style=columns, linewidth=3, transp=90)

Comments

how to set alert when VP01 turn green?
+6 Reply
bevoxy TraderX_Unknown
@TraderX_Unknown,

📈 BPAvg > Crossing Up > SPAvg

📉 BPAvg > Crossing Down > SPAvg
Reply
Thank you. very interesting. I have a Q if you don't mind

I get a compile error in TV pine script at line 77 (your line 74) :-

line 77: syntax error at input 'end of line without line continuation'

code is exactly as per your code.

I tried both @versions 3 & 4 (not sure if there is a diff ?). Would appreciate your thoughts !!! and suggestions.

kind regards
+5 Reply
This is really great thanks for writing it =)
+3 Reply
Are alerts still able to be used? I tried following those instructions below on the 1M just to confirm and it isn’t working
Reply
bevoxy KLederer97
@KLederer97,

tested it recently and it's working - but it's also repainting, so use with caution
Reply
Home Stock Screener Forex Screener Crypto Screener Economic Calendar How It Works Chart Features Pricing Refer a friend House Rules Help Center Website & Broker Solutions Widgets Charting Solutions Lightweight Charting Library Blog & News Twitter
Profile Profile Settings Account and Billing Refer a friend My Support Tickets Help Center Ideas Published Followers Following Private Messages Chat Sign Out