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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 怎么编写VBA自定义函数调用实际帐户

   

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


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

主题:怎么编写VBA自定义函数调用实际帐户

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


加好友 发短信
等级:论坛游民 帖子:134 积分:715 威望:0 精华:0 注册:2010/9/7 23:46:57
怎么编写VBA自定义函数调用实际帐户  发帖心情 Post By:2011/11/25 15:23:35 [只看该作者]

我是专业版的客户,我编写了一个图表交易策略,使用图表多帐户交易。我想在我的交易策略里面知道实盘时候多帐户的信息,怎么调用?各位大侠最好能给我个程序让我好好学习一下,不胜感激!!!

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


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/11/25 15:53:23 [只看该作者]

如果你没有编程基础的话,就在论坛上随便找个VBA程序,就可以学会。

然后,你在order对象里 有下面的一个方法,可以找到你要的信息

 

Account2 方法

得到指定的国内期货帐户信息

Account2(Type,Account)

Type    指定帐户信息类型。Type可以使用下列数值:

Account 可缺省,登陆的帐户名称,若不填写则表示当前默认的帐户


2 返回指定交易帐户的类型:0盈透 1CTP综合平台 2金仕达平台 255 无效登录账户
3 返回指定交易帐户中的现金余额
4 返回指定交易帐户中的浮动盈亏
6 返回指定交易帐户中的动态权益
12 返回当前交易帐户中的现金总结余
19 返回当前交易帐户中的当前可用资金
20 返回当前交易帐户中的当前流动资产
26 返回当前交易帐户中的上次结算准备金
27 返回当前交易帐户中的期货结算准备金
28 返回当前交易帐户中的占用保证金
29 返回当前交易帐户中的可取资金数量
30 返回当前交易帐户中的平仓盈亏数额
31 返回当前交易帐户中的手续费
32 返回当前交易帐户中的入金金额
33 返回当前交易帐户中的出金金额
34 返回当前交易帐户中的上次信用额度
35 返回当前交易帐户中的上次质压
36 返回当前交易帐户中的质压金额
37 返回当前交易帐户中的信用额度
35 返回当前交易帐户中的冻结保证金
36 返回当前交易帐户中的冻结手续费
37 返回当前交易帐户中的保底资金
41 返回指定或当前交易账户的登录网关名称

 

[此贴子已经被作者于2011-11-25 15:54:24编辑过]

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


加好友 发短信
等级:论坛游民 帖子:134 积分:715 威望:0 精华:0 注册:2010/9/7 23:46:57
  发帖心情 Post By:2011/11/25 16:22:51 [只看该作者]

看来我说的不明白。我的想法是,在我的程序中增加一个判断:我有3个实盘帐户,比如20500111,20500222,20500333,我要检测一下是不是真的启用了三个帐户。比如,如果少了一个,报错。如果多了一个帐户,也报错。我的意思讲明白了吗?我主要想知道我的实盘的帐户的帐号,然后对这个帐号进行判断。

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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/11/25 16:53:19 [只看该作者]

用Order.Account2(6,账号)分别检测每一个账号的动态权益,如果为零说明没有登录或者真的没有钱,不管哪种情况,反正不能交易的。

 


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


加好友 发短信
等级:论坛游民 帖子:134 积分:715 威望:0 精华:0 注册:2010/9/7 23:46:57
  发帖心情 Post By:2011/11/25 21:25:57 [只看该作者]

Function zhanghu(Formula)
        Dim szhhu
        szhhu=Order.CTPAccountName(0)

End Function

 

这样编写调取活动帐户名称怎么就不对了?


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


加好友 发短信
等级:论坛游民 帖子:134 积分:715 威望:0 精华:0 注册:2010/9/7 23:46:57
  发帖心情 Post By:2011/11/26 22:48:52 [只看该作者]

大伙给看看啊,急啊!


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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/11/27 17:59:39 [只看该作者]

 Ac=Order.CTPAcCount
 application.MsgOut ac
 for i=0 to ac-1
  application.MsgOut CTPAccountName(i)
 next

用这段代码测试一下,看看能不能返回所有已经登陆的账户?

 


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


加好友 发短信
等级:论坛游民 帖子:134 积分:715 威望:0 精华:0 注册:2010/9/7 23:46:57
  发帖心情 Post By:2011/11/27 19:37:41 [只看该作者]

 application.MsgOut CTPAccountName(i)
这个地方修改一下, application.MsgOut order.CTPAccountName(i)

这样就可以输出当前活动帐户了。谢谢!


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


加好友 发短信
等级:论坛游民 帖子:134 积分:715 威望:0 精华:0 注册:2010/9/7 23:46:57
  发帖心情 Post By:2011/11/27 19:42:30 [只看该作者]

order.CTPAccountName(i)返回的是什么类型的函数?整数还是字符串?可以把这个返回的值给存起来,或者进行比较吗?我想用这个数据构筑一个限制条件,限制非期望的帐户登录。
[此贴子已经被作者于2011-11-27 20:11:56编辑过]

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


加好友 发短信
等级:论坛游民 帖子:134 积分:715 威望:0 精华:0 注册:2010/9/7 23:46:57
  发帖心情 Post By:2011/11/27 20:05:02 [只看该作者]

'调用登录帐户数量
Function zhanghu(Formula)
  Ac=Order.CTPAcCount
   '定义一个计算返回的数组
    Dim ResultMa
    Redim ResultMa(Ac)

    For  i=0 to ac-1
      ResultMa(i) = Order.CTPAccountName(i)
    Next

    '返回已经登录的帐户
    zhanghu = ResultMa
End Function

我想用自定义函数返回已经登录的帐户,这样写可以吗?如果可以,那么在公式中怎么调用呢?


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