'RB的全局变量
public RB20FX1
'RB20的方向,第2次读到,也就是上一个方向
public RB20FX2
'RB20的方向,第2次读到,也就是现在的方向
public RB20CR1
'RB20的确认信号,第1次读到
public RB20CR2
'RB20的确认信号,第2次读到
public RB20Uline
'RB20的上线
public RB20Dline
'RB20的下线
public RBChiCang
'RB20的持仓
public RBJunJia
'RB20的均价
public RB40FX1
'RB40的方向,第2次读到,也就是上一个方向
public RB40FX2
'RB40的方向,第2次读到,也就是现在的方向
public RB40CR1
'RB40的确认信号,第1次读到
public RB40CR2
'RB40的确认信号,第2次读到
public RB40Uline
'RB40的上线
public RB40Dline
'RB40的下线
public
RB00Newprice
'RB00最新价
Sub APPLICATION_VBAStart()
Call application.SetTimer(0,150)
'定时器0,150ms
End Sub
Sub APPLICATION_VBAEnd()
Call Application.KillTimer(0)
'销毁0号计时器
End Sub
'定时器
Sub Application_Timer(ID)
if id = 0 then
TestMain
end if
End Sub
Sub TestMain()
tis = timer
marketdata.HistoryDataMode=1
'获得PB20/40 DaggerLs02 策略的Fx、CR、Uline、Dline、
sPolicyName = "MACD"
'策略公式名称
iPeriod=0
'周期=0,即一分钟
set Report1 = marketdata.GetReportData("RB00","SQ")
RB00Newprice = Report1.Newprice
Set History5 = marketdata.GetHistoryData("RB00","SQ",0)
D2 = History5.Date(History5.Count-1)
marketdata.DestroyHistoryData
Set Formula1 = marketdata.STKINDI("RB00","SQ",sPolicyName,0,iPeriod,0,360)
Rb20Fx1 = Rb20Fx2
'将上次获得的数值付给Fx1
Rb20Fx2 = Formula1.GetBufData("DIFF",Formula1.DataSize-2)
'取倒数第二个数据
Rb20Cr1 = Rb20Cr2
Rb20Cr2 = Formula1.GetBufData("DEA",Formula1.DataSize-2)
'取倒数第二个数据
Rb20Uline = Formula1.GetBufData("MACD1",Formula1.DataSize-2)
'上线,取倒数第二个数据
Rb20Dline = Formula1.GetBufData("MACD1",Formula1.DataSize-2)
'下线,取倒数第二个数据
application.MsgOut "rb00NewPrice=" & rb00Newprice
application.MsgOut "rb20Fx1=" & Rb20Fx1
marketdata.DestroyHistoryData
Set Formula = marketdata.STKINDI("RB00","SQ",sPolicyName,0,iPeriod,0,360)
CounTmp = Formula.DataSize-2
Rb40Fx1 = Rb40Fx2
'将上次获得的数值付给Fx1
Rb40Fx2 = Formula.GetBufData("DIFF",CounTmp)
'取倒数第二个数据
Rb40Cr1 = Rb40Cr2
Rb40Cr2 = Formula.GetBufData("DEA",CounTmp)
'取倒数第二个数据
Rb40Uline = Formula.GetBufData("MACD1",CounTmp)
'上线,取倒数第二个数据
Rb40Dline = Formula.GetBufData("MACD1",CounTmp)
'下线,取倒数第二个数据
application.MsgOut "rb40Fx1=" & rb40Fx1
marketdata.DestroyHistoryData
tiend = timer
application.MsgOut cdate(time) & " 测试耗时:" & Round((tiend- tis),3)
'耗时
end sub