以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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
--  

追单撤单在这里设置

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

保证成交这个事情,只能交易所来做


--  作者:Ivan
--  发布时间:2014/6/10 11:35:02
--  
以下是引用jinzhe在2014/6/10 9:04:31的发言:

追单撤单在这里设置

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

保证成交这个事情,只能交易所来做

 

怎么改成后台,来运行这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手

那还限制啥,直接在策略里写,具体的开平仓手数就行了