以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 多帐号的新问题 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=148902) |
-- 作者:spunk -- 发布时间:2017/3/9 13:20:15 -- 多帐号的新问题 variable:billcount[6]=\'abc\'; for j=1 to 6 do begin buyhold:=TBUYHOLDINGex(zhanghao,\'\',0); debugout(\'buyhold=%.0f,\'+zhanghao,buyhold); 上面的程序,后台执行,周期选择1分钟,执行品种选择if03,多帐号及策略系数那里全部帐号都勾选。发现开始执行后会再帐号\'613992\'开1手,然后过了1分钟才在第2个帐号开1手,再过1分钟在第3个帐号开仓。而我希望达到的效果是第1分钟就6个帐号每个开1手,请问程序哪里有问题,还是有什么地方需要设置? |
-- 作者:gxx978 -- 发布时间:2017/3/9 13:31:10 -- 金字塔中,for循环语句在当根K线上也只会执行一次交易动作,不会起到循环买入的效果。你要想达到判断持仓再买入的话,那就需要每一个账户检查下持仓,不要使用for循环。 |
-- 作者:spunk -- 发布时间:2017/3/9 13:33:18 -- 那如果使用VBA程序的for循环能不能达到我想要的效果? |
-- 作者:gxx978 -- 发布时间:2017/3/9 13:40:52 -- VBA是否能实现你可以起高级区咨询下。另外前面的回复我修正一下,要想在后台使用for的重复下单,可以在tbuy函数后面加上ALLOWREPEAT,实现重复下单,仅适用于后台。 |
-- 作者:spunk -- 发布时间:2017/3/9 13:59:08 -- 试了下,加上这个后,确实可以一次6个帐号都下单。但是我选择10秒间隔预警,然后就每10秒出来一次信号,虽然实际帐号并没有下单
|
-- 作者:gxx978 -- 发布时间:2017/3/9 14:10:39 -- 使用ALLOWREPEAT函数,虽然能起到重复开仓的效果,但是在固定时间间隔下,也控制不了开仓多少次,检测到信号存在,就会重复开仓。所以可以直接判断账户的持仓情况,分多条开仓语句来实现。 |
-- 作者:spunk -- 发布时间:2017/3/9 14:17:01 -- 每个帐号重复一遍程序是可以实现的,只是加上全部的仓位控制相关语句,搞得程序很臃肿。希望以后能提供一个单独的循环语句可以达到这样的效果 |
-- 作者:wenarm -- 发布时间:2017/3/9 14:39:50 -- tbuy函数如果不指定账户,在触发下单语句后,你登录的每个账户都会依次下单的。没有必要用你上面的方式实现 |