以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 全局变量赋值后,怎么被恢复为初始值呢? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=68976) |
-- 作者:ivan -- 发布时间:2014/8/20 11:44:10 -- 全局变量赋值后,怎么被恢复为初始值呢? GLOBALVARIABLE:kcss=0,kg=1; if TISPRVREMAIN(1) then BEGIN TBUYSHORT(1,1,MKT,0,0,\'\',jq); MSGOUT(1,\'jq开空\'); kcss=kcss+1; MSGOUT(1,NUMTOSTR(kcss,0)); sleep(2080); end 全局变量赋值后,怎么被恢复为初始值呢? 这个kcss变量,刚加上1后,kcss=1,再轮询又发现kcss=0 到底怎么处理才好呢?
|
-- 作者:Ivan -- 发布时间:2014/8/20 11:57:35 -- 不要用数据库全局变量来处理,否则多品种多周期组合时,数据库全局变量太多,不好管理。 |
-- 作者:admin -- 发布时间:2014/8/20 11:59:51 -- 如果你中间停止过后台程序化那么他会被重新赋值的,或者你中间就是有其他代码又重新赋值了,建议你用debugfile函数在kcss所有赋值的地方都加上跟踪一下 |
-- 作者:Ivan -- 发布时间:2014/8/20 12:24:51 -- 我在代码中用了msgout监控啊,看到就是刚赋值+1,kcss=1,下一轮询又发生kcss=0了 |
-- 作者:Ivan -- 发布时间:2014/8/20 12:29:47 -- 没有其它代码会对kcss赋值,只有在平仓代码里会-1,别的地方都没有对kcss操作,监控里也没看到平仓提示的: if kg=1 then BEGIN TSELLSHORT(1,1,LMT,c,0,\'\',yq); kg:=0; MSGOUT(1,\'yq平空\'); end if TISPRVREMAIN(4) then BEGIN TSELL(1,1,MKT,0,0,\'\',jq); MSGOUT(1,\'jq平多\'); kcss:=kcss-1; MSGOUT(1,NUMTOSTR(kcss,0)); sleep(2080); end |
-- 作者:yukizzc -- 发布时间:2014/8/20 13:53:27 -- 没有发现你这种情况,你用这段代码测试看,如果每次轮询kcss都重置的话他会重复去开多的,但事实没有。你应该是-1的操作触发了吧 GLOBALVARIABLE:kcss=0,kg=1; if kcss=0 then |
-- 作者:Ivan -- 发布时间:2014/8/20 16:16:28 -- if kg=1 then BEGIN TSELLSHORT(1,1,LMT,c,0,\'\',yq); kg:=0; MSGOUT(1,\'yq平空\'); end if TISPRVREMAIN(4) then BEGIN TSELL(1,1,MKT,0,0,\'\',jq); MSGOUT(1,\'jq平多\'); kcss:=kcss-1; EXTGBDATASET(\'kcss\',kcss1-1); MSGOUT(1,NUMTOSTR(kcss,0)); sleep(2080); end 只有这个地方会-1操作,但如果进入这里的话,那么会输出‘jg平多\'的,但从监控来看从来没有没看到这个输出结果。 会不会跟下面代码最后一行有关? input:ss(3,1,10,1); VARIABLE:kcss=0,kg=1; kcss1:=EXTGBDATA(\'kcss\'); //后台模式 if not(islastbar) or workmode<>1 then exit; |
-- 作者:yukizzc -- 发布时间:2014/8/20 16:20:39 -- 你下面又用variable定义kcss?? variable定义的全局变量单根k中会重新初始化的,你用的GLOBALVARIABLE不会有这个情况。 |
-- 作者:RogarZ -- 发布时间:2014/8/20 17:14:02 -- WRITEINIFILE GETINIFILE 早就支持写文件了 直接写文件吧 怎么也不会乱 管理也简单
[此贴子已经被作者于2014/8/20 17:14:12编辑过]
|
-- 作者:Ivan -- 发布时间:2014/8/21 14:08:06 -- 写文件会不会影响速度啊? 另外TISPRVREMAIN(4)是指本策略下的上笔交易,还是包含所有后台交易其它下的单子呢?
|