RicardoSantos

[RS]Price Divergence Detector V1

Update: added Fisher Transform to the list of oscillators.
ลบออกจากสคริปส์โปรด เพิ่มเข้าไปในสคริปส์โปรด
study(title='[RS]Price Divergence Detector V1', overlay=true)
//  ||  General Input:
method = input(title='Method (0=rsi, 1=macd, 2=stoch, 3=volume, 4=acc/dist, 5=fisher):', type=integer, defval=0)
SHOW_LABEL = input(title='Show Labels?', type=bool, defval=false)
SHOW_CHANNEL = input(title='Show Channel?', type=bool, defval=false)
//  ||  RSI / STOCH / VOLUME / ACC/DIST Input:
rsi_smooth = input(title='RSI/STOCH/Volume/ACC-DIST/Fisher Smooth:', type=integer, defval=5)
//  ||  MACD Input:
macd_src = input(title='MACD Source:', type=source, defval=close)
macd_fast = input(title='MACD Fast:', type=integer, defval=12)
macd_slow = input(title='MACD Slow:', type=integer, defval=26)
macd_smooth = input(title='MACD Smooth Signal:', type=integer, defval=9)
//  ||  Functions:
f_top_fractal(_src)=>_src[4] < _src[2] and _src[3] < _src[2] and _src[2] > _src[1] and _src[2] > _src[0]
f_bot_fractal(_src)=>_src[4] > _src[2] and _src[3] > _src[2] and _src[2] < _src[1] and _src[2] < _src[0]
f_fractalize(_src)=>f_top_fractal(_src) ? 1 : f_bot_fractal(_src) ? -1 : 0

//  ||••>   START MACD FUNCTION
f_macd(_src, _fast, _slow, _smooth)=>
    _fast_ma = sma(_src, _fast)
    _slow_ma = sma(_src, _slow)
    _macd = _fast_ma-_slow_ma
    _signal = ema(_macd, _smooth)
    _hist = _macd - _signal
//  ||<••   END MACD FUNCTION

//  ||••>   START ACC/DIST FUNCTION
f_accdist(_smooth)=>_return=sma(cum(close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume), _smooth)
//  ||<••   END ACC/DIST FUNCTION

//  ||••>   START FISHER FUNCTION
f_fisher(_src, _window)=>
    _h = highest(_src, _window)
    _l = lowest(_src, _window)
    _value0 = .66 * ((_src - _l) / max(_h - _l, .001) - .5) + .67 * nz(_value0[1])
    _value1 = _value0 > .99 ? .999 : _value0 < -.99 ? -.999 : _value0
    _fisher = .5 * log((1 + _value1) / max(1 - _value1, .001)) + .5 * nz(_fisher[1])
//  ||<••   END FISHER FUNCTION


method_high = method == 0 ? rsi(high, rsi_smooth) :
        method == 1 ? f_macd(macd_src, macd_fast, macd_slow, macd_smooth) :
        method == 2 ? stoch(close, high, low, rsi_smooth) :
        method == 3 ? sma(volume, rsi_smooth) :
        method == 4 ? f_accdist(rsi_smooth) :
        method == 5 ? f_fisher(high, rsi_smooth) :
        na
method_low = method == 0 ? rsi(low, rsi_smooth) :
        method == 1 ? f_macd(macd_src, macd_fast, macd_slow, macd_smooth) :
        method == 2 ? stoch(close, high, low, rsi_smooth) :
        method == 3 ? sma(volume, rsi_smooth) :
        method == 4 ? f_accdist(rsi_smooth) :
        method == 5 ? f_fisher(low, rsi_smooth) :
        na

fractal_top = f_fractalize(method_high) > 0 ? method_high[2] : na
fractal_bot = f_fractalize(method_low) < 0 ? method_low[2] : na

high_prev = valuewhen(fractal_top, method_high[2], 1) 
high_price = valuewhen(fractal_top, high[2], 1)
low_prev = valuewhen(fractal_bot, method_low[2], 1) 
low_price = valuewhen(fractal_bot, low[2], 1)

