Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
e15e1f0
Added supported resolutions to symbol_info
Mar 2, 2015
0a7ac6d
Fixed exception where there is not change in the quotes
Apr 6, 2015
acb5419
FIXED: duplicating timezone
Apr 23, 2015
7a1ff38
Fixed hanging of requests
Jul 22, 2015
07e5be0
Timescale marks
Aug 13, 2015
8401ff7
Correct dates of marks (unix date without time)
Aug 13, 2015
16726cb
Added time request
Oct 13, 2015
00222f8
Support for symbol search by description
Nipheris Oct 16, 2015
c523390
Weighted symbol search
Nipheris Oct 21, 2015
a1bd5e9
Fixed incorrect truncation of search results
Nipheris Oct 23, 2015
fc2b18e
send content-length
Nov 20, 2015
ae9f1ee
fixed crashes on yahoo timeouts
ezhukovskiy Jul 5, 2016
ddb0033
partial yahoo requests
ezhukovskiy Jul 20, 2016
50dd738
return good response
ezhukovskiy Jul 21, 2016
d85157d
add news proxy, because google api is deprecated
ezhukovskiy Jan 12, 2017
eb73a47
a way to set port from env
ezhukovskiy Mar 31, 2017
8757ff9
Used https requests to yahoo to avoid 301
timocov Apr 17, 2017
08a685e
quandl source
ezhukovskiy May 18, 2017
60a7d61
cache quandl results
ezhukovskiy May 19, 2017
eab0a08
change first date
ezhukovskiy Jul 6, 2017
acd4651
remove yahoo history requests
ezhukovskiy Jul 20, 2017
66f4ad5
prepare for emulation branch
ezhukovskiy Jul 20, 2017
387a8cf
Changed config format (without breaking changes)
timocov Sep 7, 2017
4df70a4
add logs, return exact ranges
ezhukovskiy Sep 13, 2017
f4c5212
Change type of quote fields
timocov Sep 22, 2017
5ce3d39
FIXED: odd yahoo error No definition found for Table yahoo.finance.qu…
ezhukovskiy Oct 31, 2017
2df2d0a
Return quandl bar when yahoo is unavailable
ezhukovskiy Nov 3, 2017
9d0e2f1
send no_data
ezhukovskiy Feb 12, 2018
2bd18dc
Use set of quandl keys
ezhukovskiy Mar 28, 2018
bcdd332
do not invalidate keys on socket errors
ezhukovskiy Mar 28, 2018
f4cc53d
fix cache invalidation time, format logs
ezhukovskiy Mar 29, 2018
97d60d7
increase version
ezhukovskiy Mar 29, 2018
a6b6aac
FIXED: too big responses overloading CPU
ezhukovskiy Apr 10, 2018
75f16ae
update version
ezhukovskiy Apr 10, 2018
7296fe0
Sort data by time in asc order
timocov Aug 21, 2018
397947e
update version
timocov Aug 21, 2018
dd21bb5
Removed requesting quotes from yahoo
timocov Jan 4, 2019
cbd7539
Updated version
timocov Jan 4, 2019
d9daa9b
Changed ticker calculation
kirchet Jan 21, 2019
12695f1
Revert "Changed ticker calculation"
timocov Jan 23, 2019
9becbeb
switch to oilprice
ezhukovskiy Apr 2, 2019
4a37576
Update Readme with launch instructions
mmoshnogorskaia Feb 5, 2020
2e117cf
Merge pull request #1 from Moshnogorskaya/readme-update
mmoshnogorskaia Feb 5, 2020
297abf9
Merge pull request #1 from Moshnogorskaya/master
mmoshnogorskaia Feb 6, 2020
c431ff4
Update README.md
mmoshnogorskaia Feb 6, 2020
972a596
Move bar and timescale marks to last bar
mmoshnogorskaia Apr 27, 2020
b0a3cdc
Replace marks date calc with hardcoded timestamp
mmoshnogorskaia Apr 29, 2020
a353552
Rename and optimize marks date
mmoshnogorskaia May 7, 2020
203ad73
Merge pull request #2 from tradingview/move_bar_marks
ezhukovskiy May 7, 2020
ab19fbb
Fixed handling empty symbol name
Oct 21, 2021
016964b
Update request-processor.js
timocov Nov 1, 2021
25e9bb8
Update request-processor.js
timocov Nov 1, 2021
125033b
Update request-processor.js
timocov Nov 1, 2021
220a538
Add timescale mark earning shapes
edew May 31, 2022
0a98122
Fix undefined variable error
edew Jun 9, 2022
d94f6dd
Merge pull request #4 from tradingview/add-timescalemark-earning-shapes
edew Jul 13, 2022
0ba44e0
CL-1388: Update timescale marks colors
olegchernenko Nov 18, 2022
ab3425d
Merge pull request #5 from tradingview/CL-1388_improve_lolly_pops_marks
edew Nov 19, 2022
3784a05
add support for `countback`
SlicedSilver Nov 30, 2022
58b638c
Merge pull request #6 from tradingview/add-countback-support
edew Dec 5, 2022
6740c50
Fix deprecated warning message
SlicedSilver May 31, 2023
25cd36a
add symbol and exchange logos
SlicedSilver May 31, 2023
12f8163
Merge pull request #7 from tradingview/add_symbol_logos
SlicedSilver Jun 13, 2023
75ec564
CL-1691: add exchange logo url to symbol info
SlicedSilver Jul 4, 2023
da4e547
add api endpoint to get tv top news stories
SlicedSilver Aug 3, 2023
729846b
Merge pull request #8 from tradingview/add-tv_news
edew Aug 21, 2023
f8fb3f1
Add user agent to requests
SlicedSilver Oct 15, 2024
cafd736
Merge pull request #9 from tradingview/add-user-agent
edew Oct 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
UDF-compatible Yahoo datafeed
UDF-compatible Quandl/Yahoo data server
==============

