使用DayBarsNumI 示例提取bar数量
示例直接使用可以print出正常数字
将示例放入 if(barstatus==2){} ,print出来就全是0了
尝试阅读DayBarsNumI 函数源代码,有点费劲,没太看懂。
代码中还出现isadddata(i,k)==False, 文档说isadddata已废除,也没有理解这个函数是什么意思。
总之就是尝试理解为什么将示例放入 if(barstatus==2){} ,print出来就全是0了,但没成功。
想请老师帮忙看看为什么
后来测试的啥结果?
我看老刘之前回答别人大概意思是说
这个函数返回的是
订阅的数据到当前bar一个交易日时间段的计数
并不是函数字面意思的当前品种一个交易日含多少个切片的计数
因为我后期一个策略可能在日线级别以下
如果不是函数字面意思
我还得订阅日线数据、日线级以下大切片数据、颗粒度更小的如5m扫描切片
我阅读代码的能力有点弱,特别是循环。
仔细看了源代码,好像懂了你说的这句意思:“订阅的数据到当前bar一个交易日时间段的计数”
比如当前是实时行情,已经走到第4根bar了。就是从前一日的第4根bar数到今天第4根,看有多少根。
使用代码:bar_num = DayBarsNumI(0,2);//回溯两天前的bar数量
2024年9月18日只有4根小时线,在9月21日夜盘开始能显示出来。
暂时想象不出来这种会影响哪些场景的使用。
还有一个值得注意:数据跟随的K线切割方式。比如欧线,自然时间是小时bar是5,按完全交易时段就是4。
有空我仔细看看🤝
我现在有个场景
只是一个思路和计划
日内期权策略
不过半个月没写了
因为期权无法回溯
所以只需要在最后一个bar时候
根据日线级close[1]订阅需要交易的两个期权合约
考虑代码通用性
可能盘前、盘中启动策略的两种情况
那么就是close、close[1]两种情况
还要考虑D0日线、N个小时通用性
本来想用切片数+onbaropen判定最后当前bar性质
是切片最后计数则用Close
是切片过程中则用close[1]
判定行权价并订阅2个期权合约
如果这个函数不可用
那我只能冗余点
D0为1d
D1为1d或Nh
D2为Call
D3为Put
确保稳定性
距离理解你的思路似乎还有很远的路要走🤣
还没有开始写期权相关的
不过 ,期权居然无法回溯,这好像很不合理
嗯是的。
这事实上是统计当前k线图表里的出现的k线数量。
比如你参数填1,那就找图标上昨天有多少根k线,以此类推。
如果某些不活跃的合约,每天的k线数量或多或少,这个东西返回的数量也是会有变化的
因为daybarsnumi是一个序列对象,不能放在或有执行的结构里,简单来说就是类似分支,循环等结构中,如果不能保证每次驱动都执执行该对象的算法,那就会计算出错。
谢谢老师。那就是还是没有真正完全掌握series!ღ( ´・ᴗ・` )比心
看一下零基础课程里的,序列对象使用须知,里面详细介绍了