Индикатор максимума и минимума предыдущих периодов, как построить на графике только последний период? - PullRequest
0 голосов
/ 29 мая 2020

У меня есть индикатор, который строит график, используя линии, предыдущие периоды High и Low, он работает правильно для дневных и недельных периодов.
Снимок экрана моего рабочего индикатора

На диаграмме он показывает каждый предыдущий период, в то время как мне нужен только последний период, например, только на прошлой неделе или только в последний день.

    study(title="Previous Day High and Low + OPENS", shorttitle="HLO", overlay=true)

D_High = security(tickerid, 'D', high[1]) 
D_Low = security(tickerid, 'D', low[1]) 
D_Close =  security(tickerid, 'D', close[1]) 
D_Open =  security(tickerid, 'D', open[1]) 
W_High =  security(tickerid, 'W', high[1]) 
W_Low =  security(tickerid, 'W', low[1])


plot(isintraday ? D_High : na, title="Daily High",style=line, color=black,linewidth=1) 
plot(isintraday ? D_Low : na, title="Daily Low",style=line, color=black,linewidth=1) 

plot(isintraday ? W_High : na, title="Weekly High",style=line, color=black,linewidth=1) 
plot(isintraday ? W_Low : na, title="Weekly Low",style=line, color=black,linewidth=1) 

openPriceD = security(tickerid, 'D', open)

openPriceW = security(tickerid, 'W', open)

openPriceM = security(tickerid, 'M', open)

plot(openPriceD ? openPriceD : na, title="Daily Open", style=circles, linewidth=2, color=purple)

plot(openPriceW ? openPriceW : na, title="Weekly Open", style=circles, linewidth=2, color=green)

plot(openPriceM ? openPriceM : na, title="Monthly Open", style=circles, linewidth=2, color=red)

Я попытался добавить функцию show_last = в строку графика, но это не работает.

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 30 мая 2020

Это построит максимум предыдущего дня на сегодняшних свечах.

//@version=4
study("Q62089672", overlay=true)

D_High = security(syminfo.tickerid, "D", high)

isSaturday = dayofweek(timenow) == dayofweek.saturday
isSunday   = dayofweek(timenow) == dayofweek.sunday
offSetDays = isSaturday ? 1 : isSunday ? 2 : 0

showFromDate = timestamp(year(timenow), month(timenow), dayofmonth(timenow)-offSetDays, 0, 0, 0)

canShow = timeframe.isintraday and time >= showFromDate

plot(canShow ? D_High[1] : na, title="Previous day high", style=plot.style_line, color=color.yellow, linewidth=1)

Что дает этот результат

Previous day high

Время начала линий может отличаться из-за разницы часовых поясов.
Каждый тикер имеет свой собственный часовой пояс, в котором он торгуется.

Symbol timezone

Вы также можете указать часовой пояс в функции security() .

Для получения дополнительных сведений и примеров см.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...