以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]单策略多周期,后台交易限价下单如何保证成交? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=65970) |
-- 作者:Ivan -- 发布时间:2014/6/9 23:11:58 -- [求助]单策略多周期,后台交易限价下单如何保证成交?
图表策略如下:
开多:kd; 平多:pd; 开空:kk; 平空:pk;
sell((pd or kk) and holding>0,limitr,价格); buyshort(kk and holding=0,limitr,价格);
sellshort((kd or pk) and holding<0,limitr,价格); buy(kd and holding=0,limitr,价格);
假如把它改成在后台运行在2分钟到21分钟的20个周期上,限制每个周期最多开平仓1手,限价下单,10秒钟不成交追单保证成交,怎么修改呢? |
-- 作者:jinzhe -- 发布时间:2014/6/10 9:04:31 -- 追单撤单在这里设置
保证成交这个事情,只能交易所来做 |
-- 作者:Ivan -- 发布时间:2014/6/10 11:35:02 --
怎么改成后台,来运行这20个周期呢?怎样保持持仓同步呢? |
-- 作者:jinzhe -- 发布时间:2014/6/10 13:21:59 -- 后台没有持仓同步 |
-- 作者:Ivan -- 发布时间:2014/6/11 9:05:00 -- 以下是引用jinzhe在2014/6/10 13:21:59的发言:
后台没有持仓同步 我说的是单个策略运行在后台多个周期上,每个周期只允许开仓1手,怎么保证总持仓与各周期的持仓保持一致呢? |
-- 作者:fly -- 发布时间:2014/6/11 10:24:40 -- 1.限制每个周期一天最多开平仓1手(多单or空单,一天最多一手),后台使用全局变量控制
//平空 if (kd or pk) and extgbdata(\'flag2\')=2 then begin sellshort(1,1,lmt,价格); extgbdataset(\'flag2\',3); end
//开多,全局变量为0才开多 if kd and extgbdata(\'flag2\')=0 then begin tbuy(1,1,lmt,价格); extgbdataset(\'flag2\',1); end
//平多 if (pd or kk) and extgbdata(\'flag2\')=1 then begin tsell(1,1,lmt,价格); extgbdataset(\'flag2\',3); end
//开空,全局变量为0才开空 if kk and extgbdata(\'flag2\')=0 then begin tbuyshort(1,1,lmt,价格); extgbdataset(\'flag2\',2); end
//每天收盘前,将全局变量赋值为0,否则第二天不开仓 if DYNAINFO(207)>=closetime(0) then extgbdataset(\'flag2\',0);
2.10秒钟不成交追单保证成交 就用2楼说的功能 |
-- 作者:fly -- 发布时间:2014/6/11 10:29:15 -- 6楼是以2分钟周期为例
如果运行在3分钟周期上,就把全局变量改为flag3 |
-- 作者:Ivan -- 发布时间:2014/6/11 11:13:08 -- 以下是引用fly在2014/6/11 10:24:40的发言:
1.限制每个周期一天最多开平仓1手(多单or空单,一天最多一手),后台使用全局变量控制
//平空 if (kd or pk) and extgbdata(\'flag2\')=2 then begin sellshort(1,1,lmt,价格); extgbdataset(\'flag2\',3); end
//开多,全局变量为0才开多 if kd and extgbdata(\'flag2\')=0 then begin tbuy(1,1,lmt,价格); extgbdataset(\'flag2\',1); end
//平多 if (pd or kk) and extgbdata(\'flag2\')=1 then begin tsell(1,1,lmt,价格); extgbdataset(\'flag2\',3); end
//开空,全局变量为0才开空 if kk and extgbdata(\'flag2\')=0 then begin tbuyshort(1,1,lmt,价格); extgbdataset(\'flag2\',2); end
//每天收盘前,将全局变量赋值为0,否则第二天不开仓 if DYNAINFO(207)>=closetime(0) then extgbdataset(\'flag2\',0);
2.10秒钟不成交追单保证成交 就用2楼说的功能 我说的是每个周期开平下单,每次最多1手,而不限制日总手数1手。 用全局变量GLOBALVARIABL或variable变量不行吗? |
-- 作者:Ivan -- 发布时间:2014/6/11 16:17:16 -- 没人回答? |
-- 作者:fly -- 发布时间:2014/6/11 16:47:09 -- 每次最多1手 那还限制啥,直接在策略里写,具体的开平仓手数就行了 |