В этом примере показано, как соединиться с Elektron™ от Refinitiv™ и инициировать решение покупки для нескольких RICs, использование Elektron в реальном времени длится торговую цену.
Пример использует демонстрационную функцию обработчика событий elektronExampleListener
получать данные реального времени для нескольких ценных бумаг в соответствующих переменных рабочей области MATLAB®. Используйте эту функцию обработчика событий или запишите пользовательскую функцию обработчика событий. Для получения дополнительной информации смотрите Запись и Выполнение Пользовательских Функций обработчика событий.
Чтобы получить доступ к коду для этого примера, введите edit ElektronWorkflow.m
.
Добавьте файлы JAR Elektron в динамический путь к классу Java®. Найдите эти файлы JAR в папке установки. Здесь, папкой установки является i:\Elektron
.
javaaddpath i:\Elektron\ansipage.jar javaaddpath i:\Elektron\ema-javadoc.jar javaaddpath i:\Elektron\ema.jar javaaddpath i:\Elektron\jdacsUpalib.jar javaaddpath i:\Elektron\upa.jar javaaddpath i:\Elektron\upaValueAdd.jar javaaddpath i:\Elektron\upaValueAddCache.jar javaaddpath i:\Elektron\commons-configuration-1.10.jar javaaddpath i:\Elektron\commons-lang-2.6.jar javaaddpath i:\Elektron\commons-logging-1.2.jar javaaddpath i:\Elektron\org.apache.commons.collections.jar javaaddpath i:\Elektron\slf4j-api-1.7.12.jar javaaddpath i:\Elektron\slf4j-jdk14-1.7.12.jar
В качестве альтернативы добавьте эти файлы JAR в статический путь к классу Java. Для получения дополнительной информации о динамических и статических путях к классам, смотрите Путь к классу Java (MATLAB).
Соединитесь с Elektron с помощью сервисного имени и имени пользователя.
c
elektron
объект.
username = 'username'; servicename = 'servicename'; c = elektron(username,servicename);
Получите данные о рынке в реальном времени для IBM® и ценных бумаг Microsoft® с помощью связи Elektron. Используйте функцию обработчика событий в качестве примера elektronExampleListener
. realtime
функция возвращает переменную reqid
как структура, которая содержит эти поля:
ReqId
— Запросите идентификатор для запроса данных реального времени
ReqMsg
— Elektron передают объект запроса API
Handle
— Объект процесса прослушивателя события MATLAB
Listener
— Объект прослушивателя события MATLAB
seclist = {'IBM.N','MSFT.O'}; eventhandler = @(~,ev)elektronExampleListener(ev); reqid = realtime(c,seclist,eventhandler)
reqid = struct with fields: ReqId: 5 ReqMsg: [1×1 com.thomsonreuters.ema.access.ReqMsgImpl] Handle: [1×1 datafeedElektron] Listener: [1×1 handle.listener]
Массивы ячеек IBM
и MSFT
появитесь в рабочем пространстве MATLAB. Каждый массив ячеек содержит те же четыре столбца. Столбцы:
Идентификатор поля Elektron
Имя поля Elektron
Тип данных поля Elektron
Значение данных реального времени поля Elektron
Примите ценовой порог 175$ для безопасности IBM. Определите, меньше ли последняя торговая цена 175$. Установите индикатор buynow
покупки к
true
когда порогу соответствуют. Первый столбец в массиве ячеек IBM
содержит полевой идентификатор. Четвертый столбец в массиве ячеек содержит значение поля. Найдите Elektron последней торговой ценой полевым идентификатором 6
.
for i = 1:length(IBM) if (IBM{i,1} == 6) % Find last trade price if (IBM{i,4} < 175) % Trigger buy price threshold buynow = true; end end end
Используйте индикатор покупки, чтобы создать приказ на покупку для долей IBM в торговой системе по вашему выбору.
Примите ценовой порог 75$ для Защиты Microsoft. Определите, меньше ли последняя торговая цена 75$. Установите индикатор buynow
покупки к
true
когда порогу соответствуют. Первый столбец в массиве ячеек MSFT
содержит полевой идентификатор. Четвертый столбец в массиве ячеек содержит значение поля. Найдите Elektron последней торговой ценой полевым идентификатором 6
.
for i = 1:length(MSFT) if (MSFT{i,1} == 6) % Find last trade price if (MSFT{i,4} < 75) % Trigger buy price threshold buynow = true; end end end
Используйте индикатор покупки, чтобы создать приказ на покупку для долей Microsoft в торговой системе по вашему выбору.
delete(reqid.Listener)
close(c)