这里有个问题, 我在满足开仓条件之后,当符合一定条件之后,我要止盈一笔,需要通过全局变量来控制止盈次数(只需要一笔)。可是当我设定一个全局变量X来存储来存储止盈次数的时候,遇到问题。
首先初始化variable: x=0
当x=0且满足止盈条件的时候,止盈;
然后赋值X:=1
;
结果发现,止盈语句无法被触发了,估计是X被重新赋值后导致条件不满足了,请问这种情况下有什么别的方法吗?
谢谢!
比如我开仓了20手,符合条件的时候止盈10手,但是剩余持仓的10手不需要再次止盈,所以需要一个变量来存储是否止盈过。
处理逻辑是
variable: x=0
if x=0 and 满足止盈条件 then bgin
止盈;
X:=1;
end
如果是的话,程序执行逻辑没有问题,只会在历史上止盈一次。后续止盈部分不会在生效。
如果你需要后续在特定点恢复止盈,应该再次将X置为0
它只在历史k上,第一次触发止损的位置符合后,在向后X的值都是1了,当然不会在出现止损信号了。
你后面需要在一个特定的情况下,恢复止盈限制的标志位。例如在holding=0时,让X=0。
但是第一次止盈的信号应该有啊
现在问题是这样, 假如我没有设置X这个全局变量, 仅仅符合条件就进行止盈操作,那么图表上会出现N个止盈信号,为了屏蔽第一次之后的止盈,
我设立X这个全局变量初始为0,并且在止盈之后就把X设成1,但是此时图表上一个止盈信号都没有了,理论上不是第一个符合条件的止盈信号应该有啊,因为此时X还没有被设置成1啊。
1.你先限制下你的k线数量,然后向下键扩充限制的全部数据。
你没看到,应该是历史上参与计算的k线没有被拉出来。
你说的意思我懂了,我从这个上面去查找一下。
主要之前印象中有看到说图表程序化交易的信号消失问题,所以一直被困在这里。
多谢指点!