全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
OnBarClose(ArrayRef<Integer> indexs)设置驱动图层问题
TB_zx888 分享到
2024-04-27 07:21

onbarclose驱动的问题,想咨询下各位老师,现在在某一个品种行情上有加载两个图层,分别是5分钟周期和30分钟周期,设置onbarclose事件驱动的时候,我理解的是ArrayRef<Integer> indexs参数值是数组[0,1],0是5分钟的图层序号,1是30分钟的图层序号,不管哪一个图层bar结束时都会驱动onbarclose,我这么理解对吗?怎么设置只有当30分钟图层上的bar结束时才会驱动onbarclose呢(或者怎么判断当onbarclose驱动时是驱动的哪个图层)?

wangkaiming

onbarclose onbar等驱动力

第一个参数是一个数组

这个数组存的就是当前哪个图层正在驱动

indexs数组你取出来[0,1],说明当前是0 ,1图层驱动。


笼统的讲,图表策略不需要考虑这个问题,你把他当成每个图表自己运行一次就可以

但是如果是精细控制的情况

比如我要求某个图层单独,或者次数等限制

那就是对单独的图层进行操作

2024-04-28 08:56
TB_zx888
@wangkaiming

现在就是想实现的是只有当30分钟周期的一根Bar结束时才去执行onbarclose下面的代码,这个要怎么去实现呢?

2024-05-06 10:35
TB_zx888
@wangkaiming

上面的问题请老师帮忙解答一下子

2024-05-08 16:11
TB_zx888

上面的问题请老师帮忙解答一下子

2024-05-08 16:11
wgy_king
@TB_zx888

If(ArrayFind(indexs,1))//想要控制的图层号

2024-05-08 23:06
TB_zx888
@wgy_king

好的,谢谢老师!

2024-05-10 09:32
kyover

虽然你追问想要帮忙解答,但是一楼王老师的回答已经是标准答案了,这个真不知道怎么帮忙了。

只能再拆碎了说明一下,如果还看不懂,那就真没办法了。

王老师就是让你不要钻牛角尖,换个思路

你现在知道两个图层的bar结束时都会驱动onbarclose,你的需求其实时希望只有30分钟bar结束时驱动,而5分钟bar不驱动onbarclose

本质上,你是希望你onbarclose里的代码,只有在30分钟bar结束时才执行,5分钟bar不执行。

如果上面的推论正确,那么你就可以换个思路,为什么不在onbarclose里把你的代码用if分支结构包起来呢?换言之就是给你想控制执行的代码加个条件,30分钟bar图层结束了才运行,如果只是5分钟bar发生驱动,不执行不就好了吗?

indexes图层参数就是供你确认,到底时5分钟图层驱动还是30分钟驱动的

2024-05-09 08:50
TB_zx888
@kyover

就是老师说的这个意思,好的明白了!

2024-05-10 09:31
您未登录,请先 登录注册 后发表评论
顶部