请问这是什么错误啊。搞了几天了 [金字塔]
- 咨询内容:
公式
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相关功能能加…
- 下一篇:没有了!
相关文章
-
没有相关内容