策略源码
// 从持仓列表中获取特定币种的持仓
function getPositionBySymbol(positions, symbol) {
var index = -1;
if (positions && positions.length > 0) {
for (var i = 0; i < positions.length; i++) {
if (positions[i][0].Symbol == symbol) {
index = i;
break;
}
}
}
return index == -1 ? null : positions[index];
}
// 获取所有持仓列表
function getAllPositionInBinance() {
var ret = exchange.IO("api", "GET", "/fapi/v2/account");
var positions = [];
var i = 0;
if (!ret || !ret.positions) {
return null;
}
// 获取所有持仓
for (i = 0; i < ret.positions.length; i++) {
if (ret.positions[i].positionAmt != 0 && ret.positions[i].symbol.endsWith("USDT")) {
positions.push([{
Symbol: ret.positions[i].symbol.substring(0, ret.positions[i].symbol.lastIndexOf("USDT")) + "_USDT",
Amount: Number(Math.abs(ret.positions[i].positionAmt)),
FrozenAmount: 0,
Price: Number(ret.positions[i].entryPrice),
Profit: Number(ret.positions[i].unrealizedProfit),
Type: ret.positions[i].positionAmt < 0 ? PD_SHORT : PD_LONG,
ContractType: "swap",
Margin: Number(ret.positions[i].positionInitialMargin),
LevelRate: Number(ret.positions[i].leverage)
}]);
}
}
// 合并相同币种的持仓(同一币种,多空双向持仓)
if (positions.length >= 2) {
for (i = 0; i < positions.length; i++) {
for (var j = i + 1; j < positions.length; j++) {
if (positions[i][0].Symbol == positions[j][0].Symbol) {
positions[i].push(JSON.parse(JSON.stringify(positions[j][0])));
positions.splice(j, 1); // 删除相同币种
break;
}
}
}
}
return positions;
}
全部留言
eth8888
调试提示 ReferenceError: 'main' is not defined 求解答
2021-12-31 17:03:32
Exodus[策略代写]
太好用了,感谢!
2021-10-19 07:29:49
LJG658658
怎么看不到我的评论
2021-09-18 14:10:02
LJG658658
没明白,这个是可以看平台上面这个币种的所有开仓的多空吗
2021-09-18 14:09:25
夏天不打你
币安U本位合约的全部持仓情况
2021-09-20 17:37:54
轻轻的云
正需要,超赞!!!!谢谢!!!!
2021-09-17 14:23:55
鑫
赞一个,可以优化一下, 多空双向持仓
2021-09-16 02:55:44
夏天不打你
已经是多空双向持仓了
2021-09-16 12:20:24