以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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 -- 你说的意思我懂了,我从这个上面去查找一下。 主要之前印象中有看到说图表程序化交易的信号消失问题,所以一直被困在这里。 多谢指点!
|