大家好,我正在尝试使用 Binace 的蜜蜂,到目前为止一切都很好,我已经使用市价订单模式进行了一些买卖,一切都很完美,现在我正在尝试下限价订单。< /p>
但我总是得到相同的答案。
<块引用>"{"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, 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;
}
}
我做错了什么?
答案 0 :(得分:1)
问题解决了,昨天打的电话一样,没改,币安好像没及时更新我的钱包状态。