以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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 .........这样才严谨 |