private void 현재가Real요청()//Query요청시, 잔고의청산완료, 새로운종목의 신규진입시 호출됨 { //요청사마다 기존요청내역은 모두 지우고 table종목의 현재가 요청을 다시 하게됨. myFC0.CallBackMethod = null; myFC0.UnadviseRealData(); myOC0.CallBackMethod = null; myOC0.UnadviseRealData(); myFC0.CallBackMethod += ReceveRealData_FC0; myOC0.CallBackMethod += ReceveRealData_OC0; foreach (DataRow row in table.Rows) { if (row["expcode"].ToString().Substring(0, 3) == "101")//선물 { Dictionary <string, string> InputDataTable = new Dictionary <string, string>(); InputDataTable.Add("futcode", row["expcode"].ToString()); myFC0.AdviseExcute(InputDataTable); } else//옵션 { Dictionary <string, string> InputDataTable = new Dictionary <string, string>(); InputDataTable.Add("optcode", row["expcode"].ToString()); myOC0.AdviseExcute(InputDataTable); } } }
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); } } }