Цитата |
---|
bas написал: Где скачать TRANS2QUIK.dll x64 ? есть пример использования на delphi выставления заявки? |
procedure TExpert.SendOrder;
var
outStr, id, s: string;
res: long;
ErrCode: long;
ErrSize: Dword;
ErrStr: LPSTR;
begin
if(CheckFutPrice(f_price) = false) then
begin
Mutex.Lock;
try
FTransBusy:= false;
finally
Mutex.Unlock;
end;
FmemoStr:= 'SendOrder: Не правильная цена в заявке ' + FloatTostr(f_price);
Synchronize(UpdMemo);
exit;
end;
FOrder:= 0;
FTransID:= GetTransID();
id:= UintToStr(TransID);
ErrCode:= 0;
ErrSize:= 0;
ErrStr:= nil;
Mutex.Lock;
try
FTransBusy:= true;
finally
Mutex.Unlock;
end;
case dir of
BUY: s:= 'B';
SELL: s:= 'S';
end;
outStr:= 'ACCOUNT=' + FutAccaunt + '; TYPE=L; TRANS_ID=' + id +
'; CLASSCODE=' + ExpData.FutData.ClassCode + '; SECCODE=' +
ExpData.FutData.SecCode + '; ACTION=NEW_ORDER; OPERATION=' + s +
'; EXECUTION_CONDITION=KILL_BALANCE' + '; PRICE=' + FloatToStr(f_price) +
'; QUANTITY=' + FloatToStr(Qnty) + ';';
res:= T2QSendASyncTrans(LPSTR(AnsiString(outStr)), ErrCode, ErrStr, ErrSize);
if(res <> TRANS2QUIK_SUCCESS) then
begin
Mutex.Lock;
try
FTransID:= 0;
FTransBusy:= false;
finally
Mutex.Unlock;
end;
FmemoStr:= 'SendOrder: Ордер ' + ExpData.FutData.SecCode + ' не отправлен.';
Synchronize(UpdMemo);
end else
begin
if((ExitOrder.Order > 0) and (dir = BUY)) then RemoveExitOrder();
FmemoStr:= 'SendOrder: Ордер ' + ExpData.FutData.SecCode + ' отправлен.';
Synchronize(UpdMemo);
end;
end;