Binance Api[buy limit]它说我没有资金进行购买,但事实上有
大家好,我正在尝试使用比纳斯的蜜蜂,到目前为止一切都很好,我已经使用市场订单模式进行了一些购买和销售,一切都很完美,现在我正在尝试下限价订单 但我总是得到同样的答案 {“代码”:-2010,“消息”:“帐户余额不足,无法执行请求的操作。”} 我的钱包由两种测试加密货币组成: BNB->free 0.07100 | Locked 0 USDT->免费50.69828637 |锁定0 我试着提出这样的要求:Binance Api[buy limit]它说我没有资金进行购买,但事实上有,api,binance,Api,Binance,大家好,我正在尝试使用比纳斯的蜜蜂,到目前为止一切都很好,我已经使用市场订单模式进行了一些购买和销售,一切都很完美,现在我正在尝试下限价订单 但我总是得到同样的答案 {“代码”:-2010,“消息”:“帐户余额不足,无法执行请求的操作。”} 我的钱包由两种测试加密货币组成: BNB->free 0.07100 | Locked 0 USDT->免费50.69828637 |锁定0 我试着提出这样的要求: symbol=BNBUSDT&type=LIMIT&timeInForce=GTC&quan
symbol=BNBUSDT&type=LIMIT&timeInForce=GTC&quantity=0.333&price=120.001&side=BUY&recvWindow=5000×tamp=1616195182000
这是我的主要代码,正如您所看到的,我正确设置了参数,这是什么
这是在类二进制文件中用于发出请求的两个方法
/**
* @param string $signature
* @return string
*/
private function getSignature(string $signature)
{
return hash_hmac('sha256', $signature, $this->secretKey);
}
/**
* @param string $urlApi
* @param array $request
* @return array|null
*/
public function openClosePosition(string $urlApi,array $request) {
$request['timestamp'] = time() * 1000;
$buildQuery = http_build_query($request);
$signature = $this->getSignature($buildQuery);
if(!empty($buildQuery)) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlApi);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $buildQuery . "&signature=" . $signature);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded", "X-MBX-APIKEY: " . $this->apiKey));
$response = curl_exec($ch);
curl_close($ch);
return [
'request' => $buildQuery,
'response' => $response
];
}else {
return NULL;
}
}
我做错了什么?我解决了问题,我昨天打了相同的电话,没有做任何更改,似乎binance没有立即更新我钱包的状态。binance定义了几种类型的钱包和各自的API组(现货、保证金、储蓄和期货——也许还有其他一些我不知道的)。您的问题没有显示完整的请求路径或您是如何获得资金信息的,请检查您是否尝试从您的资金所在的同一个钱包发送订单。今晚我尝试进行其他测试,我重新加载了今天早上使用的同一个钱包,显然刷新速度太慢,因此即使我将资金转移到指定的货币,它并不总是告诉我资金不足。提出请求的API是:
/**
* @param string $signature
* @return string
*/
private function getSignature(string $signature)
{
return hash_hmac('sha256', $signature, $this->secretKey);
}
/**
* @param string $urlApi
* @param array $request
* @return array|null
*/
public function openClosePosition(string $urlApi,array $request) {
$request['timestamp'] = time() * 1000;
$buildQuery = http_build_query($request);
$signature = $this->getSignature($buildQuery);
if(!empty($buildQuery)) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlApi);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $buildQuery . "&signature=" . $signature);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded", "X-MBX-APIKEY: " . $this->apiKey));
$response = curl_exec($ch);
curl_close($ch);
return [
'request' => $buildQuery,
'response' => $response
];
}else {
return NULL;
}
}