pine-script - 脚本在 1 分钟 TF 上绘制,但不在其他 TF 上
问题描述
下面的脚本旨在绘制每日和每周亚洲、伦敦和纽约的开放时间。
它根据以下链接显示市场正常营业时间(每日和每周):
东京 https://www.tradinghours.com/markets/jpx/hours
伦敦 https://www.tradinghours.com/markets/lse/hours
纽约 https://www.tradinghours.com/markets/nyse/hours
它在 1 分钟的时间范围内完美显示,但我不明白为什么它不会在其他时间范围内显示。
我以为是下面的代码行,所以改变了它,但仍然没有乐趣。
//AsiaWOpen = time("1", AsiaWOpenInput)
AsiaDOpen = time(timeframe.period, AsiaDOpenInput)
任何建议将不胜感激。我必须使用安全性来解决吗?
//@version=4
study("Market Opening Hours", overlay=true)
offset_val = input(title="Label Offset", type=input.integer, defval=15)
//--------------Asia Configuration
AsiaDOpenInput = input('2359-0000:234567', title="Asia Daily Open") //set the opening range you are interested in
AsiaWOpenInput = input('2359-0000:1', title="Asia Weekly Open") //set the opening range you are interested in
//AsiaDOpen = time("1", AsiaDOpenInput)
//AsiaWOpen = time("1", AsiaWOpenInput)
AsiaDOpen = time(timeframe.period, AsiaDOpenInput)
AsiaWOpen = time(timeframe.period, AsiaWOpenInput)
var AsiaDOpenPA = 0.0
if AsiaDOpen
if not AsiaDOpen[1]
AsiaDOpenPA := open
var AsiaWOpenPA = 0.0
if AsiaWOpen
if not AsiaWOpen[1]
AsiaWOpenPA := open
plot(not AsiaDOpen ? AsiaDOpenPA : na, title="Asia D Open", color=color.orange, linewidth=1, style=plot.style_linebr)
plotshape(AsiaDOpenPA, style=shape.labeldown, location=location.absolute, color=color.orange, textcolor=color.white, show_last=1, text="Asia D Open", offset = offset_val, transp=20, title="Asia D Open")
plot(not AsiaWOpen ? AsiaWOpenPA : na, title="Asia W Open", color=color.orange, linewidth=2, style=plot.style_linebr)
plotshape(AsiaWOpenPA, style=shape.labeldown, location=location.absolute, color=color.orange, textcolor=color.white, show_last=1, text="Asia W Open", offset = offset_val, transp=20, title="Asia W Open")
//--------------London Configuration
LonDOpenInput = input('0759-0800:134567', title="London Daily Open") //set the opening range you are interested in
LonWOpenInput = input('0759-0800:2', title="London Weekly Open") //set the opening range you are interested in
//LonDOpen = time("1", LonDOpenInput)
//LonWOpen = time("1", LonWOpenInput)
LonDOpen = time(timeframe.period, LonDOpenInput)
LonWOpen = time(timeframe.period, LonWOpenInput)
var LonDOpenPA = 0.0
if LonDOpen
if not LonDOpen[1]
LonDOpenPA := open
var LonWOpenPA = 0.0
if LonWOpen
if not LonWOpen[1]
LonWOpenPA := open
plot(not LonDOpen ? LonDOpenPA : na, title="London D Open", color=color.yellow, linewidth=1, style=plot.style_linebr)
plotshape(LonDOpenPA, style=shape.labeldown, location=location.absolute, color=color.yellow, textcolor=color.white, show_last=1, text="London D Open", offset = offset_val, transp=20, title="London D Open")
plot(not LonWOpen ? LonWOpenPA : na, title="London W Open", color=color.yellow, linewidth=2, style=plot.style_linebr)
plotshape(LonWOpenPA, style=shape.labeldown, location=location.absolute, color=color.yellow, textcolor=color.white, show_last=1, text="London W Open", offset = offset_val, transp=20, title="London W Open")
//--------------New York Configuration
NYDOpenInput = input('1429-1430:134567', title="New York Daily Open") //set the opening range you are interested in
NYWOpenInput = input('1429-1430:2', title="New York Weekly Open") //set the opening range you are interested in
//NYDOpen = time("1", NYDOpenInput)
//NYWOpen = time("1", NYWOpenInput)
NYDOpen = time(timeframe.period, NYDOpenInput)
NYWOpen = time(timeframe.period, NYWOpenInput)
var NYDOpenPA = 0.0
if NYDOpen
if not NYDOpen[1]
NYDOpenPA := open
var NYWOpenPA = 0.0
if NYWOpen
if not NYWOpen[1]
NYWOpenPA := open
plot(not NYDOpen ? NYDOpenPA : na, title="New York D Open", color=color.blue, linewidth=1, style=plot.style_linebr)
plotshape(NYDOpenPA, style=shape.labeldown, location=location.absolute, color=color.blue, textcolor=color.white, show_last=1, text="New York D Open", offset = offset_val, transp=20, title="New York D Open")
plot(not NYWOpen ? NYWOpenPA : na, title="New York W Open", color=color.blue, linewidth=2, style=plot.style_linebr)
plotshape(NYWOpenPA, style=shape.labeldown, location=location.absolute, color=color.blue, textcolor=color.white, show_last=1, text="New York W Open", offset = offset_val, transp=20, title="New York W Open")
下面是最终产品。我的目标是能够绘制市场开盘前的盘前交易(基于上面的链接),并轻松查看一周中的几天。
//@version=4
study("StackOverFlow", overlay=true)
offset_val = input(title="Label Offset", type=input.integer, defval=20)
// London Daily Open
LonDOpenInput = input('0800-0801:134567', title="London Daily Open")
LonDOpen = time(timeframe.period, LonDOpenInput)
var LonDOpenPA = float(na)
if LonDOpen and not LonDOpen[1]
LonDOpenPA := open
plot(not LonDOpen ? LonDOpenPA : na, title="London Daily Open", color=color.yellow, linewidth=1, style=plot.style_linebr)
plotshape(LonDOpenPA, style=shape.labeldown, location=location.absolute, color=color.yellow, textcolor=color.white, show_last=1, text="London Daily Open", offset = offset_val, transp=20, title="London Daily Open")
// London Weekly Open
LonWOpenInput = input('0800-0801:2', title="London Weekly Open")
LonWOpen = time(timeframe.period, LonWOpenInput)
var LonWOpenPA = float(na)
if LonWOpen and not LonWOpen[1]
LonWOpenPA := open
plot(not LonWOpen ? LonWOpenPA : na, title="London Weekly Open", color=color.yellow, linewidth=1, style=plot.style_linebr)
plotshape(LonWOpenPA, style=shape.labeldown, location=location.absolute, color=color.yellow, textcolor=color.white, show_last=1, text="London Weekly Open", offset = offset_val, transp=20, title="London Weekly Open")
// New York Daily Open
NYDOpenInput = input('1430-1431:134567', title="New York Daily") //set the opening range you are interested in
NYDOpen = time(timeframe.period, NYDOpenInput)
var NYDOpenPA = float(na)
if NYDOpen and not NYDOpen[1]
NYDOpenPA := open
plot(not NYDOpen ? NYDOpenPA : na, title="New York Open", color=color.blue, linewidth=1, style=plot.style_linebr)
plotshape(NYDOpenPA, style=shape.labeldown, location=location.absolute, color=color.blue, textcolor=color.white, show_last=1, text="New York Daily Open", offset = offset_val, transp=20, title="New York Daily Open")
// New York Weekly Open
NYWOpenInput = input('1430-1431:2', title="New Weekly York") //set the opening range you are interested in
NYWOpen = time(timeframe.period, NYWOpenInput)
var NYWOpenPA = float(na)
if NYWOpen and not NYWOpen[1]
NYWOpenPA := open
plot(not NYWOpen ? NYWOpenPA : na, title="New York Open", color=color.blue, linewidth=1, style=plot.style_linebr)
plotshape(NYWOpenPA, style=shape.labeldown, location=location.absolute, color=color.blue, textcolor=color.white, show_last=1, text="New York Weekly Open", offset = offset_val, transp=20, title="New York Weekly Open")
// Asia Daily Open
AsiaDOpenInput = input('0000-0001:124567', title="Asia Daily Open")
AsiaDOpen = time(timeframe.period, AsiaDOpenInput)
var AsiaDOpenPA = float(na)
if AsiaDOpen and not AsiaDOpen[1]
AsiaDOpenPA := open
plot(not AsiaDOpen ? AsiaDOpenPA : na, title="Asia Daily Open", color=color.purple, linewidth=1, style=plot.style_linebr)
plotshape(AsiaDOpenPA, style=shape.labeldown, location=location.absolute, color=color.purple, textcolor=color.white, show_last=1, text="Asia Daily Open", offset = offset_val, transp=20, title="Asia Daily Open")
// Asia Weekly Open
AsiaWOpenInput = input('0000-0001:3', title="Asia Weekly Open")
AsiaWOpen = time(timeframe.period, AsiaWOpenInput)
var AsiaWOpenPA = float(na)
if AsiaWOpen and not AsiaWOpen[1]
AsiaWOpenPA := open
plot(not AsiaWOpen ? AsiaWOpenPA : na, title="Asia Weekly Open", color=color.purple, linewidth=1, style=plot.style_linebr)
plotshape(AsiaWOpenPA, style=shape.labeldown, location=location.absolute, color=color.purple, textcolor=color.white, show_last=1, text="Asia Weekly Open", offset = offset_val, transp=20, title="Asia Weekly Open")
//----------------------------------------------------------------------------------------------------------------------
showDOW = input(true, title="Show Chart Text and Background Color")
inputMaxInterval = input(30, title="Hides sessions above specified time")
loadIndicator = timeframe.multiplier <= inputMaxInterval
PreNY = time(timeframe.period, "1130-1430:1234567")
NYOpen = time(timeframe.period, "1430-2100:1234567")
PreLondon = time(timeframe.period, "0505-0750:1234567")
LondonOpen = time(timeframe.period, "0800-1130:1234567")
LondonClose = time(timeframe.period, "1530-1700:1234567")
MorningAsia = time(timeframe.period, "0000-0230:1234567")
AfternoonAsia = time(timeframe.period, "0330-0505:1234567")
bgcolor(loadIndicator and showDOW and not na(PreNY) ? color.blue : na, transp=95, title='Pre New York')
bgcolor(loadIndicator and showDOW and not na(NYOpen) ? color.blue : na, transp=90, title='New York Open')
bgcolor(loadIndicator and showDOW and not na(PreLondon) ? color.yellow : na, transp=95, title='Pre London')
bgcolor(loadIndicator and showDOW and not na(LondonOpen) ? color.yellow : na, transp=90, title='London Open')
bgcolor(loadIndicator and showDOW and not na(MorningAsia) ? color.purple : na, transp=90, title='Morning Asia')
bgcolor(loadIndicator and showDOW and not na(AfternoonAsia) ? color.purple : na, transp=90, title='Afternoon Asia')
//Wednesday Opening Text
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.monday : false, offset=0, style=shape.diamond, transp=0, text="Monday" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 5 and minute == 0 and dayofweek == dayofweek.monday : false, offset=0, style=shape.square, transp=0, text="London Pre" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 8 and minute == 0 and dayofweek == dayofweek.monday : false, offset=0, style=shape.square, transp=0, text="London Open" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 11 and minute == 30 and dayofweek == dayofweek.monday : false, offset=0, style=shape.square, transp=0, text="New York Pre" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 14 and minute == 30 and dayofweek == dayofweek.monday : false, offset=0, style=shape.square, transp=0, text="New York Open" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 16 and minute == 30 and dayofweek == dayofweek.monday : false, offset=0, style=shape.square, transp=0, text="London Close" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 21 and minute == 00 and dayofweek == dayofweek.monday : false, offset=0, style=shape.square, transp=0, text="New York Close" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.monday : false, offset=0, style=shape.square, transp=0, text="Asia Morning" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 06 and minute == 00 and dayofweek == dayofweek.monday : false, offset=0, style=shape.square, transp=0, text="Asia Close" , color=color.white , location = location.top, textcolor=color.white)
// Tuesday Opening Text
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.tuesday : false, offset=0, style=shape.diamond, transp=0, text="Tuesday" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 5 and minute == 0 and dayofweek == dayofweek.tuesday : false, offset=0, style=shape.square, transp=0, text="London Pre" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 8 and minute == 0 and dayofweek == dayofweek.tuesday : false, offset=0, style=shape.square, transp=0, text="London Open" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 11 and minute == 30 and dayofweek == dayofweek.tuesday : false, offset=0, style=shape.square, transp=0, text="New York Pre" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 14 and minute == 30 and dayofweek == dayofweek.tuesday : false, offset=0, style=shape.square, transp=0, text="New York Open" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 16 and minute == 30 and dayofweek == dayofweek.tuesday : false, offset=0, style=shape.square, transp=0, text="London Close" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 21 and minute == 00 and dayofweek == dayofweek.tuesday : false, offset=0, style=shape.square, transp=0, text="New York Close" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.tuesday : false, offset=0, style=shape.square, transp=0, text="Asia Morning" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 06 and minute == 00 and dayofweek == dayofweek.tuesday : false, offset=0, style=shape.square, transp=0, text="Asia Close" , color=color.white , location = location.top, textcolor=color.white)
// Wednesday Opening Text
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.wednesday : false, offset=0, style=shape.diamond, transp=0, text="Wednesday", color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 5 and minute == 0 and dayofweek == dayofweek.wednesday : false, offset=0, style=shape.square, transp=0, text="London Pre" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 8 and minute == 0 and dayofweek == dayofweek.wednesday : false, offset=0, style=shape.square, transp=0, text="London Open" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 11 and minute == 30 and dayofweek == dayofweek.wednesday : false, offset=0, style=shape.square, transp=0, text="New York Pre" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 14 and minute == 30 and dayofweek == dayofweek.wednesday : false, offset=0, style=shape.square, transp=0, text="New York Open" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 16 and minute == 30 and dayofweek == dayofweek.wednesday : false, offset=0, style=shape.square, transp=0, text="London Close" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 21 and minute == 00 and dayofweek == dayofweek.wednesday : false, offset=0, style=shape.square, transp=0, text="New York Close" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.wednesday : false, offset=0, style=shape.square, transp=0, text="Asia Morning" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 06 and minute == 00 and dayofweek == dayofweek.wednesday : false, offset=0, style=shape.square, transp=0, text="Asia Close" , color=color.white , location = location.top, textcolor=color.white)
// Thursday Opening Text
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.thursday : false, offset=0, style=shape.diamond, transp=0, text="Thursday" , color=color.white, location = location.bottom, textcolor=color.white )
plotshape(showDOW and loadIndicator ? hour == 5 and minute == 0 and dayofweek == dayofweek.thursday : false, offset=0, style=shape.square, transp=0, text="London Pre" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 8 and minute == 0 and dayofweek == dayofweek.thursday : false, offset=0, style=shape.square, transp=0, text="London Open" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 11 and minute == 30 and dayofweek == dayofweek.thursday : false, offset=0, style=shape.square, transp=0, text="New York Pre" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 14 and minute == 30 and dayofweek == dayofweek.thursday : false, offset=0, style=shape.square, transp=0, text="New York Open" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 16 and minute == 30 and dayofweek == dayofweek.thursday : false, offset=0, style=shape.square, transp=0, text="London Close" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 21 and minute == 00 and dayofweek == dayofweek.thursday : false, offset=0, style=shape.square, transp=0, text="New York Close" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.thursday : false, offset=0, style=shape.square, transp=0, text="Asia Morning" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 06 and minute == 00 and dayofweek == dayofweek.thursday : false, offset=0, style=shape.square, transp=0, text="Asia Close" , color=color.white , location = location.top, textcolor=color.white)
// Friday Opening Text
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.friday : false, offset=0, style=shape.diamond, transp=0, text="Friday" , color=color.white, location = location.bottom, textcolor=color.white )
plotshape(showDOW and loadIndicator ? hour == 5 and minute == 0 and dayofweek == dayofweek.friday : false, offset=0, style=shape.square, transp=0, text="London Pre" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 8 and minute == 0 and dayofweek == dayofweek.friday : false, offset=0, style=shape.square, transp=0, text="London Open" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 11 and minute == 30 and dayofweek == dayofweek.friday : false, offset=0, style=shape.square, transp=0, text="New York Pre" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 14 and minute == 30 and dayofweek == dayofweek.friday : false, offset=0, style=shape.square, transp=0, text="New York Open" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 16 and minute == 30 and dayofweek == dayofweek.friday : false, offset=0, style=shape.square, transp=0, text="London Close" , color=color.white , location = location.bottom, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 21 and minute == 00 and dayofweek == dayofweek.friday : false, offset=0, style=shape.square, transp=0, text="New York Close" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 0 and minute == 0 and dayofweek == dayofweek.friday : false, offset=0, style=shape.square, transp=0, text="Asia Morning" , color=color.white , location = location.top, textcolor=color.white)
plotshape(showDOW and loadIndicator ? hour == 06 and minute == 00 and dayofweek == dayofweek.friday : false, offset=0, style=shape.square, transp=0, text="Asia Close" , color=color.white , location = location.top, textcolor=color.white)
解决方案
在这种形式下,它适用于所有日内时间框架。
//--------------New York Configuration
NYDOpenInput = input('0930-0931:134567', title="New York Daily Open") //set the opening range you are interested in
NYWOpenInput = input('0930-0931:2', title="New York Weekly Open") //set the opening range you are interested in
// NYDOpen = time("1", NYDOpenInput)
// NYWOpen = time("1", NYWOpenInput)
NYDOpen = time(timeframe.period, NYDOpenInput)
NYWOpen = time(timeframe.period, NYWOpenInput)
var NYDOpenPA = float(na)
if NYDOpen and not NYDOpen[1]
NYDOpenPA := open
var NYWOpenPA = float(na)
if NYWOpen and not NYWOpen[1]
NYWOpenPA := open
plot(not NYDOpen ? NYDOpenPA : na, title="New York D Open", color=color.blue, linewidth=1, style=plot.style_linebr)
plotshape(NYDOpenPA, style=shape.labeldown, location=location.absolute, color=color.blue, textcolor=color.white, show_last=1, text="New York D Open", offset = offset_val, transp=20, title="New York D Open")
plot(not NYWOpen ? NYWOpenPA : na, title="New York W Open", color=color.blue, linewidth=2, style=plot.style_linebr)
plotshape(NYWOpenPA, style=shape.labeldown, location=location.absolute, color=color.blue, textcolor=color.white, show_last=1, text="New York W Open", offset = offset_val, transp=20, title="New York W Open")
推荐阅读
- python - 无法在python中退出循环
- amazon-web-services - AWS Transit Gateway 的限制
- azure - azure 应用服务的构建日志在哪里?
- c++ - 关闭 QT GUI 后如何停止线程
- jenkins - Jenkins 声明性管道:未找到 npm 命令
- snowflake-cloud-data-platform - 雪花如何通过存储过程在阶段执行删除文件?
- ruby-on-rails - 更新多个表值的 Rails 控制器方法
- jq - 使 jq 过滤器适用于 windows
- node.js - MongoDB - 营业时间,按当天排序
- java - 使用 Docker for Mendix 有什么不同?