Bit-Maker memantau saldo total kontrak tunai & USDT

Penulis:AutoBitMaker-ABM, Tanggal: 2021-02-20 08:12:06
Tag:

AutoBitMakerSaat ini, strategi opsi bebas risiko telah resmi diluncurkan. Strategi ini adalah untuk hedge langsung dan kontrak, dan proses ini juga dapat dilakukan secara manual. Namun, dibandingkan dengan operasi manual, BOT akan menangkap ruang keuntungan dari semua pasangan perdagangan di pasar, melakukan ratusan transaksi per hari; lebih membebaskan tangan Anda dan mengurangi risiko pasar.

Kami adalahAutoBitMaker, singkatnyaABM Capital"Kami meminta Anda untuk mengidentifikasi nama tim dengan hati-hati, sinyal mikro, untuk membedakan yang asli dan palsu. Untuk sementara, kami hanya berkomunikasi dengan pelanggan domestik melalui WeChat, email, dan tidak menggunakan QQ.

Tim ABMAda tiga jenis strategi yang tersedia saat ini.

  • Transaksi kontrak
  • Perdagangan langsung
  • Berdagang dengan suku bunga terendah

Saat ini, kode hanya digunakan untuk pemantauan akun, dan kode sumbernya diumumkan, sehingga semua orang dapat memeriksa sendiri atau mengambilnya. Mengamati nilai USDT dari kontrak USDT + USDT.

Saat ini, kelompok server strategi telah mencapai 80 unit, dengan lebih dari 50 server pendukung yang memeriksa kondisi stop loss akun dengan kecepatan rata-rata 2 kali per detik dan dapat segera keluar jika ada risiko.

Ali Cloud, Amazon Cloud, Microsoft Cloud menggunakan arsitektur hybrid cloud heterogen, memisahkan manajemen dan pelaksanaan node, membentuk cluster antar multi node untuk jaminan redundansi, keamanan dan efektivitas pelaksanaan bisnis yang lancar dan keamanan keuangan

Untuk uji coba: Kami menawarkan uji coba selama sekitar dua minggu, tergantung pada jumlah dana Anda. Kami tidak mengambil komisi selama uji coba. Setelah bot mengambil alih akun Anda, jangan melakukan tindakan apa pun sendiri, dan semua bot akan segera keluar jika mereka mendeteksi posisi manual lainnya.

Untuk komisi: Ini tergantung pada jumlah dana Anda. Kami akan membahasnya setelah tahap uji coba. Kami akan mengenakan komisi yang sangat rendah jika Anda dapat membuat akun menggunakan tautan rekomendasi kami.

Cara Menghubungi:

  1. Semua orang di seluruh negeri dapat berbicara
  2. WeChat:DuQi_SEC/autobitmaker/autobitmaker_001/Shawn_gb2312/ABM_DD
  3. Email:liuhongyu.louie@autobitmaker.com/autobitmaker_master@autobitmaker.com
  • Tips khusus ((mikrosinyal autobitmaker001 bukan kami!! kami juga tidak disebut makebit!! mikrosinyal autobitmaker_001 adalah kami)

Di sini, Anda dapat menemukan beberapa tips yang dapat Anda gunakan untuk membuat akun Facebook Anda.微信小程序码


//exchanges[0] is contract
//exchanges[1] 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 && account.Info.totalMarginBalance > 0) {
            ObjChart.add([0, [nowTime, Number(totalBalance)]]);
        }
    } 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 getSpotBalanceInUSDT() {
    var ticker = JSON.parse(HttpQuery('https://api.binance.com/api/v1/ticker/24hr'));
    var currentBalance = 0;
    var account = exchanges[1].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', 'AvgPrice', 'Position', 'Profit'],
        rows: []
    }
    table.rows.push([{
        body: '本策略是 USDT 本位,基于均值回归的币安现货-合约无风险套利策略',
        colspan: 5
    }]);
    table.rows.push([{
        body: '套利覆盖币安永续合约全部币种交易对',
        colspan: 5
    }]);
    var position = exchangeInnerArray[0].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();
            var currentSpotBalance = getSpotBalanceInUSDT();
            var totalBalance = Number(Number(currentBalance) + 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;
        }
    }
}

Lebih banyak