Работа МТС на разных торговых счетах
Отвечаю на вопрос, который часто звучит в последнее время. Как сделать, чтобы робот или механическая торговая система могла одновременно работать с разными инструментами на разных рынках? Ведь торговые счета на разных рынках отличаются.
На самом деле никаких сложностей нет.
В статье Настройка параметров в .INI файле описаны основные правила указания роботу параметров и приведены некоторые приёмы. Обычно Вы получаете робота с шаблоном параметров, которые уже в процессе эксплуатации изменяете на собственные. Этот шаблон представляет собой те настройки, с которыит робот тестировался у меня до передачи его Вам. Среди настроек основной секции есть параметр, описывающий Ваш торговый счет. Он выглядит примерно так:
ACCOUNT = SPBFUT00788 // Аккаунт. Может быть переопределён в секции
В этой строке задан торговый счет SPBFUT00788, на котором тестировался робот и все сделки купли-продажи шли именно по нему.
Что делать, если секций в роботе несколько и одни из них предназначены для торговли на одном рынке, а другие на ином. В этом случае разные секции должны торговать от разных торговых счетов. Такая возможность имеется. Любой параметр из главной секции можно переопределить внутри текущей. В этом случа использоваться будет имеено то значение, которое указано внутри текущей секции. Возвращаясь к начальному вопросу: если Вам требуется в какой-то секции (или в нескольких секциях) использовать иной торговый счет, нежели указанный в начале ini-файла , просто переопределите его внутри этой секции.
Выглядеть это будет примерно так:
ACCOUNT = SPBFUT00788 // Аккаунт. Может быть переопределён в секции
.......... какие-то еще параметры главной секции
[секция RI]
...... здесь идут параметры секции RI, используется глобальный ACCOUNT
[Лукойл ММВБ]
ACCOUNT = NL000111675 // Переопределение аккаунта внутри секции
............. другие параметры секции Лукойл ММВБ
Таким образом, секция [RI] будет использовать аккаунт, определённый по умолчанию, а в секции [Лукойл ММВБ] будет использован другой.
В принципе, таким образом можно внутри секции переопределять любые глобальные параметры.
P.S. Обратный эффект тоже всегда имеет место. Если параметр не определен внутри секции, будет использовано глобальное значение.