OnReady事件中读取存在的数据莫名读不成来
onready测试代码如下
Params
Vars
Events
OnReady()
{
Integer z;
String str;
For z=0 to 20
{SetTBProfileString(SymbolName+\"_基础参数\",\"数字\"+Text(z),Text(z));}
For z=0 to 20
{str=GetTBProfileString(SymbolName+\"_基础参数\",\"数字\"+Text(z));
Print(str);}
}
//------------------------------------------------------------------------
While(str==InvalidString)
{str==GetTBProfileString(SymbolName+_基础参数,趋势是否已经有一段时间了);}
我加了个循环保证读取顺利,没有死循环,说明数据可以正确的读取,但数值不对,本应读取值为6,但实际读取值为0
实际运行中onready事件可以重复刷新吗?主体程序已经按照错误数据进行执行了,再次刷新没有意义
是不是键值命名有什么要求限制
之后的bigpos读取就没问题
str=GetTBProfileString(SymbolName+_止盈,止盈层级);
ThenData=Value(str);
If(!(ThenData>=0&&ThenData<=10))
{SetTBProfileString(SymbolName+_止盈,止盈层级,0);}
str==GetTBProfileString(SymbolName+_基础参数,趋势是否已经有一段时间了);
MyTrend=Value(str);
If(MyTrend!=0&&MyTrend!=1&&MyTrend!=2)
{MyTrend=0;
SetTBProfileString(SymbolName+_基础参数,趋势是否已经有一段时间了,0);}
str=GetTBProfileString(SymbolName+_基础参数,是否重仓);
Bigpos=Value(str);Print(str);
If(!(Bigpos>=0&&Bigpos<=10))
{Bigpos=0;
SetTBProfileString(SymbolName+_基础参数,是否重仓,0);}
但实际输出都是9
证明str==GetTBProfileString(SymbolName+\"_基础参数\",\"趋势是否已经有一段时间了\");这键值根本没读取
前者应该是9,后者应该是0
这两个输出应该是不一样的