Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共25 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

标题:信达证券实盘交易下单问题求助

1楼
youthto 发表于:2017/11/6 21:49:57

问题描述:

同样的代码,是使用官方的案例修改的,实盘买单不成功,请问需要如何修改

 

代码片段如下:

手数 := 1000;

 

 //and c3 
 if (HOLDING=0) and date=CURRENTDATE then
 begin
  if  c1 and c2  and c4 and c5   then
  begin
   开多条件:=1;
   ORDER_TYPE:='ts1';
   orderTop:=0;
  end
 end 
 
 //交易系统
 平多:SELL(平多条件,手数,MARKET);
 开多:BUY(开多条件,手数,MARKET);

 

在使用金字塔官方版,使用模拟账号时,可以触发买单,并且买入成功,   日志如下

 

2017-10-26 14:36:21.631    2017.10.26 14:36:21【图表】框架:CompagesMore 触发下单 BUY 品种 002315 下单K线 2017.10.26 14:36:00 公式:ts1 窗格ID:6 代码行:175
2017-10-26 14:36:21.632    【图表】模型下单 1000
2017-10-26 14:36:21.633    【图表】下单系数调整后 手数:1000
2017-10-26 14:36:21.633    【图表】直接下单
2017-10-26 14:36:21.636    【图表】002315 运行完毕
2017-10-26 14:36:21.637    【下单】002315 价0.000000 量1000 买卖0 类型1 开平0 账户60004661 Formula 1
2017-10-26 14:36:21.638    【下单】已提交,订单ID :143
2017-10-26 14:36:21.670    【指令】收到回报指令 ID = 143
2017-10-26 14:36:21.682    【回报】60004661 : 002315 - 已报单 1000 价格:28.67 开 买
2017-10-26 14:36:21.907    【指令】收到成交回报指令 ORDERID = 143
2017-10-26 14:36:21.923    【回报】60004661 : 002315 - 已成交 1000 价格:28.39 开 买
2017-10-26 14:36:21.924    【回报】60004661 : 002315 - 全部成交 1000
2017-10-26 14:36:22.127    【¥¥¥¥】开始持仓查询
2017-10-26 14:36:22.177    【¥¥¥¥】持仓查询结束

 

===================================================================================

 

但是使用信达版本,使用信达证券的实盘账号时,看到的日志和官方版不一样,并且下单不成功,日志如下

