VBA 日期計算Bug,怎么解決? [金字塔]
- 咨詢內容:
VBA自定義函數
Function CS03(Formula,dd,tt)
CS03=0
dim day
day=dd+19000000CS03=day
End FunctionPEL命令
dd0:=DATE();
tt:time(),NOAXIS;
aa:=CS03(dd0,tt);
msgout(1,NUMTOSTR(aa,0));消息顯示(只計算20根K線,日k線)
2016/10/16 00:24:15 20160908
2016/10/16 00:24:15 20160912
2016/10/16 00:24:15 20160912
2016/10/16 00:24:15 20160914
2016/10/16 00:24:15 20160920
2016/10/16 00:24:15 20160920
2016/10/16 00:24:15 20160920
2016/10/16 00:24:15 20160922
2016/10/16 00:24:15 20160924
2016/10/16 00:24:15 20160926
2016/10/16 00:24:15 20160928
2016/10/16 00:24:15 20160928
2016/10/16 00:24:15 20160928
2016/10/16 00:24:15 20160930
2016/10/16 00:24:15 20161010
2016/10/16 00:24:15 20161012
2016/10/16 00:24:15 20161012
2016/10/16 00:24:15 20161012
2016/10/16 00:24:15 20161014
2016/10/16 00:24:15 20161016問題:沒有單數的日期,只有偶數日期,為什么?
不加19000000時,消息顯示是正確的。
- 金字塔客服:
不明白你的邏輯,為何要加1900000?
- 用戶回復:
你以為我想加啊,這是你們程序的bug,取日期函數dd0:=DATE();比如日期2016-10-16返回值是1161016,
但是VBA里有些函數又要用到“2016-10-16”,所以加19000000。
- 網友回復:
不管怎么樣,我發現VBA的變量,數據大的計算就會出錯,例如,1161017+19000000 顯示結果20161016,什么原因?
- 網友回復:
msgbox 1161017+19000000
這樣簡單測試重現不了你說的問題,可能的原因是浮點數的精度造成的,你試試這樣改進
dim day
day=CLng(dd)+19000000
[此貼子已經被作者于2016-10-17 21:21:29編輯過]
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容