以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=53732)

--  作者:fjasmin
--  发布时间:2013/7/8 15:33:02
--  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
  


提示符号错误,郁闷

--  作者:王锋
--  发布时间:2013/7/8 15:37:22
--  

希望用户能以解决问题的态度来面对这个问题。

你的代码我们初步运行没发现什么问题,建议你把你完整的VBA工程打包上传过来,并详细告知出现你所描述的问题时的操作步骤