Нарисуйте горизонтальную линию по цене открытия определенной свечи, пока график находится на другом таймфрейме

Мне нужно нарисовать горизонтальную линию для каждого сеанса до конца сеанса. Линия должна начинаться с определенного момента после начала сессии, а таймфрейм этой свечи составляет 3 минуты. Но мой график будет в другом временном интервале, скажем, 15 или 30 минут. Пример

Таймфрейм моего графика составляет 15 минут, и мне нужно нарисовать горизонтальную линию по цене открытия, скажем, 9:33, с таймфреймом свечи 3 минуты. То, что я получил на данный момент, приведено ниже

Это нарисует горизонтальную линию в данный момент времени.

//@version=5
indicator("My Indicator", overlay=true)

var barCount = 0
count = ta.barssince(session.isfirstbar)
if session.islastbar
    barCount := count 

var openPrice = 0.0
openPrice := (hour== 9 and minute == 33) ? open : openPrice
DayOpen = request.security(syminfo.tickerid, "1", open)


plot(openPrice)

Но этот код будет рисовать линию только в том случае, если время графика составляет 3 минуты. Если я переключусь на 15 минут, то приведенный выше код не будет рисовать линию.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
111
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте использовать функции hour() и minute() с time в параметре.

так

//@version=5
indicator("My Indicator", overlay=true)

var barCount = 0
count = ta.barssince(session.isfirstbar)
if session.islastbar
    barCount := count 

var openPrice = 0.0
openPrice := hour(time) == 9 and minute(time) == 33 ? open : openPrice
DayOpen = request.security(syminfo.tickerid, "1", open)


plot(openPrice)

спасибо за ваш ответ. Нет, это не работает, когда я переключаюсь на более высокий таймфрейм. Я думаю, что для этого потребовалось использование request-security-lower-tf. Но я не уверен, как получить цену открытия из request-security-lower-tf для конкретной свечи?

Damodaran 13.07.2024 16:16
Ответ принят как подходящий
//@version=5
indicator("Help  openTF3m", overlay = true)

var barCount = 0
count = ta.barssince(session.isfirstbar)
if session.islastbar
    barCount := count 

var float openPrice = na
//openPrice := (hour(time) == 9 and minute(time) == 33 ) ? begin : openPrice
DayOpen = request.security(syminfo.tickerid, "1", open)

array<float> begin = request.security_lower_tf(syminfo.tickerid, "1", open)
int SizeArr = array.size(begin)
int tt = timestamp(year, month, dayofmonth, 09, 33, 00)

if time <= tt and tt <= (time_close - 1) and (timenow - time)/(60*1000) < 100000
    i = SizeArr - (time_close("", 0) - tt)/(60*1000)
    openPrice := array.get(begin, i)   

plot(openPrice, "openPrice")

Обратите внимание, что: Графики, основанные на внутрибарных данных, могут не отображаться на всех доступных столбцах диаграммы, поскольку request.security_lower_tf() может получить доступ только к самым последним 100 000 интрабарам, доступным из запрошенного контекста. При выполнении этой функции на панели диаграммы, у которой нет доступных внутрибарных данных, она вернет пустой массив.

Другие вопросы по теме