Lấy K-Line từ trang web của bên thứ ba (0804 cập nhật)

Tác giả:Số: điênNgày: 2016-04-08 00:01:57
Tags:Extent-API

Đối với các nền tảng không hỗ trợ truy cập dữ liệu K-thread (BitVC Futures, BTC Spot, BTC, ETH, ETC của Bitcoin của Trung Quốc), bạn có thể sử dụng mẫu này để truy cập dữ liệu K-thread lịch sử của nền tảng trực tiếp từ trang web của bên thứ ba nếu cần phải truy cập đủ số K-thread khi bắt đầu chiến lược. Lưu ý: Dữ liệu đường dây K được cập nhật mỗi 3 giây, do đó không thể gọi tần số cao. Chỉ áp dụng cho giao dịch thực tế. Tác giả không đảm bảo tính chính xác và chính xác của dữ liệu của bên thứ ba, chỉ dùng để tham khảo.

0427 Cập nhật: Có thể có sự bất thường khi xử lý dữ liệu JSON của Parse, khi xảy ra sự bất thường sẽ trả về giá trị thống nhất là 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]);
}

Có liên quan

Thêm nữa

Cô dâu cũng vậy.Điều tốt.

KirinTôi hy vọng rằng các hợp đồng tương lai truyền thống cũng có thể đưa ra một ví dụ.

JTốt lắm, lấy đi.

Ông NinhRất tốt, cảm ơn đã chia sẻ.

Trong khi đó, các nhà đầu tư khác cũng có thể tham gia vào các hoạt động này.Điều đó là tốt, nhưng tôi chưa hiểu.