onbarclose驱动的问题,想咨询下各位老师,现在在某一个品种行情上有加载两个图层,分别是5分钟周期和30分钟周期,设置onbarclose事件驱动的时候,我理解的是ArrayRef<Integer> indexs参数值是数组[0,1],0是5分钟的图层序号,1是30分钟的图层序号,不管哪一个图层bar结束时都会驱动onbarclose,我这么理解对吗?怎么设置只有当30分钟图层上的bar结束时才会驱动onbarclose呢(或者怎么判断当onbarclose驱动时是驱动的哪个图层)?
虽然你追问想要帮忙解答,但是一楼王老师的回答已经是标准答案了,这个真不知道怎么帮忙了。
只能再拆碎了说明一下,如果还看不懂,那就真没办法了。
王老师就是让你不要钻牛角尖,换个思路
你现在知道两个图层的bar结束时都会驱动onbarclose,你的需求其实时希望只有30分钟bar结束时驱动,而5分钟bar不驱动onbarclose
本质上,你是希望你onbarclose里的代码,只有在30分钟bar结束时才执行,5分钟bar不执行。
如果上面的推论正确,那么你就可以换个思路,为什么不在onbarclose里把你的代码用if分支结构包起来呢?换言之就是给你想控制执行的代码加个条件,30分钟bar图层结束了才运行,如果只是5分钟bar发生驱动,不执行不就好了吗?
indexes图层参数就是供你确认,到底时5分钟图层驱动还是30分钟驱动的
就是老师说的这个意思,好的明白了!
上面的问题请老师帮忙解答一下子
If(ArrayFind(indexs,1))//想要控制的图层号
好的,谢谢老师!
onbarclose onbar等驱动力
第一个参数是一个数组
这个数组存的就是当前哪个图层正在驱动
indexs数组你取出来[0,1],说明当前是0 ,1图层驱动。
笼统的讲,图表策略不需要考虑这个问题,你把他当成每个图表自己运行一次就可以
但是如果是精细控制的情况
比如我要求某个图层单独,或者次数等限制
那就是对单独的图层进行操作
现在就是想实现的是只有当30分钟周期的一根Bar结束时才去执行onbarclose下面的代码,这个要怎么去实现呢?
上面的问题请老师帮忙解答一下子