En la carga de los recursos... Cargando...

Obtener K-Line desde un sitio web de terceros (0804 actualizaciones)

El autor:El número de locos, fecha: 2016-04-08 00:01:57
Las etiquetas:Expansión

Para las plataformas que no admiten la obtención de datos de K-string (futuros de BitVC, BTC spot de BTC, ETH de Bitcoin de China, ETC), se puede obtener datos históricos de K-string de la plataforma directamente desde sitios web de terceros con esta plantilla si se necesita obtener suficientes K-string al inicio de la estrategia. No hay que olvidarlo. Los datos de la línea K se actualizan cada 3 segundos, por lo que no se pueden realizar llamadas de alta frecuencia. Sólo se aplica a transacciones en vivo. El autor no garantiza la exactitud de los datos de terceros y la corrección del procedimiento, sólo para uso de referencia.

Actualización 0427: Excepciones que pueden aparecer cuando se procesan datos JSON de Parse. Cuando se producen, el valor de regreso es nulo.



$.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]);
}

Contenido relacionado

Más contenido

Las novias también.Qué bueno.

el mismoEspero que los futuros tradicionales también den un ejemplo.

J.Muy bien, lo tienes.

El hombre de NingGracias por compartirlo.

Las estrategias de venta a alto precio de las líneas cortasEs una buena cosa, pero no lo entiendo todavía.