Buy Sell Volume Pressure - Alternate Indicator

thebewb

Member
All,

Someone asked this be transcribed from: https://sites.google.com/site/karthikmarar/buying-and-selling-pressure-indicator

See associated blog post: https://karthikmarar.blogspot.com/2012/09/buying-and-selling-pressure-indicator.html

I am not an expert on the underlying language, so I may have lost some things in translation but it plots nicely. Its pretty much the same as @horserider's Hot Volume here: https://usethinkscript.com/threads/...r-with-hot-percent-for-thinkorswim.389/page-5 but it looks slightly different visually.

3FeJU65.png


See code below:

Code:
#Buy Sell Pressure
#Transcribed by TheBewb from: #https://sites.google.com/site/karthikmarar/buying-and-selling-pressure-indicator

declare lower;

def h = high;
def c = close;
def l = low;
def o = open;
def v = volume;
def sp         = H-C;
def bp         = C-L;
def bpavg     = expAverage(bp,80);
def spavg     = expAverage(sp,80);
def nbp     = bp/bpavg;
def nsp     = sp/spavg;
plot diff     = nbp-nsp;
diff.assignValueColor(if diff > 0 then color.green else color.orange);

def Vavg = ExpAverage(V,80);
def nv = V/Vavg;
plot nbfraw = nbp * nv;
nbfraw.setdefaultcolor(color.green);
nbfraw.setPaintingStrategy(paintingStrategy.HISTOGRAM);
plot nsfraw = - nsp * nv;
nsfraw.setDefaultColor(color.red);
nsfraw.setPaintingStrategy(paintingStrategy.HISTOGRAM);
input showPlot = yes;
plot nbf = if showplot then ExpAverage(nbp * nv,20) else no; ### shows net buy pressure * volume as % of average
plot nsf = if showplot then ExpAverage(nsp * nv,20) else no;### shows net sell pressure * volume as % of average
 

paraglohiya

New member
VIP
Thank you @thebewb for creating the script. this is smooth version as per the website

Code:
//Indicator Buy and sell pressure - Smoothed with Histoggram
// By Karthik Marar - www.karthikmarar.blogspot.com
// Public release for personal use only.
//Please do not commercialize this indicator in its original or modified form
_SECTION_BEGIN("Buy & Sell Pressure - Smoothed with Histogram - V.1.0");
SetChartOptions(0,chartShowArrows|chartShowDates);
sp = H-C;
bp = C-L;
bpavg = EMA(bp,80);
spavg = EMA(sp,80);
nbp = bp/bpavg;
nsp = sp/spavg;
diff = nbp-nsp;
diffcolor = IIf(diff>0,colorGreen,colorOrange);
Varg = EMA(V,80);
nv = V/Varg;
nbfraw = nbp * nv;
nsfraw = nsp * nv;
nbf = EMA(nbp * nv,20);
nsf = EMA(nsp * nv,20);
Plot(nbf,"Buying Pressure",colorTurquoise,1|styleThick);
Plot(nsf,"selling Pressure",colorYellow,1|styleThick);
diff = nbf-nsf;
diffcolor = IIf(diff>0,colorGreen,colorRed);
SetBarFillColor( diffcolor );
PlotOHLC(0,diff,0,diff,"Force",IIf(diff>0,colorLime,colorOrange), styleCandle | styleOwnScale ) ;
_SECTION_END();
_SECTION_BEGIN("Title");
if( Status("action") == actionIndicator )
(
Title = EncodeColor(colorWhite)+ "Buy & Selll Pressure - Smoothed with Histogram V.1.0 " + " - " +  Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +
"  - " + Date() +" - "+"\n" + EncodeColor(colorYellow) + "Raw Buying pressure = "+ EncodeColor(colorLime) + WriteVal(nbf)+
"\n"+ EncodeColor(colorYellow) + "Raw Selling pressure = "+ EncodeColor(colorRed) +  WriteVal(nsf)+
"\n"+ EncodeColor(colorYellow) + "Force = "+ WriteVal(diff));
_SECTION_END();
 

yusef

New member
@thebewb Hi, thank you very much for sharing this script. I am not a professional scripter and I would like to know how to establish a range for this code that places the buying and selling pressure between + 100% and -100%. Thank you very much again.
 

yusef

New member
Gracias [USER = 4012] @thebewb [/ USER] por crear el script. esta es una versión fluida según el sitio web

[CÓDIGO]
// Indicador de presión de compra y venta: suavizado con histoggrama
// Por Karthik Marar - www.karthikmarar.blogspot.com
// Lanzamiento público solo para uso personal.
// No comercialice este indicador en su forma original o modificada
_SECTION_BEGIN ("Presión de compra y venta - Suavizado con histograma - V.1.0");
SetChartOptions (0, chartShowArrows | chartShowDates);
sp = HC;
bp = CL;
bpavg = EMA (pb, 80);
spavg = EMA (sp, 80);
nbp = bp / bpavg;
nsp = sp / spavg;
diff = nbp-nsp;
diffcolor = IIf (diff> 0, colorGreen, colorOrange);
Varg = EMA (V, 80);
nv = V / Varg;
nbfraw = nbp * nv;
nsfraw = nsp * nv;
nbf = EMA (nbp * nv, 20);
nsf = EMA (nsp * nv, 20);
Plot (nbf, "Presión de compra", colorTurquoise, 1 | styleThick);
Plot (nsf, "presión de venta", colorYellow, 1 | styleThick);
diff = nbf-nsf;
diffcolor = IIf (diff> 0, colorGreen, colorRed);
SetBarFillColor (diffcolor);
PlotOHLC (0, diff, 0, diff, "Force", IIf (diff> 0, colorLime, colorOrange), styleCandle | styleOwnScale);
_SECTION_END ();
_SECTION_BEGIN ("Título");
if (Status ("acción") == actionIndicator)
(
Título = EncodeColor (colorWhite) + "Presión de compra y venta - Suavizado con histograma V.1.0" + "-" + Nombre () + "-" + EncodeColor (colorRed) + Intervalo (2) + EncodeColor (colorWhite) +
"-" + Fecha () + "-" + "\ n" + EncodeColor (colorYellow) + "Presión de compra sin procesar =" + EncodeColor (colorLime) + WriteVal (nbf) +
"\ n" + EncodeColor (colorYellow) + "Presión de venta sin procesar =" + EncodeColor (colorRed) + WriteVal (nsf) +
"\ n" + EncodeColor (colorYellow) + "Force =" + WriteVal (diff));
_SECTION_END ();
[/CÓDIGO]
Hi @paraglohiya , I copy and past these script but dont run.
 

Similar threads

Top