public void 종목일별시세가져오기(string code, string cts_date) { if (query == null) { query = new XAQueryClass(); query.ReceiveData += query_ReceiveData; query.ReceiveMessage += query_ReceiveMessage; query.LoadFromResFile($".\\res\\{resName}.res"); } query.SetFieldData(inBlock, "shcode", 0, code); query.SetFieldData(inBlock, "gubun", 0, "2"); query.SetFieldData(inBlock, "qrycnt", 0, "5"); query.SetFieldData(inBlock, "sdate", 0, DateTime.Today.AddDays(7).ToString("yyyyMMdd")); query.SetFieldData(inBlock, "edate", 0, DateTime.Today.ToString("yyyyMMdd")); query.SetFieldData(inBlock, "cts_date", 0, cts_date); query.SetFieldData(inBlock, "comp_yn", 0, "N"); if (string.IsNullOrEmpty(cts_date)) { query.Request(false); } else { query.Request(true); } }
public ConnectAPI() { session = new XASessionClass(); query = new XAQueryClass(); real = new XARealClass(); SetLogin(new Secret(), session.ConnectServer(server[1], 20001)); }
public XingQuery(string resFileCode) { _xaQuery = new XAQueryClass(); _xaQuery.ResFileName = $".\\Res\\{resFileCode}.res"; _xaQuery.ReceiveData += _xaQuery_ReceiveData; _xaQuery.ReceiveMessage += _xaQuery_ReceiveMessage; }
public GoblinBat() { InitializeComponent(); api = new XASessionClass(); query = new XAQueryClass(); real = new XARealClass(); SetLogin(new Secret(), api.ConnectServer(new Server().GetSelectServer("1"), 20001)); }
public XingQuery(string resFilePath) { _xingQuery = new XAQueryClass(); _xingQuery.ResFileName = resFilePath; _xingQuery.ReceiveData += receiveCallback; _next = false; _xingQueryRequest = new XingQueryRequest(); _xingQueryRequest.RequestableEventHandler += requestXingQuery; _xingQueryRequest.InvalidEventHandler += invalidateXingQuery; }
private void ReceveData(XAQueryClass myXAQueryClass) { foreach (DataGridViewRow row in dataGridView1.Rows) { if (row.Cells["AccNUm"].Value.ToString() == myXAQueryClass.GetFieldData("CACBQ21900OutBlock1", "AcntNo", 0).Trim()) { row.Cells["AccName"].Value = myXAQueryClass.GetFieldData("CACBQ21900OutBlock2", "AcntNm", 0).Trim(); //계좌명 row.Cells["Item"].Value = myXAQueryClass.GetFieldData("CACBQ21900OutBlock2", "PrdtDtlNm", 0).Trim(); //상품상세명 } } }
public QueryControl(string code, string sCode) { this.ShortCode = sCode; query = new XAQueryClass(); query.ResFileName = String.Format(".\\res\\{0}.res", code); query.ReceiveData += query_ReceiveData; query.ReceiveMessage += query_ReceiveMessage; real = new XARealClass(); real.ReceiveRealData += real_ReceiveRealData; }
public void Load() { if (query == null) { query = new XAQueryClass(); query.ReceiveData += query_ReceiveData; query.ReceiveMessage += query_ReceiveMessage; query.LoadFromResFile($".\\res\\{resName}.res"); } query.SetFieldData(inBlock, "gubun", 0, ""); query.Request(false); }
private void ReceveData(XAQueryClass myXAQueryClass) { string[] names = Enum.GetNames(typeof(ColumnName)); int cnt_t0434OutBlock1 = myXAQueryClass.GetBlockCount("t0434OutBlock1"); for (int i = 0; i < cnt_t0434OutBlock1; i++) { DataRow newrow = table.NewRow(); foreach (string colname in names) { newrow[colname] = myXAQueryClass.GetFieldData("t0434OutBlock1", colname, i); } table.Rows.Add(newrow); } }
public Api_IndexFutureTrade() { this.resName = "CFOAT00100"; inBlock = resName + "InBlock1"; outBlock1 = resName + "OutBlock1"; outBlock2 = resName + "OutBlock2"; if (query == null) { query = new XAQueryClass(); query.ReceiveData += query_ReceiveData; query.ReceiveMessage += query_ReceiveMessage; query.LoadFromResFile($".\\res\\{resName}.res"); } }
protected virtual void Dispose(bool disposing) { if (_disposed == false) { if (disposing == true) { if (_xaQuery != null) { Marshal.ReleaseComObject(_xaQuery); _xaQuery = null; } } _disposed = true; } }
public BaseTradeApi(string resName) { this.resName = resName; inBlock = resName + "InBlock"; outBlock = resName + "OutBlock"; outBlock1 = resName + "OutBlock1"; outBlock2 = resName + "OutBlock2"; if (query == null) { query = new XAQueryClass(); query.ReceiveData += query_ReceiveData; query.ReceiveMessage += query_ReceiveMessage; query.LoadFromResFile($".\\res\\{resName}.res"); } }
private void ReceveData(XAQueryClass myXAQueryClass) { string[] names = Enum.GetNames(typeof(ColumnName)); int cnt_t0441OutBlock1 = myXAQueryClass.GetBlockCount("t0441OutBlock1"); for (int i = 0; i < cnt_t0441OutBlock1; i++) { DataRow newrow = table.NewRow(); foreach (string colname in names) { newrow[colname] = myXAQueryClass.GetFieldData("t0441OutBlock1", colname, i); } table.Rows.Add(newrow); } 매매손익 = double.Parse(myXAQueryClass.GetFieldData("t0441OutBlock", "tdtsunik", 0)); 총손익계산(); 현재가Real요청(); }
private void ReceveData(XAQueryClass myXAQueryClass) { label8.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "DpsamtTotamt", 0))); //예탁금총액 label9.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "Dps", 0))); //예수금 label10.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "SubstAmt", 0))); //대용금액 label12.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "FilupDpsamtTotamt", 0))); //충당예탁금총액 label13.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "FilupDps", 0))); //충당예수금 label34.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "FutsPnlAmt", 0))); //선물손익금액 label28.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "WthdwAbleAmt", 0))); //인출가능금액 label29.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "PsnOutAbleCurAmt", 0))); //인출가능현금액 label30.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "PsnOutAbleSubstAmt", 0))); //인출가능대용금액 label16.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "Mgn", 0))); //증거금액 label17.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "MnyMgn", 0))); //현금증거금액 label20.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "OrdAbleAmt", 0))); //주문가능금액 label21.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "MnyOrdAbleAmt", 0))); //현금주문가능금액 label24.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "AddMgn", 0))); //추가증거금액 label25.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "MnyAddMgn", 0))); //현금추가증거금액 label32.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "AmtPrdayChckInAmt", 0))); //금전일수표입금액 label36.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "FnoPrdaySubstSellAmt", 0))); //선물옵션전일대용매도금액 label40.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "FnoCrdaySubstSellAmt", 0))); //선물옵션금일대용매도금액 label38.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "FnoPrdayFdamt", 0))); //선물옵션전일가입금액 label42.Text = string.Format("{0:#,0}", int.Parse(myXAQueryClass.GetFieldData("CFOBQ10500OutBlock2", "FnoCrdayFdamt", 0))); //선물옵션금일가입금액 }
/// <summary> /// CallBack /// </summary> /// <param name="myXAQueryClass"></param> private void ReceiveData(XAQueryClass myXAQueryClass) { string result = ""; try { string hname = myXAQueryClass.GetFieldData("t1102OutBlock", "hname", 0); string price = myXAQueryClass.GetFieldData("t1102OutBlock", "price", 0); string sign = myXAQueryClass.GetFieldData("t1102OutBlock", "sign", 0); string change = myXAQueryClass.GetFieldData("t1102OutBlock", "change", 0); string diff = myXAQueryClass.GetFieldData("t1102OutBlock", "diff", 0); if (CStringUtil.IsNullOrEmpty(hname) == false) { StringBuilder param = new StringBuilder(); param.Append(hname); param.Append(CConst.DB_PARAM_DELIMITER).Append(price); param.Append(CConst.DB_PARAM_DELIMITER).Append(sign); param.Append(CConst.DB_PARAM_DELIMITER).Append(change); param.Append(CConst.DB_PARAM_DELIMITER).Append(diff); WebSql.SelectSql(3102, param.ToString()); result = param.ToString(); } } catch (Exception e) { result = "데이터 가져오기 실패"; CLog.debug(logger, "CAgent.ReceiveData: " + e.Message + ", XASession: " + XASession.GetErrorMessage(XASession.GetLastError())); } if (form != null) { form.DisplayReturnMessage(result); } }
private void ReceiveData_t2105(XAQueryClass myXAQueryClass) { if (myXAQueryClass.GetFieldData("t2105OutBlock", "shcode", 0) == strCode) { string[] Str = new string[] { myXAQueryClass.GetFieldData("t2105OutBlock", "offerho1", 0), //매도호가1 myXAQueryClass.GetFieldData("t2105OutBlock", "bidho1", 0), //매수호가1 myXAQueryClass.GetFieldData("t2105OutBlock", "offerrem1", 0), //매도호가수량1 myXAQueryClass.GetFieldData("t2105OutBlock", "bidrem1", 0), //매수호가수량1 myXAQueryClass.GetFieldData("t2105OutBlock", "dcnt1", 0), //매도호가건수1 myXAQueryClass.GetFieldData("t2105OutBlock", "scnt1", 0), //매수호가건수1 myXAQueryClass.GetFieldData("t2105OutBlock", "offerho2", 0), //매도호가2 myXAQueryClass.GetFieldData("t2105OutBlock", "bidho2", 0), //매수호가2 myXAQueryClass.GetFieldData("t2105OutBlock", "offerrem2", 0), //매도호가수량2 myXAQueryClass.GetFieldData("t2105OutBlock", "bidrem2", 0), //매수호가수량2 myXAQueryClass.GetFieldData("t2105OutBlock", "dcnt2", 0), //매도호가건수2 myXAQueryClass.GetFieldData("t2105OutBlock", "scnt2", 0), //매수호가건수2 myXAQueryClass.GetFieldData("t2105OutBlock", "offerho3", 0), //매도호가3 myXAQueryClass.GetFieldData("t2105OutBlock", "bidho3", 0), //매수호가3 myXAQueryClass.GetFieldData("t2105OutBlock", "offerrem3", 0), //매도호가수량3 myXAQueryClass.GetFieldData("t2105OutBlock", "bidrem3", 0), //매수호가수량3 myXAQueryClass.GetFieldData("t2105OutBlock", "dcnt3", 0), //매도호가건수3 myXAQueryClass.GetFieldData("t2105OutBlock", "scnt3", 0), //매수호가건수3 myXAQueryClass.GetFieldData("t2105OutBlock", "offerho4", 0), //매도호가4 myXAQueryClass.GetFieldData("t2105OutBlock", "bidho4", 0), //매수호가4 myXAQueryClass.GetFieldData("t2105OutBlock", "offerrem4", 0), //매도호가수량4 myXAQueryClass.GetFieldData("t2105OutBlock", "bidrem4", 0), //매수호가수량4 myXAQueryClass.GetFieldData("t2105OutBlock", "dcnt4", 0), //매도호가건수4 myXAQueryClass.GetFieldData("t2105OutBlock", "scnt4", 0), //매수호가건수4 myXAQueryClass.GetFieldData("t2105OutBlock", "offerho5", 0), //매도호가5 myXAQueryClass.GetFieldData("t2105OutBlock", "bidho5", 0), //매수호가5 myXAQueryClass.GetFieldData("t2105OutBlock", "offerrem5", 0), //매도호가수량5 myXAQueryClass.GetFieldData("t2105OutBlock", "bidrem5", 0), //매수호가수량5 myXAQueryClass.GetFieldData("t2105OutBlock", "dcnt5", 0), //매도호가건수5 myXAQueryClass.GetFieldData("t2105OutBlock", "scnt5", 0), //매수호가건수5 myXAQueryClass.GetFieldData("t2105OutBlock", "dvol", 0), //매도호가총수량 myXAQueryClass.GetFieldData("t2105OutBlock", "svol", 0), //매수호가총수량 myXAQueryClass.GetFieldData("t2105OutBlock", "toffernum", 0), //총매도호가건수 myXAQueryClass.GetFieldData("t2105OutBlock", "tbidnum", 0), //총매수호가건수 myXAQueryClass.GetFieldData("t2105OutBlock", "time", 0) //수신시간 }; DataUpdate(Str); currprice = double.Parse(myXAQueryClass.GetFieldData("t2105OutBlock", "price", 0)); CurrPriceUpdate(); if (strCode.Substring(0, 3) == "101") { Real해제(); myFH0.CallBackMethod += ReceiveRealData_FH0; myFC0.CallBackMethod += ReceiveRealData_FC0; Dictionary <string, string> InputDataTable = new Dictionary <string, string>(); InputDataTable.Add("futcode", strCode); myFH0.AdviseExcute(InputDataTable); myFC0.AdviseExcute(InputDataTable); } else if (strCode.Substring(0, 3) == "201" || strCode.Substring(0, 3) == "301") { Real해제(); myOH0.CallBackMethod += ReceiveRealData_OH0; myOC0.CallBackMethod += ReceiveRealData_OC0; Dictionary <string, string> InputDataTable = new Dictionary <string, string>(); InputDataTable.Add("optcode", strCode); myOH0.AdviseExcute(InputDataTable); myOC0.AdviseExcute(InputDataTable); } } }
private void ReceveData(XAQueryClass myXAQueryClass) { double jnilclose = double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "jnilclose", 0)); //전일종가 double uplmtprice = double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "uplmtprice", 0)); //상한가 double dnlmtprice = double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "dnlmtprice", 0)); //하한가 double 현재가 = double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "price", 0)); //현재가 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "jnilclose", 0)), "전일종가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "price", 0)), "현재가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "open", 0)), "시가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "high", 0)), "고가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "low", 0)), "저가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "high52w", 0)), "52최고가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "low52w", 0)), "52최저가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "listhprice", 0)), "상장최고가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "listlprice", 0)), "상장최저가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "recprice", 0)), "기준가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "theoryprice", 0)), "이론가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "theorypriceg", 0)), "이론가"); 항목List작성(double.Parse(myXAQueryClass.GetFieldData("t2101OutBlock", "yeprice", 0)), "예상체결가"); label1.Text = "상한(" + uplmtprice + ")"; label2.Text = "하한(" + dnlmtprice + ")"; table.Clear(); double gab = 0.01d; if (uplmtprice >= 3.05d) { gab = 0.05d; } int indxcnt = 0; int 현재가indx = 0; for (double 호가 = uplmtprice - gab; 호가 > dnlmtprice; 호가 = 호가 - gab) { DataRow newrow = table.NewRow(); double hoga = Math.Round(호가, 2); if (hoga <= dnlmtprice) { break; } newrow["호가"] = string.Format("{0:0.#0}", hoga); if (hoga > jnilclose) { newrow["등락율"] = "+" + Math.Round((100d * (hoga - jnilclose) / jnilclose), 2) + "%"; } else { newrow["등락율"] = Math.Round((100d * (hoga - jnilclose) / jnilclose), 2) + "%"; } foreach (KeyValuePair <double, string> 항목 in 항목List) { if (hoga == 항목.Key) { newrow["항목"] = 항목.Value; } } table.Rows.Add(newrow); if (hoga <= 3.00d) { gab = 0.01d; } indxcnt++; if (hoga == 현재가) { 현재가indx = indxcnt; } } dataGridView1.FirstDisplayedScrollingRowIndex = Math.Max(0, 현재가indx - 6); }
public void SetAPI(XAQueryClass query) { Query = query; query.ReceiveData += OnReceiveData; query.ReceiveMessage += OnReceiveMessage; }
private void ReceveData(XAQueryClass myXAQueryClass) { CallCodeList = new List <string>(); PutCodeList = new List <string>(); for (int i = 0; i < dataGridView2.Rows.Count; i++) { CallCodeList.Add(""); PutCodeList.Add(""); } int cnt_t2301OutBlock1 = myXAQueryClass.GetBlockCount("t2301OutBlock1"); for (int i = 0; i < cnt_t2301OutBlock1; i++) { for (int j = 0; j < dataGridView2.Rows.Count; j++) { if (dataGridView2.Rows[j].Cells[0].Value.ToString() + "0" == myXAQueryClass.GetFieldData("t2301OutBlock1", "actprice", i))//행사가 { CallCodeList[j] = myXAQueryClass.GetFieldData("t2301OutBlock1", "optcode", i); foreach (DataColumn col in CallTable.Columns) { CallTable.Rows[j][col] = myXAQueryClass.GetFieldData("t2301OutBlock1", col.ColumnName, i); } CallTable.Rows[j]["change"] = 전일대비구분포함(myXAQueryClass.GetFieldData("t2301OutBlock1", "sign", i)) + CallTable.Rows[j]["change"].ToString(); } } } int cnt_t2301OutBlock2 = myXAQueryClass.GetBlockCount("t2301OutBlock2"); for (int i = 0; i < cnt_t2301OutBlock2; i++) { for (int j = 0; j < dataGridView2.Rows.Count; j++) { if (dataGridView2.Rows[j].Cells[0].Value.ToString() + "0" == myXAQueryClass.GetFieldData("t2301OutBlock2", "actprice", i))//행사가 { PutCodeList[j] = myXAQueryClass.GetFieldData("t2301OutBlock2", "optcode", i); foreach (DataColumn col in PutTable.Columns) { PutTable.Rows[j][col] = myXAQueryClass.GetFieldData("t2301OutBlock2", col.ColumnName, i); } PutTable.Rows[j]["change"] = 전일대비구분포함(myXAQueryClass.GetFieldData("t2301OutBlock2", "sign", i)) + PutTable.Rows[j]["change"].ToString(); } } } //real등록 myOC0.CallBackMethod += ReceiveRealData_OC0; myOH0.CallBackMethod += ReceiveRealData_OH0; myOMG.CallBackMethod += ReceiveRealData_OMG; foreach (DataRow row in CallTable.Rows) { Dictionary <string, string> InputDataTable = new Dictionary <string, string>(); InputDataTable.Add("optcode", row["optcode"].ToString()); myOC0.AdviseExcute(InputDataTable); myOH0.AdviseExcute(InputDataTable); myOMG.AdviseExcute(InputDataTable); } foreach (DataRow row in PutTable.Rows) { Dictionary <string, string> InputDataTable = new Dictionary <string, string>(); InputDataTable.Add("optcode", row["optcode"].ToString()); myOC0.AdviseExcute(InputDataTable); myOH0.AdviseExcute(InputDataTable); myOMG.AdviseExcute(InputDataTable); } }
protected string InBlockName = "";//단일블럭의SetFieldData를 필요로하는 tr만 사용가능(예외 : t1104 주식 현재가 시세메모) public Query() { myXAQueryClass = new XAQueryClass(); myXAQueryClass.ReceiveData += new _IXAQueryEvents_ReceiveDataEventHandler(myXAQueryClass_ReceiveData); myXAQueryClass.ReceiveMessage += new _IXAQueryEvents_ReceiveMessageEventHandler(myXAQueryClass_ReceiveMessage); }
private void ReceveData(XAQueryClass myXAQueryClass) { }