以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]序列变量记录  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=61112)

--  作者:zhongfangxin
--  发布时间:2014/1/20 10:26:55
--  [求助]序列变量记录

variable:cc=0;
cc:=ref(cc,1);
if pd=1 then CC:=0;
if Pk=1 then CC:=0;
if KD=1 then CC:=CC+1;
if Kk=1 then CC:=CC-1;
我想用CC来记录开平仓记录,在后台程序化和序列模式下,但每计算一次序列变量cc都会被清零,如何保持cc和理论仓位一致?

--  作者:jinzhe
--  发布时间:2014/1/20 10:30:19
--  
cc:=ref(cc,1);
这个一句加来干什么,这一句加上你全局变量不就白定义了
--  作者:zhongfangxin
--  发布时间:2014/1/20 10:34:11
--  
我的意思是当没有出现任何更改cc值得条件时,cc值维持上个周期值不变
--  作者:zhongfangxin
--  发布时间:2014/1/20 10:50:20
--  
请教,如果想达到我的目的,该如何编写,在序列计算下每次运算不会重新将全局变量初始化
--  作者:jinzhe
--  发布时间:2014/1/20 10:57:06
--  
variable:cc=0;
if pd=1 then CC:=0;
if Pk=1 then CC:=0;
if KD=1 then CC:=CC+1;
if Kk=1 then CC:=CC-1;
if not(pd) and not(pk) and not(kd) and not(kk) and barpso>1 then cc:=ref(cc,1);
[此贴子已经被作者于2014/1/20 10:57:42编辑过]

--  作者:zhongfangxin
--  发布时间:2014/1/20 11:11:41
--  
你好,测试不正确,上一周期开空,cc值为-1,下一周期没有任何开平仓信号,cc值为0,而我希望cc值保持-1
--  作者:jinzhe
--  发布时间:2014/1/20 11:18:32
--  
那是你代码不正确,满足了pd或者pk才会变为0,你看看pd和pk是怎么定义的
--  作者:zhongfangxin
--  发布时间:2014/1/20 11:29:28
--  
以下是我的监控日志,我把开平仓条件加入监控:
14.01.20 11:19:00 IF02
TSell 无有效可平仓数量
14.01.20 11:19:00 IF02
TSell 已成功触发下单操作 价格:2187.800049 数量:0
14.01.20 11:19:00 IF02
TBuyShort 已成功触发下单操作 价格:2187.800049 数量:1
14.01.20 11:19:00 IF02
kk1.00
14.01.20 11:19:00 IF02
kd0.00
14.01.20 11:19:00 IF02
pk0.00
14.01.20 11:19:00 IF02
pd1.00
14.01.20 11:19:00 IF02
cc-1.00
14.01.20 11:19:00 IF02
运行结束
14.01.20 11:20:00 IF02
kk0.00
14.01.20 11:20:00 IF02
kd0.00
14.01.20 11:20:00 IF02
pk0.00
14.01.20 11:20:00 IF02
pd0.00
14.01.20 11:20:00 IF02
cc0.00
14.01.20 11:20:00 IF02
运行结束

可以发现,在19分的时候有kk,同时cc=-1,20分的时候无任何条件,cc=0,求指教!

--  作者:zhongfangxin
--  发布时间:2014/1/20 13:47:57
--  
请教,在线等
--  作者:jinzhe
--  发布时间:2014/1/20 14:00:18
--  

后台交易?

那么不要用图表的全局变量定义,要用

extgbdataset或者GLOBALVARIABLE

而且你那个全局变量是不谨慎的,if kd then .....这样定义不严谨,你要做个持仓判断再赋值,比如: if kd and 持仓判断 then .........这样才严谨