Настройка коннектора QuikLua (Locked)
Настройка коннектора QuikLua.
- Скачать и установить Visual C++ 2013 (необходимо скачать vcredist_x86.exe).
- Настройка и загрузка Lua скрипта
Для работы с Quik через Lua подключение необходимо загрузить скрипт StockSharp.Quik.lua, который находится в папке References, рядом с файлом скрипта должны быть все необходимые сборки:
Antlr3.Runtime.dll
ClrPatch.dll
Ecng.Collections.dll
Ecng.Common.dll
Ecng.ComponentModel.dll
Ecng.Configuration.dll
Ecng.Data.dll
Ecng.Data.Providers.dll
Ecng.Interop.dll
Ecng.Net.dll
Ecng.Reflection.dll
Ecng.Security.dll
Ecng.Serialization.dll
Ecng.Serialization.FieldFactories.dll
Ecng.Transactions.dll
Ecng.Web.dll
Ecng.Xaml.dll
FirebirdSql.Data.FirebirdClient.dll
Google.GData.AccessControl.dll
Google.GData.Calendar.dll
Google.GData.Client.dll
Google.GData.Extensions.dll
ICSharpCode.SharpZipLib.dll
log4net.dll
ManagedWinapi.dll
MathNet.Numerics.dll
Microsoft.Practices.EnterpriseLibrary.Common.dll
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.dll
Microsoft.Practices.ServiceLocation.dll
Microsoft.Practices.Unity.dll
Microsoft.Practices.Unity.Configuration.dll
Microsoft.Practices.Unity.Interception.dll
MoreLinq.dll
NCalc.dll
NDde.dll
Newtonsoft.Json.dll
Npgsql.dll
NPOI.dll
NPOI.OOXML.dll
NPOI.OpenXml4Net.dll
NPOI.OpenXmlFormats.dll
Ookii.Dialogs.Wpf.dll
PowerCollections.dll
QuickFix.dll
SevenZipSharp.dll
SmartFormat.dll
StockSharp.Algo.dll
StockSharp.BusinessEntities.dll
StockSharp.Community.dll
StockSharp.Fix.dll
StockSharp.Licensing.dll
StockSharp.Logging.dll
StockSharp.Messages.dll
StockSharp.Quik.dll
StockSharp.QuikLua.dll
Xceed.Wpf.Toolkit.dll
StockSharp.Quik.lua
В файле скрипта можно указать порт, на котором сервер будет принимать подключения, а так же логин и пароль, с которыми будет подключаться клиент, если поле логин не указано, то подключение может выполняться от имени любого пользователя. По умолчанию используется порт 5001 и отсутствует проверка логина:
-------------------------------------------------------------------------
-- Настройки QUIK Lua Fix сервера
-------------------------------------------------------------------------
-- Серверный порт, на котором будет работать FIX сервер.
ServerPort=5001
-- Логин, с которым разрешено подключение к FIX серверу.
-- ServerLogin="quik"
-- Пароль, с которым разрешено подключение к FIX серверу.
-- ServerPassword="quik"
-------------------------------------------------------------------------
Файл скрипта так же содержит настройки записи отладочной информации, уровень записываемых сообщений и путь к файлу логов:
-------------------------------------------------------------------------
-- Настройки логирования
-------------------------------------------------------------------------
-- Уровень логирования.
-- 1 - Debug
-- 2 - Info
-- 3 - Warning
-- 4 - Error
LogLevel=2
-- Название текстового файла (без расширения),
-- в который будут сохраняться лог-сообщения.
LogFile="StockSharp.QuikLua"
-------------------------------------------------------------------------
Далее необходимо загрузить скрипт в терминале Quik. Открываем таблицу доступных скриптов (Таблицы - Lua - Доступные скрипты), выбираем добавить и после добавления скрипта, необходимо его запустить. Запуск скрипта выполняется один раз, при следующем запуске терминала скрипт будет запущен автоматически.
- Настройка таблиц в терминале Quik
Коннектор QuikLua не требуется специальной настройки названий таблиц и их содержимого, кроме таблицы инструментов, которая используется для автоматического открытия стаканов. Но, чтобы Quik получал все необходимые данные, все основные таблицы должны быть открыты. Проверить наличие всех необходимых таблиц в терминале можно с помощью программы Verifier, который использует разные варианты проверки для Lua режима и Dde. Режим проверки выбирается соответствующей галочкой.
В качестве примера в архиве лежит файл настроек по умолчанию Quik\info_lua.wnd, все старые файлы настроек и примеры перенесены в папку Quik\Dde. В данной конфигурации открыты все необходимые таблицы с настройками по-умолчанию, кроме таблицы инструментов.
Для поддержки автоматического открытия стакана должна присутствовать открытая таблица текущих параметров. Таблица должна содержать колонки: Код бумаги, Код класса. Порядок столбцов таблицы может быть любым.
- Создание подключения
Выбор режима подключения к Quik (Lua или Dde) выполняется с помощью установки свойства QuikTrader.IsDde. При Lua подключении нет необходимости указывать путь к терминалу, но необходимо указать настройки подключения к серверу (LuaFixServerAddress, LuaLogin и LuaPassword):
Code
// создаем подключение
Trader = new QuikTrader
{
LuaFixServerAddress = "127.0.0.1:5001".To<EndPoint>(),
LuaLogin = "quik",
LuaPassword = "quik".To<SecureString>()
};
Значения по умолчанию для этих полей соответствуют настройкам по умолчанию в скрипте.
Свойство QuikTrader.IsDde по умолчанию установлено в false, т.о. по умолчанию используется Lua подключение. Если необходимо использовать подключение через Dde, необходимо вручную выставить это свойство:
Code
// создаем подключение
Trader = new QuikTrader(path)
{
IsDde = true
};
Примеры в Пример Quik\Sample позволяет выполнить подключение только через Lua, старые примеры, которые работают через Dde перенесены в папку Quik\Dde.
- [b]Мониторинг работы Lua скрипта
Для мониторинга работы скрипта, после его запуска в Quik, в папке со скриптом, будет создан лог-файл (по умолчанию используется файл StockSharp.QuikLua.log). В данном файле показаны основные запросы клиента к серверу и ошибки обработки данных в скрипте.
Текущая версия Quik Lua коннектора не поддерживает работу со стоп-заявками и получение истории изменений.
Начиная с версии 4.2.26.0 добавлена поддержка стоп-заявок.