Bit-Maker 3.0 Arbitrage Học thông minh USDT Binance

Tác giả:AutoBitMaker-ABM, Ngày: 2019-12-17 23:46:42
Tags:

Những người tự học lưới:

Tự học lưới dựa trên tư tưởng chiến lược lưới truyền thống, nhưng sau khi dữ liệu thực tế + kiểm tra lại lâu dài đã được tối ưu hóa cho hàng chục cấu hình tham số như logic mở cổ phiếu, thời gian tăng cổ phiếu, vị trí dừng cổ phiếu, tỷ lệ cổ phiếu, khoảng cách lưới. Thực hiện mô hình tăng cổ phiếu động và vị trí dừng cổ phiếu thông minh, có thể tránh rủi ro cao mà lưới truyền thống phải chịu khi gặp một tình huống đơn phương, sử dụng tỷ lệ thu hồi cổ phiếu cực thấp, đạt được tỷ lệ thu hồi lợi nhuận tốt.

Các tham số cấu hình chiến lược rất phong phú, đội ngũ sẽ phân bổ chuyên gia, tùy chỉnh các cấu trúc tham số độc đáo cho tài khoản của bạn dựa trên nhu cầu rủi ro và lợi nhuận của khách hàng và có theo dõi thị trường tự động 24 giờ.

Chúng tôi tự phát triển một tập hợp giao dịch chỉ số độc đáo, mỗi tập hợp giao dịch chỉ số chứa nhiều cặp giao dịch đơn chất lượng, mỗi cặp giao dịch có tỷ lệ trọng lượng độc đáo. Ngoài các chỉ số tĩnh tích hợp, chúng tôi đã xác định các chỉ số động của nhiều mô hình tiền tệ chọn cho bộ chỉ số, lựa chọn các loại tiền tệ hàng đầu của từng khối để tạo thành cấp chỉ số, giảm rủi ro hơn nữa.

Một tài khoản duy nhất có thể được cấu hình để chạy nhiều cặp giao dịch đồng tiền và cặp giao dịch chỉ số cùng một lúc, phân bổ rủi ro và giúp bạn kiếm lợi nhuận trong nhiều thị trường phức tạp.

Về tối ưu hóa + kiểm soát gió: Máy chủ kiểm tra lịch sử không ngừng hoạt động quanh năm, tự động kiểm tra tất cả các dữ liệu mới nhất, tính toán các tham số tối ưu trong thời gian thực. Chiến lược của chúng tôi là một tập hợp gồm hơn 50 máy chủ hỗ trợ để kiểm tra các điều kiện dừng lỗ của tài khoản với tốc độ trung bình 2 lần mỗi giây, và có thể nhanh chóng rút khỏi khi rủi ro xảy ra.

Sử dụng các đám mây hỗn hợp khác nhau Ali Cloud, Amazon Cloud, Microsoft Cloud kiến trúc, tách quản lý và thực hiện các nút, tạo ra các tập hợp giữa nhiều nút để đảm bảo sự dư thừa, đảm bảo hoạt động suôn sẻ và bảo đảm tài chính cho hoạt động kinh doanh an toàn và hiệu quả

Về thử nghiệm: Tùy thuộc vào quy mô tài chính của bạn, chúng tôi cung cấp thử nghiệm khoảng 2 tuần. Sau khi một bot chiếm tài khoản của bạn, đừng tự làm bất kỳ hành động nào và tất cả các bot sẽ rút khỏi ngay lập tức khi phát hiện ra bất kỳ vị trí thủ công nào khác.

Về tiền thưởng: Điều này phụ thuộc vào số tiền của bạn. Chúng tôi có thể nói thêm sau khi thử nghiệm. Nếu bạn có thể tạo tài khoản bằng liên kết giới thiệu của chúng tôi, chúng tôi sẽ tính phí rất thấp.

Địa chỉ liên hệ: WeChat: DuQi_SEC/autobitmaker/Shawn_gb2312/ABM_DD Email:liuhongyu.louie@autobitmaker.com/autobitmaker_master@autobitmaker.com

Trong khi đó, một số ứng dụng khác cũng được đăng ký.微信小程序码


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;
        }
    }
}

Thêm nữa

người đùa 。。