以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  全局变量在图表程序化交易中如何使用  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=155337)

--  作者:李熵影
--  发布时间:2017/6/22 12:14:23
--  全局变量在图表程序化交易中如何使用
这里有个问题, 我在满足开仓条件之后,当符合一定条件之后,我要止盈一笔,需要通过全局变量来控制止盈次数(只需要一笔)。可是当我设定一个全局变量X来存储来存储止盈次数的时候,遇到问题。

首先初始化variable: x=0
当x=0且满足止盈条件的时候,止盈;
然后赋值X:=1
结果发现,止盈语句无法被触发了,估计是X被重新赋值后导致条件不满足了,请问这种情况下有什么别的方法吗?

谢谢!

--  作者:李熵影
--  发布时间:2017/6/22 12:44:29
--  
比如我开仓了20手,符合条件的时候止盈10手,但是剩余持仓的10手不需要再次止盈,所以需要一个变量来存储是否止盈过。
--  作者:wenarm
--  发布时间:2017/6/22 13:09:08
--  

处理逻辑是

variable: x=0
 if  x=0  and  满足止盈条件  then  bgin
     止盈;
     X:=1;
end

如果是的话,程序执行逻辑没有问题,只会在历史上止盈一次。后续止盈部分不会在生效。

如果你需要后续在特定点恢复止盈,应该再次将X置为0


--  作者:李熵影
--  发布时间:2017/6/22 15:44:31
--  
我就是这样写的,
但是加入上述这段逻辑后,图表上看不到止盈信号。 
当我把X:=1屏蔽掉之后,图标上止盈信号出现了。
所以感觉很困惑。

--  作者:wenarm
--  发布时间:2017/6/22 16:05:17
--  

它只在历史k上,第一次触发止损的位置符合后,在向后X的值都是1了,当然不会在出现止损信号了。

你后面需要在一个特定的情况下,恢复止盈限制的标志位。例如在holding=0时,让X=0。


--  作者:李熵影
--  发布时间:2017/6/22 17:01:02
--  
但是第一次止盈的信号应该有啊

现在问题是这样, 假如我没有设置X这个全局变量, 仅仅符合条件就进行止盈操作,那么图表上会出现N个止盈信号,为了屏蔽第一次之后的止盈,

我设立X这个全局变量初始为0,并且在止盈之后就把X设成1,但是此时图表上一个止盈信号都没有了,理论上不是第一个符合条件的止盈信号应该有啊,因为此时X还没有被设置成1啊。



--  作者:wenarm
--  发布时间:2017/6/22 17:10:51
--  

1.你先限制下你的k线数量,然后向下键扩充限制的全部数据。

你没看到,应该是历史上参与计算的k线没有被拉出来。


--  作者:李熵影
--  发布时间:2017/6/22 17:17:48
--  
你说的意思我懂了,我从这个上面去查找一下。

主要之前印象中有看到说图表程序化交易的信号消失问题,所以一直被困在这里。

多谢指点!