Demark Reversal Points

Author: ChaoZhang, Date: 2022-05-07 21:38:29
Tags: 趋势


/*backtest
start: 2022-02-06 00:00:00
end: 2022-05-06 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/

//@version=5
// Copyright (c) 2019-present, Franklin Moormann (cheatcountry)
// Demark Reversal Points [CC] script may be freely distributed under the MIT license.
//indicator('Demark Reversal Points [CC]', max_bars_back=3000, overlay=true)

inp = input(title='Source', defval=close)
res = input.int(title='Resolution', defval='18000')
rep = input(title='Allow Repainting?', defval=false)
bar = input(title='Allow Bar Color Change?', defval=true)
src = request.security(syminfo.tickerid, res, inp[0])[1]
length = input.int(title='Length', defval=9, minval=1)
lbLength = input.int(title='LbLength', defval=4, minval=1)

uCount = 0
dCount = 0
for i = 0 to length - 1 by 1
    uCount += (nz(src[i]) > nz(src[i + lbLength]) ? 1 : 0)
    dCount += (nz(src[i]) < nz(src[i + lbLength]) ? 1 : 0)
    dCount

drp = dCount == length ? 1 : uCount == length ? -1 : 0

sig = drp > 0 or uCount > dCount ? 1 : drp < 0 or dCount > uCount ? -1 : 0
drpColor = sig > 0 ? color.green : sig < 0 ? color.red : color.black
alertcondition(ta.crossover(drp, 0), 'Buy Signal', 'Bullish Change Detected')
alertcondition(ta.crossunder(drp, 0), 'Sell Signal', 'Bearish Change Detected')
//barcolor(bar ? drpColor : na)
//plotshape(ta.crossover(drp, 0), 'Buy', shape.labelup, location.belowbar, color.new(color.green, 0), text='Buy', textcolor=color.new(color.white, 0))
//plotshape(ta.crossunder(drp, 0), 'Sell', shape.labeldown, location.abovebar, color=color.new(color.red, 0), text='Sell', textcolor=color.new(color.white, 0))

if ta.crossover(drp, 0)
    strategy.entry("Enter Long", strategy.long)
else if ta.crossunder(drp, 0)
    strategy.entry("Enter Short", strategy.short)

Related

More