// 매도 요청 public void ReqSell(Dictionary <string, string> row) { // 과부하 막기 위한 슬립 Delay(Constants.SLEEP_TIME); // 거래구분 취득 // 00:지정가, 03:시장가, 05:조건부지정가, 06:최유리지정가, 07:최우선지정가, // 10:지정가IOC, 13:시장가IOC, 16:최유리IOC, 20:지정가FOK, 23:시장가FOK, // 26:최유리FOK, 61:장개시전시간외, 62:시간외단일가매매, 81:시간외종가 string orderCond = "03"; // 매매구분 취득 // (1:신규매수, 2:신규매도 3:매수취소, // 4:매도취소, 5:매수정정, 6:매도정정) int trType = 2; string acctNo = Constants.ACCT; string item = row["item"]; string tranDay = row["tranDay"]; int amt = int.Parse(row["amt"]); int price = int.Parse(row["price"]); if ("03".Equals(orderCond)) { price = 0; } _formObj.Logger(Log.매도, "[매도 요청] 종목코드 : {0}, 수량 : {1}", item, amt); // 주식주문 _formObj.OpenApiOrder( Constants.RET_SELL_DET_INFO // 화면번호 , acctNo // 계좌번호 , trType // 매매구분 , item // 종목코드 , amt // 주문수량 , price // 주문가격 , orderCond // 거래구분 , "" // 원주문번호 ); string query = ""; query += " UPDATE TRAN"; query += " SET TRAN_SP = 3"; query += " , TIME_3 = NOW()"; query += " WHERE TRAN_SP = 2"; query += " AND TRAN_DAY = '" + tranDay + "'"; query += " AND ITEM = '" + item + "'"; query += " AND SELL_ORDER_NO IS NULL"; _formObj._db.InsertQuery(query); }
// 지정가 매수 요청(mode가 99가 아니고, 가격이 없을 경우 시장가 매수) public void ReqBuyManual(ArrayList arr) { foreach (Dictionary <string, string> row in arr) { // 과부하 막기 위한 슬립 Delay(Constants.SLEEP_TIME); // 거래구분 취득 // 00:지정가, 03:시장가, 05:조건부지정가, 06:최유리지정가, 07:최우선지정가, // 10:지정가IOC, 13:시장가IOC, 16:최유리IOC, 20:지정가FOK, 23:시장가FOK, // 26:최유리FOK, 61:장개시전시간외, 62:시간외단일가매매, 81:시간외종가 string orderCond = "00"; string mode = row["MODE"]; int price = int.Parse(row["PRICE"]); if (price == 0 && mode != "99") { orderCond = "03"; } // 매매구분 취득 // 1:신규매수, 2:신규매도 3:매수취소, 4:매도취소, 5:매수정정, 6:매도정정 int trType = 1; string acctNo = Constants.ACCT; string item = row["ITEM"]; int amt = int.Parse(row["CNT"]); _formObj.Logger(Log.매수, "[지정가 매수 요청] : 종목 : {0}, 수량 : {1}, 가격 : {2}", item, amt, price); // 주식주문 _formObj.OpenApiOrder( Constants.REQ_BUY_ADD // 화면번호 , acctNo // 계좌번호 , trType // 매매구분 , item // 종목코드 , amt // 주문수량 , price // 주문가격 , orderCond // 거래구분 , "" // 원주문번호 ); string today = DateTime.Now.ToString("yyyyMMdd"); _formObj._buy.SaveBuyReq(today, item, mode); SaveBuyManualReq(today, item, mode, amt, price); } }