问题描述:
同样的代码,是使用官方的案例修改的,实盘买单不成功,请问需要如何修改
代码片段如下:
手数 := 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
从使用信达版的交易日志中,未看到有信号执行的动作。你用的运行模式是走完K线还是固定时间间隔,运行的周期是多少?在交易记录中是否看到有信号的触发呢?
上面这个是我
把代码改成这样,居然成功了
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还是会打印日志,并且打印多次,这是什么原理?
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里面的语句,如果不是,那么需要用什么?
我的需求是不要出现一大堆无效输出
最后一个K线输出
并且符合其它条件
可以看到,代码里面里面的条件是
if 开多条件 and ISLASTBAR then
产生开多信号,并且是最后一根K线