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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教下标准版下本地预警功能后台公式运行问题,谢谢

   

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


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

主题:请教下标准版下本地预警功能后台公式运行问题,谢谢

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
请教下标准版下本地预警功能后台公式运行问题,谢谢  发帖心情 Post By:2017/5/30 22:58:52    Post IP:219.133.173.102[显示全部帖子]

我想在标准版的本地预警功能里测试后台公式:
公式预期是:按照5分钟周期监控多品种,K线走完执行。
1、当满足KD条件时(技术指标PCRLNG成立,可开数量大于0,且该品种持仓为0),开多(数量KDBUYSS),一旦开多单,在卖出所有持仓前,不再开多单。
2、当满足PD条件时(技术指标ISSELLTIME成立,可用持仓大于0),卖出所有可用持仓

由于不太清楚后台交易系统的原理,特别是TBUY、TSELL指令在标准版本地预警模块里对持仓数量的跟踪计算逻辑。
所以请问,如下代码在标准版本地预警功能下,能否正确得到我预期的交易预警记录?

KD:(PCRLNG) AND KDBUYSS>0 AND THOLDING2=0 ;
PD:(ISSELLTIME) AND THOLDING>0;

TBUY(KD,KDBUYSS,MKT,0,0);
TSELL(PD,0,MKT,0,0);

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
  发帖心情 Post By:2017/5/31 9:46:41    Post IP:219.133.173.102[显示全部帖子]

是把THOLDING2和THOLDING都改为tbuyholdingex吗?

标准版预警模式下这两句代码会被执行的吗?
TBUY(KD,KDBUYSS,MKT,0,0);
TSELL(PD,0,MKT,0,0);

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
  发帖心情 Post By:2017/5/31 10:11:41    Post IP:219.133.173.102[显示全部帖子]

TBUY(KD,KDBUYSS,MKT,0,0);
TSELL(PD,0,MKT,0,0);
不被执行,那么在标准版预警功能下,持仓数量是不是就不会被更新了?不管是用THOLDING2,还是THOLDING,还是tbuyholdingex
那我怎么实现我期望的公式逻辑:动态根据是否有持仓决定是否开多、平多?


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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
  发帖心情 Post By:2017/5/31 10:28:20    Post IP:219.133.173.102[显示全部帖子]

不好意思,我还是有些不太明白,确认下我的理解


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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
  发帖心情 Post By:2017/5/31 10:34:58    Post IP:219.133.173.102[显示全部帖子]

不好意思,我还是有些不太明白,确认下我的理解是否正确?
如下代码:
KD:(PCRLNG) AND KDBUYSS>0 AND THOLDING2=0 ;
PD:(ISSELLTIME) AND THOLDING>0;

TBUY(KD,KDBUYSS,MKT,0,0);
TSELL(PD,0,MKT,0,0);

标准版预警设置功能里,设定5分钟周期运行,KD为预警条件
那么第一次的开多预警信号会出来,但需要手工下单,才能实现一旦开过多单,就不再开多的期望逻辑。
平多也是同理,需要在前面的开多预警后手工下单,才会出现平多的预警。

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
  发帖心情 Post By:2017/5/31 10:41:32    Post IP:219.133.173.102[显示全部帖子]

好的,明白了。谢谢

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
  发帖心情 Post By:2017/6/6 11:24:07    Post IP:183.13.213.207[显示全部帖子]

关于股票多品种后台交易实时判断品种持仓,在实测中还是遇到了问题:

