バイナンスで注文しようとしています。
ドキュメントに従ってすべてを行いました ドキュメントへのリンク
コード :
public void PlaceOrder(string baseCurrency, string quoteCurrency, OrderType orderType, decimal quantity, decimal price, OrderSubType orderSubType)
{
string timestamp = GetTimestamp().ToString();
string assetPair = baseCurrency.ToUpper() + quoteCurrency.ToUpper();
string orderSubTypeId = "";
if (orderSubType == OrderSubType.LimitOrder)
{
orderSubTypeId = "LIMIT";
}
if (orderSubType == OrderSubType.MarketOrder)
{
orderSubTypeId = "MARKET";
}
string type = "";
if (orderType == OrderType.Sell)
{
type = "SELL";
}
else
{
type = "BUY";
}
string paramString = String.Format(
"symbol={0}&side={1}&type={2}&quantity={3}&recvWindow=60000×tamp={4}",
assetPair, type, orderSubTypeId, quantity.ToString(), timestamp);
string signature = Encode(paramString, secretKey);
string url = string.Format("https://api.binance.com/api/v3/order?{0}&signature={1}", paramString, signature);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers.Add("X-MBX-APIKEY", apiKey);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = WebRequestMethods.Http.Post;
}
文字列 URL は正しいです。URLにコピペしてcurlコマンドを実行したためです。
カール :
curl -H "X-MBX-APIKEY: API_KEY_GOES_HERE" -X POST " https://api.binance.com/api/v3/order?symbol=ETHUSDT&side=SELL&type=MARKET&quantity=0.10000000&recvWindow=60000×tamp=1583924648428&signature=SIGNATURE_GOES_HERE (署名正しいです、確認しました)」
コード内の URL 文字列が正しいため、メソッドに渡されるパラメーターは正しいです。リクエスト自体に問題があります。