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


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

   

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


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

主题:关于后台多账户的问题

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


加好友 发短信
等级:论坛游侠 帖子:167 积分:81 威望:0 精华:0 注册:2010/5/20 16:35:09
关于后台多账户的问题  发帖心情 Post By:2020/9/21 10:01:27    Post IP:76.1.182.144[只看该作者]

结合网上找的内容和阿火,写了以下代码(后台持仓同步加下单):
问题1:AC后面引号,默认采用空值,机构版测试能通过,没有问题。但是如果里面填写了下单组名称,比如22,houtai这种,然后把某个账户编辑到后台下单组里面,发现tbuyholdingex 和 tsellholdingex 始终读出来的都是没有持仓。
问题2:如果AC用空值,在后台交易界面,设置打钩账户,这样也可以交易,那么和把打钩账户归类到下单组 然后填写交易组名称,这两种方式在最后效果上有啥区别吗?
问题3:allowrepeat,如果只允许重复3次,以下代码如何修改?

cc:=holding;
drawtextex(1,1,800,0,'虚拟持仓为:'+numtostr(cc,0));//在图表上输入虚拟持仓以便监控

ac:='';//把800988改成自己的下单账户

buyhold:=tbuyholdingex(ac,stklabel,1);
sellhold:=tsellholdingex(ac,stklabel,1); 

if cc>0 then BEGIN
  if SELLHOLD>0 then tsellshort(1,0,mkt,0,0,ac),allowrepeat;
  if CC>BUYHOLD then tbuy(1,CC-BUYHOLD,mkt,0,0,ac),ALLOWREPEAT;
  if CC<BUYHOLD then TSELL(1,BUYHOLD-CC,mkt,0,0,ac),ALLOWREPEAT;
 end
 if cc<0 then BEGIN
  if BUYHOLD>0 then TSELL(1,0,mkt,0,0,ac),ALLOWREPEAT;
  if -CC>SELLHOLD then TBUYSHORT(1,-CC-SELLHOLD,mkt,0,0,ac),ALLOWREPEAT;
  if -CC<SELLHOLD then TSELLSHORT(1,SELLHOLD+CC,mkt,0,0,ac),ALLOWREPEAT;
 end
 if cc=0 then BEGIN
  if BUYHOLD>0 then TSELL(1,0,mkt,0,0,ac),allowrepeat;
  if SELLHOLD>0 then TSELLSHORT(1,0,mkt,0,0,ac),ALLOWREPEAT;
  MSGOUT(1,STKLABEL&'无仓');
 end

thold:=BUYHOLD-SELLHOLD;
 MSGOUT(thold<>cc,STKLABEL&'实际持仓,buyhold多:'&NUMTOSTR(BUYHOLD,0)&' sellhold空:'&NUMTOSTR(SELLHOLD,0)&' 虚拟持仓cc88:'&NUMTOSTR(cc,0));

 


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


加好友 发短信
等级:论坛游侠 帖子:167 积分:81 威望:0 精华:0 注册:2010/5/20 16:35:09
  发帖心情 Post By:2020/9/21 10:08:41    Post IP:76.1.182.144[只看该作者]

另外,云端连续测试时发现,有时明明账户有持仓,输出结果确是没有持仓,然后系统就纠正加1手。过一会发现持仓又多了,再平掉!这种情况发生在今天上午10点02分。如何避免?是否账户很容易读错?

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


加好友 发短信
等级:论坛游侠 帖子:167 积分:81 威望:0 精华:0 注册:2010/5/20 16:35:09
  发帖心情 Post By:2020/9/21 10:19:46    Post IP:76.1.182.144[只看该作者]

图片点击可在新窗口打开查看

如上,虚拟持仓的数据很稳定,实际持仓为何老是读不准确?
[此贴子已经被作者于2020/9/21 10:20:51编辑过]

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/9/21 10:40:28    Post IP:58.246.57.26[只看该作者]

 1.tbuyholdingex 这种肯定没办法读取账户组的持仓啊。它只能读取账户。
2.如果只是下单,没什么区别其实。但是你如果要取一些数据,均价,持仓数量等等,写账户组的方式自然就不行了。

3.allowrepeat 这个没办法设置重复的次数。你只能在条件里面去控制,比如从持仓数量或者下单次数角度去限制下。



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


加好友 发短信
等级:论坛游侠 帖子:167 积分:81 威望:0 精华:0 注册:2010/5/20 16:35:09
  发帖心情 Post By:2020/9/21 11:01:02    Post IP:76.1.182.144[只看该作者]

那么有好几个账户要读的话,TBUYHOLDINGEX,要怎么写呢?还是就写成空值,直接在后台交易的设置里给账户打钩?

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


加好友 发短信
等级:论坛游侠 帖子:167 积分:81 威望:0 精华:0 注册:2010/5/20 16:35:09
  发帖心情 Post By:2020/9/21 11:03:59    Post IP:76.1.182.144[只看该作者]

另外,写成空值后,为何老是出现读账户持仓不准确?(见3楼贴图)
[此贴子已经被作者于2020/9/21 11:04:41编辑过]

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


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

 tbuyholdingex(ac,stklabel,1); 这里是不包含未成交平仓单的。
你改成2试试呢。


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


加好友 发短信
等级:论坛游侠 帖子:167 积分:81 威望:0 精华:0 注册:2010/5/20 16:35:09
  发帖心情 Post By:2020/9/22 2:43:01    Post IP:76.1.182.144[只看该作者]

改成2 好像也不好用,还是经常读成0,然后不停下单,测试时,有一次连续下了13单,忽然又读出来了,再自动平掉12单。

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/9/22 8:16:52    Post IP:58.246.57.26[只看该作者]

 tbuyholdingex函数是返回当前账户持仓的状态过程,如果你是开仓过程,通过它们限制没有任何意义。开仓过程的限制需要结合使用未成交函数作为条件进行限制。才能有效避免多次开仓。

必将委托到成交是需要时间的。而策略执行的效率远远过于这个时间。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
linanmeng
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:167 积分:81 威望:0 精华:0 注册:2010/5/20 16:35:09
  发帖心情 Post By:2020/9/22 9:08:40    Post IP:76.1.182.144[只看该作者]

我将轮询时间开到15秒了,还是会出现啊,但AC不用空值,直接用指定账户,好像就可以。不知是何原因
[此贴子已经被作者于2020/9/22 9:09:26编辑过]

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