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