我怎样才能在 Pine-Script 中完成这个指标

时间:2021-01-07 07:36:06

标签: pine-script

我希望学习并完成指标。尝试是当 %R 超过上限并返回到 (INPUT) 柱内的 -50 交叉点时,指标将在“多头”的情况下检测多头和空头信号。当 %R 超过下限并在 (INPUT) 柱内返回 -50 交叉点时,“做空”。问题在于“如何对 indi 进行编码以检测 (INPUT) 条内的 -50 交叉”部分。

//@version=4
study("Williams %R by Stamp", shorttitle="%R by stamp", format=format.price, overlay=true ,precision=2, resolution="")
length = input(title="Length", type=input.integer, defval=14)
src = input(close, "Source", type = input.source)
_pr(length) =>
    max = highest(length)
    min = lowest(length)
    100 * (src - max) / (max - min)
percentR = _pr(length)
highlim = input(defval=-2.0, title="High Limit")
lowlim = input(defval=-98.0), title="Low Limit"
percentRhigh = percentR> highlim // %R higher than -2
highend = crossunder(percentR,highlim) // %R cross down -2
percentRlow = percentR< lowlim // %R lower than -98
lowend = crossover(percentR,lowlim) // %R cross up -98
crossing50 = cross(percentR,-50)
crossup = crossover(percentR,-50)
crossdown = crossunder(percentR,-50)
//
//
// <------- I HAVE BIG PROBLEM FROM THIS PART 
//
quickdown = highend[5] or highend[4] or highend[3] or highend[2] or highend[1]
quickup = lowend[5] or lowend[4] or lowend[3] or lowend[4] or lowend[1] 
quickdowna = quickdown and crossdown // signal condition for short
quickupa = quickup and crossup // signal condition for long 
justquick = quickdowna or quickupa // signal whatever long or short
bgcolor(justquick ? color.yellow : na, transp=94)
//
//
bgcolor(highend ? color.red : na, transp=94)
bgcolor(lowend ? color.green : na, transp=94)
plotshape(crossup, title="Long", style=shape.triangleup, location=location.belowbar, color=color.green, transp=90, text="Long", textcolor=color.green, size=size.auto)
plotshape(crossdown, title="Short", style=shape.triangledown, location=location.abovebar, color=color.red, transp=90, text="Short", textcolor=color.red, size=size.auto)
///

0 个答案:

没有答案
相关问题