This repository contains a sample implementation of server-side UDF-compatible data source.
Use nodejs to launch yahoo.js
This repository contains a sample of UDF-compatible data server.

Register for free at www.quandl.com to get a free API key.

Use NodeJS to launch `yahoo.js` with your Quandl key:

```bash
QUANDL_API_KEY=YOUR_KEY nodejs yahoo.js
```
Change the source URL in `index.html` file of the Charting Library:

```javascript
datafeed: new Datafeeds.UDFCompatibleDatafeed("http://localhost:8888")
```
Save the file and restart the Charting Library server.
138 changes: 138 additions & 0 deletions logos.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
const exchangeLogos = {
NasdaqNM: 'https://s3-symbol-logo.tradingview.com/country/US.svg',
NYSE: 'https://s3-symbol-logo.tradingview.com/country/US.svg',
NCM: 'https://s3-symbol-logo.tradingview.com/country/US.svg',
};

exports.getExchangeLogoUrl = function (exchangeName) {
return exchangeLogos[exchangeName];
};

const baseUrl = 'https://s3-symbol-logo.tradingview.com/';

const symbolLogoNames = {
A: 'agilent-technologies.svg',
AA: 'alcoa.svg',
AAL: 'american-airlines-group.svg',
AAPL: 'apple.svg',
ABBV: 'abbvie.svg',
ABT: 'abbott.svg',
// ACHN: '.svg',
ACI: 'albertsons.svg',
ACN: 'accenture.svg',
ADBE: 'adobe.svg',
ADSK: 'autodesk.svg',
AEO: 'american-eagle-outfitters.svg',
AGNC: 'agnc-investment.svg',
AIG: 'american-international-group.svg',
AKAM: 'akamai.svg',
// ALXN: '.svg',
AMAT: 'applied-materials.svg',
AMD: 'advanced-micro-devices.svg',
AMGN: 'amgen.svg',
AMZN: 'amazon.svg',
ANF: 'abercrombie-and-fitch.svg',
// ANR: '.svg',
APA: 'apa-corporation.svg',
// APC: '.svg',
ARC: 'arc-document-solutions.svg',
// ARIA: '.svg',
// ARNA: '.svg',
ARR: 'armour-residential-reit-7-series-c-cumulative-redeemable-preferred-stock-liquidation-preference-2500-per-share.svg',
// AUXL: '.svg',
AVGO: 'broadcom.svg',
// AVNR: '.svg',
// AWAY: '.svg',
AXP: 'american-express.svg',
AZO: 'autozone.svg',
BA: 'boeing.svg',
BAC: 'bank-of-america.svg',
BAX: 'baxter.svg',
BBBY: 'bed-bath-and-beyond.svg',
// BBT: '.svg',
BBY: 'best-buy.svg',
BIDU: 'baidu.svg',
BIIB: 'biogen.svg',
BK: 'bank-of-new-york-mellon.svg',
BLK: 'blackrock.svg',
BMY: 'bristol-myers-squibb.svg',
BP: 'bp.svg',
// BRCD: '.svg',
// BRCM: '.svg',
BTU: 'peabody-energy.svg',
C: 'citigroup.svg',
CHK: 'chesapeake-energy.svg',
CNP: 'centerpoint-energy.svg',
CSCO: 'cisco.svg',
D: 'dominion-energy.svg',
DAL: 'delta-air-lines.svg',
// DBD: '.svg',
DD: 'dupont-de-nemours.svg',
DDD: '3-d-systems.svg',
DE: 'deere.svg',
DECK: 'deckers-outdoor.svg',
DEI: 'douglas-emmett.svg',
DHI: 'dr-horton.svg',
DIS: 'walt-disney.svg',
DLTR: 'dollar-tree.svg',
// DNDN: '.svg',
DO: 'diamond-offshore-drilling.svg',
DOV: 'dover.svg',
DOW: 'dow.svg',
DRI: 'darden.svg',
DV: 'doubleverify.svg',
DVN: 'devon-energy.svg',
EA: 'electronic-arts.svg',
EBAY: 'ebay.svg',
EBIX: 'ebix.svg',
// ECYT: '.svg',
ED: 'consolidated-edison.svg',
// EMC: '.svg',
// ENT: '.svg',
ESI: 'element-solutions.svg',
// ESRX: '.svg',
// ETFC: '.svg',
EXC: 'exelon.svg',
EXPE: 'expedia.svg',
F: 'ford.svg',
FCEL: 'fuelcell-energy.svg',
// GALE: '.svg',
GD: 'general-dynamics.svg',
GE: 'general-electric.svg',
// GTAT: '.svg',
HD: 'home-depot.svg',
IBM: 'international-bus-mach.svg',
INTC: 'intel.svg',
JPM: 'jpmorgan-chase.svg',
// KERX: '.svg',
KO: 'coca-cola.svg',
LLY: 'eli-lilly.svg',
LUV: 'southwest.svg',
MCD: 'mcdonalds.svg',
MNST: 'monster-beverage.svg',
MO: 'altria.svg',
MSFT: 'microsoft.svg',
NLY: 'annaly-capital-management.svg',
NUS: 'nu-skin-enterprises.svg',
OLED: 'universal-display.svg',
// PNRA: '.svg',
RAD: 'rite-aid.svg',
SAM: 'boston-beer-co.svg',
// SCTY: '.svg',
SD: 'sandridge-energy.svg',
STZ: 'constellation-brands.svg',
T: 'at-and-t.svg',
UA: 'under-armour.svg',
USB: 'us-bancorp.svg',
VZ: 'verizon.svg',
WDC: 'western-digital.svg',
WFC: 'wells-fargo.svg',
// WLT: '.svg',
XOM: 'exxon.svg',
};

exports.getSymbolLogos = function (name) {
const image = symbolLogoNames[name];
if (!image) return undefined;
return [baseUrl + image];
};
Loading