regular_bearish_div = fractal_top and high[2] > high_price and method_high[2] < high_prev
hidden_bearish_div = fractal_top and high[2] < high_price and method_high[2] > high_prev
regular_bullish_div = fractal_bot and low[2] < low_price and method_low[2] > low_prev
hidden_bullish_div = fractal_bot and low[2] > low_price and method_low[2] < low_prev

plot(title='RSI H F', series=fractal_top ? high[2] : na, color=regular_bearish_div or hidden_bearish_div ? maroon : not SHOW_CHANNEL ? na : silver, offset=-2)
plot(title='RSI L F', series=fractal_bot ? low[2] : na, color=regular_bullish_div or hidden_bullish_div ? green : not SHOW_CHANNEL ? na : silver, offset=-2)
plot(title='RSI H D', series=fractal_top ? high[2] : na, style=circles, color=regular_bearish_div or hidden_bearish_div ? maroon : not SHOW_CHANNEL ? na : silver, linewidth=3, offset=-2)
plot(title='RSI L D', series=fractal_bot ? low[2] : na, style=circles, color=regular_bullish_div or hidden_bullish_div ? green : not SHOW_CHANNEL ? na : silver, linewidth=3, offset=-2)

plotshape(title='+RBD', series=not SHOW_LABEL ? na : regular_bearish_div ? high[2] : na, text='R', style=shape.labeldown, location=location.absolute, color=maroon, textcolor=white, offset=-2)
plotshape(title='+HBD', series=not SHOW_LABEL ? na : hidden_bearish_div ? high[2] : na, text='H', style=shape.labeldown, location=location.absolute, color=maroon, textcolor=white, offset=-2)
plotshape(title='-RBD', series=not SHOW_LABEL ? na : regular_bullish_div ? low[2] : na, text='R', style=shape.labelup, location=location.absolute, color=green, textcolor=white, offset=-2)
plotshape(title='-HBD', series=not SHOW_LABEL ? na : hidden_bullish_div ? low[2] : na, text='H', style=shape.labelup, location=location.absolute, color=green, textcolor=white, offset=-2)

ความคิดเห็น

i have a question ? what are the yellow dots on top ? and if i just copy and past the pine script into mines it should work ?
ตอบกลับ
@Barnone3,
its my publishing history at the time of publish..
yes, or favorite then from chart > ( indicators/favorites) or (indicators/search)
ตอบกลับ
wooooow
ตอบกลับ
Beautiful as always! Just a question, does the signal show at the close of the bar or while the candle is still forming? Thanks again
ตอบกลับ
RicardoSantos cristian.d
it shows while its still forming
+1 ตอบกลับ
Starlord RicardoSantos
Hi Ricardo, I've tried on Version 1 and 2 and both show the signal 2 bars after. Not when the candle is still forming. Do I have an old version or have my settings wrong? I used the scripts you have uploaded. Thank you.
ตอบกลับ
no, thats how it works, it requires 2 extra bars to identify the fractals
ตอบกลับ
kchannar RicardoSantos
@RicardoSantos, Hi What are the yellow circles? I don't see them on the charts with the indicator applied
ตอบกลับ
Masterpiece. Thanks!
ตอบกลับ
Hey,
can you add cci, please?
Very nice to see the divergencies without oscillator!
Thanks for this
ตอบกลับ
หน้าแรก ตัวช่วยคัดกรองหุ้น ตัวคัดกรองฟอเร็กซ์ ตัวคัดกรองคริปโต ปฏิทินเศรษฐกิจ มันทำงานได้อย่างไร ฟีเจอร์ของชาร์ต อัตราค่าบริการ แนะนำเพื่อน กฎระเบียบการใช้งาน ศูนย์ช่วยเหลือ โซลูชั่นสำหรับเว็บไซต์ & โบรกเกอร์ วิดเจ็ต ชาร์ตโซลูชั่น Lightweight ชาร์ตไลบรารี บล็อก & ข่าว Twitter
โปรไฟล์ ตั้งค่าโปรไฟล์ บัญชีและการเรียกเก็บเงิน เพื่อนที่ชวนมา เหรียญ ตั๋วการขอความสนับสนุนของฉัน ศูนย์ช่วยเหลือ ไอเดียที่เผยแพร่ ผู้ติดตาม กำลังติดตาม ข้อความส่วนตัว แชท ออกจากระบบ