Dapatkan K-Line dari laman web pihak ketiga (0804 kemas kini)

Penulis:Bilangan: Gila, Tarikh: 2016-04-08 00:01:57
Tag:Extent-API

Untuk platform yang tidak menyokong data K-line (BitVC Futures, BTC Spot BTC, ETH, ETC Bitcoin China), anda boleh menggunakan templat ini untuk mendapatkan data K-line sejarah platform secara langsung dari laman web pihak ketiga jika anda perlu mendapatkan jumlah K-line yang mencukupi pada permulaan strategi. Perhatikan: Data K-line diperbaharui setiap 3 saat, jadi panggilan frekuensi tinggi tidak dapat dilakukan. Hanya untuk dagangan sebenar sahaja. Penulis tidak menjamin ketepatan data pihak ketiga dan ketepatan prosedur, hanya untuk rujukan pembelajaran.

0427 Kemas kini: Kelainan yang mungkin dikeluarkan semasa memproses data JSON Parse, apabila berlaku, nilai yang dikembalikan adalah keseragaman 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]);
}

Berkaitan

Lebih lanjut

Perempuan juga.Perkara yang baik

kirinSaya berharap bahawa masa hadapan tradisional juga boleh menjadi contoh.

JBagus, simpan.

Lelaki NingBagus, terima kasih kerana berkongsi.

Wang Won jual strategi harga tinggiIni adalah perkara yang baik, tetapi saya masih belum faham.