'全局变量,计算触发的个数
Dim StockCount
StockCount = 0
'获取股票池触发事件
Sub MARKETDATA_StockPoolNotifyIng(StockPool, StatusPool, Code, Market)
'触发的股票池数据记录到文本文件中
Document.DebugFile "C:\GPCLog.txt",Market&Code,1
'判断股票池有多少品种
If StockPool = "股票池" And StatusPool = "状态池1" Then
StockCount = StockCount + 1
End If
CalcCash = 0 '计算该使用多少资金
'计算下单价格,防止出现涨停板
PleacePrice = 0
Set MyReport = marketdata.GetReportData(Code,Market)
If MyReport.SellPrice1 > 0 Then
PleacePrice = MyReport.SellPrice1
Else
PleacePrice = MyReport.NewPrice '如果卖1价格为0表示已经涨停板,取最新价计算
End If
'调试代码
'Application.MsgOut StockCount
If StockCount = 1 Then '第一个触发品种
CalcCash = 500000
ElseIf StockCount = 2 Then
CalcCash = 300000
ElseIf StockCount = 3 Then
CalcCash = 200000
End If
If PleacePrice > 0 And CalcCash > 0 Then
CalcVol = CalcCash / PleacePrice
call Order.Buy(0,CalcVol,PleacePrice,0,Code,Market,"",0)
Application.MsgOut "已触发股票池下单,代码:"&Code&" - 价格:"&PleacePrice&" - 数量:"&CalcVol
End If
End Sub