提供个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