公式逻辑期望是:
1、当满足KD条件时(技术指标PCRLNG成立,可开数量大于0,且该品种持仓为0),开多(数量KDBUYSS),一旦开多单,在卖出所有持仓前,不再开多单。
KD:(PCRLNG) AND KDBUYSS>0 AND THOLDING2=0 ;(之前老师建议改为TBUYHOLDINGEX,由于想先调试下,暂时未修改
PD:(ISSELLTIME) AND THOLDING>0;
TBUY(KD,KDBUYSS,MKT,0,0);
TSELL(PD,0,MKT,0,0);

监控输出代码:
DEBUGFILE2(STRCAT(STRCAT('D:\Weisoft Stock(x64)\Setting\OrderLog\Monitor',NUMTOSTR(19000000+CURRENTDATE(),0)),'.TXT'),'当前持仓量THOLDING%.0f',THOLDING,0);
DEBUGFILE2(STRCAT(STRCAT('D:\Weisoft Stock(x64)\Setting\OrderLog\Monitor',NUMTOSTR(19000000+CURRENTDATE(),0)),'.TXT'),'当前持仓量THOLDING2%.0f',THOLDING2,0);
DEBUGFILE2(STRCAT(STRCAT('D:\Weisoft Stock(x64)\Setting\OrderLog\Monitor',NUMTOSTR(19000000+CURRENTDATE(),0)),'.TXT'),'当前持仓量TBUYHOLDINGEX0%.0f',TBUYHOLDINGEX('','',0),0);
DEBUGFILE2(STRCAT(STRCAT('D:\Weisoft Stock(x64)\Setting\OrderLog\Monitor',NUMTOSTR(19000000+CURRENTDATE(),0)),'.TXT'),'当前持仓量TBUYHOLDINGEX1%.0f',TBUYHOLDINGEX('','',1),0);
DEBUGFILE2(STRCAT(STRCAT('D:\Weisoft Stock(x64)\Setting\OrderLog\Monitor',NUMTOSTR(19000000+CURRENTDATE(),0)),'.TXT'),'当前持仓量TBUYHOLDINGEX2%.0f',TBUYHOLDINGEX('','',2),0);
DEBUGFILE2(STRCAT(STRCAT('D:\Weisoft Stock(x64)\Setting\OrderLog\Monitor',NUMTOSTR(19000000+CURRENTDATE(),0)),'.TXT'),'当前持仓量TBUYHOLDINGEX3%.0f',TBUYHOLDINGEX('','',3),0);
DEBUGFILE2(STRCAT(STRCAT('D:\Weisoft Stock(x64)\Setting\OrderLog\Monitor',NUMTOSTR(19000000+CURRENTDATE(),0)),'.TXT'),'当前可用资金TCASH%.2f',TCASH,0);
DEBUGFILE2(STRCAT(STRCAT('D:\Weisoft Stock(x64)\Setting\OrderLog\Monitor',NUMTOSTR(19000000+CURRENTDATE(),0)),'.TXT'),'当前资产TASSET%.2f',TASSET,0);


实测得到如下:同一股票品种,当日还是会多次开仓。监控输出日志,THOLDING THOLDING2,TBUYHOLDINGEX不同参数得到的值都为0。
按道理10:11:58那次预警交易时,监控输出该品种的持仓不应该是0,为什么?

序号    时间                   品种               类型    买卖    开平    状态        价格     报单数量    成交数量    帐户        编号
1       2017/06/06 10:02:19    600999 招商证券    市价    买入    开      已报单      0.00     200         0           
5       2017/06/06 10:11:58    600999 招商证券    市价    买入    开      已报单      0.00     200         0           


2017-06-06 10:02:19.422    600999--开多交易输出开始
当前持仓量THOLDING 0
当前持仓量THOLDING2 0
当前持仓量TBUYHOLDINGEX0 0 //TBUYHOLDINGEX0表示N参数为0,以下类同
当前持仓量TBUYHOLDINGEX1 0
当前持仓量TBUYHOLDINGEX2 0
当前持仓量TBUYHOLDINGEX3 0
当前可用资金TCASH0.00
当前资产TASSET996400.17
600999--开多交易输出结束

2017-06-06 10:11:58.214    600999--开多交易输出开始
当前持仓量THOLDING 0
当前持仓量THOLDING2 0
当前持仓量TBUYHOLDINGEX0 0
当前持仓量TBUYHOLDINGEX1 0
当前持仓量TBUYHOLDINGEX2 0
当前持仓量TBUYHOLDINGEX3 0
当前可用资金TCASH0.00
当前资产TASSET996438.25
600999--开多交易输出结束

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
  发帖心情 Post By:2017/6/6 13:30:41    Post IP:183.13.213.207[显示全部帖子]

我测试的是股票,只有持多类型。

10:02:19那时600999 肯定是空仓。
10:11:58那时600999 按理应该有200股的仓位,因为10:02:19成交了
交易日志如下:

2017-06-06 10:02:19.500    【后台】600999 TBuy 第 21 行出现信号
2017-06-06 10:02:19.500    【后台】600999 TBuy 已成功触发下单操作 价格:0.000000 数量:200 类型:1 账户: 品种:600999
2017-06-06 10:02:19.500    【后台】下单已发送
2017-06-06 10:02:19.500    【下单】600999 价0.000000 量200 买卖0 类型1 开平0 账户60004450 Formula 1
2017-06-06 10:02:19.500    【下单】已提交,订单ID :361
2017-06-06 10:02:19.532    【后台】600999 运行结束
2017-06-06 10:02:19.578    【指令】收到回报指令 ID = 361
2017-06-06 10:02:19.610    【回报】60004450 : 600999 - 已报单 200 价格:0.00 开 买
2017-06-06 10:02:19.610    【指令】收到成交回报指令 ORDERID = 361
2017-06-06 10:02:19.656    【回报】60004450 : 600999 - 已成交 200 价格:16.87 开 买
2017-06-06 10:02:19.656    【后台】601000 运行结束
2017-06-06 10:02:19.656    【回报】60004450 : 600999 - 全部成交 200


2017-06-06 10:11:58.260    【后台】600999 TBuy 第 21 行出现信号
2017-06-06 10:11:58.260    【后台】600999 TBuy 已成功触发下单操作 价格:0.000000 数量:200 类型:1 账户: 品种:600999
2017-06-06 10:11:58.260    【后台】下单已发送
2017-06-06 10:11:58.260    【下单】600999 价0.000000 量200 买卖0 类型1 开平0 账户60004450 Formula 1
2017-06-06 10:11:58.260    【下单】已提交,订单ID :366
2017-06-06 10:11:58.323    【后台】600999 运行结束
2017-06-06 10:11:58.338    【指令】收到回报指令 ID = 366
2017-06-06 10:11:58.370    【回报】60004450 : 600999 - 已报单 200 价格:0.00 开 买
2017-06-06 10:11:58.370    【指令】收到成交回报指令 ORDERID = 366
2017-06-06 10:11:58.416    【回报】60004450 : 600999 - 已成交 200 价格:16.87 开 买
2017-06-06 10:11:58.416    【回报】60004450 : 600999 - 全部成交 200

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
  发帖心情 Post By:2017/6/6 15:19:23    Post IP:183.13.213.207[显示全部帖子]

好奇怪,在程序增加了THOLDING的debugout2,结果THOLDING和TBUYHOLDINGEX2都得到了持仓量

[此贴子已经被作者于2017/6/6 15:20:54编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:109 积分:0 威望:0 精华:0 注册:2016/4/5 13:25:55
  发帖心情 Post By:2017/6/6 15:22:46    Post IP:183.13.213.207[显示全部帖子]

没有改动其它任何设置。感觉后台交易运行不太稳定。

 回到顶部
总数 13 1 2 下一页