OnReady事件中读取存在的数据莫名读不成来
2023-05-18 14:06

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);}

}


//------------------------------------------------------------------------


评论区
blackduke

While(str==InvalidString)

{str==GetTBProfileString(SymbolName+_基础参数,趋势是否已经有一段时间了);}

我加了个循环保证读取顺利,没有死循环,说明数据可以正确的读取,但数值不对,本应读取值为6,但实际读取值为0

data-href=

data-href=

data-href=

2023-05-18 15:12
blackduke

实际运行中onready事件可以重复刷新吗?主体程序已经按照错误数据进行执行了,再次刷新没有意义

2023-05-18 15:07
blackduke

是不是键值命名有什么要求限制

2023-05-18 14:25
blackduke

之后的bigpos读取就没问题

data-href=data-href=

2023-05-18 14:24
blackduke

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);}data-href=

2023-05-18 14:23
blackduke

但实际输出都是9

证明str==GetTBProfileString(SymbolName+\"_基础参数\",\"趋势是否已经有一段时间了\");这键值根本没读取

2023-05-18 14:17
blackduke

data-href=

2023-05-18 14:16
blackduke

前者应该是9,后者应该是0

2023-05-18 14:16
blackduke

这两个输出应该是不一样的

data-href=data-href=

2023-05-18 14:15
blackduke

data-href=

2023-05-18 14:14
顶部