公式:
runmode:1;
m:PEAKBARS(4,5,1),linethick0;
tmp:readtest(m),linethick0;
if c>O then tmp1:=writetest(m,50);
自定义函数:
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 , "G:\1.ini")
NEXT
readtest=ResultMa
End Function
Function writetest(Formula,m,value)
'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
writetest=0
tag = document.WritePrivateProfileInt("aa",m,value, "G:\1.ini")
End Function
1.ini 内宾:
[aa]
0=3
1=10
2=7
3=6
4=8
5=10
============================================
能读出1.ini文件中的数据,可是没有成功写入。
我也知道这样很烦人,可是自己确实搞不了,需要金字塔帮助。拜托了.
楼主试试这样能写入吗
公式中:
runmode:1;
M:PEAKBARS(4,5,1),linethick0;
tmp:readtest(m),linethick0;
if c>o then
begin
tmp1:writetest(m,50);
end
自定义函数中: '将盘符替换成ini文件放置的盘符
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 , "F:\1.ini")
NEXT
readtest=ResultMa
End Function
Function writetest(Formula,m,value)
'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
tag = document.WritePrivateProfileInt("aa",m,value,"F:\1.ini")
End Function
一句话是不用begin end的,应该是writetest函数不对。等待客服的回答
这个和begin end没有关系的,应该是WritePrivateProfileInt函数内m参数类型的问题,如果将m替换成一个具体值。在最后一根k线为阳线并且修改过公式一定要把公式编辑器重启一次
这样才能出现写入操作。
'这里我将m替换成了具体数值
runmode:1;
M:PEAKBARS(4,5,1),linethick0;
tmp:readtest(m),linethick0;
if c<o then tmp1:writetest(10,50);