Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Это шутка такая? Конечно, MT5+MQL5 не знаю совсем, но неужели элементарщину, о которой в MQL4 даже не задумываешься, нельзя сделать в MT5? Что-то не стыкуется с фразами о всепревосходстве пятерки. Хотелось бы понять причины существующего решения.
2. Так автоматом данные в исходник запихивать и компилить. Юзер ничего даже не заметит.
1. Если бы читали внимательней, можно заметить, что было предположение о причине - обеспечение оптимизации в облаке.
2. Здесь только словами аля Шекспир.. А ю'зер кто? Так же вспомнить барона Мюгхаузена, вытаскивающего себя за волосы. Знаете почему в метро сексом не занимаются? Советами зумучают.
В общей папке (FILE_COMMON) ??
Тоже самое.
ps. что-то перепутал вчера, вроде можно, не тоже самое.
При работе с локальными агентами можно использовать файлы, открываемые с помощью флага FILE_COMMON. Но при этом надо думать о совместном доступе, если в эти файлы идет запись.
При работе с клаудом или удаленными агентами, используемые (для чтения) файлы нужно явно указывать через #property tester_file "myfile1.dat". В этом случае тестер передает эти файлы в клауд вместе с исходным экспертом, причем контролируется изменение этого файла и он кешируется на клауд серверах и агентах.
Можно передавать большие объемы исходных данных на клауды, а в отчет получать расчеты, включая массивные данные через FrameAdd().
Чтобы понять ограничения работы тестера с файлами, достаточно начать с позиции "тестер физически отделен от терминала и работает только с теми данными, которые ему передали". После этого все остальное становится прозрачным.
Если прописать файл как ресурс наверное будет передаваться.
Спасибо за подробное разъяснение. Стоит отразить его в справке.
Кстати да. Честно не понятно, что так можно несколько файлов вписать, я как и Дмитрий подумал что только один.
А еще напутал с ресурсами. Надо начинать актуализироваться.
Спасибо за подробное разъяснение. Стоит отразить его в справке.
Вроде как есть https://www.mql5.com/ru/docs/basis/preprosessor/compilation:
tester_indicator
string
Имя пользовательского индикатора в формате "имя_индикатора.ex5". Необходимые для тестирования индикаторы определяются автоматически из вызова функций iCustom(), если соответствующий параметр задан константной строкой. Для остальных случаев (использование функции IndicatorCreate() или использование неконстантной строки в параметре, задающем имя индикатора) необходимо данное свойство
И еще Тестирование торговых стратегий:
Обмен данными между терминалом и агентом
При запуске тестирования терминал готовит для отправки агенту несколько блоков параметров:
tester_indicator
string
Имя пользовательского индикатора в формате "имя_индикатора.ex5". Необходимые для тестирования индикаторы определяются автоматически из вызова функций iCustom(), если соответствующий параметр задан константной строкой. Для остальных случаев (использование функции IndicatorCreate() или использование неконстантной строки в параметре, задающем имя индикатора) необходимо данное свойство
tester_file
string
Имя файла для тестера с указанием расширения, заключенное в двойные кавычки (как константная строка). Указанный файл будет передан тестеру в работу. Входные файлы для тестирования, если необходимы, должны указываться всегда
tester_library
string
Имя библиотеки с расширением, заключенное в двойные кавычки. Библиотека может быть как с расширением dll, так и с расширением ex5. Необходимые для тестирования библиотеки определяются автоматически. Однако, если какая-либо библиотека используется пользовательским индикатором, то необходимо использовать данное свойство
И там же:
Использование общей папки всех клиентских терминалов
Все тестерные агенты изолированы друг от друга и от клиентского терминала: у каждого агента есть собственная папка, в которую записываются логи агента. Кроме того, все файловые операции при тестирования агента происходят в папке имя_агента/MQL5/Files. Однако можно реализовать взаимодействие между локальными агентами и клиентским терминалом через общую папку всех клиентских терминалов, если при открытии файла указать флаг FILE_COMMON:
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- общая папка всех клиентских терминалов
common_folder=TerminalInfoString(TERMINAL_COMMONDATA_PATH);
//--- выведем имя этой папки
PrintFormat("Откроем файл в общей папке клиентских терминалов %s", common_folder);
//--- откроем файл в общей папке (указан флаг FILE_COMMON)
handle=FileOpen(filename,FILE_WRITE|FILE_READ|FILE_COMMON);
... дальнейшие действия
//---
return(0);
}
При работе с локальными агентами можно использовать файлы, открываемые с помощью флага FILE_COMMON
...
Хорошо было бы в меню "Файл" иметь не только команду "Открыть каталог данных", а еще "Открыть общий каталог данных".
Можно просто через #property tester_file "xxxx" передавать нужное количество файлов. Так описать можно несколько файлов.
Количество файлов может быть неизвестно, их может быть очень много, или имя может зависеть от символа и таймфрейма. То, что эксперт при тестировании может создавать и читать созданные файлы, это так задумано, или это случайный побочный эффект? Можно ли этим пользоваться, например, перед тестированием скриптом собирать все файлы в один тестерный, потом в эксперте разделять его на файлы, чтобы эксперт при тестировании работал с файлами обычным образом?
Хорошо бы функцию такую - в ините перечислять все файлы нужные.
Хорошо было бы в меню "Файл" иметь не только команду "Открыть каталог данных", а еще "Открыть общий каталог данных".
Справка по MetaEditor → Пользовательский интерфейс → Главное меню → Файл
Открыть общую папку данных
Открыть папку, где хранятся общие данные всех клиентских терминалов на компьютере: Системный_диск:\ProgramData\MetaQuotes\Terminal\Common