crazyFakir
crazyFakir личный блог
08 ноября 2017, 11:49

#пора_граммировать [4] тики с сайта МосБиржи, ну и минутки тоже :)

Если закинуть вот такую строчку в браузер, то получим тики по SiZ7 текущей сессии
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json
— если добавить 
?start=0&limit=100
то начиная с первой сточки (номер ноль) получим только первые 100 сделок:
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?start=0&limit=100
следующие 100 сделок:
?start=100&limit=100
Минутки получить можно так:
http://iss.moex.com/iss/engines/futures/markets/forts/boards/RFUD/securities/SiZ7/candles.json?from=2017-11-08&till=2017-11-08&interval=1&start=0
Если заменить .json --> .csv, то скачивается файл:

http://iss.moex.com/iss/engines/futures/markets/forts/boards/RFUD/securities/SiZ7/candles.json?from=2017-11-08&till=2017-11-08&interval=1&start=0
Программный пример:
using System;
using System.Net;
using System.IO;

namespace GetDataSmpl
{
    class Program
    {
        static void Main(string[] args)
        {   
            string link = "https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?start=0&limit=10";
            string dataLine; 
            int count = 0;           
            using (WebClient wc = new WebClient())
            {  
                Stream stream = wc.OpenRead(link);
                StreamReader sr = new StreamReader(stream);                
                while ((dataLine = sr.ReadLine()) != null) {
                    if (count >= 14 && count <= 23) Console.WriteLine(dataLine);
                    count +=1;
                }                        
                stream.Close();             
            }                
        }
    }
}

D:\devel\net\ReadDataSmpl>dotnet run
                [1907299081, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59750, 5, "2017-11-08 10:00:00"],
                [1907299082, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59744, 81, "2017-11-08 10:00:00"],
                [1907299083, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59742, 2, "2017-11-08 10:00:00"],
                [1907299084, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59741, 1, "2017-11-08 10:00:00"],
                [1907299085, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59740, 1, "2017-11-08 10:00:00"],
                [1907299086, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59738, 3, "2017-11-08 10:00:00"],
                [1907299087, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59737, 1, "2017-11-08 10:00:00"],
                [1907299088, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59735, 1, "2017-11-08 10:00:00"],
                [1907299089, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59735, 5, "2017-11-08 10:00:00"],
                [1907299090, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59735, 1, "2017-11-08 10:00:00"]
rtfm


#учусьучить
32 Комментария
  • Константин
    08 ноября 2017, 11:58
    а зачем иметь тики в секундах? не проще из терминала тики взять с мс, если денег на оплату подключения к бирже нет?
  • PSH
    08 ноября 2017, 12:14
    Архив бы вытянуть за год хотя бы. В мфд месяц ограничение, в финаме требуха, а не тики. Умней был бы — раньше бы экспорт и сохранение настроил, щас жди год, пока набежит :)
  • PSH
    08 ноября 2017, 12:41

    Все так, все так :)

    Хочется горизонтальные объемы под рукой иметь за произвольный период, не сказать, что прям панацея, но приятный бонус. Без тиковых данных их, конечно, тоже можно построить, пусть и довольно приблизительно, хотя общую картину видно худо-бедно. Но внутренний перфекционист требует точности :)

  • dimakor
    08 ноября 2017, 23:22
    Лучше научите как оттуда вытащить цену последней сделки одной строкой

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн