비트-메이커 3.0 배당 지능형 학습 USDT 본인 (Binance 단일 플랫폼-중재 USDT 표준)

저자:AutoBitMaker-ABM, 날짜: 2019-12-17 23:46:42
태그:

자율 학습 네트워크:

자기 학습 격자는 전통적인 격자 전략적 사고에 기초하지만, 장기적인 실판 + 재검토 데이터 이후 오픈 포지션 논리, 포지션 시점, 포지션 정지 위치, 포지션 비율, 격자 간격 등 수십 가지 매개 변수 구성에 최적화되었다. 지능형 동적 포지션 모델과 포지션 정지를 구현하여 전통적인 격자의 일방적인 상황에 직면해야 할 높은 위험을 회피하고, 극히 낮은 포지션 환기를 활용하여 좋은 수익 철수 비율을 달성할 수 있다.

전략 구성 매개 변수는 매우 풍부하며, 팀은 고객의 위험과 수익 요구에 따라 특수한 매개 변수 조합을 사용자 지정하는 전문 인력을 할당하고 있으며, 24 시간 인공 + 자동화 시장 모니터링이 있습니다.

우리는 독자적인 지표 거래 집합을 개발했으며, 각 지표 거래 집합은 여러 개의 우수한 단일 거래 쌍을 포함하고 있으며, 각 거래 쌍은 독특한 중량 비율을 가지고 있습니다. 로봇은 지표 집합에 대해 자율 학습 격자 전략을 실행하여 단일 거래에 대한 일방적 위험을 피합니다. 내장된 정적 지표 외에도, 우리는 지표 집합을 위해 여러 옵션 화폐 모델의 동적 지표를 정의하고, 각 블록의 선두 화폐를 선택하여 지표 수준을 구성하여 위험을 추가로 감소시킵니다.

단일 계좌는 여러 단일 통화 거래 쌍과 지수 거래 쌍을 동시에 운영하도록 구성되어 있으며, 이는 위험 위험을 분산하고 다양한 복잡한 시장에서 수익을 창출하는 데 도움이됩니다.

이 글은 이쪽에서 읽었습니다. 역사 재검토 서버는 일년 내내, 모든 최신 데이터를 자동으로 재검토하고, 최적의 매개 변수를 실시간으로 계산합니다. 우리의 전략적 클러스터는 50개 이상의 보조 서버를 포함하고 있으며, 평균적으로 초당 2회에 걸쳐 계정의 손해배상 조건을 확인하고 있으며, 위험이 발생했을 때 빠르게 탈퇴할 수 있습니다.

이형적인 하이브리드 클라우드를 이용한 알리 클라우드, 아마존 클라우드, 마이크로소프트 클라우드 아키텍처, 관리와 실행을 분리하는 노드, 복수 노드 간 클러스터를 구성하여 리듀서런스 보장을 하고, 안전하게 효율적으로 사업의 원활한 운영과 자금보장을 실현한다.

실험에 대해: 귀하의 자금 규모에 따라 약 2주간의 테스트를 제공합니다. 테스트 단계에서 우리는 수수료를 받지 않습니다. 봇이 귀하의 계정을 점유한 후, 직접 작업을 수행하지 마십시오. 다른 수동 포지션이 감지되면 모든 봇이 즉시 종료됩니다.

수수료에 대해: 이것은 당신의 자금에 달려 있습니다. 우리는 테스트 단계 후에 더 이야기 할 수 있습니다. 당신은 우리의 추천 링크를 사용하여 계정을 만들 수 있다면 우리는 매우 낮은 수수료를 청구합니다.

연락처: 위ቻ:DuQi_SEC/autobitmaker/Shawn_gb2312/ABM_DD 이메일:liuhongyu.louie@autobitmaker.com/autobitmaker_master@autobitmaker.com

이 글의 내용은 이 부분의 내용입니다.微信小程序码


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

더 많은

조커 。。