08.10.2019, 12:55
|
Прохожий
|
|
Регистрация: 07.10.2019
Сообщения: 1
Версия Delphi: Delphi 10.1
Репутация: 10
|
|
При создании тестового ордера на binance выдает 400 bad request
Доброго времени суток. При создании тестового ордера на binance используя delphi возврощается ошибка 400 bad request.
Где грабли? Подскажите пожалуйста.
Код:
procedure TForm1.Order();
var
url, sign, queryString, nonce: string;
ST: SystemTime;
DT: TDateTime;
uTime: int64;
sHour, sMin, sSec, sMili: Word;
stream, s_url: string;
Post: TStringList;
begin
api_key := 'OPEN_KEY';
api_secret := 'SECRET_KEY';
GetSystemTime(ST);
DT := EncodeDate(ST.wYear, ST.wMonth, ST.wDay) +
EncodeTime(ST.wHour, ST.wMinute, ST.wSecond, ST.wMilliseconds);
uTime := DateUtils.MilliSecondsBetween(DT, UnixDateDelta);
nonce:=inttostr(uTime);
url :='https://api.binance.com/api/v3/order/test';
queryString := 'symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=0.12&price=0.008729&recvWindow=5000×tamp='+nonce;
sign := THashSHA2.GetHMAC(queryString, api_secret, SHA256);
IdHTTP10 := TidHTTP.Create(nil);
IdHTTP10.HandleRedirects := True;
IdHTTP10.Request.CustomHeaders.Add('X-MBX-APIKEY:'+api_key);
Post:=TStringList.Create;
Post.Add('quantity=0.12&');
Post.Add('price=0.008729&');
Post.Add('recvWindow=5000&');
Post.Add('timestamp='+nonce+'&');
Post.Add('signature='+sign);
s_url := url + '?symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC';
try
stream:=IdHTTP10.POST(s_url, Post);
Memo3.Lines.Add(stream);
except
on E: Exception do
Memo1.Lines.Add(TimeToStr(time)+' <---> [Order] error: '+E.Message);
end;
IdHTTP10.Free;
Post.Free;
end;
|