以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 全局变量 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=148011) |
-- 作者:林华强 -- 发布时间:2017/2/21 13:00:36 -- 全局变量 variable:cs1=0; variable这个函数是不是程序每个tick运行一次都会将cs1初始化为0?
|
-- 作者:jinzhe -- 发布时间:2017/2/21 13:06:23 -- 不会,全局变量只会初始化一次, |
-- 作者:林华强 -- 发布时间:2017/2/21 14:39:17 -- 不对啊,这是我的部分代码: variable:cs1=0, cs2=0, 开多条件:=DOWN_NUM > UP_NUM AND WR <= WR_DOWN; 开空条件:=UP_NUM > DOWN_NUMAND WR >= WR_UP; IF BARNUM = 1 THEN BEGIN cs1:= 0; cs2:= 0; END; //多空轮流转换 if 开多条件 and UP_NUM<BARNUM and DOWN_NUM<BARNUM then begin cs1:=cs1+1; cs2:=0; end if 开空条件 and UP_NUM<BARNUM and DOWN_NUM<BARNUM then begin cs1:=0; cs2:=cs2+1; end 1.但是按照我这段代码的逻辑cs1本应该随着我每次开仓条件的满足而自加一,但是输出的数据显示cs1始终为1,我猜测是因为variable函数每次tick都把cs1赋值为0,所每次开仓条件满足自加一还是一。
|
-- 作者:jinzhe -- 发布时间:2017/2/21 15:04:54 -- 一根k线里面是不会变化的 |
-- 作者:jinzhe -- 发布时间:2017/2/21 15:05:41 -- 还有你的全局变量定义,写完整,写正确,你那样的全局变量定义,是不会通过编译的 |
-- 作者:林华强 -- 发布时间:2017/2/21 15:50:52 -- 你看我红色框里的数据,cs1在13:28这一分钟里还是会随着开仓条件变得 |
-- 作者:jinzhe -- 发布时间:2017/2/21 15:57:53 -- 不会变化的意思是不会随着来一笔数据累加一次 你把你的全局变量定义再发一次,发正确能通过编译的 |
-- 作者:jinzhe -- 发布时间:2017/2/21 15:59:33 -- 如果上根k线上,全局变量的值为0,那么在当根k线,开多条件成立全局变量就变成1,当根k线内不会自动累加,满足条件就是1,不满足条件就又会变回0 |