Bit-Maker 3.0 arbitraje USDT estándar de aprendizaje inteligente

El autor:AutoBitMaker-ABM: ¿ Qué está pasando?, Fecha: 2019-12-17 23:46:42
Las etiquetas:

Las redes de autoaprendizaje

La red de autoaprendizaje se basa en la idea de la estrategia de la red tradicional, pero después de un largo tiempo, los datos reales + de retrospección se han optimizado para la configuración de docenas de parámetros, como la lógica de apertura de posiciones, el tiempo de posicionamiento, la posición de parada, la relación de posicionamiento, el intervalo de la red. Se ha implementado un modelo de posicionamiento dinámico inteligente y la posición de parada, lo que evita el alto riesgo que requiere la red tradicional para enfrentar una situación unilateral, aprovechando los retornos de posiciones extremadamente bajos y logrando una buena relación de retiro de beneficios.

Los parámetros de configuración de la estrategia son extremadamente ricos, el equipo asigna especialistas para personalizar una combinación de parámetros única para su cuenta según las necesidades de riesgo y ganancias de los clientes, y hay monitoreo de mercado artificial + automatizado las 24 horas.

Hemos desarrollado un conjunto exclusivo de operaciones de índices, cada conjunto de operaciones de índices contiene varios pares de operaciones individuales de calidad, cada par tiene una proporción de peso única. Los robots operan en grupos de índices que aprenden la estrategia de la red, evitando el riesgo unilateral de una sola operación. Además del índice estático incorporado, definimos un índice dinámico de varios modelos de monedas para el conjunto de índices, seleccionando las monedas líderes de cada bloque para formar el índice, lo que reduce aún más el riesgo.

Una sola cuenta puede ser configurada para operar simultáneamente varios pares de operaciones de monedas y pares de operaciones de índices, lo que proporciona una mayor distribución del riesgo y ayuda a obtener ganancias en una variedad de mercados complejos.

En cuanto a la optimización + control del viento: El servidor de retrospección de la historia funciona durante todo el año, retrospectiva automática de todos los datos más recientes, cálculo de parámetros óptimos en tiempo real. Nuestra estrategia consiste en un grupo de más de 50 servidores auxiliares que verifican las condiciones de suspensión de pérdidas de las cuentas a una velocidad promedio de dos veces por segundo, con el fin de salir rápidamente cuando surja el riesgo.

Ali Cloud, Amazon Cloud, Microsoft Cloud arquitectura de nubes híbridas heterogéneas, nodos de administración y ejecución separados, clustering entre múltiples nodos para garantizar la redundancia, la seguridad y la seguridad de la operación fluida y la seguridad financiera para lograr una operación efectiva y eficaz

En cuanto a la prueba: Dependiendo del tamaño de sus fondos, ofrecemos una prueba de dos semanas o más. Una vez que el bot se haga cargo de su cuenta, no haga nada por su cuenta, y todos los bots se retirarán inmediatamente cuando detecten cualquier otra posición manual.

En cuanto a las comisiones: Esto depende de la cantidad de dinero que tengas. Hablaremos después de la fase de prueba. Si puedes crear una cuenta con nuestro enlace de recomendación, cobraremos una comisión muy baja.

Encuentra información: En WeChat: DuQi_SEC/autobitmaker/Shawn_gb2312/ABM_DD, el usuario de WeChat se encuentra en el sitio web de la empresa. El correo electrónico:liuhongyu.louie@autobitmaker.com/autobitmaker_master@autobitmaker.com

El microprocesador de WeChat ha presentado una solicitud de prueba:微信小程序码


var chart = {
    __isStock: false,
    extension: {
        layout: 'single',
        col: 8,
        height: '300px'
    },
    tooltip: {
        xDateFormat: '%Y-%m-%d %H:%M:%S, %A'
    },
    title: {
        text: 'Account_Balance_Detail'
    },
    xAxis: {
        type: 'datetime'
    },
    yAxis: {
        title: {
            text: 'USDT'
        },
        opposite: false
    },
    series: []
};

function initChart() {
    chart.series.push({
        name: "Account_" + (Number(0)) + "_Detail",
        id: "Account_" + (Number(0)) + "_Detail",
        data: []
    });
}

function getChartPosition(avaliableMargin) {
    return {
        __isStock: false,
        extension: {
            layout: 'single',
            col: 4,
            height: '300px'
        },
        title: {
            text: '保证金占比(%)'
        },
        series: [{
            type: 'pie',
            name: 'one',
            data: [{
                name: '可用保证金(%)',
                y: avaliableMargin,
                color: '#dff0d8',
                sliced: true,
                selected: true
            }, {
                name: '保证金占用(%)',
                y: 100 - avaliableMargin,
                color: 'rgb(217, 237, 247)',
                sliced: true,
                selected: true
            }]
        }]
    };
}

