제3자 웹 사이트에서 K 라인을 가져오기 (0804 업데이트)

저자:미쳤어요, 2016-04-08 00:01:57
태그:Extent-API

K 라인 데이터를 획득하는 것을 지원하지 않는 플랫폼 (BitVC 선물,BTCC의 BTC 현금,중국 비트코인의 ETH,ETC) 은 전략 시작 시 충분한 K 라인을 획득해야 하는 경우 이 템플릿을 사용하여 플랫폼의 역사 K 라인 데이터를 직접 제3자 사이트에서 얻을 수 있습니다. 주의: K선 데이터는 3초에 한 번 업데이트되므로 고주파 호출이 불가능합니다. 실제 거래에만 적용됩니다. 저자는 제3자 데이터의 정확성과 절차의 정확성을 보증하지 않으며, 학습 참조를 위해만 제공됩니다.

0427 업데이트: JSON 데이터를 처리할 때 파세에서 나올 수 있는 오차, 오차가 발생하면 통일값을 null로 반환한다.



$.AltRecords = function(exchange, timeframe, size, includeLastBar) {
    var symbol;
    var info;
    var record = [];
    if (!size) size="";
    // 目前只支持以下三个交易所,其余交易所接口可参考https://www.btc123.com/api
    if (exchange.GetName().indexOf('Futures_BitVC') != -1) { 
        symbol = "bitvcbtccnyfuture";
    }
    else if (exchange.GetName().indexOf('BTCC') != -1 && exchange.GetCurrency().indexOf('BTC') != -1) {
        symbol = "btcchinabtccny";
    }
    else if (exchange.GetName().indexOf('CHBTC') != -1 && exchange.GetCurrency().indexOf('ETH') != -1) {
        symbol = "chbtcethcny";
    }
    else if (exchange.GetName().indexOf('CHBTC') != -1 && exchange.GetCurrency().indexOf('ETC') != -1) {
        symbol = "chbtcetccny";
    }
    
    if (symbol) {
        try {
            info = JSON.parse(HttpQuery('https://www.btc123.com/market/kline?symbol='+symbol+'&type='+timeframe+'&size='+(includeLastBar ? size : size+1)));
            if (info && info.isSuc) {
                info = JSON.parse(info.datas.data);
            }
            else {
                Log("获取K线时发生错误:", info && info.des ? info.des : "网络错误");
                return null;
            }
        } catch (e) {
            Log("获取K线时发生错误:", info && info.des ? info.des : "网络错误");
            return null;
        }
        for (var i = 0; i < (includeLastBar ? info.length : info.length-1); i++) {
            record.push({"Time": info[i][0], "Open": info[i][1], "High": info[i][2], "Low": info[i][3], "Close": info[i][4], "Volume": info[i][5]});
        }
        return record;
    }
    return exchange.GetRecords(); // 不支持的交易所采用默认方式处理(忽略所有参数,如时间周期、长度等)。
};

function main() {
    Log(exchange.GetName());
    var rec = $.AltRecords(exchange, "5min", 100); // 获取5分钟K线, 100条, 不含最后一条Bar
    if (rec) Log(rec.length, rec[rec.length-1]);
    rec = $.AltRecords(exchange, "4hour", 100, 1); // 获取4小时K线, 100条, 含最后一条Bar
    if (rec) Log(rec.length, rec[rec.length-1]);
}

관련

더 많은

신부도 마찬가지입니다.좋은 것

키린하지만, 우리는 미래에 대해 더 많은 것을 배울 수 있습니다.

J좋은 일이에요, 내려주세요

닌자쿠좋은 것, 공유 주셔서 감사합니다.

단선 왕승은 높은 가격에 전략을 판매합니다이 글은 정말 좋은 글이지만 아직 이해가 안 됐어요.