Библиотеки: MultiTester - страница 59

 
fxsaber #:

Я не стал возиться с изучением флагов и решил написать рабочий код сохранения и загрузки set-файлов Тестера.

Добрый день, уважаемый fxsaber!


К сожалению ваш скрипт не работает, так как формат строки им формируемой содержит лишние символы.
Это приводит к неработоспособности команды SetSettings.

Я все же решил эту проблему немного более сложным способом и посылаю Вам работающий скрипт OX.

Может быть это решение окажется полезным и другим пользователям.

С уважением,

Александр

Файлы:
 
klycko #:

К сожалению ваш скрипт не работает

Проверил - работает. Но, возможно, у нас различаются трактовки понятия set-файла.

На случай иной трактовки добавил эти строки.

// Load/Save Tester's set-file.
#property script_show_inputs

input bool inLoad = true; // Settings Load/Save - true/false

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

#define EA_INPUTS "[TesterInputs]\r\n"

void OnStart()
{
  const string FileName = __FILE__ + ".set";
  
  string Settings;
  ushort Words[];  
      
  if (inLoad) // Load settings.
  {
    Print("Load: " + (string)FileLoad(FileName, Words));
    Settings = EA_INPUTS + ShortArrayToString(Words, 1); // 1 - Unicode
    
    Print(MTTESTER::SetSettings(Settings));
  
  }
  else if (MTTESTER::GetSettings(Settings)) // Save settings.
  {
    Settings = StringSubstr(Settings, StringFind(Settings, EA_INPUTS) + StringLen(EA_INPUTS));
    
    Words[ArrayResize(Words, 1) - 1] = 0xFEFF; // 1 - Unicode
    
    StringToShortArray(Settings, Words, ArraySize(Words));    
    Print("Save: " + (FileSave(FileName, Words) ? (string)ArraySize(Words) : "error"));
  }
}
 
fxsaber #:

Проверил - работает. Но, возможно, у нас различаются трактовки понятия set-файла.

На случай иной трактовки добавил эти строки.

Большое спасибо Вам за уделенное время и интеллект!

Я уже преодолел эти трудности при помощи Google AI.

Послал Вам это работающее решение в виде скрипта OX.mq5 

Спасибо!