Ejemplo n.º 1
0
        }               // end function

        /// <summary>
        /// 주식 체결/미체결 메세지 처리
        /// </summary>
        /// <param name="blsSystemError">시스템 에러</param>
        /// <param name="nMessageCode">응답코드</param>
        /// <param name="szMessage">메세지 내용</param>
        void _IXAQueryEvents.ReceiveMessage(bool blsSystemError, string nMessageCode, string szMessage)
        {
            try
            {
                if (nMessageCode == "00000")
                {
                    ;
                }
                // 03669 :: 비밀번호 오류입니다. (5회중 4회 남았습니다)
                else if (nMessageCode == "03669")
                {
                    Log.WriteLine("t0425 :: " + nMessageCode + " :: " + szMessage);

                    mfTrading.fnAutoTrading(false);
                }
                else
                {
                    //Log.WriteLine("t0425 :: " + nMessageCode + " :: " + szMessage);
                }
            }
            catch (Exception ex)
            {
                Log.WriteLine(ex.Message);
                Log.WriteLine(ex.StackTrace);
            }
        }               // end function
Ejemplo n.º 2
0
        }               // end function

        /// <summary>
        /// 현물취소주문 메세지 처리
        /// </summary>
        /// <param name="blsSystemError">시스템 에러</param>
        /// <param name="nMessageCode">응답코드</param>
        /// <param name="szMessage">메세지 내용</param>
        void _IXAQueryEvents.ReceiveMessage(bool blsSystemError, string nMessageCode, string szMessage)
        {
            try
            {
                if (nMessageCode != "00000")
                {
                    // 00156 :: 모의투자 취소주문 입력이 완료되었습니다.
                    if (nMessageCode == "00156")
                    {
                        ;
                    }
                    // 01218 :: 모의투자 장종료 상태입니다
                    else if (nMessageCode == "01218")
                    {
                        mfTrading.fnAutoTrading(false);
                    }
                    else
                    {
                        Log.WriteLine("CSPAT00800 :: " + nMessageCode + " :: " + szMessage);
                    }
                }
            }
            catch (Exception ex)
            {
                Log.WriteLine(ex.Message);
                Log.WriteLine(ex.StackTrace);
            }
        }               // end function
Ejemplo n.º 3
0
        }               // end function

        /// <summary>
        /// 메세지 처리
        /// </summary>
        /// <param name="blsSystemError">시스템 에러</param>
        /// <param name="nMessageCode">응답코드</param>
        /// <param name="szMessage">메세지 내용</param>
        void _IXAQueryEvents.ReceiveMessage(bool blsSystemError, string nMessageCode, string szMessage)
        {
            try
            {
                if (nMessageCode == "00000")
                {
                    ;
                }
                // 00310 :: 모의투자 조회가 완료되었습니다
                else if (nMessageCode == "00310")
                {
                    ;
                }
                // 00136 :: 조회가 완료되었습니다
                else if (nMessageCode == "00136")
                {
                    ;
                }
                // 00020 :: application program exit[TR:CSPAQ]
                else if (nMessageCode == "00020")
                {
                    Log.WriteLine("CSPAQ02200 :: " + nMessageCode + " :: " + szMessage);
                    mfMain.fnRestartProgram();
                }
                // 03669 :: 비밀번호 오류입니다. (5회중 4회 남았습니다)
                else if (nMessageCode == "03669")
                {
                    Log.WriteLine("CSPAQ02200 :: " + nMessageCode + " :: " + szMessage);
                    mfTrading.fnAutoTrading(false);
                }
                // 01796 :: 비밀번호 연속 오류허용횟수를 초과하였습니다. 콜센터로 문의하시기 바랍니다.
                else if (nMessageCode == "01796")
                {
                    Log.WriteLine("CSPAQ02200 :: " + nMessageCode + " :: " + szMessage);
                    mfTrading.fnAutoTrading(false);
                }
                else
                {
                    Log.WriteLine("CSPAQ02200 :: " + nMessageCode + " :: " + szMessage);
                }
            }
            catch (Exception ex)
            {
                Log.WriteLine(ex.Message);
                Log.WriteLine(ex.StackTrace);
            }
        }               // end function
Ejemplo n.º 4
0
        }               // end function

        /// <summary>
        /// 데이터 응답 처리
        /// </summary>
        /// <param name="szTrCode">호출된 TrCode</param>
        void _IXAQueryEvents.ReceiveData(string szTrCode)
        {
            try
            {
                // 시간 값 세팅
                string szDate    = mTr.GetFieldData("t0167OutBlock", "dt", 0);
                string szTimeCur = mTr.GetFieldData("t0167OutBlock", "time", 0);


                // 타임 값이 정상적으로 존재하면..
                if (szTimeCur.Length >= 6)
                {
                    // PC 시간을 서버 시간으로 변경
                    if (mTimeCur == 0)
                    {
                        if (setting.program_sync_time_yn)
                        {
                            util_system_time.set_system_time(szDate, szTimeCur);
                        }
                    }

                    mDateCur = Convert.ToDouble(szDate);
                    mTimeCur = Convert.ToDouble(szTimeCur.Substring(0, 6));

                    // 우측 상단에 서버 시간 표기
                    mfTrading.Text = String.Format("Trading;  {0}[ {1:##:##:##} ]", setting.mxRealJif.mlabel, mTimeCur);

                    // 오후 6시에 자동매매 스탑
                    if (mTimeCur == 180000)
                    {
                        mfTrading.fnAutoTrading(false);
                    }
                }

                // 다시 실행가능하도록 초기화
                mStateRun      = false;
                mStateRunCount = 0;
            }
            catch (Exception ex)
            {
                Log.WriteLine(ex.Message);
                Log.WriteLine(ex.StackTrace);
            }
        }               // end function
Ejemplo n.º 5
0
        }               // end function

        /// <summary>
        /// 장운영 정보 실시간 호출 등록/해지
        /// 옵션에 따른 자동거래 시작
        /// </summary>
        /// <param name="flag">장운영 정보 실시간 등록 여부</param>
        public void call_advise(bool flag)
        {
            if (flag)
            {
                mReal.SetFieldData("InBlock", "jangubun", "0");
                mReal.AdviseRealData();

                Log.WriteLine("JIF :: 장 운영정보 실시간 접수 등록");
            }
            else
            {
                mReal.UnadviseRealData();
                Log.WriteLine("JIF :: 장 운영정보 실시간 접수 해제");
            }

            // HTS -> API 연동 등록
            setting.mxRealJif.call_hts_2_api(setting.program_hts_2_api_yn);

            // 자동거래 시작
            mfTrading.fnAutoTrading(setting.login_trading_yn);
        }               // end function