Блог им. 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:
Фото
Снижение военной премии в нефти: что это меняет для доллара и G10
Во второй половине понедельника – начале вторники рынки активно пересматривают премию за худший сценарий на энергетическом рынке, что цепочкой...
Фото
12 марта Группа Ренессанс страхование опубликует МСФО за 2025 год
Напоминаем, что 12 марта 2026 года RENI опубликует МСФО Группы за 2025 год, а также проведет День инвестора, чтобы рассказать о ситуации на...
Фото
Рынок облигаций: ЕвроТранс, переговоры в Стамбуле и другие события недели
Индекс гособлигаций RGBI уже около месяца удерживается под зоной долгосрочных сопротивлений, не приступая при этом к значимой коррекции....
Фото
Гендиректор Инарктики продал свои акции компании. Что это может значить?
Вечером в пятницу (6 марта ) вышел сущфакт о том, что Соснов Илья Геннадьевич, гендиректор Инарктики, продал свои акции компании. В нашем...

теги блога crazyFakir

....все тэги



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