2017-11-06 10:36:23.633    【图表】300399 运行完毕
2017-11-06 10:37:24.474    【图表】300399 运行完毕
2017-11-06 10:38:50.664    【图表】300399 运行完毕
2017-11-06 10:39:10.884    【¥¥¥¥】开始持仓查询
2017-11-06 10:39:10.964    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:10.965    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:10.966    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:10.967    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:11.815    【¥¥¥¥】持仓查询结束
2017-11-06 10:39:11.959    【图表】300399 运行完毕
2017-11-06 10:39:11.977    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:11.978    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:11.979    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:11.980    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:12.412    【回报自处理】进入委托查询流程 参数:Times:0 Size:2
2017-11-06 10:39:12.413    【回报自处理】已发送柜台查询全部未成交合约
2017-11-06 10:39:12.865    【回报自处理】接收到查询委托信息 ID:3 VolumeTraded:0 PrvVolumeTraded:0 remaining:500 Status:3 EBuy:0 ESell:500
2017-11-06 10:39:12.867    【回报自处理】接收到查询委托信息 ID:4 VolumeTraded:0 PrvVolumeTraded:0 remaining:4300 Status:3 EBuy:0 ESell:4300
2017-11-06 10:39:12.993    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:12.994    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:12.995    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:12.996    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:14.016    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:14.017    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:14.018    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:14.018    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:15.022    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:15.022    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:15.023    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:15.023    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:16.031    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:16.032    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:16.032    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:16.033    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:17.047    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:17.052    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:17.053    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:17.054    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:18.071    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:18.084    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:18.085    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:18.085    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:18.432    【回报自处理】进入委托查询流程 参数:Times:0 Size:2
2017-11-06 10:39:18.434    【回报自处理】已发送柜台查询全部未成交合约
2017-11-06 10:39:18.914    【回报自处理】接收到查询委托信息 ID:3 VolumeTraded:0 PrvVolumeTraded:0 remaining:500 Status:3 EBuy:0 ESell:500
2017-11-06 10:39:18.916    【回报自处理】接收到查询委托信息 ID:4 VolumeTraded:0 PrvVolumeTraded:0 remaining:4300 Status:3 EBuy:0 ESell:4300
2017-11-06 10:39:19.077    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:19.079    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:19.080    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:19.082    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:20.100    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:20.101    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:20.101    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:20.102    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:21.140    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:21.141    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:21.142    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:21.143    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:22.116    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:22.116    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:22.117    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:22.118    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:23.138    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:23.139    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:23.140    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:23.141    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:24.147    【回报自处理】ID:3 OrderType:0 Aspect:1
2017-11-06 10:39:24.147    【回报自处理】ID:3 限价委托,查询ID处理
2017-11-06 10:39:24.148    【回报自处理】ID:4 OrderType:0 Aspect:1
2017-11-06 10:39:24.148    【回报自处理】ID:4 限价委托,查询ID处理
2017-11-06 10:39:24.455    【回报自处理】进入委托查询流程 参数:Times:0 Size:2
2017-11-06 10:39:24.456    【回报自处理】已发送柜台查询全部未成交合约
2017-11-06 10:39:24.921    【回报自处理】接收到查询委托信息 ID:3 VolumeTraded:0 PrvVolumeTraded:0 remaining:500 Status:3 EBuy:0 ESell:500
2017-11-06 10:39:24.923    【回报自处理】接收到查询委托信息 ID:4 VolumeTraded:0 PrvVolumeTraded:0 remaining:4300 Status:3 EBuy:0 ESell:4300

2楼
gxx978 发表于:2017/11/7 8:43:07

从使用信达版的交易日志中,未看到有信号执行的动作。你用的运行模式是走完K线还是固定时间间隔,运行的周期是多少?在交易记录中是否看到有信号的触发呢?

3楼
youthto 发表于:2017/11/7 10:31:40

上面这个是我

4楼
banzhuan 发表于:2017/11/7 10:35:14
你实盘的图表上并没有开仓信号啊?
5楼
youthto 发表于:2017/11/7 10:49:22

把代码改成这样,居然成功了

 

 FILEPATH:='E:\log\test.txt';
 stockcode:=stklabel;
 
 手数:=100;
 
 平多条件:=0;
 开多条件:=0;

 if (HOLDING=0) and date=CURRENTDATE and time=104000 then
 begin 
   开多条件:=1;
   ORDER_TYPE:='test1';
   orderTop:=0;  
 end 
 
 平多:SELL(平多条件,手数,MARKET);
 开多:BUY(开多条件,手数,MARKET);
 
 if 开多条件 and ISLASTBAR then
 begin
  linestr:= ORDER_TYPE  & ':' & stockcode  & ',' & NUMTOSTR(time,0)  & ',' & NUMTOSTR(c*100,0) ;
  DEBUGFILE2(FILEPATH,linestr,1,0);
 end

 

==========================

开多条件赋了初始值0

在打印日志时加了ISLASTBAR

 

=============================

 

