AutoBitMakerВ настоящее время официально запущена стратегия безрискового урегулирования. Стратегический принцип заключается в том, чтобы хеджировать наличные и контрактные средства, и этот процесс также может быть выполнен вручную. Однако, по сравнению с ручной операцией, BOT захватывает пространство для получения прибыли для всех паров на рынке, совершая сотни сделок в день; освобождает руки и снижает рыночные риски.
МыAutoBitMaker, вкратцеABM CapitalПросим всех внимательно разобраться в названиях команд и микросигналах, чтобы отличить подлинные и ложные. В настоящее время мы общаемся с нашими клиентами только через WeChat, электронную почту и не используем другие способы, такие как QQ.
Команда ABMВ настоящее время существует три типа стратегий.
В настоящее время код используется только для мониторинга учетных записей, и его исходный код публикуется, и каждый может проверить его сам или использовать его. Мониторинг стоимости USDT контрактов на наличные + USDT.
В настоящее время в группе 80 стратегических серверов, а также более 50 вспомогательных серверов, которые проверяют состояние учетных записей в среднем 2 раза в секунду, чтобы быстро выйти из них в случае возникновения риска.
Использование гибридных облаков Ali Cloud, Amazon Cloud, Microsoft Cloud архитектуры, разделяющие управление и исполнение узлов, создание кластеров между многоузлами для обеспечения избыточности, безопасного и эффективного осуществления бизнеса, плавного функционирования и финансового обеспечения
По поводу эксперимента: В зависимости от вашего бюджета, мы предлагаем пробные пробеги продолжительностью около двух недель. После того, как боты возьмут на себя ваш аккаунт, не делайте ничего самостоятельно, и все боты будут немедленно выходить, когда обнаружат любые другие ручные позиции.
По поводу комиссии: Это зависит от количества ваших средств. Мы поговорим об этом после пробной стадии. Мы будем взимать очень низкую комиссию, если вы создадите учетную запись с помощью нашей рекомендательной ссылки.
Контактные данные:
В этом случае, мы можем попробовать попробовать программу WeChat:
//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; } } }