Обсуждение статьи "Разрабатываем мультивалютный советник (Часть 10): Создание объектов из строки"

 

Опубликована статья Разрабатываем мультивалютный советник (Часть 10): Создание объектов из строки:

План разработки советника предусматривает несколько этапов с сохранением промежуточных результатов в базе данных. Заново достать их оттуда можно только в виде строк или чисел, а не объектов. Поэтому нам нужен способ воссоздания в советнике нужных объектов из строк, прочитанных из базы данных.

В предыдущей статье мы наметили общий план разработки советника, включающий несколько этапов. Каждый этап порождает определённый объём информации, которая затем должна быть использована на следующих этапах. Эту информацию мы решили сохранять в базе данных и сделали в ней таблицу, в которую можно помещать результаты одиночных проходов тестера стратегий для различных советников.

Для того, чтобы иметь возможность воспользоваться этой информацией на следующих этапах, нам нужно иметь какой-то способ создания нужных объектов (торговых стратегий, их групп и экспертов) по той информации, что хранится в базе данных. Сохранять объекты напрямую в базу данных возможности нет. Самое лучшее, что можно предложить, это преобразование всех свойств объектов в строку, сохранение её в базе данных, далее – чтение этой строки из базы данных и создание из неё нужного объекта.

Процесс создания объекта из строки можно выполнять по-разному. Например, можно создать объект нужного класса с параметрами по умолчанию, а затем с помощью специального метода или функции выполнить разбор прочитанной из базы данных строки и присвоение свойствам объекта соответствующих значений. Или можно создать дополнительный конструктор объекта, который будет принимать в качестве входного параметра только одну строку. Эта строка будет разбираться на части внутри конструктора и там же свойствам объекта будут присваиваться соответствующие значения. Для того, чтобы понять, какой вариант лучше подойдёт, давайте сначала посмотрим на то, как у нас сохраняется информация об объектах в базе данных.

Автор: Yuriy Bykov

 

Юрий здравствуйте. Спасибо за интересный цикл статей.

Юрий, а Вы могли бы выложить файл со стратегиями, с которым вы тестировали советник из текущей статьи? Вот с которым Вы получили скриншот, что внизу статьи. Если он где-то выложен, то подскажите пожалуйста где, я не нашёл под другими статьями. А его помещать нужно в папку C:\Users\Admin\AppData\Roaming\MetaQuotes\Terminal\Common\Files или в папку терминала ? Я хочу посмотреть получаться ли у меня в терминале примерно те же результаты что и у Вас на скрине.

 

Здравствуйте, Виктор.

Этот файл можно получить, запустив оптимизацию советника с одним экземпляром стратегии и после окончания сохранив её результаты сначала в XML, а затем из Excel сохранив в CSV. Про это было в шестой части.