procedure
TForm1
.
Button1Click(Sender: TObject);
var
url, sign, queryString, nonce:
string
;
ST: SystemTime;
DT: TDateTime;
uTime:
int64
;
sHour, sMin, sSec, sMili:
Word
;
stream, s_url:
string
;
Post: TStringList;
IdHTTP10 : TIDhttp;
api_key , api_secret :
String
;
begin
api_key :=
'**'
;
api_secret :=
'**'
;
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);
queryString :=
'symbol=BTT_TRY&side=0&type=1&quantity=1&price=0.0022&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);
IdHTTP10
.
IOHandler := IdSSLIOHandlerSocketOpenSSL1;
Post:=TStringList
.
Create;
Post
.
Add(
'quantity=1&'
);
Post
.
Add(
'price=0.0022&'
);
Post
.
Add(
'recvWindow=5000&'
);
Post
.
Add(
'timestamp='
+nonce+
'&'
);
Post
.
Add(
'signature='
+sign);
s_url := url +
'?symbol=BTT_TRY&side=0&type=1'
;
try
stream:=IdHTTP10
.
POST(s_url, Post);
Memo1
.
Lines
.
Add(stream);
except
on
E: Exception
do
Memo1
.
Lines
.
Add(TimeToStr(time)+
' <---> [Order] error: '
+E
.
Message);
end
;
IdHTTP10
.
Free;
Post
.
Free;
end
;