Есть ли способ получить OHL C первой и второй свечи дня в Pine Script - PullRequest
0 голосов
/ 17 июня 2020

Мне нужны данные OHL C первой и второй свечи дня на 5-минутном таймфрейме. То есть OHL C 1-й 5-минутной свечи и OHL C 2-й 5-минутной свечи. Я пробовал следующее.

is_newbar(res) =>
    t = time(res)
    change(t) != 0 ? 1 : 0

is_newbar1(res) =>
    t = time(res)
    change(t[1]) != 0 ? 1 : 0

newbar = is_newbar("D")
newbar1 = is_newbar1("D")

var float s1 = na
var float s2 = na
var float s3 = na
var float s4 = na
if newbar
    s1 := low
    s2 := high
    s3 := close
    s4 := open

var float s11 = na
var float s12 = na
var float s13 = na
var float s14 = na
if newbar1
    s11 := low
    s12 := high
    s13 := close
    s14 := open

После получения этих значений я кодирую прорывы диапазона, например, если s13> s3, то сделайте что-нибудь. Проблема в том, что в режиме реального времени он не только принимает значения первых двух свечей, но и учитывает каждую свечу OHL C и каждый раз пытается соответствовать условию if. Я хочу, чтобы он выполнялся один раз и отображал результат. Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 20 июня 2020

Привет, @Prasanna Kumar SR,

Вместо использования if и сохранения значения в переменной попробуйте использовать «valuewhen». Я работал над стратегией, в которой я должен был сохранить первую ручку наверху. Я использовал следующий код '' 'd = valuewhen ((is_first), high, 0)' '', когда я рисую "d" его константу до конца дня.

...