Поток данных MCX в режиме реального времени для фондовой биржи для отображения на веб-сайте и в мобильном приложении
⚠️ ПРЕДУПРЕЖДЕНИЕ: РЕПОЗИТОРИЙ УСТАРЕЛ ⚠️
Примечание. Этот документ ссылается на полностью завершенный пример исходного кода, который вы можете найти здесь: https://github.com/pubnub/javascript/blob/master/examples/stock-ticker.-mcx/stock.html
Тестирование примера потока данных MCX Stock Ticker
Примечание. Протестируйте действующую версию прямо сейчас! - http://pubnub-demo.s3.amazonaws.com/stock-ticker-mcx/stock.html
Когда вы ищете поставщика сети передачи данных для решений потоковой передачи сокетов в реальном времени для Индийской фондовой биржи или других фондовых бирж, вам следует рассмотреть различные шаблоны сетевой потоковой передачи, которые соответствуют характеру широковещательной передачи акций MCX. Один из шаблонов, который имеет смысл, — это фреймворки publish
и subscribe
, которые будут доступны вам в настраиваемых схемах данных, обычно в формате JSON.
В конце концов, хотя мы не будем освещать это в этом ответе на публикацию, вы также можете создавать линейные графики в реальном времени! - Смотрите эти изображения ниже.
![Поток данных MCX фондовой биржи в режиме реального времени для отображения на веб-сайте и в мобильном приложении](https://i.stack.imgur.com/V89yQ.png)
Поскольку вы говорите о веб-сайтах и веб-приложениях, вам будут интересны две вещи, такие как WebSockets
и поставщик глобальной распределенной сети, который позволит вам передавать данные для котировок акций / тикеров. Лучший поставщик отображения канала передачи данных предоставит вам самое мощное и надежное решение. Шаг первый — открытие потокового соединения сокета в вашем веб-приложении/веб-сайте с последующей отправкой. Ниже приведена отправная точка для вашего веб-приложения:
Открыть поток сокетов TCP в браузере
<!-- Stock Ticker Update DIV -->
<div id="ticker">1,552.80</div>
<!-- Ticker Stream Interafce Code -->
<script src="http://cdn.pubnub.com/pubnub-3.4.3.min.js"></script>
<script>(function(){
// Init MCX Stream
var stream = PUBNUB.init({ subscribe_key : 'demo' });
var ticker = "TCS";
// Update Interface
function quote_update(quote) {
stream.$("ticker").innerHTML = JSON.stringify(quote);
}
// Open Socket To Receive Streaming Ticker Updates
// Bind inbound data to our quote_update() function.
stream.subscribe({
channel : ticker,
message : quote_update
})
})();</script>
Этот код выше откроет поток сокетов для получения обновлений Stock Ticker на веб-сайте. Далее мы воспользуемся провайдером MCX-SX для загрузки данных на ваш сервер. Со своего сервера вы будете делать запросы к серверам MCX-SX для извлечения данных, которые будут отправлены на ваш веб-сайт. Вот их интерфейсы URL схемы данных:
<!-- Interface Display Update DIV -->
<!-- curl http://services.mcx-sx.com/srvlnk.xml -->
<root>
<url key="currencyurl">
<value>http://services.mcx-sx.com/chartservice.svc/cd/{charttype}/{symbol}/{series}/{expiry}/{instrumenttype}/{optiontype}/{strikeprice}</value>
</url>
<url key="equityurl">
<value>http://services.mcx-sx.com/chartservice.svc/eq/line/{symbol}/{series}/{expiry}/2/xx/0</value>
</url>
<url key="equitypreopenurl">
<value>http://services.mcx-sx.com/chartservice.svc/eq/preo/{symbol}/{series}/{expiry}/2</value>
</url>
<url key="equityindexurl">
<value>http://services.mcx-sx.com/chartservice.svc/eq/idx/{symbol}/nm</value>
</url>
<url key="equitypreopenindexurl">
<value>http://services.mcx-sx.com/chartservice.svc/eq/idx/{symbol}/po</value>
</url>
<url key="equityderivativesurl">
<value>http://services.mcx-sx.com/chartservice.svc/eds/{charttype}/{symbol}/{series}/{expiry}/{instrumenttype}/{optiontype}/{strikeprice}</value>
</url>
<url key="currencyhistoricalurl">
<value>http://services.mcx-sx.com/chartservice.svc/cd/{charttype}/{symbol}/{series}/{expiry}/{instrumentname}/{optiontype}/{strikeprice}/{startdate}/{enddate}</value>
</url>
</root>
Возьмите приведенные выше интерфейсы URL и выполните curl
команды. Вот пример URL:
curl http://services.mcx-sx.com/chartservice.svc/eq/line/TCS/EQ/1577836800/2/xx/0
И результат выходного ответа:
{"Expiry":null,"InstrumentName":null,"OptionType":null,"StrikePrice":0,"cmonth":"JAN2020","comparison":null,"date":1364860800,"hline":null,"line":[{"c":"1551.80","t":34008,"v":250},{"c":"1551.90","t":34064,"v":500},{"c":"1547.85","t":34160,"v":250},{"c":"1551.00","t":34255,"v":250},{"c":"1550.65","t":34550,"v":250},{"c":"1549.30","t":34684,"v":250},{"c":"1544.20","t":35272,"v":250},{"c":"1544.60","t":35328,"v":253},{"c":"1546.00","t":35858,"v":250}],"ohlcv":null,"oi":null,"pcp":1553.4,"rbi":0,"secdesc":"TATA CONSULTANCY SERV LTD","series":"EQ ","symbol":"TCS","vol":null}
Вы можете использовать это значение JSON результата и Publish
для символа тикера с помощью следующих команд:
curl "http://pubsub.pubnub.com/publish/demo/demo/0/TCS/0/%7B%22Expiry%22%3Anull%2C%22InstrumentName%22%3Anull%2C%22OptionType%22%3Anull%2C%22StrikePrice%22%3A0%2C%22cmonth%22%3A%22JAN2020%22%2C%22comparison%22%3Anull%2C%22date%22%3A1364860800%2C%22hline%22%3Anull%2C%22line%22%3A%5B%7B%22c%22%3A%221551.80%22%2C%22t%22%3A34008%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221551.90%22%2C%22t%22%3A34064%2C%22v%22%3A500%7D%2C%7B%22c%22%3A%221547.85%22%2C%22t%22%3A34160%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221551.00%22%2C%22t%22%3A34255%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221550.65%22%2C%22t%22%3A34550%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221549.30%22%2C%22t%22%3A34684%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221544.20%22%2C%22t%22%3A35272%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221544.60%22%2C%22t%22%3A35328%2C%22v%22%3A253%7D%2C%7B%22c%22%3A%221546.00%22%2C%22t%22%3A35858%2C%22v%22%3A250%7D%5D%2C%22ohlcv%22%3Anull%2C%22oi%22%3Anull%2C%22pcp%22%3A1553.4%2C%22rbi%22%3A0%2C%22secdesc%22%3A%22TATA%20CONSULTANCY%20SERV%20LTD%22%2C%22series%22%3A%22EQ%20%22%2C%22symbol%22%3A%22TCS%22%2C%22vol%22%3Anull%7D"
Лучше всего после просмотра этих шагов проверить живую демонстрацию здесь: https://github.com/pubnub/javascript/blob/master/examples/stock-ticker-mcx/stock.html
Исходный код находится здесь: https://github.com/pubnub/javascript/blob/master/examples/stock-ticker-mcx/stock.html
Ура!
person
Stephen Blum
schedule
02.04.2013