test1:300033,150000,5501
test1:300033,93100,5495
test1:300033,93200,5489
test1:300033,93300,5480
test1:300033,93400,5483
test1:300033,93500,5500
test1:300033,93600,5510
test1:300033,93700,5545
test1:300033,93800,5543
test1:300033,93900,5530
test1:300033,94000,5535
test1:300033,94100,5535
test1:300033,94200,5528
test1:300033,94300,5520
test1:300033,94400,5520
test1:300033,94500,5515
test1:300033,94600,5505
test1:300033,94700,5504
test1:300033,94800,5503
test1:300033,94900,5519
test1:300033,95000,5520
test1:300033,95100,5529
test1:300033,95200,5530
test1:300033,95300,5519
test1:300033,95400,5505
test1:300033,95500,5502
test1:300033,95600,5506
test1:300033,95700,5506
test1:300033,95800,5508
test1:300033,95900,5501
test1:300033,100000,5500
test1:300033,100100,5501
test1:300033,100200,5500
test1:300033,100300,5500
test1:300033,100400,5499
test1:300033,100500,5498
test1:300033,100600,5490
test1:300033,100700,5494
test1:300033,100800,5500
test1:300033,100900,5503
test1:300033,101000,5508
test1:300033,101100,5508
test1:300033,101200,5507
test1:300033,101300,5511
test1:300033,101400,5516
test1:300033,101500,5520
test1:300033,101600,5524
test1:300033,101700,5525
test1:300033,101800,5527
test1:300033,101900,5525
test1:300033,102000,5521
test1:300033,102100,5520
test1:300033,102200,5519
test1:300033,102300,5519
test1:300033,102400,5519
test1:300033,102500,5518
test1:300033,102600,5516
test1:300033,102700,5511
test1:300033,102800,5513
test1:300033,102900,5504
test1:300033,103000,5504
test1:300033,103100,5503
test1:300033,103200,5507
test1:300033,103300,5502
test1:300033,103400,5501
test1:300033,103500,5501
test1:300033,103600,5500
test1:300033,103700,5504
test1:300033,103800,5505
test1:300033,103900,5503
test1:300033,104000,5530
test1:300033,104000,5530
test1:300033,104000,5530
test1:300033,104000,5533
test1:300033,104000,5531
test1:300033,104000,5539
test1:300033,104000,5542
test1:300033,104000,5542
test1:300033,104000,5542
test1:300033,104000,5542
test1:300033,104000,5542
test1:300033,104000,5539
test1:300033,104000,5539
test1:300033,104000,5539
test1:300033,104000,5542
test1:300033,104000,5542
test1:300033,104000,5542
test1:300033,104000,5545
test1:300033,104000,5550
test1:300033,104000,5550
test1:300033,104000,5552
test1:300033,104000,5550

 

新问题,加了ISLASTBAR 条件之后,不是最后1K还是会打印日志,并且打印多次,这是什么原理?

6楼
youthto 发表于:2017/11/7 11:10:05

 FILEPATH:='E:\log\test.txt';

 

if 开多条件 and ISLASTBAR then
 begin
  linestr:= ORDER_TYPE  & ':' & stockcode  & ',' & NUMTOSTR(time,0)  & ',' & NUMTOSTR(c*100,0) ;
  DEBUGFILE2(FILEPATH,linestr,1,0);
 end

 

 

管理员回答一下,     加入这个ISLASTBAR,是否最后1K才运行if里面的语句,如果不是,那么需要用什么?

7楼
banzhuan 发表于:2017/11/7 11:15:30
您的需求是什么?要周期的最后一根K线才输出?
8楼
youthto 发表于:2017/11/7 11:18:54

我的需求是不要出现一大堆无效输出

 

最后一个K线输出

并且符合其它条件

 

可以看到,代码里面里面的条件是

if 开多条件 and ISLASTBAR then

产生开多信号,并且是最后一根K线

9楼
youthto 发表于:2017/11/7 11:19:11
日志里面东西太多,非常不利于判断问题
10楼
banzhuan 发表于:2017/11/7 11:20:12
您用于什么周期的,加个时间函数的条件吧
ISLASTBAR 是每刷新一根K就有最后一根K
共25 条记录, 每页显示 10 条, 页签: [1] [2][3]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.