Блог им. igor12

Нужна консультация программиста по C#

    • 27 июля 2025, 19:02
    • |
    • igor12
  • Еще
Есть код написанный на С#. Программа на пару страниц кода для скачивания исторических данных с сайта биржи.
При компиляции вылетает сообщение, что с заданными параметрами нет данных. Где косяк в коде- непонятно.
Буду благодарен за совет по теме вопроса.
646
62 комментария
начни с gpt
Константин Р, я так и делал изначально … но в итоге вопрос остался.Опыта нужного нет… А готового решения изначально стандартной задачи… (не на питоне) в сети не нашёл.
avatar
igor12, А что не так с питоном), в коде питона сильно легче что-то поправить, чем в C# обычно, да и примеры скачивания данныъ, думаю, найти легче.
avatar
Replikant_mih, на мой мой взгляд- для в общем то «типовой и простой» задачи использовать громоздкую оболочку Питона не совсем разумно..
В 90 годы было несколько достойных автономных решений для этой задачи которые стабильно и шустро скачивали данные с серверов Финама… А так готовые решения на Питоне в сети есть… А так пару раз пытался работать Python- как то не зашло.. 
avatar
Константин Р, == MOEX Инструмент Дата-качка ===
Введите символ (например, SBER): sber
Выберите тип инструмента (shares, bonds, futures): shares
Выберите таймфрейм (1, 5, 15,30, 60, D, W):
60
Введите количество свечей или дату начала (формат 2022-01-01):
2025-07-25

Получается URL:
iss.moex.com/iss/engines/stock/markets/shares/securities/SBER/candles.json?interval=60&start=2025-07-25
Загрузка данных...

Нет данных по выбранным параметрам.
avatar
igor12, 
igor12, все есть, если ссылку в браузере открыть. проблема наверно не в ссылке а в коде, скормите часть этого json-а в коде а не ссылку, может получше ответы будут
Константин Р, Спасибо вам за отклик… Сам не программист… Только чуть есть опыт на паскалеподобном в 4WL...    Компилировать пытаюсь на- dotnetfiddle.net/
«скормите часть этого json-а в коде а не ссылку»- не понятно как это делать… Туплю- но для моего почтенного возраста это допустимо… Тем более -это первая попытка работать с GPT…
avatar
igor12, разбирайтесь без спешки, радости от сложных побед куда больше, и для мозга полезно
igor12, для большинства зарубежных стран заблокирован доступ с сайту мосбиржи, поэтому код запускаемый на сайте dotnetfiddle.net НЕ будет работат. 
Устанавливайте .Net  на свйо комп и запускайте локально
avatar
Beach Bunny, Благодарю за подсказку… Попробую.. dotnetfiddle.net пользовал из за json в коде…
.Net6 установил… Вопрос что дальше со всем этим делать…
avatar
igor12, дальше установить редактор чтобы было где писать код.
avatar
Sprite, Редактор какой? и версия какая!? важно чтобы он работал с  json…
avatar

igor12, короткий ответ: Visual Studio Code
длинный ответ: вам предстоит большой и долгий путь понять как работают программы на С# и проходить его лучше не здесь.

avatar
igor12, если вы ничего не понимаете в работе с .Net
Проще всего скачать Visual Studio — бесплатную версию и там создавать программы на C# и компилировать их.
visualstudio.microsoft.com/ru/vs/preview/
---------
Не ставьте «Visual Studio Code» — это будет менее понятно для вас как использовать.
avatar
igor12, 
на мой мой взгляд- для в общем то «типовой и простой» задачи использовать громоздкую оболочку Питона не совсем разумно..
Я использую Питон — никаких проблем. Раньше использовал С++ и С#. С Питоном все гораздо проще, т.к. масса готовых библиотек (модулей) и меньше писать надо.
avatar
С Питоном все гораздо проще, т.к. масса т.к. масса готовых библиотек ...-скоро грамотные программисты исчезнут как класс...GPT поможет  этому тренду…
avatar
igor12, по вашему нужно начинать с изобретения велосипеда?
avatar
3Qu, Скорее важно не забыть как накачать спустившее колесо у того же велосипеда без помощи сервиса…
avatar
igor12, вы еще сами ничерта не сделали с помощью GPT, а уже кричите что усе погроммисты сдохнут.
Попробуйте для начала сами сделать что нибудь серьезное с помощью GPT.
avatar
Beach Bunny, «вы еще сами ничерта не сделали с помощью GPT» для меня это хобби… не раз писал, что с программированием не пересекался (разве совсем чуть...)
А вот молодых ребят GPT может погубить…
Некоторые врачи уже для диагноза лезут в интернет))
avatar

так канеш ТЗ не ставится )

