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

 

你好,@Stefan Marjoram

您可以添加这个草稿函数,将设置从文件读入字符串数组。

#define  ARRAY_APPEND(array, value)                  \
   ArrayResize(array, ArraySize(array) + 1, 128);   \
   array[ArraySize(array) - 1] = value;

//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
void LoadSettings(string filename, string &settings[]) {
   int f = FileOpen(filename, FILE_READ | FILE_TXT | FILE_ANSI);

   if(f) {
      string setting = "";
      string s;
      while(!FileIsEnding(f)) {
         s = FileReadString(f);
         StringTrimRight(s);
         StringTrimLeft(s);
         if(s == "[Tester]") {
            if(setting != "") {
               ARRAY_APPEND(settings, setting);
               setting = "";
            }

         }
         if(s != "" && StringSubstr(s, 0, 2) != "//") {
            setting += s + "\n";            
         }
      }

      if(setting != "") {
         ARRAY_APPEND(settings, setting);
      }
      FileClose(f);
   } else {
      PrintFormat("Error open file: %s", filename);
   }
}

#undef  ARRAY_APPEND

然后像这样在 OnInit() 中使用它

int OnInit() {
   string Settings[];

   LoadSettings("MySettings.ini", Settings);

   /* 用于检查读取
 for(int i = 0; i < ArraySize(Settings); i++){
 PrintFormat("------------ Settings[%d]: --------------", i);
 Print(Settings[i]);
 }
 */

   for (uint i = ArraySize(Settings); (bool)i--;)
    Run(Settings[i]);

   return INIT_SUCCEEDED;
}
 
Stefan Marjoram #:

我需要添加 20 个设置文件

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

新版 MetaTrader 5 第 3550 版:改进和修正

fxsaber, 2023.05.23 00:58

验证 是否能够连续运行多个 ini 订单

  1. 将必要的 ini 文件放入Files\YourName 文件夹。
  2. 在终端中启动 Validate,指定文件夹名称 -YourName
ini 任务将按顺序启动。

创建 20 个所需的 ini 文件,并按上述步骤操作。

 

飞虫

我在荒郊野外过敏发作。

会是什么原因造成的呢?

 
EgorKim #:

这是在荒郊野外的过敏症。

会是什么原因呢?

启动按钮是用手按的吗?

 
fxsaber #:
启动按钮是手动的吗?

是的。

我只使用这个代码

   if(MTTESTER::IsReady())
     {
      Sleep(200);
     }

   if(MTTESTER::ClickStart())
     {
      Sleep(200);
     }
 
EgorKim #:

我只用这个代码

已更新。

 
MTTester 已更新。
 
fxsaber #:
MTTester 已更新。

再来一次

 
MTTester.mqh 已更新。
 
EgorKim #:

这是在荒郊野外的过敏症。

感谢您的测试帮助!更新后的 MTTester.mqh 已发布。