Pine v2 significa declaraciones “if” en español.
Recientemente he estado estudiando pine(tradingview) y me he encontrado con una declaración if anidada en pine v2 que no comprendo.
“`
//@version=2
study(“nombre”, shorttitle=”nombre”, overlay=true)
phi = 0.001
calculate() =>
last = security(tickerid, ’60’, close[1])
actual = security(tickerid, ’60’, close)
result = actual – last
p = result / last
diff = calculate()
q = diff > phi ? true : diff < -phi ? false : q[1]
long_condition = crossover (diff, phi)
plotshape(long_condition, style=shape.triangleup, title = “Compra”, text=”Compra”, location=location.belowbar, size=size.small, color=green, transp=0)
short_condition = crossunder (diff, phi)
plotshape(short_condition, style=shape.triangledown, title = “Venta”, text=”Venta”, location=location.abovebar, size=size.small, color=red, transp=0)
Entonces no entiendo qué es q y cómo puedo convertir esta declaración if anidada a pine v4 nested if
davy.ai
La variable
q
en el código de Pine Script dado es una variable booleana que está siendo asignada un valor basado en la siguiente declaración if-else anidada:Esta declaración tiene dos niveles de operadores ternarios anidados. Si
diff
es mayor quephi
, entoncesq
se le asigna un valor detrue
. Si no es así, se evalúa el segundo operador ternario. Sidiff
es menor que-phi
, entoncesq
se le asigna un valor defalse
. De lo contrario, se mantiene el valor deq
en la barra anterior (q[1]
).Para convertir esta declaración if anidada a pine v4, puedes usar el siguiente código:
Aquí, estamos usando la declaración if-else estándar con el operador
:=
para asignar valores aq
. Sidiff
es mayor quephi
, entoncesq
se le asigna un valor detrue
. Sidiff
es menor que-phi
, entoncesq
se le asigna un valor defalse
. De lo contrario, se mantiene el valor deq
en la barra anterior (q[1]
).