datetime - 日期时间系列问题 PinScript
问题描述
我正在努力用“前一个交易日”的高/低枢轴点填充一个数组,但我在时间序列方面遇到了问题(下面的第二部分!)。我不确定是 PineScript 的错误还是我对时间序列函数如何工作的误解!请帮助,非常组织细节。
调用当前交易日,然后选择常规时段(这部分没有问题)
//------------------ Selected Day of Trading
//Start Day
Start_Period= timestamp(syminfo.timezone, 2020, 12, 09, 00, 00, 00)
//End Day
End_Period = timestamp(syminfo.timezone, 2020, 12, 09, 23, 59, 59)
//------------------ Filtring Session
// Regular Session
t_reg = time("1440", session.regular)
该问题仅在此编码框中。
Pine 脚本无法识别结果Change_Time
// Detect the change of time between selected day trading and most recent day trading (t-t[1])
Change_Time = security(syminfo.tickerid, "1440", change(time))
FunYesterday()=>
if time >= Start_Period-Change_Time and time <= End_Period-Change_Time and t_reg
[pivothigh(close, 3, 2), pivotlow(close, 3, 2)]
但是,如果我替换的security
功能Change_time= 60*60*24*1000
会正常工作!!,但由于周末和其他假期的时间限制,我尽量避免使用这种方法。
最后一节找到 Pivot 并创建数组(这部分没有问题)
//------------------ Pivot point at 15 min.
[ph2, pl2] = security(syminfo.tickerid, "15", FunYesterday(), lookahead = barmerge.lookahead_off)
ph2_filter= ph2 == ph2[1]?na:ph2
pl2_filter= pl2 == pl2[1]?na:pl2
//------------------ Array Part
var a = array.new_float()
if (not na(ph2_filter))
array.push(a,ph2_filter)
else if (not na(pl2_filter))
array.push(a,pl2_filter)
if barstate.islast and array.size(a)>0
y=label.new(bar_index, close, "Initial\na: " + tostring(a))
label.delete(y[1])
如果您有任何其他想法仅导入最近交易日的数据,我非常愿意!谢谢
解决方案
推荐阅读
- vue.js - 如何让 VueJS 组件仅作为包装器工作,而不是控制所有 html?
- javascript - 页面重定向后 Javascript 停止工作 (ANGULAR)
- angular - 如何在没有此对象的角度打字稿中调用类中的方法
- c++ - 用 C++ 编写的 Bash 动态可加载内建不能启用?
- java - Apache Ignite:通过 PreapredStatement 插入带有复合键的 SQL
- android - 查找安装在android手机上的laravel项目的目录路径
- mysql - MySQL将两个表与另一个表链接并运行过滤查询
- maven - SRC & TEST 文件夹下 Cucumber + Maven + POM 项目的目录结构
- java - Spring Boot JSON解析错误:无法反序列化错误
- java - 在 JSF primefaces 中限制文件上传大小和文件类型