欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 后台交易的一个问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3814人关注过本帖树形打印复制链接

主题:后台交易的一个问题

帅哥哟,离线,有人找我吗?
yin8jun
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:503 积分:1033 威望:0 精华:0 注册:2011/11/18 10:56:56
后台交易的一个问题  发帖心情 Post By:2017/11/27 14:09:17    Post IP:101.81.61.255[只看该作者]

我今天使用ic01委买价-ic12委卖价<-38时做开仓条件,结果交易出现错误,交易日志如下。ic01委买价-ic12委卖价=38.2远大于-38时开仓。11:15分又出现同样的情况。
问题:
1,38的价差位置回头查时是没有的,那个时候的委买委卖价读了错误的数值。
2,本来要小于-38的,为何大于38时开仓。
用模拟时又正常了。请问这是怎么了,Ic12同ic01的数据错乱了?


2017-11-27 10:19:54.108    【后台】IC01 TBuyShort 第 34 行出现信号
2017-11-27 10:19:54.108    【后台】IC12 TBuyShort 已成功触发下单操作 价格:6181.000000 数量:1 类型:0 账户: 品种:IC12
2017-11-27 10:19:54.108    【后台】下单已发送
2017-11-27 10:19:54.109    【后台】IC01 TSellShort 第 35 行出现信号
2017-11-27 10:19:54.109    【后台】IC01 TSellShort 已成功触发下单操作 价格:6219.200195 数量:1 类型:0 账户: 品种:IC01
2017-11-27 10:19:54.110    【后台】实际账户持仓 5
2017-11-27 10:19:54.110    【后台】下单已发送
2017-11-27 10:19:54.110    【下单】IC12 价6181.000000 量1 买卖1 类型0 开平0 账户98221096 Formula 1
2017-11-27 10:19:54.111    【下单】确认报单已发送 ID=1741219209 RefID = 35090
2017-11-27 10:19:54.111    【下单】IC01 价6219.200195 量1 买卖0 类型0 开平1 账户98221096 Formula 1
2017-11-27 10:19:54.112    【下单】确认报单已发送 ID=1741219219 RefID = 35100
2017-11-27 10:19:54.118    【指令】收到回报指令 ID = 1741219209 RefID = 35090
2017-11-27 10:19:54.160    【后台】IC01 运行结束
2017-11-27 10:19:54.161    【指令】收到回报指令 ID = 1741219219 RefID = 35100
2017-11-27 10:19:54.167    【指令】收到回报指令 ID = 1741219209 RefID = 35090
2017-11-27 10:19:54.168    【指令】收到回报指令 ID = 1741219209 RefID = 35090
2017-11-27 10:19:54.169    【指令】收到成交回报指令 REFID = 35090 vol = 1
2017-11-27 10:19:54.176    【指令】收到回报指令 ID = 1741219219 RefID = 35100
2017-11-27 10:19:54.177    【指令】收到回报指令 ID = 1741219219 RefID = 35100
2017-11-27 10:19:54.179    【指令】收到成交回报指令 REFID = 35100 vol = 1
2017-11-27 10:19:54.189    【回报】98221096 : IC1712 - 已报单 1 价格:6181.0 开 卖
2017-11-27 10:19:54.190    【回报】98221096 : IC1801 - 已报单 1 价格:6219.2 平 买
2017-11-27 10:19:54.191    【回报】98221096 : IC1712 - 已成交 1 价格:6219.4 开 卖
2017-11-27 10:19:54.191    【回报】98221096 : IC1801 - 已成交 1 价格:6193.2 平 买

 回到顶部
帅哥哟,离线,有人找我吗?
yin8jun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:503 积分:1033 威望:0 精华:0 注册:2011/11/18 10:56:56
  发帖心情 Post By:2017/11/27 14:15:43    Post IP:101.81.61.255[只看该作者]

好像是价差的正负号有延用上一个数据的正负号?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/11/27 15:06:08    Post IP:180.169.30.6[只看该作者]

帖代码出来看下。这部分日志不足以找到问题所在。还有你用的什么周期的数据?


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
yin8jun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:503 积分:1033 威望:0 精华:0 注册:2011/11/18 10:56:56
  发帖心情 Post By:2017/11/27 15:26:32    Post IP:101.81.61.255[只看该作者]

用的是分笔数据,代码如下:

THISIF:='IC12';
NEXTIF:='IC01';

IH04B:=stkindi(nextif,'askbidt.a',0,0,0);
IH03A:=stkindi(thisif,'askbidt.b',0,0,0);

CHA43:IH04B-IH03A;

kk:=cha43<=-38;

IF KK THEN BEGIN
    tbuyShort(1,1,lmt,IH04B,0,'',thisif);
    TSellShort(1,1,lmt,IH03A,0,'',nextif);
END


 回到顶部
帅哥哟,离线,有人找我吗?
yin8jun
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:503 积分:1033 威望:0 精华:0 注册:2011/11/18 10:56:56
  发帖心情 Post By:2017/11/27 15:28:15    Post IP:101.81.61.255[只看该作者]

引用公式名:askbidt
内容:
a:DYNAINFO( 34);
b:DYNAINFO( 28);

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/11/27 15:35:57    Post IP:180.169.30.6[只看该作者]

DYNAINFO2(34 ,'if12' )

直接这么写就能获得不同品种的实时动态行情。

另外可以在代码里加上debugfile输出下引用过来的行情数据看下


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/11/27 15:43:54    Post IP:180.169.30.6[只看该作者]

 

 

 

1.你好像是用IC01的卖一价格-IC12的买一价。和你1楼的描述是不是反了啊。

2.你引用了动态函数的值。这个函数只有最新值,没有历史值。那个价差按理说你是没办法回溯历史的,只有当前最新价差



命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
yin8jun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:503 积分:1033 威望:0 精华:0 注册:2011/11/18 10:56:56
  发帖心情 Post By:2017/11/27 17:53:00    Post IP:101.81.61.255[只看该作者]

我一楼写错了,应该是平ic01的空,开ic12的空。是ic01的委卖价-ic12的委买价。

 回到顶部
帅哥哟,离线,有人找我吗?
yin8jun
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:503 积分:1033 威望:0 精华:0 注册:2011/11/18 10:56:56
  发帖心情 Post By:2017/11/27 17:55:54    Post IP:101.81.61.255[只看该作者]

以下是引用yukizzc在2017/11/27 15:35:57的发言:

DYNAINFO2(34 ,'if12' )

直接这么写就能获得不同品种的实时动态行情。

另外可以在代码里加上debugfile输出下引用过来的行情数据看下



dynainfo(20);dynainfo(21)跟用DYNAINFO( 34),DYNAINFO( 28)有区别吗?会不会跟这个也有关系。

即使引用错了,应该通不过kk:=cha43<=-38条件的检验。


 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/11/27 19:04:37    Post IP:114.84.185.87[只看该作者]

DYNAINFO( 21)=DYNAINFO( 34);前者的值其实就一档行情的价格
DYNAINFO( 20)=DYNAINFO( 28);

你的问题可以通过debugfile 定位分析原因。
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428



编程无捷径,技巧靠积累。
 回到顶部
总数 11 1 2 下一页