以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  想写歌vba程序求高手帮忙-->董小球转移  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=30799)

--  作者:空心菜
--  发布时间:2012/11/21 13:16:31
--  想写歌vba程序求高手帮忙

程序主要功能是监控账户资金,当资金低于aa会做出提醒,然后资金低于aa1依然会做出提醒,并且会执行一个强制平掉所以仓位的动作,

另外在有隔夜单的情况下,(我们把15点13分后未平仓的单子归属于隔夜单),可用资金必须大于aa2,否则抢平,直到可用金大于aa2,

 

我用的是金字塔最高版本金钻版所以不受版本要求限制,请各位版主们帮忙写下


--  作者:jinzhe
--  发布时间:2012/11/21 13:23:19
--  
这个要等高人来做了
--  作者:空心菜
--  发布时间:2012/11/21 13:29:20
--  

你不是版主吗?你就是高人啊。。。帮帮忙吧


--  作者:rushtaotao
--  发布时间:2012/11/21 14:45:00
--  

问题正在处理,需要时间可能会稍久一些


--  作者:空心菜
--  发布时间:2012/11/21 14:53:53
--  
好的,谢谢
--  作者:rushtaotao
--  发布时间:2012/11/21 15:50:18
--  

因为你这里没有下单语句 所以隔夜单必须要用事件捕捉。

其余代码如下,写出了大致思路,仅供参考,需要微调 有问题可以继续咨询 

dim aa
    aa=99999
dim aa1
    aa1=50000
dim aa2
    aa1=25000
sub application_vbastart()
    call marketdata.regreportnotify("if12","zj")
end sub
\'public filltime
sub marketdata_reportnotify(reportdata)
    dim i
    dim BuyHold
    dim BuyCost
    dim SellHold
    dim SellCost
    dim CurCode
    dim CurMarket

   
    a1=order.Account(3)
    call application.msgout(a1)
    if a1<aa then
    call application.msgout("可用资金小于了aa")
    end if
    if a1<aa1 then
    call application.msgout("可用资金小于了aa1")
    HoldingCount=Order.Holding2("88")
      If HoldingCount>0 then
       For i=0 to HoldingCount-1
       Call Order.HoldingInfo2(i,BuyHolding,BuyCost,BuyTodayHolding,SellHolding,SellCost,SellTodayHolding,PNL,UseMargin,Code,Market,sAccount)
       CurCode=Code
       CurMarket=Market
       BuyHold=BuyHolding
       SellHold=SellHolding
        if BuyHold>0 then
          call order.Sell(1,BuyHold,0,CurCode,CurMarket,"88",0)
        end if
        if SellHold>0 then
          call order.Sell(1,BuyHold,0,CurCode,CurMarket,"88",0)
        end if       
       NEXT
    end if
end if    
end sub

 


--  作者:guotx2010
--  发布时间:2012/11/21 21:07:46
--  
楼上的代码已经很好了,只要增加下午15:13时的可用资金是否大于aa2,做一次判断是否需要平掉持仓就行了,不过这是在股指有持仓的时候了,因为商品15:00就已经收盘了。
--  作者:空心菜
--  发布时间:2012/11/22 9:44:00
--  
老师,原谅我实在太笨了,看不明白,能不能帮我把账号带进去,比如模拟账号803224,aa=90万,aa1等于80万,然后你写的这个是没有隔夜单的控制的是吗
--  作者:空心菜
--  发布时间:2012/11/22 14:35:28
--  

在未来我可能会有两个三个甚至更多个的账户需要进行这样的风控的时候,我应该怎么样去进行修整


--  作者:guotx2010
--  发布时间:2012/11/22 15:27:14
--  
鉴于你对vba基本上不了解,可以将你的需求写成文档,作为一个项目,请人帮你开发,因为VBA开发代码量比pel大得多,而且需要较长时间的测试。
[此贴子已经被作者于2012-11-22 15:28:21编辑过]