永续合约一键市价平仓

Author: GCC, Date: 2021-10-10 11:08:13
Tags:

一键平所有永续合约仓位


function main(){
        exchange.SetContractType('swap')
        exchange.SetCurrency('BNB_USDT')
        Log(exchange.GetPosition())
        acc = exchange.GetAccount()
        //Log(exchange.GetAccount().Info)
        var pos = exchange.GetAccount().Info.positions
        var positioned = false
        for(var i=0;i<pos.length;i++){
            if (pos[i].positionAmt != 0){
                positioned = true
                var symbol = pos[i].symbol.replace('USDT','_USDT')
                //var symbol = pos[i].symbol.replace('BUSD','_BUSD')
                exchange.SetCurrency(symbol)
                var amount = parseFloat(pos[i].positionAmt.replace('-',''))
                if(pos[i].positionSide == 'LONG'){
                    exchange.SetDirection('closebuy')
                    exchange.Sell(-1, amount)
                }
                if(pos[i].positionSide == 'SHORT'){
                    exchange.SetDirection('closesell')
                    exchange.Buy(-1, amount)
                }
            }
        }
        if(positioned == false){
            Log('无持仓')
            return ('无持仓')
        }
        else{
            Log('完成平仓')
            return ('完成平仓')
        }
}

More

ChaoZhang 支持,希望可以更完善,比如考虑精度,比如超过最大交易量可以分批平,比如低于最小交易量可以加仓一部分,再执行平仓