বিট-মেকার নগদ ও ইউএসডিটি চুক্তির মোট ব্যালেন্স পর্যবেক্ষণ

লেখক:অটোবিটমেকার-এবিএম, তারিখ: ২০-০২-২০২০৮ঃ১২ঃ০৬
ট্যাগঃ

অটোবিটমেকারএদিকে, বাংলাদেশের সরকারি সংবাদমাধ্যমগুলোতে প্রকাশিত এক প্রতিবেদনে বলা হয়েছে, কৌশলগতভাবে, এই প্রক্রিয়াটি ম্যানুয়ালি সম্পন্ন করা যেতে পারে। কিন্তু ম্যানুয়াল অপারেশনের তুলনায়, বিওটি বাজারের সমস্ত ট্রেডিং জোড়ার মুনাফা স্পেস ক্যাপচার করে, প্রতিদিন শত শতবার লেনদেন করে; আপনার হাতকে আরও মুক্ত করে এবং বাজারের ঝুঁকি হ্রাস করে।

আমরাঅটোবিটমেকারসংক্ষেপেএবিএম ক্যাপিটালএই ভিডিওটি একটি ভিডিও বার্তায় প্রকাশিত হয়েছে, যেখানে বলা হয়েছে, 'আপনারা দয়া করে সাবধানে দলটির নাম, মাইক্রো-সিগন্যালগুলি চিহ্নিত করুন যাতে আপনি সত্য এবং মিথ্যাকে আলাদা করতে পারেন। এই মুহূর্তে, আমরা কেবলমাত্র ওয়েচ্যাট, ইমেলের মাধ্যমে দেশীয় গ্রাহকদের সাথে যোগাযোগ করতে পারি এবং QQ ইত্যাদির মাধ্যমে যোগাযোগ করতে পারি না।

এবিএম টিমবর্তমানে তিনটি ধরণের কৌশল রয়েছে

  • চুক্তি চুক্তি
  • নগদ লেনদেন
  • লাভজনক লেনদেন

বর্তমানে, কোডটি শুধুমাত্র অ্যাকাউন্টের জন্য নজরদারি করা হয়, সোর্স কোড প্রকাশ করা হয়, এবং আপনি নিজেরাই পরীক্ষা করতে পারেন বা ব্যবহার করতে পারেন। USDT-এর মূল্যের উপর নজর রাখা।

বর্তমানে টিম স্ট্যাটিসি সার্ভার ক্লাস্টার ৮০ টিতে পৌঁছেছে এবং ৫০ টিরও বেশি সমর্থনকারী সার্ভার রয়েছে যা অ্যাকাউন্টের স্টপ-লস শর্তগুলিকে প্রতি সেকেন্ডে গড়ে ২ বার পরীক্ষা করে এবং ঝুঁকিপূর্ণ পরিস্থিতিতে দ্রুত প্রত্যাহার করতে পারে।

অ্যালাই ক্লাউড, অ্যামাজন ক্লাউড, মাইক্রোসফ্ট ক্লাউড আর্কিটেকচার, বিচ্ছিন্ন পরিচালনা এবং সম্পাদন নোড, বহু-নোটের মধ্যে ক্লাস্টারিং ব্যবহার করে হাইব্রিড ক্লাউড ব্যবহার করে পুনর্ব্যবহারযোগ্যতা সুরক্ষা, নিরাপদ এবং কার্যকর বাস্তবায়নের জন্য ব্যবসায়ের মসৃণ অপারেশন এবং তহবিল সুরক্ষা

ট্রায়াল সম্পর্কেঃ আপনার অর্থের আকারের উপর নির্ভর করে, আমরা প্রায় দুই সপ্তাহের ট্রায়াল অফার করি। ট্রায়ালের সময় আমরা কমিশন নিই না। আপনার অ্যাকাউন্টের দায়িত্ব গ্রহণের পরে, দয়া করে নিজে কিছু করবেন না এবং অন্য কোনও ম্যানুয়াল পজিশন সনাক্ত হলে সমস্ত বট অবিলম্বে প্রস্থান করবে।

কমিশন সম্পর্কেঃ এটি আপনার তহবিলের পরিমাণের উপর নির্ভর করে। আমরা ট্রায়ালের পরে আরও কথা বলতে পারি। আপনি যদি আমাদের সুপারিশ লিঙ্কটি ব্যবহার করে অ্যাকাউন্ট তৈরি করতে পারেন তবে আমরা খুব কম কমিশন নেব।

যোগাযোগের জন্যঃ

  1. দেশজুড়ে সাক্ষাত্কার
  2. উইচ্যাটঃDuQi_SEC/autobitmaker/autobitmaker_001/Shawn_gb2312/ABM_DD
  3. ইমেইল:liuhongyu.louie@autobitmaker.com/autobitmaker_master@autobitmaker.com
  • বিশেষ টিপস ((মাইক্রোসিগন্যাল autobitmaker001 আমরা নই! আমরা makebit নামেও পরিচিত নই! মাইক্রোসিগন্যাল autobitmaker_001 আমরা)

উইকিমিডিয়া প্রোগ্রামটি একটি ট্রায়াল অ্যাপ্লিকেশন জমা দিয়েছেঃ微信小程序码


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

আরো