Со стороны Trans2QUIK ограничения на отправку транзакций нет.
Странно. Но у меня, в период большой активности рынка, выставляется много заявок. И бывает, что заявка отправляется успешно, но в терминале она не появляется и номер ордера не присваивается. (асинхронная подача заявок)
Просим уточнить, что в данном случае означает "заявка отправляется успешно"? Речь идет об успешной отправке транзакции на сервер? Какой ответ получаете на эту транзакцию?
Просим уточнить, что в данном случае означает "заявка отправляется успешно"? Речь идет об успешной отправке транзакции на сервер? Какой ответ получаете на эту транзакцию?
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 FmemoStr:= 'SendOrder: Ордер ' + ExpData.FutData.SecCode + ' отправлен.'; Synchronize(UpdMemo); end; end;
Соответственно выводится сообщение FmemoStr:= 'SendOrder: Ордер ' + ExpData.FutData.SecCode + ' отправлен.'; Synchronize(UpdMemo);
А в pfTransReplyCB ничего не приходит и в самом терминале нет этой заявки...