я хочу создать бота для обмена бинансом
этот бот будет копировать каждую сделку с моего счета в другой аккаунт
например, если я куплю биткойн для своего аккаунта по цене 4000 $, он купит его для других аккаунтов, которые подключены к моему аккаунту в моем боте, чтобы вы могли подключить свой аккаунт к аккаунту профессионального трейдера, и все, что он будет делать, будет сделано на вашем аккаунте. тоже
для подключения к binance websocket я использую пакет npm-binance-api
у меня проблема в том, что я хочу создать экземпляр этого пакета для каждого пользователя в базе данных, чтобы у меня было соединение с веб-сокетом для каждого пользователя, чтобы я мог отслеживать активность каждого пользователя
ТАК
Как я могу иметь подключение к веб-сокету для каждого пользователя
это мой код, который не работает
User.find().then((users)=>{
let binance = []
for(let i =0;i<users.length;i++){
this["binance"+i] = require('node-binance-api')().options({
APIKEY,
APISECRET,
useServerTime: true,
// reconnect: false // If you get timestamp errors, synchronize to server time at startup
}).websockets.userData(balance_update, execution_update);
function balance_update(data) {
console.log("Balance Update user:",users[i]);
}
async function execution_update(data) {
let {
x: executionType,
s: symbol,
p: price,
q: quantity,
S: side,
o: orderType,
i: orderId,
X: orderStatus
} = data;
if (executionType == "NEW") {
if (executionType == "REJECTED") {
return console.log("Order Failed! Reason: " + data.r);
}
user2Secret).then((binance)=>{
try {
for(let j = 0;j<users[i].subAccount.length;j++){
console.log('we are in j');
let binancesub = new require('ccxt').binance({
apiKey: users[i].subAccount[j].bak,
secret: users[i].subAccount[j].bsk,
})
binancesub.createOrder(symbo,orderType,side,quantity,price)
}
} catch (error) {
return console.log('error in binance:',error);
}
return;
}
if (executionType === "CANCELED") {
return console.log('order should be canceled');
}
}
}
})