add some new indicator/oscillators ...
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
///////////////////////////////////////////////////////
|
||||
//
|
||||
// SaherElm IT Center STC Histogram
|
||||
// ---------------------------------------------
|
||||
// saherelm implementation of above oscillator ...
|
||||
//
|
||||
// Maintainer:
|
||||
// ------------
|
||||
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
|
||||
//
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
//
|
||||
//@version=5
|
||||
indicator(title="SaherElm STC Histogram", shorttitle = "XSTC_OSC", overlay = false)
|
||||
|
||||
//
|
||||
// START Inputs ....
|
||||
//
|
||||
length = input(12, 'Length')
|
||||
fastPeriod = input(26, 'FastLength')
|
||||
slowPeriod = input(50, 'SlowLength')
|
||||
//
|
||||
// END Inputs ....
|
||||
//
|
||||
|
||||
//
|
||||
// START Functions ....
|
||||
//
|
||||
AAAA(BBB, BBBB, BBBBB) =>
|
||||
fastMA = ta.ema(BBB, BBBB)
|
||||
slowMA = ta.ema(BBB, BBBBB)
|
||||
AAAA = fastMA - slowMA
|
||||
AAAA
|
||||
|
||||
AAAAA(EEEEEE, BBBB, BBBBB) =>
|
||||
AAA = input(0.5)
|
||||
var CCCCC = 0.0
|
||||
var DDD = 0.0
|
||||
var DDDDDD = 0.0
|
||||
var EEEEE = 0.0
|
||||
BBBBBB = AAAA(close, BBBB, BBBBB)
|
||||
CCC = ta.lowest(BBBBBB, EEEEEE)
|
||||
CCCC = ta.highest(BBBBBB, EEEEEE) - CCC
|
||||
CCCCC := CCCC > 0 ? (BBBBBB - CCC) / CCCC * 100 : nz(CCCCC[1])
|
||||
DDD := na(DDD[1]) ? CCCCC : DDD[1] + AAA * (CCCCC - DDD[1])
|
||||
DDDD = ta.lowest(DDD, EEEEEE)
|
||||
DDDDD = ta.highest(DDD, EEEEEE) - DDDD
|
||||
DDDDDD := DDDDD > 0 ? (DDD - DDDD) / DDDDD * 100 : nz(DDDDDD[1])
|
||||
EEEEE := na(EEEEE[1]) ? DDDDDD : EEEEE[1] + AAA * (DDDDDD - EEEEE[1])
|
||||
EEEEE
|
||||
//
|
||||
// END Functions ....
|
||||
//
|
||||
|
||||
//
|
||||
// START Calculations ....
|
||||
//
|
||||
maValue = AAAAA(length, fastPeriod, slowPeriod)
|
||||
mColor = maValue > maValue[1] ? color.new(color.green, 20) : color.new(color.red, 20)
|
||||
|
||||
//
|
||||
//
|
||||
// END Calculations ....
|
||||
//
|
||||
|
||||
//
|
||||
// START Plots ....
|
||||
//
|
||||
//
|
||||
plot(maValue, color = mColor, title = 'XSTC', linewidth = 2)
|
||||
|
||||
//
|
||||
ul = plot(25, color=color.new(color.gray, 70))
|
||||
ll = plot(75, color=color.new(color.gray, 70))
|
||||
fill(ul, ll, color=color.new(color.gray, 96))
|
||||
//
|
||||
// END Plots ....
|
||||
//
|
||||
|
||||
//
|
||||
// START Alerts ...
|
||||
//
|
||||
//
|
||||
if maValue[3] <= maValue[2] and maValue[2] > maValue[1] and maValue > 75
|
||||
alert("Red", alert.freq_once_per_bar)
|
||||
|
||||
//
|
||||
if maValue[3] >= maValue[2] and maValue[2] < maValue[1] and maValue < 25
|
||||
alert("Green", alert.freq_once_per_bar)
|
||||
//
|
||||
// END Alerts ...
|
||||
//
|
||||
Reference in New Issue
Block a user