初学者的问题 MQL5 MT5 MetaTrader 5 - 页 599

 
Anatolii Zainchkovskii:

帮助,字符串中跳出一个错误

StringTrimLeft( StringSubstr(ResultSymbols,1,StringLen(StringSubstr(ResultSymbols,0,1))-1))

'ResultSymbols' - 未宣布的标识符 296 46

未知变量


 
你好!

你能告诉我如何用一个终端的脚本在另一个终端启动一个测试器吗?

大约两年前,有可能以这种方式进行。

// ShellExecuteA (работает с параметрами в ANSI),а ShellExecuteW (работает с параметрами в unicode)

#import  "shell32.dll"
    int ShellExecuteW
       ( int    hwnd,                  // Хендл родительского окна. Это окно получает любые окна сообщений, которые генерирует приложение.
         string Operation,             // Указатель на строку, определяющую операцию для выполнения.
         string File,                  // Указатель на строку, определяющую имя файла для открытия или печати, или имя папки для открытия.
         string Parameters,            // Указатель на строку параметров исполнимого файла.
         string Directory,             // Указатель на строку, определяющую директорию по умолчанию.
         int    ShowCmd );             // Определяет как файл будет показываться когда откроется. 3-Активирует окно и отображает его в развернутом виде.
#import

int      Start = 0;                                                          // Значение, возвращаемое функцией ShellExecuteW
string   PuthTester  = "D:\\Alpari_Terminal_Tester";                         // Путь к Тестеру
string   PuthIniTester = "D:\\Alpari_Terminal_Tester\\tester\\optimise.ini"; // Путь к Файлу *.ini в Тестере

int start()
   {
    Start = ShellExecuteW(0, "Open", "terminal.exe", PuthIniTester, PuthTester, 3);
    if(Start==2) Alert("Указаный файл не найден");
    return(0);
   }

那现在呢?

 
Leo59:
你好!

你能告诉我如何用一个终端的脚本在另一个终端启动一个测试器吗?

大约两年前,你可以这样做。


那现在呢?

你会读心术吗 :)?我只是在准备一篇关于同时在几种模式下启动测试 的文章。我希望你问的是MetaTrader 5,并且你有一个Windows 10 64位操作系统?
 
Karputov Vladimir:
你会读心术吗 :)?我正在准备一篇关于同时在几种模式下运行测试 的文章。我希望你问的是MetaTrader 5,并且你有一个Windows 10 64位操作系统?
弗拉基米尔,不幸的是,它是MetaTrader 4。
 

以前,据我所知,optimise.ini文件是在MetaTrader4中启动测试器时自动创建的。现在这个文件没有被创建。

你能告诉我如何用一个终端的脚本在另一个终端启动测试器吗?

大约两年前,我可以这样做。

// ShellExecuteA (работает с параметрами в ANSI),а ShellExecuteW (работает с параметрами в unicode)

#import  "shell32.dll"
    int ShellExecuteW
       ( int    hwnd,                  // Хендл родительского окна. Это окно получает любые окна сообщений, которые генерирует приложение.
         string Operation,             // Указатель на строку, определяющую операцию для выполнения.
         string File,                  // Указатель на строку, определяющую имя файла для открытия или печати, или имя папки для открытия.
         string Parameters,            // Указатель на строку параметров исполнимого файла.
         string Directory,             // Указатель на строку, определяющую директорию по умолчанию.
         int    ShowCmd );             // Определяет как файл будет показываться когда откроется. 3-Активирует окно и отображает его в развернутом виде.
#import

int      Start = 0;                                                          // Значение, возвращаемое функцией ShellExecuteW
string   PuthTester  = "D:\\Alpari_Terminal_Tester";                         // Путь к Тестеру
string   PuthIniTester = "D:\\Alpari_Terminal_Tester\\tester\\optimise.ini"; // Путь к Файлу *.ini в Тестере
string   PuthIniTerminal = "D:\\Alpari_Terminal\\MQL4\\Files\\optimise.ini"; // Путь к Файлу *.ini в Терминале

int start()
   {
    Start = ShellExecuteW(0, "Open", "terminal.exe", PuthIniTester, PuthTester, 3);
    if(Start==2) Alert("Указаный файл не найден");
    return(0);
   }

现在怎么样?
 

现在创建一个带有待测专家名称的文件

lastparameters.ini

 
Vladislav Andruschenko:

现在创建了一个文件,其中有被测试专家的名字。

你写答案是为了什么?要给他们打勾?


以前,optimise.ini文件包含有

优化战略测试员
TestExpert=AB_e_MACD_v36_Test_P
TestSymbol=EURUSD
测试周期=1
测试模型=2
TestDateEnable=true
TestFromDate=2014.05.29
TestToDate=2014.05.30
TestShutdownTerminal=true

那么现在在文件中,与测试过的EA的名称在哪里呢?在哪个区?

在<共同>、<输入>或<限制>中?

 

lastparameters.ini - 最后一次测试器操作的数据文件。

你可以从另一个终端启动测试,没有任何问题,创建一个ini文件,用预设的参数启动终端,包括EA名称、日期等等。

https://www.metatrader4.com/ru/trading-platform/help/service/start_conf_file

 
Vladislav Andruschenko:

lastparameters.ini - 最后一次测试器操作的数据文件。

你可以从另一个终端启动测试,没有任何问题,创建一个ini文件,用预设的参数启动终端,包括EA名称、日期等等。

https://www.metatrader4.com/ru/trading-platform/help/service/start_conf_file

谢谢你,弗拉迪斯拉夫。我将研究这个问题。
 
Leo59:
谢谢你,弗拉迪斯拉夫。我将研究它。

我用同样的原理制作了一个程序Exp--Super Tester--它可以在互联网上免费获得。

那里有相同的原则--程序创建一个初始化文件,然后用这个文件启动终端,分别进行测试,做出报告并关闭--启动下一个测试,如此循环。

但那是很久以前的事了,然后我记得有些参数被改变了,我在重新设计我的程序。

在你的情况下,原理是一样的,只是你从另一个终端启动测试器。