Блог им. hate2trd

#пора_граммировать [5] ... цена последней сделки по Si с биржи.

Для получения последней сделки нужно изменить порядок запроса на обратный добавив
reversed=1
и оставить только строчку номер 15 в запросе
limit=1
получим запрос вида
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?reversed=1&limit=1
Вариант автоматизации упрощенно:
using System;
using System.Net;
using System.IO;
using System.Text;

namespace GetLastPrice
{
    class Program
    {
        static void Main(string[] args)
        { 
            string newLine;
            string[] lastLine;
            string link = "https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?reversed=1&limit=1";
            int count = 0;           
            for (;;) {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(link);
                request.ContentType = "text/plain; charset=utf-8";
                HttpWebResponse response = request.GetResponse() as HttpWebResponse;        
                using (Stream responseStream = response.GetResponseStream())
                {                    
                    StreamReader sr = new StreamReader(responseStream, Encoding.UTF8);                   
                    while ((newLine = sr.ReadLine()) != null) {                        
                        if (count == 14) {
                            if (newLine =="") break;
                            else {                        
                                lastLine =  newLine.Split(",");
                                Console.WriteLine("Volume is " + lastLine[6] +" at Price " + lastLine[5]);
                            }                                                   
                        }
                        count++;                                            
                    }                                                               
                }
                count = 0;
                response.Close();
            }            
        }
    }
}
 
D:\devel\net\GetLastPrice>dotnet run
Volume is  1 at Price  59686
Volume is  1 at Price  59689
Volume is  1 at Price  59689
Volume is  1 at Price  59689
Volume is  1 at Price  59689
Volume is  3 at Price  59689
Volume is  3 at Price  59689
Volume is  3 at Price  59689
Volume is  3 at Price  59689
Volume is  2 at Price  59688
Volume is  3 at Price  59688


#учусьучить
1.3К | ★7
15 комментариев
dotnet под виндой? не знал
avatar
avatar
crazyFakir, буду знать, спс
avatar
задержку побороть бы
AlexStringer, 
это платно на любой бирже мира.
рынок то финансовый :)
avatar

crazyFakir, задержанные данные они вроде как дают.

Но не факт, что не поставят айпи в блек-лист, если их начать нагружать в промышленных масштабах...

avatar
ch5oh, это странное рассуждение.
— доступ к задержанным данным открыт.
— если количество запросов будет напрягающим, а это бывает  как из-за ошибок, так и при недостаточной квалификации, то вполне можно получить бан. пояснить поддержке ситуацию и исправить свой код. защита от ддос и техноспама — функция на стороне сервера.
— исс имеет целью раздавать данные в «промышленных» масштабах.  он так и называется — исс.
avatar
А есть возможность получать тип сделки (купля/продажа)?
Можно ли получать сделки частями в обратном (хронологическом) порядке? Например, по тысячи в несколько итераций…
avatar
tranquility, 
А есть возможность получать тип сделки (купля/продажа)?
нет, это в планах, но сроки не говорят.
Можно ли получать сделки частями в обратном (хронологическом) порядке? Например, по тысячи в несколько итераций…
само-собой, ставьте &limit=1000 и тяните, контролируя по номеру сделки &tradeno=nn
avatar
crazyFakir, спасибо за оперативный ответ! С tradeno поиграться пока не получается, похоже меня там забанили, надеюсь что временно. Я несколько раз за минуту выполнил запрос через браузер с limit=1000 и теперь ответ приходит, заголовки все есть, но сделок — нет. Еще странно было, что с limit=10 приходил ответ либо с одной сделкой, либо вообще без сделок. Потом limit=1000 что-то выдавало, а теперь вот все, хватит, похоже…
avatar
tranquility, сервер может быть на обслуживании в выходные
завтра закидывайте сюда свою строку запроса — поразбираемся
Я несколько раз за минуту выполнил запрос через браузер с limit=1000
99% что никто вас не банил. незачем им это.
запросов может быть по несколько в секунду, другое дело, что в этом смысла особого нет
avatar
tranquility, кстати, сделки можно забирать только за текущую сессию, те если речь о сделках, то это в рабочее время
avatar
crazyFakir, если данные только за текущую сессию, это не так интересно. Мне тогда проще их самому в предыдущий день записать, а в текущий считать, проанализировать и использовать. Не так удобно, конечно, но на данный момент понятнее и надежнее. А вот если еще и предыдущих дней хочется с десяток проанализировать, то тогда, во-первых, это надо 10 дней до этого сидеть данные писать, а потом еще выделять нужные файлы, упорядочивать… Хотя, последнее — это дело техники, главное неудобство — это что данные надо сначала записать. Если эти сервисы биржи эту проблему не решают, то, получается, лично мне они не очень полезны.
avatar
tranquility, 
ну а мне до всего этого какое дело?
это посты для тех кто хочет, но не знает как начать работать с исс.
искателям халявы тут не рады.
avatar
crazyFakir, согласен, мой предыдущий пост можно было ограничить одним первым предложением.
avatar

Читайте на SMART-LAB:
Фото
Газета «Коммерсант» выпустила тематическое приложение о страховом рынке
Много интересных материалов для тех, кто работает в отрасли и тех, кто так или иначе с ней связан. Полагаем, публикации могут быть интересны и...
Фото
🥳 В десяточку! Два выпуска на сумму более 10 млрд рублей
ГК «А101» завершила сбор книги заявок на два выпуска облигаций общим объемом 10,5 млрд рублей. Начало торгов состоится 26 декабря....
Рубль поставил рост на паузу, но и к обвалу пока не готов
Сегодня рубль поставил рост на паузу и начал «погружаться». Биржевой курс юаня снова выше 11,25 руб. На внебиржевом рынке доллар США колеблется...
Фото
Какая доходность среди облигаций с наивысшим рейтингом надежности и сроком погашения от 3 лет?

теги блога crazyFakir

....все тэги



UPDONW
Новый дизайн