Bit-Maker контролирует наличные USDT

Автор:AutoBitMaker-ABM, Дата: 2021-02-20 10:46:08
Тэги:

AutoBitMakerВ настоящее время официально запущена стратегия безрискового урегулирования. Стратегический принцип заключается в том, чтобы хеджировать наличные и контрактные средства, и этот процесс также может быть выполнен вручную. Однако, по сравнению с ручной операцией, BOT захватывает пространство для получения прибыли для всех паров на рынке, совершая сотни сделок в день; освобождает руки и снижает рыночные риски.

В настоящее время код используется только для мониторинга учетных записей, и его исходный код публикуется, и каждый может проверить его сам или использовать его. Прослеживание стоимости USDT на месте.

МыAutoBitMaker, вкратцеABM CapitalПросим всех внимательно разобраться в названиях команд и микросигналах, чтобы отличить подлинные и ложные. В настоящее время мы общаемся с нашими клиентами только через WeChat, электронную почту и не используем другие способы, такие как QQ.

Команда ABMВ настоящее время существует три типа стратегий.

  • Контрактные сделки
  • Торговля наличными
  • Сделки с дифференцированными активами

Самообучающаяся сетка основана на традиционной стратегии сетки, но после длительного использования фактических дисков + повторного анализа данных была оптимизирована на десятки параметров конфигурации, таких как логика открытия позиций, время повышения позиций, положение остановки, соотношение позиций, интервал сетки. Реализована интеллектуальная динамическая модель повышения позиций и положение остановки.

Параметры конфигурации стратегии чрезвычайно богаты, команда распределяет специалистов, чтобы настроить уникальную комбинацию параметров для вашей учетной записи в соответствии с потребностями клиентов по риску и прибыли, а также с круглосуточным искусственным + автоматизированным мониторингом рынка.

Мы разработали собственные индексные торговые наборы, каждый из которых содержит множество качественных пары, каждая из которых имеет уникальную весовую долю. В дополнение к встроенному статическому индексу, мы определили для индекса динамический индекс для нескольких моделей валют, выбрав ведущие валюты для каждого блока, которые составляют индексный уровень, что еще больше снижает риск.

Одно аккаунт может быть сконфигурирован для одновременной работы с несколькими валютными и индексными парами, что позволяет распределять риски и помогает вам получать прибыль в различных сложных рынках.

В настоящее время в группе 80 стратегических серверов, а также более 50 вспомогательных серверов, которые проверяют состояние учетных записей в среднем 2 раза в секунду, чтобы быстро выйти из них в случае возникновения риска.

Использование гибридных облаков Ali Cloud, Amazon Cloud, Microsoft Cloud архитектуры, разделяющие управление и исполнение узлов, создание кластеров между многоузлами для обеспечения избыточности, безопасного и эффективного осуществления бизнеса, плавного функционирования и финансового обеспечения

По поводу эксперимента: В зависимости от вашего бюджета, мы предлагаем пробные пробеги продолжительностью около двух недель. После того, как боты возьмут на себя ваш аккаунт, не делайте ничего самостоятельно, и все боты будут немедленно выходить, когда обнаружат любые другие ручные позиции.

По поводу комиссии: Это зависит от количества ваших средств. Мы поговорим об этом после пробной стадии. Мы будем взимать очень низкую комиссию, если вы создадите учетную запись с помощью нашей рекомендательной ссылки.

Контактные данные:

  1. Весь мир готов к переговорам
  2. WeChat:DuQi_SEC/autobitmaker/autobitmaker_001/Shawn_gb2312/ABM_DD
  3. Электронная почта:liuhongyu.louie@autobitmaker.com/autobitmaker_master@autobitmaker.com
  • Специальный совет ((микросигнал autobitmaker001 не мы!! мы не называем makebit!! микросигнал autobitmaker_001 это мы)

В этом случае, мы можем попробовать попробовать программу WeChat:微信小程序码


//exchanges[0] is spot

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, totalBalance) {
    var nowTime = new Date().getTime();
    var account = exchanges[0].GetAccount();
    try {
        if (account !== null && account.Info !== null && totalBalance > 0) {
            ObjChart.add([0, [nowTime, Number(totalBalance)]]);
        }
    } catch (err) {
        Log('ERROR ' + account + ',' + err)
    }
}

function getSpotBalanceInUSDT() {
    var ticker = JSON.parse(HttpQuery('https://api.binance.com/api/v1/ticker/24hr'));
    var currentBalance = 0;
    var account = exchanges[0].GetAccount();
    var priceMap = {};
    try {
        if (ticker !== null) {
            for (var index in ticker) {
                priceMap[ticker[index].symbol] = ticker[index].lastPrice;
            }
        }
        if (account !== null && account.Info !== null) {
            for (var index in account.Info.balances) {
                var obj = account.Info.balances[index];
                if (obj.asset !== 'USDT' && priceMap[obj.asset + 'USDT']) {
                    currentBalance += Number(Number(priceMap[obj.asset + 'USDT']) * Number((Number(obj.free) + Number(obj.locked))));
                }
                if (obj.asset === 'USDT') {
                    currentBalance += Number((Number(obj.free) + Number(obj.locked)));
                }
            }
        }
    } 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', 'CurrentPrice', 'Position', 'USDT Value'],
        rows: []
    }
    table.rows.push([{
        body: '本策略是 USDT 本位,低风险现货智能动态参数网格',
        colspan: 5
    }]);
    table.rows.push([{
        body: '所有交易对任选',
        colspan: 5
    }]);
    var ticker = JSON.parse(HttpQuery('https://api.binance.com/api/v1/ticker/24hr'));
    var account = exchanges[0].GetAccount();
    var priceMap = {};
    try {
        if (ticker !== null) {
            for (var index in ticker) {
                priceMap[ticker[index].symbol] = ticker[index].lastPrice;
            }
        }
        if (account !== null && account.Info !== null) {
            for (var index in account.Info.balances) {
                var obj = account.Info.balances[index];
                if (obj.asset !== 'USDT' && priceMap[obj.asset + 'USDT']) {
                    if (Number((Number(obj.free) + Number(obj.locked))) > 0) {
                        table.rows.push([obj.asset, ('LONG #1eda1bab'), Number(priceMap[obj.asset + 'USDT']), Number((Number(obj.free) + Number(obj.locked))), Number(Number(priceMap[obj.asset + 'USDT']) * Number((Number(obj.free) + Number(obj.locked)))).toFixed(4)]);
                    }
                }
            }
        }
    } catch (err) {
        Log('ERROR ' + account + ',' + err)
    }
    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 currentSpotBalance = getSpotBalanceInUSDT();
            var totalBalance = Number(currentSpotBalance).toFixed(4);
            printProfitInfo(totalBalance);
            updateAccountDetailChart(ObjChart, totalBalance);
            for (var i = 0; i < 120; i++) {
                try {
                    var avaliableMargin = 100;
                    ObjChart.update([chart, getChartPosition(avaliableMargin)]);
                    var profit = Number((totalBalance) - baseOriginalBalance).toFixed(5);
                    var profitRate = Number((((totalBalance) - baseOriginalBalance) / baseOriginalBalance) * 100).toFixed(4);
                    printPositionInfo(exchanges, profit, profitRate);
                    Sleep(1000 * 120);
                } catch (errInner) {
                    throw errInner;
                }
            }
        } catch (err) {
            throw err;
        }
    }
}

Больше