Требуется директива #property tester_folder по аналогии сдирективой #property tester_file - страница 2

 
Eugene Myzrov:

В папке каждого локального Агента Terminal\Tester\Agent-127.0.0.1-xxxx запускаем такой bat-файл

mkdir ..\..\MQL5\Files\Tester
mkdir MQL5\Files
rd MQL5\Files\Tester
mklink /j MQL5\Files\Tester ..\..\MQL5\Files\Tester

Теперь перед запуском прогона копируете все нужные Вам файлы для тестера в папку Files\Tester терминала. Они автоматически станут доступны Агентам.

Единственный минус - после прогона Агент удалит эту папку.

Можете через скрипт автоматизировать это дело полностью, тогда никакие исходники советников даже править не понадобится. Запустил скрипт перед прогоном и все.
 
Eugene Myzrov:


А зачем вообще "запоминать существующие котировки и потом использовать их в тестере", я честно говоря не понял. Задача лежит в другой плоскости, как прочитать, находясь в тестере стратегий, заранее неизвестное кол-во файлов, не прописывая их имена явно в советнике с помощью директивы  #property tester_file. Полагаю, что и "нейросеть" здесь не пригодится.

А добавление нового функционала - это естественный процесс развития в любом деле, без такого развития язык MQL на сегодняшний день имел бы бледный вид, но, слава Б-гу, это не так.


Объясните мне непонятливому, для чего советнику читать кучу файлов, особенно в тестере? Что содержится в файлах?

В маркет такого читера точно не пропустят, а если для себя так вообще непонятно зачем себя обманывать.

Про развитие писать не буду, ато опять ненароком забанят.
 
Sergey Chalyshev: Объясните мне непонятливому, для чего советнику читать кучу файлов, особенно в тестере? Что содержится в файлах? В маркет такого читера точно не пропустят, а если для себя так вообще непонятно зачем себя обманывать. Про развитие писать не буду, ато опять ненароком забанят.

Это Вы объясните сначала, как можно, не разобравшись в проблеме, вот так вот с ходу раздавать советы типа: "если хотите запомнить все существующие котировки и потом использовать их в тестере, лучше используйте нейросеть. Не так сильно будет заметно, что вы подглядываете в историю." Эта фраза просто убивает наповал. Причем здесь котировки и нейросеть?! Это просто поразительно!

Оказывается, что Вы просто не удосужились прочитать начальный пост, в котором детально изложена суть проблемы, какие файлы и зачем предполагается читать в советнике в режиме прогона тестера стратегий. Так что дополнительных объяснений Вам, "непонятливому", здесь не будет, все было сказано в начале.

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
fxsaber: В папке каждого локального Агента Terminal\Tester\Agent-127.0.0.1-xxxx запускаем такой bat-файл. Теперь перед запуском прогона копируете все нужные Вам файлы для тестера в папку Files\Tester терминала. Они автоматически станут доступны Агентам.Единственный минус - после прогона Агент удалит эту папку. Можете через скрипт автоматизировать это дело полностью, тогда никакие исходники советников даже править не понадобится. Запустил скрипт перед прогоном и все.

Вариант с запуском bat-файла в папке каждого локального агента Terminal\Tester\Agent-127.0.0.1-xxxx уж очень трудоемкий. Если у пользователя 20-ядерный комп, то это значит, что он должен найти эти 20 папок в лабиринте файловой системы и в каждой из них запустить bat-файл.

Вариант с разовым запуском скрипта мне гораздо ближе и понятней, пока остановился на нем.

 
Eugene Myzrov:

Это Вы объясните сначала, как можно, не разобравшись в проблеме, вот так вот с ходу раздавать советы типа: "если хотите запомнить все существующие котировки и потом использовать их в тестере, лучше используйте нейросеть. Не так сильно будет заметно, что вы подглядываете в историю." Эта фраза просто убивает наповал. Причем здесь котировки и нейросеть?! Это просто поразительно!

Оказывается, что Вы просто не удосужились прочитать начальный пост, в котором детально изложена суть проблемы, какие файлы и зачем предполагается читать в советнике в режиме прогона тестера стратегий. Так что дополнительных объяснений Вам, "непонятливому", здесь не будет, все было сказано в начале.


Я вас прекрасно понял, это вы не хотите признать, что занимаетесь подгонкой под историю.

Да, преувеличил немного, чтобы до вас быстрее дошло. Чем больше сет файлов - тем больше истории (котировок) вы запоминаете.

p.s. вот к чему вы стремитесь явно или неявно.
 
Sergey Chalyshev:

Я вас прекрасно понял, это вы не хотите признать, что занимаетесь подгонкой под историю.

Да, преувеличил немного, чтобы до вас быстрее дошло. Чем больше сет файлов - тем больше истории (котировок) вы запоминаете.

p.s. вот к чему вы стремитесь явно или неявно.

это же еще просто делается - просто по времени подогнанные настройки вшиваются в бота да и все :) для этого и сет файлы не нужны

 
Sergey Chalyshev:

Объясните мне непонятливому, для чего советнику читать кучу файлов, особенно в тестере? Что содержится в файлах?

Да, в тестере - и действительно, странно.

Куча настроек хороша, когда надо, чтобы один эксперт работал на разных символах, таймфреймах - соответственно, для каждого включается свой набор. Но при этом сами наборы - оптимизируются по одному в тестере.

 

Постараемся реализовать.

 
Eugene Myzrov:

Вариант с разовым запуском скрипта мне гораздо ближе и понятней, пока остановился на нем.

Использование общей папки всех клиентских терминалов

Все тестерные агенты изолированы друг от друга и от клиентского терминала: у каждого  агента есть собственная папка, в которую записываются логи агента. Кроме того, все файловые операции при тестирования агента происходят в папкеимя_агента/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(INIT_SUCCEEDED);
  }
Документация по MQL5: Программы MQL5 / Тестирование торговых стратегий
Документация по MQL5: Программы MQL5 / Тестирование торговых стратегий
  • www.mql5.com
Идея автоматической торговли привлекательна тем, что торговый робот может без устали работать 24 часа в сутки и семь дней в неделю. Робот не знает усталости, сомнений и страха, ему не ведомы психологические проблемы. Достаточно четко формализовать торговые правила и реализовать их в виде алгоритмов, и робот готов неустанно трудиться. Но прежде...
 
Renat Fatkhullin: Постараемся реализовать.

Спасибо за быстрый ответ и за понимание проблемы, Ренат. Надеюсь увидеть в одном из ближайших релизах.