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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]谁能帮我修改一下阿火的VBA跟单程序?

   

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


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

主题:[求助]谁能帮我修改一下阿火的VBA跟单程序?

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


加好友 发短信
等级:小飞侠 帖子:1609 积分:4924 威望:0 精华:0 注册:2010/10/28 14:02:46
[求助]谁能帮我修改一下阿火的VBA跟单程序?  发帖心情 Post By:2014/11/20 9:39:56 [只看该作者]

 http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=9439&authorid=1617&page=0&star=3
原版出处在这里~

十六、CTP账户的跟单VBA代码

B账户跟着A账户做单(前提是知道A账户的密码,在同一个金字塔同时登陆A账户和B账户)

Sub ORDER_OrderStatusEx2(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping, Account, AccountType)
if Status="Tradeing" and filled>0 and Account="8000000000" then
if aspect=0 then
if kaiping=0 then order.Buy 1,filled,0,0,code,market,"800000",0
if kaiping>0 then order.sellshort 1,filled,0,0,code,market,"800000",0
end if
if aspect=1 then
if kaiping=0 then order.Buyshort 1,filled,0,0,code,market,"800000",0
if kaiping>0 then order.sell 1,filled,0,0,code,market,"800000",0
end if
end if
End Sub


跟单代码如上~
现在需要实现B账户跟踪A账户下单~
但是保持B账户是A账户持仓的三分之一
具体思路是

A账户下单某合约成交后~
查询B账户与A账户在该合约上的持仓~
保持该合约上B账户持仓为A账户的三分之一
多了就平少了就补~




查看使用道具详细信息
悬赏金币帖,要悬赏 2 个金币
 回到顶部
帅哥哟,离线,有人找我吗?
bbking
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1609 积分:4924 威望:0 精华:0 注册:2010/10/28 14:02:46
  发帖心情 Post By:2014/11/20 10:53:49 [只看该作者]

 帮个忙啊
都悬赏了的

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


加好友 发短信
等级:小飞侠 帖子:1609 积分:4924 威望:0 精华:0 注册:2010/10/28 14:02:46
  发帖心情 Post By:2014/11/20 11:11:19 [只看该作者]

 两个账户能否改一下用
ac1:="800000";
ac2:="8000000000"
这样表示?

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/11/20 11:15:25 [只看该作者]

VBA的问题需要一定时间安排处理,请不要急躁,谢谢



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
获得0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
bbking
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1609 积分:4924 威望:0 精华:0 注册:2010/10/28 14:02:46
  发帖心情 Post By:2014/11/20 13:33:42 [只看该作者]

我是觉得这个程序对于有vba基础的人来说简直小菜啊~

至少有人回帖了~
谢谢~

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


加好友 发短信
等级:小飞侠 帖子:1609 积分:4924 威望:0 精华:0 注册:2010/10/28 14:02:46
  发帖心情 Post By:2014/11/21 9:27:57 [只看该作者]

 每日一顶

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


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

你这个问题,如果每次A账户都是3手或以上,可以在B账户跟踪时,用手数除以3开B账户,问题是如果A账户不是一次开到位,而是1手1手开,累计达到了3手,那么你的B账户就每次都错过了,所以,啊火的方式不能满足你的要求,你得用定时器,在定时器中定时检查A账户的累计持仓量,然后判断是否B账户开仓或平仓。

建议看看那我那个已经商品化的跟踪程序,在我的博客上有介绍。

http://blog.sina.com.cn/s/blog_78d813780102uzor.html

 


获得0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
bbking
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1609 积分:4924 威望:0 精华:0 注册:2010/10/28 14:02:46
  发帖心情 Post By:2014/11/21 10:11:24 [只看该作者]

 其实我觉得应该是个比较简单的问题啊~

A账户为8000000000
B账户为800000~跟踪A账户操作~保持为A账户的三分之一
我下面的伪代码思路如何?
每次成交后查询AB账户该合约上的多空持仓进行调整?

Sub ORDER_OrderStatusEx2(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping, Account, AccountType)
if Status="Tradeing" and filled>0 and Account="8000000000" then

if round(A账户TBUYHOLDINGEX/3)>B账户TBUYHOLDINGEX then
order.Buy 1,round(A账户TBUYHOLDINGEX/3)-B账户TBUYHOLDINGEX,0,0,code,market,"800000",0
end
if round(A账户TBUYHOLDINGEX/3)<B账户TBUYHOLDINGEX then
order.sell1,B账户TBUYHOLDINGEX-round(A账户TBUYHOLDINGEX/3),0,0,code,market,"800000",0
end


if round(A账户TSELLHOLDINGEX/3)>B账户TSELLHOLDINGEXthen
order.Buyshort 1,round(A账户TSELLHOLDINGEX/3)-B账户TSELLHOLDINGEX,0,0,code,market,"800000",0
end
if round(A账户TSELLHOLDINGEX/3)<B账户TSELLHOLDINGEXthen
order.sellshort 1,B账户TSELLHOLDINGEX-round(A账户TSELLHOLDINGEX/3),0,0,code,market,"800000",0
end

End Sub


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


加好友 发短信
等级:小飞侠 帖子:1609 积分:4924 威望:0 精华:0 注册:2010/10/28 14:02:46
  发帖心情 Post By:2014/11/21 10:19:42 [只看该作者]

 帮我写一下吧
这个思路很简单
我只是一时看不懂VBA的帮助文档~
对你们也就是分分钟的事情

没法增加悬赏数量啊
[此贴子已经被作者于2014/11/21 10:20:17编辑过]

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


加好友 发短信
等级:小飞侠 帖子:1609 积分:4924 威望:0 精华:0 注册:2010/10/28 14:02:46
  发帖心情 Post By:2014/11/21 15:47:30 [只看该作者]

 伪代码都写好了
还没人帮忙写一下啊?


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