1. Показать код
2. Показать код ошибки и ее описание
3. Словесно описать, что делает код 

avatar
Андрей К, Вы правы но-в посте озвучил кратко тему проблемы! 99% посетителе смартлаба очень далеки от озвученной темы.
И если кто откликнется- готов выслать всю информацию по вашим пунктам 1, 2, 3…
avatar
igor12, кладите сюда ) в личках консультаций стараюсь не давать, чтоб не садились на шею. Вы там опубликовали ссылку на онлайн компилятор, я тож в нем попробую
avatar
Андрей К, да там похоже проблема не столько в коде, сколько в том, что у камрада пока нулевой уровень и он даже не подозревает, что дотнетфидл что-то где-то внутри себя компилирует.
avatar
Sprite,  «у камрада пока нулевой уровень»- всё верно -повышать уровень уже поздно!...
потому и обратился с вопросами. к тем кто в теме. Попробовал (в первый раз) помучить GPT...- Но там без базовых знаний мало шансов.. 
avatar
Андрей К,   строго не ругайте… это некий вариант от GPT… и для моих лет это почти исключение из правил… А в личку могу прислать вам старую достойную  работу вашего коллеги- программа прекрасно работала пока Финам не изменил правила доступа к своим серверам с данными. И уменя таких достойных программ несколько-но они все были заточены на Финам..


avatar

igor12, вы в след раз исходниками на СЛ обменивайтесь лучше через какое облако… сами видите, оно тут не читабельно

 

расскажите, что у вас не работает? я скопировал ваш код в выше приведенный компилятор, вроде как запускает

avatar
Андрей К, Компилятор вроде как отрабатывает код..-но в конце выдаёт сообщение-Нет данных по выбранным параметрам.
avatar
igor12, у меня нормально отработал в dotnetfiddle.net/, таких сообщений нет
avatar
Андрей К, В итоге он  у вас какие то данные загружает с сайта биржи!??
avatar

igor12, я попробовал погонял на SBER разные ТФ, дает данные не на все ТФ.

стал изучать этот код, там баг в следующем:

«Выберите таймфрейм (1, 5, 15, 30, 60, D, W): „

 

тут не допустимые коды ТФ. При работе с MOEX ISS API допустимо указывать следующие коды ТФ:

  • 1 — 1 минута

  • 10 — 10 минут

  • 60 — 1 час

  • 24 — 1 день

  • 7 — 1 неделя

  • 31 — 1 месяц

  • 4 — 1 квартал

avatar
Андрей К, При работе с MOEX ISS API допустимо указывать следующие коды ТФ:- Вы всё верно написали! Я добавил в код 15мин. фрейм… Но в терминале пробовал задавать 1мин 60 мин День--- всё равно  в конце вылетало сообщение- Нет данных по выбранным параметрам. Да с заглавными вы снова всё верно описали… Хотя вроде изначально вводил заглавные! В любом случае снимаю шляпу!!! и Спасибо за желание помочь! В наше время это дорогого стоит…
avatar
igor12, ну тогда перечислите все комбинации параметров, которые вы ввели и привело к такому сообщению. Только еще раз проверьте их у себя )

а так и 1 и 60 нормально работает на SBER, я проверил все, прежде чем коммент написать
avatar
Андрей К, SBER shares  1   100   (или дату  2025-07-25)  выдаёт по прежнему данных с заданными параметрами нет!?
Компилятор уважает только руку мастера- а со мной отказывается работать…
avatar
igor12, в своё время перепробовал разные компиляторы под С#… выдавали ошибку… и как понял из за того что зто были версии старые без поддержки  json…
avatar
Андрей К, Единственный вопрос — в последнем окне терминала вы что ввоодите!?? Если дату- какую и формат? Или количество свечей?.. Где то я на ровном месте скольжу!!! Сейчас ещё раз попробую…
avatar
Андрей К, Пробовал разные фреймы разную глубину задавать -Нет данных по выбранным параметрам. Возможно где то нелепая ошибка или напротив…
avatar
Андрей К, В итоге вы задали 1 мин фрейм а в данных не вижу время конкретной свечи- только дата?
avatar
igor12, видимо вы вводите маленькими символами тикер, а код явно дает подсказку, что нужно заглавными ) поэтому и не работает видимо

upd. А нет. В коде происходит автоматическая замена маленьких на заглавные
avatar
__rtx, Спасибо вам! Но у Андрея К  тот же код работает!?? А У меня никак! Вроде ввожу те же параметры… В итоге-
=== MOEX Инструмент Дата-качка ===
Введите символ (например, SBER): SBER
Выберите тип инструмента (shares, bonds, futures): shares
Выберите таймфрейм (1, 5, 15,30, 60, D, W):
1
Введите количество свечей или дату начала (формат 2022-01-01):
2025-01-01

