請問這是什么錯誤啊。搞了幾天了 [金字塔]
- 咨詢內容:
公式
runmode:1;
rq:PEAKBARS(4,5,1);
tmp:readtest(rq),linethick0;函數
Function readtest(Formula,M)
'系統會在逐K線模式解釋公式時的每個周期都會調用此函數一遍,因此設計時應該注重程序的執行效率,不要重復的執行一些沒必要的代碼
readtest=0
tttt = document.GetPrivateProfileInt("aa", M,0 , "C:\1.ini")End Function
1.ini 內容
[aa]
0=0
1=2
2=4
3=6錯誤提示:
編譯器錯誤 13
類型不匹配:document.getprivateprofileint
請問哪里寫錯了。謝謝
- 金字塔客服:
在序列模式下,傳輸的變量應該注意要區分是序列變量還是單值變量。如果是序列變量,那么傳遞給VBS自定義函數中的參數就是個數組,你這種調用方式自然是有問題的。應該使用數組的方式讀取。
Function readtest(Formula,M)
'系統會在逐K線模式解釋公式時的每個周期都會調用此函數一遍,因此設計時應該注重程序的執行效率,不要重復的執行一些沒必要的代碼
DataCount = UBound(M)
If DataCount <> Formula.DataSize-1 Then
Exit Function
End If'定義一個計算返回的數組
Dim ResultMa
Redim ResultMa(DataCount)For i = 0 To Formula.DataSize-1
ResultMa(i) = document.GetPrivateProfileInt("aa", M(i),0 , "C:\1.ini")
NEXTreadtest=ResultMa
End Function - 用戶回復:
謝謝管理員耐心答復。
公式:
runmode:1;
m:PEAKBARS(4,5,1),linethick0;
tmp:readtest(m),linethick0;自定義函數:
Function readtest(Formula,M)
'系統會在逐K線模式解釋公式時的每個周期都會調用此函數一遍,因此設計時應該注重程序的執行效率,不要重復的執行一些沒必要的代碼
DataCount = UBound(M)
If DataCount <> Forula.DataSize-1 Then
Exit Function
End If'定義一個計算返回的數組
Dim ResultMa
Redim ResultMa(DataCount)
For i = 0 To Formula.DataSize-1
ResultMa(i) = document.GetPrivateProfileInt("aa", M(i),0 , "C:\1.ini")
NEXT
readtest=ResultMa
End Function提示錯誤:
編譯器錯誤 ‘424’
缺少對象 'forula'
- 網友回復: 樓主筆誤了 If DataCount <> Forula.DataSize-1 Then里的Forula改成Formula
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
- 上一篇:MarketData.RegReportNotify相關功能能加…
- 下一篇:沒有了!
相關文章
-
沒有相關內容