for循环的问题

老师好,每次开仓的时候我都把开仓价格记入一个数组,当后续行情达成一定条件的时候我需要用循环遍历这个数组每笔开仓的成本并与当前价格进行对比,如果价差之间的跳数超过20跳,就止盈平仓,并把数组内对应的元素给移除掉。我写出来了我感觉是对的,但跑出来的结果不对,我也不知道原因在哪,还请老师指教。

开仓部分代码(onbar close):

止盈部分代码(onbar):

还有就是怎么动态检测数组内的元素内容?print和commentary好像都不行,以及这种循环的写法我都不知道对不对。


关于退出for循环的问题
for循环问题
循环语句
奇数图层循环问题
关于跨周期情况下数组被循环赋值的问题
让交易循环起来
循环里,怎么把序列函数放在循环外,而不会触发警告?
for 循环怎么写Break?
关于IF或者循环程序体内不能用序列变量的疑问
循环BUG,求解答

看得云里雾里的。

代码没有注释,也没有业务逻辑的说明

“’即使当前价格和开仓价格之间小于20跳,它还是执行了后面的交易代码。“

这是指哪部分代码?全都模糊不清,这怎么看。

正常来说这种模型执行的问题,都是自己用输出语句慢慢调试一些关键容器在各种关键节点内容和执行是否正常,也就是验算。

至于你说的print不行,我不知道为什么不行,print和commentary都是我一直常用的输出手段,一直都很要用。

https://www.bilibili.com/video/BV16N411s7iA/?spm_id_from=333.999.0.0

这个是介绍输出工作如何对策略模型诊断的你看看

跑图的结果就是 if(tickdiff > exittarget)这个条件达成了,即使当前价格和开仓价格之间小于20跳,它还是执行了后面的交易代码。