Я борюсь с пониманием выполнения функций в сосновом скрипте. Пожалуйста, посмотрите короткий сценарий ниже, он должен компилироваться как есть:
//@version=4
study("My Script")
a = 100.
d = 100.
d:=nz(d[1]) + 10
f_(_src) => nz(_src[1]) + 10
a := f_(a)
plot(a, "a", color.red, 5)
plot(d, "d", color.yellow, 5)
Я ожидал, что значения a
и d
совпадают, поскольку функция "f_" выполняет тот же код, что и в присвоении d
. Но a
всегда имеет постоянное значение 110 со 2-го цикла, когда d
линейно увеличивает каждый цикл + 10.
Какова причина его такого поведения? Я был бы очень рад получить ссылку.
Большое спасибо за вашу помощь, Себ.