以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  后台程序化交易模拟持仓问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=143528)

--  作者:kulolo
--  发布时间:2016/11/29 15:16:49
--  后台程序化交易模拟持仓问题

请问各位老师一个问题,比如说我写了一个自定义输入一个参数值没的程序,

然后通过判断当前持仓数来决定下多单空单还是平仓,但是在模拟的时候出现了一个问题,

就是后台程序似乎没有判断出持仓数,本来只下一手的单的模拟的时候却一直在下单下单

麻烦各位老师帮我看看代码哪里出现了问题

INPUT:N(120,50,250,10);  //止损点数
INPUT:M(1,0,1,1);        //M=1表示下一周期预测收阳,M=0表示下一周期预测收阴,

持仓数:=THOLDING;
DEBUGOUT(\'当前持仓数为%.2f\',持仓数);
OO: CALLSTOCK(\'IC00\',VTOPEN,7);     //IC00当周开盘价
ED:= OO - CLOSE > N ;               //当周开盘价与今周期收盘价之差是否大于止损点数(多头止损)
EF:= CLOSE - OO > N ;               //今周期收盘价与当周开盘价之差是否大于止损点数(空头止损)

PD:= ED AND 持仓数=1;    //多头止损条件
PK:= EF AND 持仓数=-1;   //空头止损条件

if M=1 then
 begin
   if  持仓数=0 then begin
   开多:TBUY(1,1,MKT);           //开多信号
   end
   if  持仓数=-1 then begin
   平空:TSELLSHORT(1,1,MKT);     //平空信号
   end
end 
  

if M=-1 then
 begin
   if  持仓数=0 OR PK then begin
   开空:TBUYSHORT(1,1,MKT);     //开空信号
   end
   if  持仓数=1 OR PD then begin
   平多:TSELL(1,1,MKT);        //平多信号
   end
end
  


--  作者:kulolo
--  发布时间:2016/11/29 15:23:18
--  

它每隔一个周期就会下一次单,说明我 \'持仓数=0 \'这个语句有问题,请问是哪里出错了


--  作者:jinzhe
--  发布时间:2016/11/29 15:26:01
--  

发下单日志


--  作者:kulolo
--  发布时间:2016/11/29 15:30:49
--  

我用的是一分钟周期

 

 

 

 

5       IC00500股指连续    2016/11/28 13:00:01    开多    1         6591.4    2                       614842
6       IC00500股指连续    2016/11/28 13:01:06    开多    1         6589.0    0                       614842
7       IC00500股指连续    2016/11/28 13:02:15    开多    1         6586.2    1                       614842
8       IC00500股指连续    2016/11/28 13:03:02    开多    1         6584.0    0                       614842
9       IC00500股指连续    2016/11/28 13:04:07    开多    1         6586.0    0                       614842
10      IC00500股指连续    2016/11/28 13:05:00    开多    1         6584.8    2                       614842
11      IC00500股指连续    2016/11/28 13:06:15    开多    1         6584.4    1                       614842
12      IC00500股指连续    2016/11/28 13:07:09    开多    1         6584.8    1                       614842
13      IC00500股指连续    2016/11/28 13:08:23    开多    1         6584.4    0                       614842
14      IC00500股指连续    2016/11/28 13:09:00    开多    1         6583.8    0                       614842
15      IC00500股指连续    2016/11/28 13:10:05    开多    1         6582.0    1                       614842
16      IC00500股指连续    2016/11/28 13:11:07    开多    1         6583.8    0                       614842
17      IC00500股指连续    2016/11/28 13:12:00    开多    1         6584.2    0                       614842
18      IC00500股指连续    2016/11/28 13:13:06    开多    1         6583.6    1                       614842
19      IC00500股指连续    2016/11/28 13:14:19    开多    1         6583.2    0                       614842
20      IC00500股指连续    2016/11/28 13:15:01    开多    1         6586.4    0                       614842


--  作者:jinzhe
--  发布时间:2016/11/29 15:37:04
--  
这个勾了吗
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:kulolo
--  发布时间:2016/11/29 15:46:33
--  

没有勾选,是这个的问题吗

 


--  作者:jinzhe
--  发布时间:2016/11/29 15:48:23
--  

不是这个的问题,这是一个下单日志,用来查找你问题的原因的

用户勾一下,然后记住提示给的地址,下次出问题时就发对应的日志上来


--  作者:kulolo
--  发布时间:2016/11/30 9:44:13
--  
2016-11-30 09:39:44.369    【下单】600599 价40.450001 量1200 买卖0 类型0 开平0 账户60003161 Formula 1
2016-11-30 09:39:44.369    【下单】已提交,订单ID :1091
2016-11-30 09:39:44.431    【指令】收到回报指令 ID = 1091
2016-11-30 09:39:44.447    【回报】60003161 : 600599 - 已报单 1200 价格:40.45 开 买
2016-11-30 09:39:44.462    【指令】收到成交回报指令 ORDERID = 1091
2016-11-30 09:39:44.462    【回报】60003161 : 600599 - 已成交 1200 价格:39.45 开 买
2016-11-30 09:39:44.462    【回报】60003161 : 600599 - 全部成交 1200
2016-11-30 09:39:48.331    【回报】614842 : 登录成功
2016-11-30 09:39:59.126    【后台】 启动后台程式化交易
2016-11-30 09:39:59.126    【后台】IC00 运行结束
2016-11-30 09:40:06.068    【后台】IC00 TBuy 第 9 行出现信号
2016-11-30 09:40:06.068    【后台】IC00 TBuy 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:IC00
2016-11-30 09:40:06.068    【后台】启用多帐户及策略系数配置
2016-11-30 09:40:06.068    【后台】多账户及策略系数 委托账户或者组:
2016-11-30 09:40:06.068    【后台】CTP登录账户 0 个
2016-11-30 09:40:06.068    【后台】金仕达登录账户 0 个
2016-11-30 09:40:06.068    【后台】恒生登录账户 0 个
2016-11-30 09:40:06.068    【后台】子账户 登录账户 0 个
2016-11-30 09:40:06.068    【后台】扩展接口 登录账户 2 个
2016-11-30 09:40:06.068    【后台】账户 60003161 未勾选,不做下单处理
2016-11-30 09:40:06.068    【后台】 帐户  下单
2016-11-30 09:40:06.084    【后台】账户 614842 下单系数为1.000000
2016-11-30 09:40:06.084    【后台】账户 614842 下单,系数调整后下单量:1
2016-11-30 09:40:06.084    【后台】分品种调整后下单量:1
2016-11-30 09:40:06.084    【后台】下单已发送
2016-11-30 09:40:06.084    【后台】IC00 运行结束
2016-11-30 09:40:06.084    【下单】IC12 价0.000000 量1 买卖0 类型1 开平0 账户614842 Formula 1
2016-11-30 09:40:06.084    【下单】已提交,订单ID :1311140407
2016-11-30 09:40:06.178    【指令】收到回报指令 ID = 1311140407
2016-11-30 09:40:06.193    【回报】614842 : IC1612 - 已报单 1 价格:0.0 开 买
2016-11-30 09:40:06.193    【指令】收到回报指令 ID = 1311140407
2016-11-30 09:40:06.193    【指令】收到回报指令 ID = 1311140407
2016-11-30 09:40:06.193    【指令】收到成交回报指令 ORDERID = 1311140407
2016-11-30 09:40:06.209    【回报】614842 : IC1612 - 已成交 1 价格:6544.0 开 买
2016-11-30 09:40:06.209    【回报】614842 : IC1612 - 全部成交 1

--  作者:kulolo
--  发布时间:2016/11/30 9:47:26
--  

今天开盘的下单日志,麻烦老师帮我看看是怎么回事


--  作者:jinzhe
--  发布时间:2016/11/30 9:54:31
--  
这个日志要表达什么意思?能说明什么问题?