Skip to content

Instantly share code, notes, and snippets.

@dominiek
Created January 4, 2018 16:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dominiek/94491da0a7c670126203e24313f013f6 to your computer and use it in GitHub Desktop.
Save dominiek/94491da0a7c670126203e24313f013f6 to your computer and use it in GitHub Desktop.
function setSeed() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange(ss.getRangeByName('SEED').getA1Notation());
cell.setValue(Date.now());
}
function onOpen() {
setSeed()
}
function onEdit() {
setSeed()
}
function loadJSON(url){
var json = UrlFetchApp.fetch(url).getContentText();
var data = JSON.parse(json);
return data;
}
var poloniexCache = null
function loadPoloniexTicker(symbol) {
var pair = 'BTC_' + symbol;
var array = [];
var data = null
if (poloniexCache && poloniexCache.ts >= (new Date() - (5*1000))) {
data = poloniexCache
} else {
data = loadJSON('https://poloniex.com/public?command=returnTicker');
}
return [[data[pair]['last'], parseFloat(data[pair]['percentChange'])]];
}
var bittrexCache = null
function loadBittrexTicker(symbol) {
var pair = 'BTC-' + symbol;
var array = [];
var data = null
if (bittrexCache && bittrexCache.ts >= (new Date() - (60*1000))) {
data = bittrexCache
} else {
data = loadJSON('https://bittrex.com/api/v1.1/public/getmarketsummaries');
}
for(var i=0; data.result.length>i; i++) {
if (data.result[i].MarketName == pair) {
array.push([data.result[i]['Last']]);
}
}
return array;
}
function loadLiquiIo(symbol){
var pair = symbol.toLowerCase() + '_btc';
var array = [];
var url = 'https://api.liqui.io/api/3/ticker/' + pair;
var data = loadJSON(url);
array.push([data[pair]['last']]);
return array;
}
function loadHitBtc(symbol){
var pair = symbol.toUpperCase() + 'BTC';
var array = [];
var url = 'https://api.hitbtc.com/api/1/public/' + pair + '/ticker';
var data = loadJSON(url);
array.push([data['last']]);
return array;
}
function loadBitgrail(symbol){
var pair = 'BTC-' + symbol.toUpperCase();
var array = [];
var url = 'https://bitgrail.com/api/v1/' + pair + '/ticker';
var data = loadJSON(url);
array.push([data['response']['last']]);
return array;
}
function loadBinance(symbol){
var pair = symbol.toUpperCase() + 'BTC';
var array = [];
var url = 'https://www.binance.com/api/v1/ticker/24hr?symbol=' + pair;
var data = loadJSON(url);
array.push([data['lastPrice']]);
return array;
}
function loadCoinbasePrice(currency) {
var array = [];
var url = 'https://api.coinbase.com/v2/prices/spot?currency=' + currency;
var data = loadJSON(url);
array.push([data['data']['amount']]);
return array;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment