程序库: 多功能测试仪 - 页 57

 

非常感谢你的建议!

我设法在机器人中输入了一个条目,但它是歪的。

很抱歉再次向您致歉,但我自己也搞不清楚状况。

我用您的函数编写了一个脚本。它在___SET文件夹 中找到了第一个程序集,并正确地定义了它的名称 214-10000 HEX-449.set(其中 prHEX= true)

然后执行命令:

Print (first_set_filename);

Print ("Load: " + (string)FileLoad(first_set_filename, Words,0)); // Print length ofthe read file FileName FILE_COMMON

Settings =ShortArrayToString(Words, 1); // 1 - Unicode

Print ("\nSettings \n", Settings);

Print (MTTESTER::SetSettings(Settings));

打印出来的 设置文件 完全不同(prWPR=true)。我不知道它是从哪里来的。而且它还加载到了机器人中,也就是说,加载成功了!!!问题解决了一半,但设置仍然是错误的。

Qwen 告诉我把正在记录的程序集放到测试器文件里

我照做了。但没用。 由于某种原因 "设置 " 记录的是其他数据集,而不是搜索 first_set_filename 时找到的数据集

214-10000 HEX-449.set。

它一定是以前运行时留在内存中的。

请帮我找出原因。

亚历山大

 
klycko #:

Print("Load: " + (string)FileLoad(first_set_filename, Words,0)); // 打印读取文件的长度 文件名 FILE_COMMON

FileLoad(first_set_filename, Words, FILE_COMMON)
 

Print("Load: " + (string)FileLoad(first_set_filename, Words,FILE_COMMON)); // 打印读取文件的长度 FileName FILE_COMMON


这样改动后,打印结果为:Load: -1


 

如果更改了这一行中的参数,那么:

FILE_COMMON 加载 :-1 设置 打印

0 时加载:3556设置 不正确(不同,不清楚从何而来)

 
fxsaber FILE_COMMON)); // 打印读取文件的长度 FileName FILE_COMMON

如果更改这一行中的参数,那么:

FILE_COMMON 加载 :-1打印 设置

0 时加载:3556设置 正确(不同,不清楚从何而来)

 
klycko #:

请帮助我了解其中的原因。

除上述情况外。

         Print("Save: " + (FileSave(source_path, Words, FILE_COMMON) ? (string)ArraySize(Words) : "error"));


你还需要学习如何使用调试器。你马上就会明白原因所在。

 
fxsaber #:
你需要学习如何使用调试器。你马上就会知道原因所在。

谢谢你把更正后的代码行发给我。

你建议我提高技能并学习调试是对的。尽管如此,即使没有使用它,当然也不是在一分钟内,而是在两三个小时内,我 使用您推荐的函数 写了一个调试脚本 SetLoad ,在它的帮助下,我发现错误发生在这一行之后

Print("Load: " + (string)FileLoad(first_set_filename, Words,0))

如果更改这一行中的最后一个参数,那么:

FILE_COMMON 加载时:-1 设置 打印

在 0 时加载:3556 设置不正确(不同,不清楚从何而来)。

我目前正在研究 加载过程 ,因此我在 这一行后立即 return 中断了脚本

Print (MTTESTER::SetSettings(Settings));


现在你给我发来了正确的一行:

Print("Save: " + (FileSave(source_path, Words, FILE_COMMON) ?(string)ArraySize(Words) :"错误"));

我将其放入脚本并进行了编译。

但它指的不是 加载过程 ,而是 保存过程 ,而且对加载 设置的 错误没有任何影响, 结果还是出现了无关的设置。

 
klycko #:

因此,仍有一些不相干的设置。

第一次第二次 编辑后,我就能正常工作了。

 
fxsaber #:

第一次第二次 编辑--对我来说很有效。

太神奇了!

我使用 Nocturne1脚本已经一年了

在这个 脚本中, MTTESTER::SetSettings(设置) 命令 被执行了数千次。

但在新脚本中,我无法使用该命令将 设置 写入 机器人。在 SetLoad这一行中

Print ("\nDid succeed in uploading to robot from FileLoad: ",MTTESTER::SetSettings(Settings));

简直莫名其妙!!!!

我把包含设置的文件夹移到了沙盒中。MQL5\Files\___SET

现在,第一个文件集始终能在那里找到并加载到 " 设置 "中

即使是通过 FileLoad 和 GetKthFileContent 这两种可能的方式。

加载后,会打印出正确的 设置内容

但这一组内容并没有加载到机器人中!

我不明白为什么 SetLoad 命令会失败

MTTESTER::SetSettings(设置) MTTESTER:: SetSettings2(Settings)

虽然 返回值为 "true",但机器人设置并未更改。

也许我没有使用最新版本的 MTTESTER

请帮助我使命令正常工作:

MTTESTER::SetSettings(Settings)

 
klycko #:

请帮助我使 MTTESTER::SetSettings(Settings) 命令正常工作。

这个脚本 可以工作吗?