Получается URL:
iss.moex.com/iss/engines/stock/markets/shares/securities/SBER/candles.json?interval=1&start=2025-01-01
Загрузка данных...

Нет данных по выбранным параметрам.   Где туплю!!?
avatar
__rtx, но у Андрея тот же код выдаёт при том данные а у меня тупо -Нет данных по выбранным параметрам !?? Тут мне не понятна логика проблемы… Чуть позже постараюсь понять и учесть ваши замечания! Мне важно добиться получения какой то информации а там можно буде домыслить нюансы…
avatar
__rtx, «он просто игнорирует параметр старт.»- у Андрея игнорирует а у меня нет!??
avatar
вот я вам наделал примеров запросов и ответов

Дату код от не отрабатывает, потому что не правильно строится запрос. Там вместо названия start, нужно подставить слово from

Вот тут в коде
avatar
Андрей К, Большое спасибо за помощь и терпение. Мне надо время всё это попробовать и осмыслить… Но остаётся вопрос-у вас один и тот же код сразу выдал данные а у меня  тот же код до сих пор-Нет данных по выбранным параметрам. 
avatar
igor12, исправьте start на from для начала ) если не пойдет, подумаем еще )

на текущий момент у вас следующие баги кода, если подитожить:

1. Не корректные ТФ для MOEX ISS. Нужно как минимум исправить следующую функцию:



2. Некорректное формирование строки url запроса для получения свечей с определенной даты. Название параметра start поменять на название from

avatar
Андрей К, То есть вы запускали код уже с вашими  правками? И по этому у нас разные результаты? И в полученных данных я не вижу время свечи-только дата? 
avatar
Андрей К, В итоге после правок в моём исполнении  появилось много ошибок в коде… Где то накосячил!?? И при этом умудрился поломать начальный код скрипта… 
=== MOEX Инструмент Дата-качка ===
SBERSBER
Выберите тип инструмента (shares, bonds, futures): shares
Выберите таймфрейм (1, 5, 15, 60, D, W):
60
Введите количество свечей или дату начала (формат 2022-01-01):
2025-01-01
Unhandled exception. System.ArgumentException: Некорректный таймфрейм
   at MoexAdvancedDownloader.Program.ParseInterval(String timeframe)
   at MoexAdvancedDownloader.Program.Main(String[] args)
   at MoexAdvancedDownloader.Program.<Main>(String[] args)
Command terminated by signal 6
avatar
Можете просто скачать свечки с помощью 
moex.backtrader.ru/

avatar
Beach Bunny, Делать ставку на ресурс который в любой момент прикроют ..- та ещё идея)
avatar
«С таким подходом «путь к успеху» может быть бесконечным.»- а кто спорит… до того берега доплывают единицы..  Каждый проходит свой путь..
Тот же  опытный АГ уже который год торгует  у нуля… Причин много)
avatar
__rtx,  устал уже писать -С 90г  где то по 2022г (когда Финам ожлобился!) проблем с данными не было от слова -совсем! Было Несколько прекрасных ( бесплатных!!) программ с удобным интуитивизм интерфейсом с помощью которых быстро качались данные любого фрейма любой глубины и формата… Но все они брали данный с серверов Финама! После того как Финам изменил условия -начались танцы с бубном… А местные прогеры только щёки надувают и ваяют разную хрень на том же питоне. Один только пример- у Осы есть опция загрузки истории данных. Но работает она через раз и криво… А автор  современного чуда (осы) только пальцы гнёт и банит всех кто посмел высказать критические замечания. При этом загадил весь ресурс рекламой своих поделок. Это современный тренд.  Человечество деградирует по всем направлениям)))
avatar
igor12, ну кстати Финам до сих пор прекрасно отдаёт данные для автоматической закачки. Главное не спешить и не жадничать)) недавно докачивал все торгуемые акции из TQBR
avatar
wrmngr, Это так… Но надо менять алгоритм запроса данных с Финама…
avatar

Читайте на SMART-LAB:
Фото
Портфель Андрея Хохрина :) Своими словами
📱 vkvideo.ru/video-210986399_456244317 📱 youtu.be/bmtfG92q9ms Спасибо коллегам из РБК за площадку и возможность! Телеграм:...
Отличная работа! Несмотря ни на что, аналитики Mozgovik Research проделали качественную работу в 2025 году👍
Конец года — время задуматься, какие акции могли принести наилучший результат. В этом году хороших акций было не так много, но мне приятно...
Фото
OsData и Тестер. Качаем слепки стаканов и запускаем тестер. Видео.
Сегодня будем учиться скачивать с биржи слепки стаканов и запускать на них тестер. Видео предназначено для программистов, которые уже умеют...

теги блога igor12

....все тэги



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