任我行 发表于 2025-3-10 12:57:06

金字塔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
// **.gumingtong.com.cn 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
      // 88gs.com
      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
页: [1]
查看完整版本: 金字塔VBA日内交易策略源码