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

 
pcdeni #:

所以,没有。

 
管理终端的实时更新。
// 切换终端的 LiveUpdate 状态。

#include <fxsaber\MultiTester\MTTester.mqh> //https://www.mql5.com/zh/code/26132

void OnStart()
{
  const bool IsLiveUpdate = MTTESTER::IsTerminalLiveUpdate();
                     
  if (MessageBox("Current LiveUpdate - " + (IsLiveUpdate ? "ON" : "OFF") + ".\n\nWant to switch?",
                 "LiveUpdate Status", MB_YESNO) == IDYES)
   MessageBox("Current LiveUpdate - " + ((IsLiveUpdate ? !MTTESTER::TerminalLiveUpdateOFF() : MTTESTER::TerminalLiveUpdateON()) ? "ON." : "OFF."));
}
 
fxsaber #:
终端 LiveUpdate 管理。
谢谢!
 
启用/禁用将优化期间的日志写入磁盘。
// // 启用/禁用测试仪日志(优化)。
#include <fxsaber\MultiTester\MTTester.mqh> //https://www.mql5.com/zh/code/26132

#define  INPUT_TESTER_LOG inTesterLog
#define  TOSTRING(A) #A

sinput bool INPUT_TESTER_LOG = true; // 启用/禁用测试仪日志

void OnTesterInit()
{
  string Settings;
  
  if (MTTESTER::GetSettings(Settings))  
    MessageBox("TesterLog - " + (((MTTESTER::GetValue(Settings, TOSTRING(INPUT_TESTER_LOG)) == "true")
                                   ? MTTESTER::TesterLogON(true)
                                   : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
  
  ChartClose();
}

void OnTesterDeinit() {}

input int inRange = 0;


启用。


关闭(加速优化)。


S

关于交易、自动交易系统和交易策略测试的论坛

错误、错误、问题

fxsaber, 2022.09.04 17:55

#property script_show_inputs

#include <fxsaber\MultiTester\MTTester.mqh> //https://www.mql5.com/zh/code/26132

sinput bool inTesterLog = true; // 启用/禁用测试仪日志

void OnStart()
{
  MessageBox("TesterLog - " + ((inTesterLog ? MTTESTER::TesterLogON(true) : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
}
 
MTTester.mqh 中添加了与并行测试仪 工作时可能发生冲突的解决方法。
Несколько MT5-тестеров параллельно на одной машине.
Несколько MT5-тестеров параллельно на одной машине.
  • www.mql5.com
Автоматизация MT5-Тестера потребовала параллельного использования нескольких Тестеров на одной машине: оптимизация ( MultiTester ) и одиночные проходы ( Validate и TesterDashboard ). Необходимость
 

fxsaber #:
В MTTester.mqh добавлен обход возможных конфликтов при работе с параллельными Тестерами.

请注意截图中每个代理的高亮地址:127.0.0.1:30xx。它们没有重叠。也就是说,每个 CPU内核 都有自己的代理。MT5 以正确的方式分配代理。

关于博客短语的问题。我不确定按端口号 自动分配进程是否能确保进程分布在不同的内核 上,而不会出现潜在的重叠。上面的截图中有多少个内核?例如,如果并行运行 2 个优化会发生什么情况?

 
Stanislav Korotky #:

关于博客中的一句话的问题。我不确定按端口号 自动划分进程是否能确保进程分布在不同的内核 上,而不会出现潜在的重叠。上面的截图中有多少个内核?举例来说,如果并行运行 2 个优化程序,会发生什么情况?

截图中有 20 个内核:18 个用于在一个终端上进行优化,1 个用于在另一个终端上进行单次通过。任务管理器(TaskManager)显示,20 个内核中有 19 个满载(各占 5%)。空闲~4%。

我没有进行并行优化。现在没必要。

 
fxsaber #:

屏幕上有 20 个内核:一个终端上有 18 个用于优化,另一个终端上有一个用于单程。任务管理器显示,20 个内核中有 19 个满载(各占 5%)。空闲 ~4%。

谢谢。据我所知,这只是关于文件访问的 "并行化",而代理的内核设置仍需手动完成?

 
Stanislav Korotky #:

谢谢。据我所知,这只是关于文件访问的 "并行化"、

访问系统剪贴板。与文件无关。

我还需要手动进行代理内核设置吗?

我什么都没做。

 
fxsaber #:

访问系统剪贴板。不涉及文件。

我什么也没做。

在源代码更改中,我没看到对剪贴板做了什么操作。

如果运行优化,不是会同时占用所有可用内核吗?我不明白一个测试如何从优化中 "拿走 "了一个核心(事实上,即使是 2 个优化 MT 的代理也被标记为禁用)。