VBA解釋器的一個 BUG [金字塔]
- 咨詢內容:
Function IsTradingTime(sMarket, iTime)
If sMarket="ZJ" then
IsTradingTime= iTime>91500+5 and iTime<113000-5 or iTime>130000+5 and iTime<151500-5
Elseif sMarket="DQ" or sMarket="ZQ" then
IsTradingTime= iTime>90000+5 and iTime<101500-5 or iTime>103000+5 and iTime<113000-5 or iTime>133000+5 and iTime<150000-5
Elseif sMarket="SQ" then
IsTradingTime= iTime>90000+5 and iTime<101500-5 or iTime>103000+5 and iTime<113000-5 or iTime>133000+5 and iTime<1410000-5 or iTime>142000+5 and iTime<150000-5
Else
IsTradingTime= 0
End if
End Function
調用語句
ddd=IsTradingTime("SQ", 151530)
Application.MsgOut(ddd)
返回值-1,預期值為0
- 金字塔客服:
在VBA中,的true跟false不是我們在C++中的 1和0,true在VBA中的值就是 -1 的,你的代碼返回返回 -1說明你的代碼存在邏輯錯誤。
建議你在IsTradingTime函數中多使用Application.MsgOut調試看看每個步驟及返回值查找問題
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容