Одним из простых способов получения данных из криптовалютных торговых бирж в программу MS Excel для дальнейшего использования или анализа , это вставка программного кода в сам Excel.
Программа на VBA подключается к бирже через API и в зависимости от того, какие вы хотите получить данные меняете строку подключения. В результате получаете данные в виде стоки, которую в дальнейшем в коде можно распарсить по своему усмотрению.
Вот простой пример получения текущей цены торгуемой пары EOS/ETH с биржи Binance:
Private Sub Workbook_Open() Set XMLHTTP = CreateObject("Microsoft.XMLHTTP") XMLHTTP.Open "GET", "https://api.binance.com/api/v3/ticker/price?symbol=EOSETH", False XMLHTTP.Send If XMLHTTP.statustext = "OK" Then txt = XMLHTTP.responseText Cells(2, 5) = txt txt = Mid(txt, 29, 10) Cells(2, 3) = txt End If XMLHTTP.abort Set XMLHTTP = Nothing End Sub
Эта простенькая программа считываемую строку, для примера, выводит в ячеку MS Excel вот в таком виде:
{«symbol»:»EOSETH»,»price»:»0.02672500″}
Ну а дальше вырезает текущую цену с помощью функции VBA MID начиная с 29 символа и длиной 10 и вставляет в другую ячейку Excel.
Можно конечно нужное значение строки вырезать и другими функциями VBA, например Replace, заменяя ненужные символы пустой строкой, но это дело вкуса каждого.
Например так, в два этапа
txt = Replace(txt,"{""symbol"":""EOSETH"",""price"":""", "") txt = Replace(txt, """}", "")
Вот таким простым способом можно взаимодействовать с криптовалютными биржами через MS Excel на VBA.
Комментарии закрыты
Binance is the biggest cryptocurrency exchange in the world. Use this connector in Excel to access public exchange information, as well as your personal trading data.
Exchange Info
List all available trading pairs on the exchange, as well as additional trading info for each pair.
Fields
- Symbol — symbol for the trading pair, e.g. ETHBTC
- Status — trading status for the pair — PRETRADING / TRADING / POSTTRADING / ENDOFDAY / HALT / AUCTION_MATCH /BREAK.
- Base Asset — base asset that is the quantity of a symbol, e.g. ETH.
- Base Asset Precision — number of digits
- Quote Asset — quote asset that is the price of a symbol, e.g. BTC.
- Quote Asset Precision — number of digits
- Minimum Notional — minimum notional value allowed for an order on a symbol. An order’s notional value is the price * quantity.
- Minimum Price — minimum price allowed.
- Maximum Price — maximum price allowed.
- Tick Size — intervals that a price / stop price can be increased/decreased by.
- Minimum Quantity — minimum quantity allowed.
- Maximum Quantity — maximum quantity allowed.
Order Book
List of open orders for specified symbol (e.g., ETHBTC)
Parameters
- Symbol (required) — symbol for the trading pair (e.g. ETHBTC)
- Limit — limit of orders to retrieve.
Recent Trades List
List most recent orders for a specified currency pair.
Parameters
- Symbol (required) — symbol for the trading pair (e.g. ETHBTC)
- Limit — limit of orders to retrieve
Aggregate Trades List
List compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.
Parameters
- Symbol (required) — symbol for the trading pair (e.g. ETHBTC)
- Limit — limit of orders to retrieve
24 hour ticker price change statistics for symbol
24 hour price change statistics for selected symbol.
Parameters
- Symbol (required) — symbol for the trading pair (e.g. ETHBTC)
24 hour ticker price change statistics (all symbols)
Same as above, but for for all available symbols.
Candlestick Data
Trading data for candlestick/k-line charts.
Parameters
- Symbol — Trading pair symbol (e.g. ETHBTC)
Generating candlestick charts with retrieved data
Follow these steps to generate candlestick charts with Excel:
- Select Open time, Volume, High, Low and Close fields. Insert the data.
- Go to Insert tab in Excel, and click the Insert Waterfall or Stock Chart. Choose Volume-Open-High-Low-Close chart.
Open orders (user data)
Retrieves a list of user’s open orders.
This connector requires API key and secret to be entered.
Parameters
- Symbol — Trading pair symbol (e.g. ETHBTC)
All orders (user data)
Retrieves a list of user’s orders (up to 500) — active, canceled, or filled.
This connector requires API key and secret to be entered.
Parameters
- Symbol (required) — Trading pair symbol (e.g. ETHBTC)
- Limit (requiredd) — Maximum number of orders to retrieve (5-500)
Account information (user data)
Retrieves user’s account information.
This connector requires API key and secret to be entered.
Fields
- Maker Commision
- Taker Commission
- Buyer Commision
- Seller Commision
- Can Trade
- Can Withdraw
- Can Deposit
Currency Balances (User data)
Lists balances for all user’s currencies.
This connector requires API key and secret to be entered.
Fields
- Time — Time when balance was checked
- Asset — Symbol for the asset (e.g. BTC)
- Free — Amount available to trade.
- Locked — Amount locked (unavailable to trade).
Access
Add from Manager
The Disqus Connector is available in the Connectors Manager in the top ribbon:
Head over to the Finance Category and install Binance:
Get API keys
To use the Connector you need a Binance API Key. You can create your API Key and Secret in your Account settings.
Contribute
This connector suite is open-sourced on GitHub.
See
Official Documentation
- Binance API
- Alpha Vantage
Resources
- Manager
После первых покупок криптовалюты, формирования вашего инвестиционного портфеля и ежедневным отслеживанием цены на биржах, к примеру, на Binance, вы скорее всего задумаетесь о том, как бы собрать все воедино. Особенно, если активы у вас находятся в разных местах, на разных кошельках.
На помощь придет, старый, добрый, всемогущий Microsoft Excel. Так как, у всех финансовый портфель состоит из своей любимой крипты, то давайте создадим умную таблицу криптовалют, в которой будет автоматическое обновление курсов всех криптовалют. Да, мы импортируем все актуальные цены крипты из интернета в наш Excel криптопортфель.
Подготовка импорта курсов всех криптовалют в Excel
Импортировать котировки мы будем с крупнейшего в мире агрегатора данных о криптовалютах – CoinGecko, на сайте которого, можно просматривать цены на топовые криптовалюты в реальном времени, графики криптовалют, рыночную капитализацию, объем торгов и многое другое. Так же, можно воспользоваться их сервисом – CoinGecko Crypto Data API. Что мы и сделаем.
1. Заходим на сайт https://www.coingecko.com/ru и регистрируемся
2. После открываем страницу https://www.coingecko.com/ru/api/documentation
Она нам еще не раз пригодится
3. Ищем раздел «GET /coins/list», открываем его, кликая и нажимаем «Try it out»
4. В раскрывшихся настройках нажимаем «Execute» и копируем ссылку ниже «Request URL»
https://api.coingecko.com/api/v3/coins/list
Импорт списка криптовалют из API CoinGecko в Excel
5. Открываем Microsoft Excel и на вкладке «Данные» выбираем «Из Интернета»
6. Вставляем скопированную ссылку «Request URL» и нажимаем «OK»
7. После подключения и загрузки, откроется вкладка «Преобразование». Нажимаем «В таблицу» и «OK»
8. В преобразованной таблице в верхней строке нажимаем на кнопку со стрелочками и «OK»
9. После появления таблицы из трех столбцов нажимаем на стрелочку под кнопкой «Закрыть и загрузить» и выбираем «Закрыть и загрузить в …»
10. Если хотим загрузить таблицу на новый лист, то оставляем галочку «Новый лист», если на открытый, то выбираем «Имеющийся лист» и выбираем на листе ячейку А1. Нажимаем «ОК»
После импорта всех криптовалют из CoinGecko в Excel, мы видим справа в разделе «Запросы и Подключения» количество загруженных строк. Но, это мы загрузили только список криптовалют. Пусть он и большой, более 13.000, но где же цены? Где актуальные курсы?
Импорт курсов криптовалют из CoinGecko в Excel
11. Возвращаемся на открытую страницу https://www.coingecko.com/ru/api/documentation
12. Ищем раздел «GET /coins/markets» и нажимаем на него
13. В раскрывшихся настройках указываем «vs_currency» – USD, а в «per_page» – 250 и нажимаем «Try it out»
14. Ниже нажимаем «Execute» и копируем ссылку ниже «Request URL»
https://api.coingecko.com/api/v3/coins/markets?vs_currency=USD&order=market_cap_desc&per_page=250&page=1&sparkline=false
15. Возвращаемся в Microsoft Excel и на вкладке «Данные» снова выбираем «Из Интернета»
16. Вставляем новую скопированную ссылку «Request URL» и нажимаем «OK»
17. После подключения и загрузки, откроется вкладка «Преобразование». Нажимаем «В таблицу» и «OK»
18. В преобразованной таблице в верхней строке нажимаем на кнопку со стрелочками и «OK»
19. После появления таблицы из трех столбцов нажимаем на кнопку «Закрыть и загрузить», так как нам нужно загрузить таблицу на новый лист
Как видим, на листе появилась полная информация о 250 криптовалютах. Почему только 250? К сожалению, API CoinGecko, может выдать нам список только 250 монет. Что же делать?
Если мы хотим загрузить следующие 250 криптовалют из полного списка CoinGecko, чтобы у нас было их 500, то нам необходимо сделать следующее:
20. На вкладке «Данные» снова выбираем «Из Интернета»
21. Вставляем последнюю (длинную) скопированную ссылку «Request URL» и меняем в ней «page=1» на «page=2», чтобы получилось так
https://api.coingecko.com/api/v3/coins/markets?vs_currency=USD&order=market_cap_desc&per_page=250&page=2&sparkline=false
и нажимаем «OK»
22. После подключения и загрузки, откроется вкладка «Преобразование». Нажимаем «В таблицу» и «OK»
23. В преобразованной таблице в верхней строке нажимаем на кнопку со стрелочками и «OK»
24. После появления таблицы нажимаем на стрелочку под кнопкой «Закрыть и загрузить» и выбираем «Закрыть и загрузить в …»
25. Выбираем «Имеющийся лист» и кликаем в колонке «А» первую пустую ячейку под таблицей (А252). Нажимаем «ОК»
Теперь у нас в таблице уже 500 монет из рейтинга CoinGecko. Остальные, если нам понадобятся, мы добавим, повторив пункты 20-25, изменяя «page=».
Последний лист, с полной информацией о криптовалютах, рекомендуем сразу переименовать, к примеру, в «Price», а первый, со списком, в «List». И да, не удаляйте «List», «Price» без него работать не будет.
Инвестиционный портфель в Excel
Для своего инвестиционного портфеля, мы создадим новый лист, к примеру, «Portfolio».
По поводу вида таблицы-портфеля, каждый должен определиться сам, добавив в него свои колонки с данными. Но, самый необходимый минимум должен быть следующий: дата покупки, название монеты; цена покупки; количество; итоговая сумма; текущая цена; итоговая текущая стоимость; доходность.
Создав свою таблицу и прописав в строки имеющуюся у нас криптовалюту, нам нужно “вытащить” из листа «Price» необходимую нам информацию. Самая важная информация для нас находится в колонках «В» – аббревиатура монеты, «С» – название проекта и «Е» – текущая цена. Из них мы и будем собирать информацию в наш инвестиционный криптопортфель.
К примеру, у нас две монеты в таблице: «BTC» и «ETH». Нам нужно в ячейке на пересечении строки «BTC» и колонки «Текущая цена», вставить следующую формулу:
=ИНДЕКС(Price!E:E;ПОИСКПОЗ("BTC";Price!B:B;0))
Она будет искать на листе «Price» в колонке «В» название «BTC» и переносить текущую цену из колонки «Е» в наш «Портфель».
Такую же формулу, по аналогии, нужно вставить и для «ETH», заменив в ней «BTC» на «ETH».
Обновление импорта курсов криптовалют в Excel
Обновление таблиц «List» и «Price» будут происходить в фоновом режиме. Если, по какой-то причине, необходимо обновить прямо сейчас, то сделать это можно принудительно на вкладке «Данные», нажав на «Обновить все».
Надеемся, что данная статья вам хоть в чем-то помогла. Если у вас что-то не получилось, то вы всегда можете задать вопрос в Telegram в группе «CRYPTOвалютчики». Либо, скачать этот образец в формате Excel (.xlsx): Шаблон Криптопортфель, и немножко подглядеть, как должно все работать.
Вместо благодарности вы можете пройти по этой партнёрской ссылке и зарегистрироваться на бирже Binance. Вдруг вы решитесь освоить этот быстроразвивающийся рынок, заняться долгосрочными инвестициями в криптовалюту.
На нашем сайте вы также найдете и другие полезные материалы, к примеру, о крупнейшей криптовалютной бирже Binance:
- Как зарегистрироваться на крупнейшей бирже Binance?
- Как завести деньги на Binance?
- Как перевести деньги на Binance без комиссии? Что такое P2P?
- Как купить криптовалюту на Бинансе?
- Депозит USDT на Binance: Как приумножить крипту?
- Стейкинг: Долгосрочные инвестиции в криптовалюту
- Автостейкинг – новая функция на Binance
И главное! Не забывайте, что криптовалюта – это волатильный актив, который может привести к финансовым убыткам.
Уже пятый день бьюсь головой об клавиатуру. Чтобы спарсить курсы валют в эксель таблицу. Пробовал и через PQ и даже что то пробовал через Макросы. Но ничего не получается. Нашел куда идет запрос https://www.binance.cc/bapi/c2c/v2/friendly/c2c/adv/search , но так же не могу подключится даже, не то чтобы получить интересующие меня курсы валют. Быть может есть здесь знающий человек, который хотя-бы направление правильно укажет. Изменено: vikttur — 28.09.2021 15:28:54 |
|
Григорий Сперанский, |
|
то что я написал выше это путь куда сайт отправляет запросы, через него парсят курсы, через php. Сам сайт который нужно спарсить — p2p.binance.com |
|
doober Пользователь Сообщений: 2204 |
|
Alemox Пользователь Сообщений: 2183 |
#5 29.09.2021 08:44:34 на USD
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
||
Я понял, что это способ получения данных. Еще раз благодарю за это. А как полученную информацию перенести в таблицу? |
|
Нашел исполнителя. Всех благодарю за внимание. Отдельная благодарность Alemox . |
|
Андрей Фавунков Пользователь Сообщений: 2 |
#8 27.05.2022 04:35:31
Доброго времени суток, можете подсказать, как удолось решить эту задачу? |
||
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
#9 27.05.2022 10:56:12 Андрей Фавунков, если в PQ то так:
Вот горшок пустой, он предмет простой… |
||
кто подскажет что за болезнь не могу понять в чем ошибка и как её исправить?? Изменено: Язан Альрифаи — 02.06.2022 10:39:33 |
|
А как парсить в Google Таблицы? Кто-то разобрался? |
|
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
Alex Smirnoff, это лучше спрашивать на форуме по гуглошитсам. Здесь вам не тут. Вот горшок пустой, он предмет простой… |
Андрей Фавунков Пользователь Сообщений: 2 |
#14 30.05.2022 19:07:43
В ютубе найди: IMPORTXML |
||
Юрий М Модератор Сообщений: 60577 Контакты см. в профиле |
Андрей Фавунков, ну что за панибратство? ( |
Кирилл Чернышев Пользователь Сообщений: 5 |
#16 01.06.2022 04:11:46
А что нужно добавить в код чтоб можно было сортировать объявления по лимиту? Изменено: Кирилл Чернышев — 01.06.2022 04:19:42 |
||||
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
Кирилл Чернышев, расшифруйте, пожалуйста, что за лимиты? Я по этому сайту не шарю, просто затащил запрос из vba выше в pq по тупому. Вот горшок пустой, он предмет простой… |
. Изменено: Кирилл Чернышев — 04.06.2022 18:27:50 |
|
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
Кирилл Чернышев, ну, вот тут Николай рассказывает и показывает как затащить параметр с листа в запрос. А дальше уже по аналогии можете подставить полученный параметр в фильтре запроса к апи. Каким образом передается в апи данный параметр от сайта к серверу смотрите в Средствах разработчика браузера. Мне сейчас немножко не до этого. Вот горшок пустой, он предмет простой… |
PooHkrd, Я правильно понимаю в эту строчку добавляю |
|
Robert A Пользователь Сообщений: 4 |
#21 01.06.2022 21:14:58
Для особа не шарющих, подскажите пожалуйста куда этот код вставлять надо?) |
||||
Коля Иванов Пользователь Сообщений: 1 |
PooHkrd, Добрый день! а как в запрос добавить способ оплаты? |
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
Кирилл Чернышев, Коля Иванов, уважаемые товарищи, еще вчера написал, нет у меня щас времени ковыряться с этим вопросом. Используйте Яндекс , там все есть. Когда увидите что именно отправляет на сервер браузер, подкорректируйте пример моего запроса под ваш случай. Вот горшок пустой, он предмет простой… |
PooHkrd, Спасибо, вчера разобрался как это сделать, все просто оказалось, в Исходном коде все есть. |
|
. Изменено: Кирилл Чернышев — 04.06.2022 18:28:37 |
|
Антон Шишков Пользователь Сообщений: 1 |
#27 04.06.2022 16:07:01
привет, как в итоге смог сделать? подскажи пожалуйста |
||
Валерий Ежов Пользователь Сообщений: 1 |
#28 05.06.2022 10:32:27
Подскажи пожалуйста, в Google Sheets через какой инструмент вставлять этот код?) |
||||
Tony Srgv Пользователь Сообщений: 6 |
Всем привет! Истратил неделю. Что делал: Прошу помочь с PowerQuery |
Tony Srgv Пользователь Сообщений: 6 |
#30 06.06.2022 18:53:54 Вопрос решил по PQ — решение было установкой обновления на PQ |
Курсы валют через Power Query
Добрый день, уважаемые читатели блога! Сегодня речь пойдёт снова о загрузке курсов валют, только теперь мы обратимся к криптовалютам.
Основным источником данных о котировках будут служить биржи — Kraken, Binance, Poliniex, Bitterex и прочие. Что их объединяет? Ответ прост — API (application programming interface, программный интерфейс приложения, если по-русски).
Самое забавное, что к этому интерфейсу нельзя обратиться с помощью простого web запроса в Excel. Как мы это делали раньше. Выход есть — использовать Power Query.
Power Query — это специальная технология получения и анализа данных от компании Microsoft. Для Excel 2016 её отдельная установка не требуется (пакет уже включён в программу), для всех остальных версий придётся качать отдельно, также нужно обратить внимание на разрядность вашего офиса (х32, х64).
ССЫЛКА
Скачали, установили и теперь в Excel появится новая вкладка — POWER QUERY.
Вкладка выглядит следующим образом:
В принципе можно рассматривать Power Query как надстройку над вкладкой «Данные», так как у нас расширяется выбор источников получения данных.
Ну что ж, теперь перейдём непосредственно к загрузке. Цель — получить соотношение покупки продажи криптвалютных пар (ETH/BTC). К примеру, нужно загрузить курс с биржи Binance.
Весь труд будет в следующем — найти API биржи и его «руководство пользователя». Для нашей биржи оно находится по адресу:
https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md
Базовой точкой входа будет:
https://api.binance.com/
И далее идёт пространное описание возможностей синтаксиса. Экспериментальным путём и опираясь на это руководство пользователя, выяснилось следующее: для получения данных по конкретной паре валют необходимо указать путь до «бегущей строки» биржи и прописать символьное обозначение пары.
Вот так:
https://api.binance.com/api/v3/ticker/price?symbol=ETHBTC
- v3 — версия api биржи;
- ticker — «бегущая строка» котировок;
- price?symbol=ETHBTC — текущая стоимость продажи.
Воспользуемся полученной ссылкой. Переходим на вкладку «Power Query» и нажимаем кнопку «Из интернета» (она самая первая). Перед нами появится окно с запросом источника загрузки данных, в поле «URL адрес» записываем адрес интересующей пары. Для загрузки остальных нужно просто поменять краткие названия криптовалют в конце строки.
Нажимаем «ОК» и попадаем в редактор запроса и представления на листе Excel.
Видим, появился редактор, данные и параметры запроса. Мы находимся на вкладке «Конвертировать». Перейдём на вкладку «Просмотр» и поставим галку «Строка формул», чтобы видеть запрос в привычном представлении.
Возвращаемся на вкладку «Конвертировать» и нажимаем кнопку «В таблицу».
Поскольку нам ничего пока больше не нужно, в появившемся окне нажимаем «Закрыть и загрузить», чтобы данный запрос появился на листе.
В результате получим вот такую картину.
Цель достигнута, курсы подгрузились. Теперь нужно настроить их на автоматическое обновление. Справа у нас есть столбец «Параметры запроса», щелкаем правой кнопкой мышки по нашем запросу и выбираем «Свойства», ставим галку «Быстрая загрузка» -> Ок.
Далее мы оказываемся на вкладке «Конструктор», в блоке кнопок «Данные из внешней таблицы» щёлкаем по треугольнику после кнопки «Обновить», затем выбираем пункт «Свойства подключения». В следующем окне нужно настроить время обновления нашего запроса.
Проставляем галки как на рисунке. Тем самым мы добиваемся автоматического обновления котировок в течение одной минуты, а если нам нужно — можем обновить сами по нажатию кнопки. Нажимаем «ОК».
Готово! Ждём минуту, курс обновляется сам. Теперь котировки будут подгружаться автоматически.
Единственный минус — для большого количества запросов придётся всё создавать ручками, что в свою очередь будет сильно нагружать программу Excel при обновлении курсов криптовалют.