function updateAccountDetailChart(ObjChart) {
    var nowTime = new Date().getTime();
    var account = exchanges[0].GetAccount();
    try {
        if (account !== null && account.Info !== null && account.Info.totalMarginBalance > 0) {
            ObjChart.add([0, [nowTime, Number(account.Info.totalMarginBalance)]]);
        }
    } catch (err) {
        Log('ERROR ' + account + ',' + err)
    }
}

function getBalance() {
    var currentBalance = 0;
    var account = exchanges[0].GetAccount();
    try {
        if (account !== null && account.Info !== null && account.Info.totalWalletBalance > 0) {
            currentBalance += Number(account.Info.totalWalletBalance);
        }
    } catch (err) {
        Log('ERROR ' + account + ',' + err)
    }
    Sleep(666);
    return Number(currentBalance).toFixed(6);
}

function getMarginBalance() {
    var currentBalance = 0;
    var account = exchanges[0].GetAccount();
    try {
        if (account !== null && account.Info !== null && account.Info.totalMarginBalance > 0) {
            currentBalance += Number(account.Info.totalMarginBalance);
        }
    } catch (err) {
        Log('ERROR ' + account + ',' + err)
    }
    Sleep(666);
    return Number(currentBalance).toFixed(6);
}

function printProfitInfo(currentBalance) {
    var profit = Number((currentBalance) - baseOriginalBalance).toFixed(5);
    var profitRate = Number((((currentBalance) - baseOriginalBalance) / baseOriginalBalance) * 100).toFixed(4);
    LogProfit(Number(profitRate), '&');
    Log('The current balance is ' + currentBalance + ', the profit is ' + profit + ', the profit rate is ' + profitRate + '%');
}

function printPositionInfo(exchangeInnerArray, totalProfitUSDT, totalProfitRate) {
    var totalProfit = 0.0
    var table = {
        type: 'table',
        title: 'POSITIONS',
        cols: ['Symbol', 'Type', 'AvgPrice', 'Position', 'Profit'],
        rows: []
    }
    if (showInfo) {
        table.rows.push([{
            body: '* 2020-09-07 之前一直人民币100万实盘运行,现策略更新,自动将合约闲置资金转入币安宝,即提高资金安全性,也可以双边获利,当合约所需保证金上涨或下降时,将自动调整两边余额。因当前FMZ无法监控币安宝余额,所以剥离10W人民币继续运行原策略以做展示。',
            colspan: 5
        }]);
    }
    table.rows.push([{
        body: '本策略是 USDT 本位,基于均值回归的币安合约套利策略,并以低风险辅助网格并行(BitMEX支持BTC本位)',
        colspan: 5
    }]);
    table.rows.push([{
        body: '套利主要币种是 BTC/USDT 和 ETH/USDT,网格覆盖币安永续合约全部币种交易对',
        colspan: 5
    }]);
    for (var index in exchangeInnerArray) {
        var position = exchangeInnerArray[index].GetPosition()
        for (var indexInner in position) {
            var profit = Number(position[indexInner].Info.unRealizedProfit);
            totalProfit = totalProfit + profit
            table.rows.push([position[indexInner].Info.symbol, (position[indexInner].Type == 1 ? 'SHORT #da1b1bab' : 'LONG #1eda1bab'), position[indexInner].Price, position[indexInner].Amount, profit.toFixed(5)]);
        }
        Sleep(168);
    }
    table.rows.push([{
        body: 'TOTAL PROFIT OF CURRENT POSITION',
        colspan: 4
    }, totalProfit.toFixed(6) + ' USDT']);
    table.rows.push([{
        body: 'TOTAL PROFIT',
        colspan: 4
    }, totalProfitUSDT + ' USDT']);
    table.rows.push([{
        body: 'TOTAL PROFIT RATE',
        colspan: 4
    }, totalProfitRate + ' %']);
    LogStatus('`' + JSON.stringify(table) + '`');
}

function main() {
    initChart();
    var ObjChart = Chart([chart, getChartPosition(100)]);
    while (true) {
        try {
            var currentBalance = getBalance();
            printProfitInfo(currentBalance);
            updateAccountDetailChart(ObjChart);
            for (var i = 0; i < 120; i++) {
                try {
                    var avaliableMargin = ((getMarginBalance()) / (getBalance())) * 100;
                    ObjChart.update([chart, getChartPosition(avaliableMargin)]);
                    var profit = Number((currentBalance) - baseOriginalBalance).toFixed(5);
                    var profitRate = Number((((currentBalance) - baseOriginalBalance) / baseOriginalBalance) * 100).toFixed(4);
                    printPositionInfo(exchanges, profit, profitRate);
                    Sleep(1000 * 120);
                } catch (errInner) {
                    throw errInner;
                }
            }
        } catch (err) {
            throw err;
        }
    }
}

Más.

el bromista 。。