Давно собирался написать этот материал, да все руки не доходили.
У меня открыты счета у двух разных брокеров. В обычном терминале Quik для Windows сложностей в организации работы в этом случае не возникает, т.к. можно установить несколько копий терминала в разных папках для разных брокеров. А вот когда я начал пользоваться iQuik-HD, то сразу встал вопрос о том, как получить доступ к счетам у двух разных брокеров: на один iPad невозможно установить две копии одной и той же программы.
Эта заметка рассказывает о том, как настроить доступ через один терминал к счетам двух разных брокеров. Или трех, или… да сколько угодно! 🙂
Для начала давайте разберемся, в чем собственно отличие терминалов, настроенных для разных брокеров. Очевидно, что исполняемые файлы идентичны (ведь дистрибутив Quik можно скачать на сайте производителя, компании ARQA, или из Apple Stroe / Google Play). Выходит, различие лишь в настройках. И настройки таких всего две:
- адреса серверов брокера
- файлы с ключами
Выходит все, что нам требуется сделать для работы со счетами у двух разных брокеров из одной копии терминала — это каким-то образом «слить» ключи и список серверов брокеров вместе. Ниже приведены результаты небольшого исследования, которое показало, что подключение из одной копии терминала к серверам разных брокеров отлично работает, более того, оно явно заложено разработчиками. (Есть Было официальное описание как это устроить, после переделки сайта ARQA ссылка уже не работает.)
Начнем со списка серверов разных брокеров. Список этот, как известно, хранится в файле IP.CFG в следующем формате:
IP.CFG первого брокера: Server1 FirstBroker [123.123.123.111:15100:broker1] Server2 FirstBroker [123.123.123.222:15100:broker1]
IP.CFG второго брокера: Server1 SecondBroker [234.234.234.111:15100:broker2] Server2 SecondBroker [234.234.234.222:15100:broker2]
Количество строк в файлах зависит от количества доступных серверов брокера.
Закроем терминал QUIK, скопируем строки из обоих этих файлов в один файл IP.CFG. Теперь запустим QUIK из того каталога, в котором содержится «суммарный» файл IP.CFG, и посмотрим что нам в этом случае покажет терминал в диалоге, вызываемом из меню Система->Соединения (или Связь->Доступные соединения для 6.x версии терминала):
Собственно итоговый файл IP.CFG должен выглядеть следующим образом:
Server1 FirstBroker [123.123.123.111:15100:broker1] Server2 FirstBroker [123.123.123.222:15100:broker1] Server1 SecondBroker [234.234.234.111:15100:broker2] Server2 SecondBroker [234.234.234.222:15100:broker2]
Видно, что все доступные сервера обоих брокеров присутствуют в списке Доступные соединения. Обратите внимание, что наименование в колонке «Ключ сервера» для каждого брокера — своё. Это важно. Если вдруг вышло так, что наименование ключей сервера для разных брокеров одинаковое — необходимо изменить содержимое соответствующих строчек файла IP.CFG и заголовки секций в файлах с ключами. Я такого на практике не встречал, но если у кого-то возникнет такая проблемка — готов описать подробнее что и как менять.
Итак, список соединений мы настроили, откроем теперь в текстовом редакторе файлы с ключами обоих брокеров и посмотрим что содержится в этих файлах. (Текст значения ключа с именем KEY я умышленно сократил для удобства иллюстрации.)
- брокер 1
файл pubring.txk: [MyName1] USERID=-1 KEYID=27CF206D3C911153 TIME=1331383819 SECRET=0 BITS=128 KEY=80BF8516759615E13427CF20 [Информационная система первого брокера (broker1)] USERID=-1 KEYID=FFA6308909370099AA TIME=842975499 SECRET=0 BITS=768 KEY=33552266AA4422664BC66524
файл secring.txk: [MyName1] USERID=-1 KEYID=27CF206D3C911153 TIME=1331383819 SECRET=0 BITS=128 KEY=80BF8516759615E13427CF20
- брокер 2
файл pubring.txk: [MyName2] USERID=-1 KEYID=A726C486BF2E3018 TIME=1331383819 SECRET=0 BITS=128 KEY=FF8886025718ABE338ACCB23 [Информационная система второго брокера (broker2)] USERID=-1 KEYID=AA6730823937009944 TIME=842975499 SECRET=0 BITS=768 KEY=33552266AA4422664BC66524
файл secring.txk: [MyName2] USERID=-1 KEYID=A726C486BF2E3018 TIME=1331383819 SECRET=0 BITS=128 KEY=FF8886025718ABE338ACCB23
Из приведенных листингов отлично видно, что значение, записанное в квадратных скобках в файле secring.txk, содержит значение колонки «Ключ сервера» соответствующего брокера, а в квадратных скобках в файле pubring.txk видим тот самый логин, который мы вводим для подключения к серверу. Кроме того, в файле pubring.txk видим полное дублирование содержимого файла secring.txk (выделено зеленым). Эта дублирующаяся часть нам на самом деле вовсе не нужна в pubring.txk.
Собственно все, что требуется сейчас сделать — это просто «слить» содержимое двух разных файлов secring.txk в один с тем же названием, а содержимое двух файлов pubring.txk в один соответственно pubring.txk. Сделать это можно в любом текстовом редакторе, например в стандартном «Блокноте» Windows. При переносе строк обратите внимание, чтобы все строки каждой секции переносились полностью точно так, как они сейчас расположены в файлах с ключами.
Чтобы не испортить оригинальные файлы ключей — я проделал все это на их копии, что и вам настоятельно рекомендую. Для этого в папке с терминалом Quik я создал вложенную папку \key2\, куда записал получившиеся файлы secring.txk и pubring.txk с ключами обоих брокеров.
В итоге после объединения получились такие файлы с ключами:
файл pubring.txk: [Информационная система первого брокера (broker1)] USERID=-1 KEYID=FFA6308909370099AA TIME=842975499 SECRET=0 BITS=768 KEY=33552266AA4422664BC66524 [Информационная система второго брокера (broker2)] USERID=-1 KEYID=AA6730823937009944 TIME=842975499 SECRET=0 BITS=768 KEY=33552266AA4422664BC66524
файл secring.txk: [MyName1] USERID=-1 KEYID=27CF206D3C911153 TIME=1331383819 SECRET=0 BITS=128 KEY=80BF8516759615E13427CF20 [MyName2] USERID=-1 KEYID=A726C486BF2E3018 TIME=1331383819 SECRET=0 BITS=128 KEY=FF8886025718ABE338ACCB23
Проверим сначала подключение на обычном терминале Quik. Т.к. новые файлы с ключами расположены в отдельной новой папке, необходимо настроить путь к ним через диалог, вызываемый из меню Настройки -> Шифрование (для 5-й версии терминала), либо через Настрокйи -> Основные -> Шифрование (для 6-й версии терминала).
Кликаем в выделенную на картинке выше кнопку напротив поля «Настройки по умолчанию» (да, такое вот неожиданное название), при этом открывается диалог для указания пути и имени файлов публичного и секретного ключей. Обратите внимание: при объединении ключей имя файлов мы не меняем, т.к. терминал для iPad не позволяет указать произвольное наименование файлов с ключами.
Закроем диалоги с сохранением информации и попробуем подключиться к серверу.
Видно, что в списке соединений появились сервера обоих брокеров:
Выбираем сервер одного из брокеров, вводим логин, соответствующий выбранному брокеру, и подключаемся к серверу. Видим, что соединение успешно происходит и информация начинает поступать в терминал. Разрываем соединение и пробуем подключиться к серверу другого брокера. Если что-то не работает — ищем где была допущена ошибка и исправляем ее.
Если все работает как надо — то самое время попробовать как со всем этим заработает iQuik, iQuik-HD или QUIK for Android, ведь именно для этого все и затевалось. Копируем полученные файлы IP.CFG, secring.txk и pubring.txk в документы iQuik-HD (предварительно лучше удалить имеющиеся там файлы) и запускаем терминал на iPad, iPhone или устройстве с Android. В списке доступных соединений появятся сервера обоих брокеров, выбираем нужный нам, вводим логин и пароль — и подключаемся.
Теперь и на iPad возможно работать с разными брокерами, переключаясь между ними благодаря появившейся в версии 1.1 функции переключения между серверами!
(К сожалению, на данный момент такая возможность отсутствует в терминале iQuik для iPhone, но, надеюсь, она тоже появится в следующих версиях. Может эта проблема уже исправлена? напишите в комментариях.)