以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://weistock.com/bbs/list.asp?boardid=10)
----  菲阿里四价(VBA 版)  (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=48986)

--  作者:rushtaotao
--  发布时间:2013/2/27 14:29:03
--  菲阿里四价(VBA 版)

 

在此提供个vba交易模板 由菲阿里四价pel版改写过来,希望高手们也可以慷慨提供更多的vba模板 供金字塔用户使用

 

\'\'\'\'\'\'\'\'\'\'手数
dim ss
    ss = 1

\'\'\'\'\'\'\'\'\'\'多头止损系数
dim n1
    n1 = 10

\'\'\'\'\'\'\'\'\'空头止损系数
dim n2
    n2 = 10
   
\'\'\'\'\'\'\'\'\'   
dim n3
    n3 = 4
   
dim LastHigh
dim LastLow
dim LastClose
dim Icode
dim Imarket

sub application_vbastart()
    call MarketData.RegReportNotify("if03","zj")
end sub


sub MarketData_ReportNotify(ReportData)
    set ReportData = MarketData.GetReportData("if03","zj")
    NewPrice = ReportData.NewPrice
    LastHigh = ReportData.LastHigh
    \'call application.MsgOut(LastHigh&" "&NewPrice)
   
    \'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'持仓信息
    dim BuyHoding
    dim SellHoding
    dim BuyCost
    \'dim SellHoding
    call order.HoldingInfoByCode2("if03","zj", BuyHoding, BuyCost, BuyTodayHoding, SellHoding, SellCost, SellTodayHoding, PNL, UseMargin,Account)
    \'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'品种信息
    dim MinTick
    call order.Contract("if03","zj", Multipliter, MinTick, ShortPercent, LongPercent)

\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'多头
\'BuyHoding=0 and SellHolding=0 and
    if Hour(Time) >09 and Hour(Time) <14 and    NewPrice>LastHigh and BuyHolding = 0 then
       call application.MsgOut("多头开!")
       call order.buy(1,ss,0,0,"if03","zj","",0)
    end if

\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'空头
\'BuyHoding=0 and SellHolding=0 and
    if  Hour(Time) >09 and Hour(Time) <14 and   NewPrice<LastHigh and SellHolding = 0 then
       call application.MsgOut("空头开!")
       call order.buyshort(1,ss,0,0,"if03","zj","",0)
    end if
\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'多止损

    if BuyHoding>0 and NewPrice<BuyCost-n1*MinTick and Hour(Time) >09 and Hour(Time) <14 then
       call application.MsgOut("多头止损!")      
       call order.Sell(1,BuyHolding,0,0,"if03","zj","",0)
    end if

\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'空止损

    if SellHoding>0 and NewPrice>BuyCost+n2*MinTick and Hour(Time) >09 and Hour(Time) <14 then
       call application.MsgOut("空头开!")   
       call order.SellShort(1,SellHolding,0,0,"if03","zj","",0)
    end if
\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'日内平仓

    if Hour(Time) >= 14 and Hour(Time) <=15 then
       call application.MsgOut("收盘全平!")
       call order.Sell(1,BuyHolding,0,0,Icode,Imarket,"",1)
       call order.SellShort(1,SellHolding,0,0,"if03","zj","",1)
    end if
End Sub


Sub UserForm1_CommandButton1_Click()
    call application.MsgOut(LastHigh&" "&NewPrice)
End Sub


--  作者:Fcuk
--  发布时间:2013/3/3 0:17:35
--  
NB大了。VBA版都出来了~
--  作者:sxpms
--  发布时间:2013/3/8 23:18:16
--  

支持,学习学习


--  作者:guotx2010
--  发布时间:2013/3/11 16:22:37
--  
不错,vba初学者可以通过这个帖子学习,入门。
--  作者:jiangsen
--  发布时间:2013/3/21 18:23:27
--  

--  作者:chinacc
--  发布时间:2013/3/25 0:32:04
--  
图片点击可在新窗口打开查看
--  作者:chinacc
--  发布时间:2013/3/31 21:20:03
--  
UP