如何解决Binance Api [buy limit] 它说我没有资金进行购买,但实际上有
大家好,我正在尝试使用 Binace 的蜜蜂,到目前为止一切都很好,我已经使用市价订单模式进行了一些买卖,一切都很完美,现在我正在尝试下限价订单。
但我总是得到相同的答案。
"{"code":-2010,"msg":"帐户余额不足,无法执行请求的操作。"}"
我的钱包包含两种测试加密货币:
BNB -> 免费 0.07100 |锁定 0
USDT -> 免费 50.69828637 |锁定 0
我正在尝试提出这样的请求:
symbol=BNBUSDT&type=LIMIT&timeInForce=GTC&quantity=0.333&price=120.001&side=BUY&recvWindow=5000×tamp=1616195182000
这是我的主要代码,你可以看到我正确设置了参数,它是什么?
$request = [
BinanceEndpointApi::fieldSymbol => 'BNBUSDT',BinanceEndpointApi::fieldType => 'LIMIT',BinanceEndpointApi::fieldTimeInForce => 'GTC',BinanceEndpointApi::fieldQuantity => number_format( (30/120),3),BinanceEndpointApi::fieldPrice => 120.001,BinanceEndpointApi::fieldSide => 'BUY'
];
$res = $binance->openClosePosition(BinanceEndpointApi::order,$request);
\Kint::dump($res);
here is the screen shown by kint
这是binace类中用来发出请求的两种方法
/**
* @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,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;
}
}
我做错了什么?
解决方法
问题解决了,昨天打的电话一样,没改,币安好像没及时更新我的钱包状态。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。