0% found this document useful (1 vote)
617 views2 pages

Ninja Indicator Script

1. The document defines an oscillator called the Ninja Indicator by Stock Shikshak (NISS) that analyzes price data to identify bullish and bearish trends. 2. It calculates the NISS using different combinations of exponential moving averages on the source data and then applies additional smoothing and signaling calculations. 3. The indicator plots the smoothed NISS oscillator, signal line, and identifies bullish and bearish rules based on a crossover or crossunder of those lines. It also shows a shaded range between upper and lower limits.

Uploaded by

Suresh Appstore
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
617 views2 pages

Ninja Indicator Script

1. The document defines an oscillator called the Ninja Indicator by Stock Shikshak (NISS) that analyzes price data to identify bullish and bearish trends. 2. It calculates the NISS using different combinations of exponential moving averages on the source data and then applies additional smoothing and signaling calculations. 3. The indicator plots the smoothed NISS oscillator, signal line, and identifies bullish and bearish rules based on a crossover or crossunder of those lines. It also shows a shaded range between upper and lower limits.

Uploaded by

Suresh Appstore
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

//@version=3

study(title="Ninja Indiacator by Stock Shikshak", shorttitle="NISS", overlay=false)

anchor = input(0,minval=0,maxval=1440,title="Use Alternate Anchor TimeFrame


(0=none, max=1440 (mins,D,W)")
nissType = input("Ninja", title="Calculate Oscillator From Which NISS Sets",
options=["Ninja","SuperNinja"])
smoothLen = input(1, minval=1, title="Oscillator Smoothing Length (1=none)")
signalLen = input(24, minval=1, title="NISS Oscillator Signal Length")
showZones = input(true, title="Show Bullish/Bearish Zones")
src = input(close, title="Source")
NISSFast(src, mult) =>
ema1 = ema(src, 3*mult)
ema2 = ema(src, 5*mult)
ema3 = ema(src, 8*mult)
ema4 = ema(src, 10*mult)
ema5 = ema(src, 12*mult)
ema6 = ema(src, 15*mult)
return = (ema1 + ema2 + ema3 + ema4 + ema5 + ema6)
return

NISSSlow(src, mult) =>


ema7 = ema(src, 30*mult)
ema8 = ema(src, 35*mult)
ema9 = ema(src, 40*mult)
ema10 = ema(src, 45*mult)
ema11 = ema(src, 50*mult)
ema12 = ema(src, 60*mult)
return = (ema7 + ema8 + ema9 + ema10 + ema11 + ema12)
return

superNISSFast(src, mult) =>


emaF1 = ema(src, 3*mult)
emaF2 = ema(src, 5*mult)
emaF3 = ema(src, 7*mult)
emaF4 = ema(src, 9*mult)
emaF5 = ema(src, 11*mult)
emaF6 = ema(src, 13*mult)
emaF7 = ema(src, 15*mult)
emaF8 = ema(src, 17*mult)
emaF9 = ema(src, 19*mult)
emaF10 = ema(src, 21*mult)
emaF11 = ema(src, 23*mult)
return = (emaF1 + emaF2 + emaF3 + emaF4 + emaF5 + emaF6 + emaF7 + emaF8 + emaF9
+ emaF10 + emaF11)/11
return

superNISSSlow(src, mult) =>


emaS1 = ema(src, 25*mult)
emaS2 = ema(src, 28*mult)
emaS3 = ema(src, 31*mult)
emaS4 = ema(src, 34*mult)
emaS5 = ema(src, 37*mult)
emaS6 = ema(src, 40*mult)
emaS7 = ema(src, 43*mult)
emaS8 = ema(src, 46*mult)
emaS9 = ema(src, 49*mult)
emaS10 = ema(src, 52*mult)
emaS11 = ema(src, 55*mult)
emaS12 = ema(src, 58*mult)
emaS13 = ema(src, 61*mult)
emaS14 = ema(src, 64*mult)
emaS15 = ema(src, 67*mult)
emaS16 = ema(src, 70*mult)
// average
return = (emaS1 + emaS2 + emaS3 + emaS4 + emaS5 + emaS6 + emaS7 + emaS8 +
emaS9 + emaS10 + emaS11 + emaS12 + emaS13 + emaS14 + emaS15 + emaS16)/16
return
mult = not isintraday or anchor==0 or interval<=0 or interval>=anchor or
anchor>1440 ? 1 : round(anchor/interval)>1? round(anchor/interval) : 1
mult := isintraday or anchor==0 or interval<=0 or interval>=anchor or anchor>52 ?
mult : round(anchor/interval)>1? round(anchor/interval) : 1
nissFast = nissType=="Guppy" ? NISSFast(src, mult) : superNISSFast(src, mult)
nissSlow = nissType=="Guppy" ? NISSSlow(src, mult) : superNISSSlow(src, mult)
nissOscRaw = ((nissFast - nissSlow) / nissSlow) * 100
nissOsc = sma(nissOscRaw, smoothLen)
nissSignal = ema(nissOscRaw, signalLen)
nissClr = nissOsc < nissSignal ? fuchsia : nissOsc > nissSignal ? blue : gray
bullishRule = crossover(nissOsc, nissSignal)
bearishRule = crossunder(nissOsc, nissSignal)
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
plot(nissOsc, title="NISS OSC Smooth", style=line, linewidth=2, color=nissClr,
transp=10)
plot(nissSignal, title="NISS Signal", style=line, linewidth=1, color=white,
transp=10)
HL1= hline(0.20,title="Upper limit", linestyle=line, linewidth=1, color=black)
HL2= hline(-0.20,title="Lower limit", linestyle=line, linewidth=1, color=black)
fill(HL1, HL2, white, transp=90)

You might also like