Эта библиотека позволяет "общаться" торговым терминалам Evraon и Quik. Через нее можно получать информацию с бирж и отправлять заявки. Цель проекта проста: дать возможность пользователям Evraon торговать на Московской и Санкт-Петербургской биржах, а никак не повторение всего API Quik'a. То есть реализовано лишь то, что требуется в данный момент. Заявки на новый функционал не принимается, если это не касается непосредственно Эвраона.
Для начала неплохо бы понять, зачем они вообще нужны. К сожалению, нельзя торговать на биржах в обход Квика. И вот для того, чтобы иметь таки возможность торговать, придуман Lua API Квика. Это некая договоренность двух программ, как обмениваться информацией. Эти скрипты запускают два сокет сервера, к которым подключается программа, и начинается взаимная отправка и получение информации. При этом запросы от программы передаются непосредственно в Квик.
Скачайте на этой странице архив с версией, равной версии Evraon.
Если таковой нет, а у вас самая новая версия Evraon, то скачивайте самый верхний архив. Распакуйте его в любую папку.
Затем зайдите в Квик, выберите меню Сервисы
-> Lua скрипты...
, затем Добавить
, выберите файл под названием Server.lua
,
Открыть
, нажмите Запустить
. Все, теперь можно подключаться к серверу из программы Evraon, а вот и
инструкция, как это сделать.
Достаточно сделать ряд простых действий:
- Найдите в файле
config.json
секциюservers
, там будет название опцииscriptName
со значениемServer_2
. В данном случаеServer_2
является названием файла в папке lua (расширение.lua
вconfig.json
указывать нельзя). - Измените опции согласно вашим предпочтениям. По умолчанию, дополнительный сокет сервер будет запущен на localhost'e (т.е. опции
responseHostname
иcallbackHostname
имеют значение127.0.0.1
), а порты (опцииresponsePort
иcallbackPort
) равны15515
для сервера запросов-ответов и15516
для сервера коллбэков (данные, которые хочет отправить Квик). Порты не должны конфликтовать с уже указанными портами в файлеconfig.json
- Добавьте
Server_2.lua
в Quik и запустите. При этом необязательно запускатьServer.lua
, если он вами не используется. Если используется и для него указаны другие порты, то, безусловно, можно запускать оба.
Все!
- Как добавить еще сервера?
Скопируйте файл Server_2.lua
и сохраните его в той же папке под другим именем, например, MyBroker.lua
.
В файле config.json
в секции servers
скопируйте текст внутри фигурных скобок
{"scriptName"..."responseHostname"..."responsePort"..."callbackHostname"..."callbackPort"...}
, поставьте запятую после }
,
вставьте скопированный текст и измените в нем данные. Как минимум, нужно указать в scriptName
название файла скрипта
(в примере это MyBroker
), а в опциях портов указать любые свободные номера портов.
Такую процедуру можно делать столько раз, сколько серверов вам нужно.
Не забудьте, что responsePort
и callbackPort
не могут быть одинаковыми и повторяться в файле.
- Как обновляться на новые версии библиотеки и скриптов в частности?
В новых версиях будет меняться код скриптов и код config.json
. Но если вы вносили изменения в config.json
,
то сохраните в другом месте файл с вашими изменениями. После этого замените все старые файлы новыми.
Обратите внимание, что, возможно, в одном из обновлений содержимое Server_2.lua
изменится и все созданные вами лично копии
этого файла потребуется пересоздать на основе обновленного файла.
Продолжаем. Отредактируйте файл config.json
в соответствии с настройками из старого файла
(если не меняли ничего, делать ничего не надо). Процесс обновления завершен.
- Как сделать так, чтобы можно было подключаться к сокету из локальной сети WiFi с другого устройства?
Нужно указать в responseHostname
и callbackHostname
значение 0.0.0.0
. Лучше так не делать и вот, почему.
Когда компьютер подключен к роутеру, то разрешение подключаться к нему извне (а именно это делает 0.0.0.0
)
открывает доступ к нему всему миру при допущении, что роутер недостаточно хорошо защищен и настроен.
А так как при подключении к сокетам нет ни пароля, ни шифрования, открытый доступ всему миру открывает ваш Квик всем.
Т.е. если вы все же хотите подключаться из локальной сети, позаботьтесь о безопасности и верных настройках роутера.
- Как можно подключаться из локальной сети безопасно?
Просто подключайтесь к серверу Evraon, запущенному на вашем компьютере. responseHostname
и callbackHostname
должны быть равны
127.0.0.1
. В таком случае подключение будет защищено логином и паролем, а само соединение между мобильной версией
и настольной будет зашифровано.
- Можно ли переименовать
Server_2.lua
?
Да, только укажите новое имя в scriptName
файла config.json
.
- Можно ли переименовать
Server.lua
?
Нет. Этот файл обязательно должен сохранить свое имя, потому что все остальные скрипты используют часть его кода.
- Создается папка
logs
, зачем она?
Там пишется диагностическая информация и ошибки. Иногда полезно туда заглядывать в поиске чего-то необычного.