在onbar中调用SetTBProfileString2File会不会阻塞程序运行

在onbar中调用SetTBProfileString2File会不会阻塞程序运行?SetTBProfileString2File会不会跳跃过一些记录呢?

我发现SetTBProfileString2File写的记录,用GetTBProfileString读回来时候少了很多条记录,这些少的记录应该要有的。

参数数值修改了,在主程序中onbar却没更改
GetTick函数可能存在阻塞
在主程序下 能不能写子函数的,方便调用
OnBar中的Data问题
SetTBProfileString2File函数的问题
求助关于OnBar中的问题
defs 中的调用问题
自动交易程序运行中,突然又重新运行,这是什么情况呢?
请教一个程序运行问题
是否能策略中调用并使用优化?

文档中不管set还是get都限制单条字符串长度不能超过256字节,256字节不算“大量”吧。

也没说只执行一次写入吧?一次写入如果执行了很多次写入呢?

如果写入量不是特别大

写入方式有同步、异步的区别


如果是异步方式

Set之后

Get少了算是正常(实际上没少)


而且Set/Get代码写法环境也会影响读取值

需要打开数据库查看是否确实少了写入


总体来说

无论异步还是同步

只要不是大量写入

阻塞的情况基本不用考虑

大概率和编码方式有关


相反的

如果必须get到

那就同步+自己阻塞线程再get


有可能阻塞

onbar本身是根据tick驱动的,tick是约0.5s一次。如果你写入数据量过大,写入时间超过0.5s,那么积累的多个tick会合并成一次驱动。举个例子,一分钟时间有120tick,理论上应该写入120次。但是如果你一次写入内容过多,导致多次tick排队,那么写入数量就会少于120次