DayBarsNumI 函数

使用DayBarsNumI 示例提取bar数量

示例直接使用可以print出正常数字

将示例放入 if(barstatus==2){} ,print出来就全是0了

尝试阅读DayBarsNumI 函数源代码,有点费劲,没太看懂。

代码中还出现isadddata(i,k)==False, 文档说isadddata已废除,也没有理解这个函数是什么意思。


总之就是尝试理解为什么将示例放入 if(barstatus==2){} ,print出来就全是0了,但没成功。

想请老师帮忙看看为什么


DayBarsNumI()函数可以用于历史回测不?
下面这个循环如何避免报错“ 警告,FOR,WHILE,IF,ELSE中包含序列函数,可能存在潜在的逻辑错误。请确认代码无误,144,2002,用户策略”
buy函数,marketposition函数
A函数和回测函数
a函数
Q函数和Q函数软件中所有函数的解释总表
A函数
咨询函数
函数
函数咨询

这个函数好像没啥用

听老师的 尽量都放在小周期做 确实就没用过了

在那个 四周 的视频里学到一招

即使用到大周期的数据,也是把大周期的结果赋值给小周期再用

好用!

后来测试的啥结果?

我看老刘之前回答别人大概意思是说

这个函数返回的是

订阅的数据到当前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!ღ( ´・ᴗ・` )比心

看一下零基础课程里的,序列对象使用须知,里面详细介绍了