Aphelion
Aphelion личный блог
09 мая 2019, 15:32

Скачиваем исторические данные с tradingview

Так как у tradingview нет API для получения свечей и его разработка не планируется, то приходится изобретать собственные велосипеды. После непродолжительных поисков в гугле был найден сайт, который за 3$ предлагает скачать нужные данные. Для получения свечей требуется всего лишь указать ссылку на торговую идею tradingview, а значит свечи с этой страницы можно распарсить самостоятельно и не платить всяким проходимцам 3 бакса (Это ведь целый месяц новой депозитарной комиссии в Октрытии!!!).

Алгоритм следующий:
1) Заходим в график tradingview, выбираем инструмент и таймфрейм
2) Нажимаем опубликовать, заполняем обязательные поля
3) Нажимаем на замочек в нижнем правом углу, чтобы идея стала приватной и публикуем
4) Получаем ссылку вида https://ru.tradingview.com/chart/VIX/veShLNLq-vix/
5) Вставляем эту ссылку в php скрипт, который можно скачать здесь https://gist.github.com/AphelionDH/ef168f9bcff907245907db07d92004b0
6) Запускаем скрипт
7) ???
8) Profit
23 Комментария
  • Леха «my-trade»
    09 мая 2019, 15:43
    не понял, в чем профит
    там минутный график максимум только за несколько дней прогружается
  • Евгений Гуревич
    09 мая 2019, 18:53
    Какая версия php нужна?
  • Евгений Гуревич
    09 мая 2019, 18:55
     Выскакивает ошибка:
    Parse error: syntax error, unexpected '[' in Z:\home\tradingview\www\index.php on line 16
  • Мурен(а)
    10 мая 2019, 13:52
    Как ставить php? 
  • kozmonavt
    10 мая 2019, 14:34
    Что такое php?
  • smit
    10 мая 2019, 20:28
    переписал на python
    • iuiu
      22 сентября 2019, 21:12
      smit, Подеелитесь плиз Питоновской версией 
  • Nikolay
    15 мая 2019, 06:32
      переписал на c#
  • StockChart.ru
    15 мая 2019, 12:36
    Свечки удобно скачивать на ru-ticker.com Открываешь любой график и нажимаешь сохранить как CSV. А потиковые исторические данные там за 19 лет для мосбиржи — с 2000 года и цена меньше 100 баксов
  • FatCat
    28 июня 2019, 09:57
    Спасибо, пригодилось!
  • Андрей
    23 марта 2024, 19:16

    Добрый день!

    Пытаюсь запустить скрипт через разные сайты. Например этот:

    https://www.onlinegdb.com/online_php_interpreter

    Исправив только адрес  на свой:

    https://ru.tradingview.com/chart/BZM2011/g4c5ie39-12321/

    получаю раз за разом ошибку:

     

    PHP Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/main.php on line 9
    PHP Warning: file_get_contents(https://ru.tradingview.com/chart/BZM2011/g4c5ie39-12321/): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/main.php on line 9
    Failed to load data

     

    Помогите пожалуйста!

    Очень нужно скачать данные и ваш совет был единственной «ниточкой»… :-(

     

      • Андрей
        24 марта 2024, 15:16

        Aphelion, Добрый день!

        Спасибо, что откликнулись! Да ещё и так деятельно! 

         

        Чтобы запустить скрипт с локальной машины, я установил MAMP PRO.
        Разобрался как его включить.
        И смог запустить скрипт из браузера.

        Это позволило получить файл candles.json

         

        Разобрался как этот формат преобразовывать в Экселе. Чтобы получить базу данных в виде обычной таблицы.

         

        Однако, остались 2 серьёзных проблемы:
        1) Нет дат.
        timestamp — это не дата. А получить из него дату я не понимаю как.

         


        2) Выводится лишь то, что у tradingview на одном экране. При этом, мне не удалось ужать график так, чтобы на экран вместить более пары сотен свечей. Не помогают и танцы с бубном в попытке подгрузить данные вне одного экрана. 

         

        Т.е. загружаются максимум пара сотен свечей с неопределёнными датами.

        Эти проблемы неразрешимы?

         

        Так или иначе, огромное вам СПАСИБО за попытку помочь.
        Если честно, я не ожидал что вы в принципе откликнитесь.

         

          • Андрей
            24 марта 2024, 19:33
            Aphelion, 

            Забавно! После того, как ваши даты заработали, стало видно что «днёвки» начинаются в разное время. В час, два, три или 4 часа ночи. :-)

            (хотя по идее, время отсечки дней должно быть одним и тем же)

            Забавно устроен TradingView! :-)

             

            Вам огромное спасибо за помощь!
            С вашей помощью могу выкачивать днёвки по годам. (можно попросить tradingview вывести год, а затем пользоваться вашим скриптом. Можно даже перемотать на год до этого и выкачать сразу несколько лет один за одним)

            Что вполне достаточно для решения прикладных задач. :-)

             

            Я конечно ещё попробую использовать Python. (которым никогда не пользовался. Но вроде пишут что там есть программы с похожим функционалом). Т.к. выгружать данные нужно будет сотнями штук.

             

            Но благодаря Вам, я:

            1) Теперь твёрдо знаю, что выгрузка данных из графика осуществима.

             

            2) У меня есть инструмент для решения прикладных задач. Который можно пустить в дело, если с Python будет завтык.

            3) Также, благодаря вам я получил начальное ознакомление с PHP в рамках полезного скрипта.

             

            От души — ОГРОМНОЕ Спасибище, Aphelion !

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

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