protected override void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer)
        {
            var szTrCode = resModel.Name;
            var block    = resModel.Blocks[szTrCode + "OutBlock"];

            writer.WriteHeader <_t9942OutBlock>();
            for (var i = 0; i < query.GetBlockCount(block.Name); i++)
            {
                var result = new _t9942OutBlock()
                {
                    hname   = query.GetFieldData(block.Name, "hname", i),
                    shcode  = query.GetFieldData(block.Name, "shcode", i),
                    expcode = query.GetFieldData(block.Name, "expcode", i),
                };
                writer.NextRecord();
                writer.WriteRecord(result);
                Constants.CodeElws.Add(result.shcode, new CodeElw()
                {
                    UnderlyingAssetsCategory = "",
                    UnderlyingAssetsCode     = "",
                    Name         = result.hname,
                    Code         = result.shcode,
                    ExpandedCode = result.expcode,
                });
            }
        }
        protected override void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer)
        {
            var szTrCode = resModel.Name;
            var block    = resModel.Blocks[szTrCode + "OutBlock"];

            writer.WriteHeader <_t8401OutBlock>();
            for (var i = 0; i < query.GetBlockCount(block.Name); i++)
            {
                var result = new _t8401OutBlock()
                {
                    hname    = query.GetFieldData(block.Name, "hname", i),
                    shcode   = query.GetFieldData(block.Name, "shcode", i),
                    expcode  = query.GetFieldData(block.Name, "expcode", i),
                    basecode = query.GetFieldData(block.Name, "basecode", i),
                };
                writer.NextRecord();
                writer.WriteRecord(result);
                Constants.CodeFutures.Add(result.shcode, new CodeFutures()
                {
                    UnderlyingAssetsCategory = "STOCK",
                    UnderlyingAssetsCode     = result.basecode,
                    Name         = result.hname,
                    Code         = result.shcode,
                    ExpandedCode = result.expcode,
                    //TODO Listing, Expirationdate
                    ListingDate    = "",
                    ExpirationDate = "",
                });
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 생성자 - 멀티현재가
        /// </summary>
        public xing_tr_8407_kiwum()
        {
            IConnectionPoint          icp;
            IConnectionPointContainer icpc;

            int iCookie = 0;

            mTr             = new XAQuery();
            mTr.ResFileName = "\\res\\t8407.res";
            icpc            = (IConnectionPointContainer)mTr;
            Guid IID_QueryEvents = typeof(_IXAQueryEvents).GUID;

            icpc.FindConnectionPoint(ref IID_QueryEvents, out icp);
            icp.Advise(this, out iCookie);

            // json 초기화
            mJson = new JsonObjectCollection();

            #region 8407 종목 검색을 위한 파일 설정 로딩

            string[] files = setting.t1833_files.Split('■');

            foreach (string filename in files)
            {
                if (filename.IndexOf("21_") == 0)
                {
                    mFile21.Add(filename);
                }
            }

            #endregion
        }               // end function
        protected override void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer)
        {
            var szTrCode = resModel.Name;

            var block1 = resModel.Blocks[szTrCode + "OutBlock1"];

            writer.WriteHeader <_t9905OutBlock1>();
            for (var i = 0; i < query.GetBlockCount(szTrCode + "OutBlock1"); i++)
            {
                var result = new _t9905OutBlock1()
                {
                    shcode  = query.GetFieldData(block1.Name, "shcode", i),
                    expcode = query.GetFieldData(block1.Name, "expcode", i),
                    hname   = query.GetFieldData(block1.Name, "hname", i),
                };
                writer.NextRecord();
                writer.WriteRecord(result);
                Constants.CodeElwBases.Add(result.shcode, new CodeElwBase()
                {
                    Name         = result.hname,
                    Code         = result.shcode,
                    ExpandedCode = result.expcode,
                });
            }
        }
Ejemplo n.º 5
0
        public QueryCtrl()
        {
            m_bRealSet = false;

            UCOMIConnectionPoint          icp;
            UCOMIConnectionPointContainer icpc;

            int dwCookie = 0;

            m_Query             = new XAQuery();
            m_Query.ResFileName = "\\res\\t1101.res";
            icpc = (UCOMIConnectionPointContainer)m_Query;
            Guid IID_QueryEvents = typeof(_IXAQueryEvents).GUID;

            icpc.FindConnectionPoint(ref IID_QueryEvents, out icp);
            icp.Advise(this, out dwCookie);

            dwCookie           = 0;
            m_Real             = new XAReal();
            m_Real.ResFileName = "\\res\\S3_.res";                 //KOSPI체결
            icpc = (UCOMIConnectionPointContainer)m_Real;
            Guid IID_RealEvents = typeof(_IXARealEvents).GUID;

            icpc.FindConnectionPoint(ref IID_RealEvents, out icp);
            icp.Advise(this, out dwCookie);

            dwCookie            = 0;
            m_Real2             = new XAReal();
            m_Real2.ResFileName = "\\res\\H1_.res";                 //KOSPI체결
            icpc = (UCOMIConnectionPointContainer)m_Real2;
            icpc.FindConnectionPoint(ref IID_RealEvents, out icp);
            icp.Advise(this, out dwCookie);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 생성자 - 주식잔고2
        /// </summary>
        public xing_tr_0424()
        {
            IConnectionPoint          icp;
            IConnectionPointContainer icpc;

            int iCookie = 0;

            mTr             = new XAQuery();
            mTr.ResFileName = "\\res\\t0424.res";
            icpc            = (IConnectionPointContainer)mTr;
            Guid IID_QueryEvents = typeof(_IXAQueryEvents).GUID;

            icpc.FindConnectionPoint(ref IID_QueryEvents, out icp);
            icp.Advise(this, out iCookie);

            #region 매도를 위한 JSON 로딩

            string date_saved = Properties.Settings.Default.T0424_DATE;
            string date_now   = util_datetime.GetFormatNow("yyyyMMdd");

            // 오늘 프로그램이 실행된적이 있다면...
            if (date_now == date_saved)
            {
                // 설정파일에 저장된 값을 로딩
                try
                {
                    mJson      = (JsonObjectCollection) new JsonTextParser().Parse(Properties.Settings.Default.T0424_JSON);
                    mRebuyJson = (JsonObjectCollection) new JsonTextParser().Parse(Properties.Settings.Default.REBUY_JSON);
                }
                // 설정 파일에 잘못된 json 값이 들어가 있을 경우 예외 처리
                catch (Exception ex)
                {
                    // json 초기화
                    mJson      = new JsonObjectCollection();
                    mRebuyJson = new JsonObjectCollection();

                    Log.WriteLine("t0424 json 초기화 :: " + ex.Message);
                }
            }
            // 오늘 처음 실행되는 것이라면..
            else
            {
                // json 초기화
                mJson      = new JsonObjectCollection();
                mRebuyJson = new JsonObjectCollection();

                // 설정파일에 금일 날짜값 저장
                Properties.Settings.Default.T0424_DATE = date_now;
                Properties.Settings.Default.Save();
            }

            #endregion
        }               // end function
Ejemplo n.º 7
0
        protected override void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer)
        {
            var szTrCode = resModel.Name;
            var block    = resModel.Blocks[szTrCode + "OutBlock"];

            writer.WriteHeader <_t8424OutBlock>();
            for (var i = 0; i < query.GetBlockCount(block.Name); i++)
            {
                //LOG.Debug($"trCountLimit : {query.GetTRCountLimit(szTrCode)}, trCountRequest : {query.GetTRCountRequest(szTrCode)}, trCountBaseSec : {query.GetTRCountBaseSec(szTrCode)}, trCountPerSec : {query.GetTRCountPerSec(szTrCode)}");
                var result = new _t8424OutBlock()
                {
                    hname  = query.GetFieldData(block.Name, "hname", i),
                    upcode = query.GetFieldData(block.Name, "upcode", i),
                };
                writer.NextRecord();
                writer.WriteRecord(result);

                string category;
                switch (_inBlock.gubun1)
                {
                case "1":
                    category = "KOSPI";
                    break;

                case "2":
                    category = "KOSDAQ";
                    break;

                case "3":
                    category = "KRX";
                    break;

                case "4":
                    category = "ETC";
                    break;

                default:
                    category = "ALL";
                    //TODO error
                    break;
                }
                Constants.CodeSectors.Add(result.upcode, new CodeSector()
                {
                    Category = category,
                    Name     = result.hname,
                    Code     = result.upcode,
                });
            }
        }
Ejemplo n.º 8
0
        public JonMokQuery()
        {
            UCOMIConnectionPoint          icp;
            UCOMIConnectionPointContainer icpc;

            int dwCookie = 0;

            query             = new XAQuery();
            query.ResFileName = "\\res\\t8435.res";
            icpc = (UCOMIConnectionPointContainer)query;
            Guid IID_QueryEvents = typeof(_IXAQueryEvents).GUID;

            icpc.FindConnectionPoint(ref IID_QueryEvents, out icp);
            icp.Advise(this, out dwCookie);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 생성자 - 주식 체결/미체결
        /// </summary>
        public xing_tr_0425()
        {
            IConnectionPoint          icp;
            IConnectionPointContainer icpc;

            int iCookie = 0;

            mTr             = new XAQuery();
            mTr.ResFileName = "\\res\\t0425.res";
            icpc            = (IConnectionPointContainer)mTr;
            Guid IID_QueryEvents = typeof(_IXAQueryEvents).GUID;

            icpc.FindConnectionPoint(ref IID_QueryEvents, out icp);
            icp.Advise(this, out iCookie);
        }               // end function
Ejemplo n.º 10
0
        /// <summary>
        /// 생성자 - 멀티현재가
        /// </summary>
        public xing_tr_8407()
        {
            IConnectionPoint          icp;
            IConnectionPointContainer icpc;

            int iCookie = 0;

            mTr             = new XAQuery();
            mTr.ResFileName = "\\res\\t8407.res";
            icpc            = (IConnectionPointContainer)mTr;
            Guid IID_QueryEvents = typeof(_IXAQueryEvents).GUID;

            icpc.FindConnectionPoint(ref IID_QueryEvents, out icp);
            icp.Advise(this, out iCookie);

            // json 초기화
            mJson = new JsonObjectCollection();
        }               // end function
        public QueryCodeBase(string szTrCode)
        {
            var resFileName = Path.Combine(Settings.Default.root_path, "Res", szTrCode + ".res");

            _resModel = ReadResFile.Read(resFileName);

            int dwCookie = 0;
            IConnectionPoint          icp;
            IConnectionPointContainer icpc;

            _query = new XAQuery
            {
                ResFileName = resFileName
            };
            icpc = (IConnectionPointContainer)_query;
            Guid iidQueryEvents = typeof(_IXAQueryEvents).GUID;

            icpc.FindConnectionPoint(ref iidQueryEvents, out icp);
            icp.Advise(this, out dwCookie);

            LOG.Info($"QueryCodeBase 생성자완료 szTrCode: {szTrCode}");
        }
        protected override void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer)
        {
            var szTrCode = resModel.Name;
            var block    = resModel.Blocks[szTrCode + "OutBlock"];

            writer.WriteHeader <_t8425OutBlock>();
            for (var i = 0; i < query.GetBlockCount(block.Name); i++)
            {
                var result = new _t8425OutBlock()
                {
                    tmcode = query.GetFieldData(block.Name, "tmcode", i),
                    tmname = query.GetFieldData(block.Name, "tmname", i),
                };
                writer.NextRecord();
                writer.WriteRecord(result);
                Constants.CodeThemes.Add(result.tmcode, new CodeTheme()
                {
                    Code = result.tmcode,
                    Name = result.tmname,
                });
            }
        }
Ejemplo n.º 13
0
        protected override void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer)
        {
            var szTrCode = resModel.Name;
            var block    = resModel.Blocks[szTrCode + "OutBlock"];

            writer.WriteHeader <_t8436OutBlock>();
            for (var i = 0; i < query.GetBlockCount(block.Name); i++)
            {
                var result = new _t8436OutBlock()
                {
                    hname      = query.GetFieldData(block.Name, "hname", i),
                    shcode     = query.GetFieldData(block.Name, "shcode", i),
                    expcode    = query.GetFieldData(block.Name, "expcode", i),
                    etfgubun   = query.GetFieldData(block.Name, "etfgubun", i),
                    uplmtprice = long.Parse(query.GetFieldData(block.Name, "uplmtprice", i)),
                    dnlmtprice = long.Parse(query.GetFieldData(block.Name, "dnlmtprice", i)),
                    jnilclose  = long.Parse(query.GetFieldData(block.Name, "jnilclose", i)),
                    memedan    = query.GetFieldData(block.Name, "memedan", i),
                    recprice   = long.Parse(query.GetFieldData(block.Name, "recprice", i)),
                    gubun      = query.GetFieldData(block.Name, "gubun", i),
                    bu12gubun  = query.GetFieldData(block.Name, "bu12gubun", i),
                    spac_gubun = query.GetFieldData(block.Name, "spac_gubun", i),
                    filler     = query.GetFieldData(block.Name, "filler", i),
                };
                writer.NextRecord();
                writer.WriteRecord(result);
                Constants.CodeStocks.Add(result.shcode, new CodeStock()
                {
                    Name         = result.hname,
                    Code         = result.shcode,
                    ExpandedCode = result.expcode,
                    EtfGubun     = result.etfgubun,
                    SpacGubun    = result.spac_gubun,
                    MarketGubun  = result.gubun,
                    Bu12Gubun    = result.bu12gubun,
                });
            }
        }
        protected override void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer)
        {
            var szTrCode = resModel.Name;

            if (query.GetBlockCount(szTrCode + "OutBlock1") == 0)
            {
                _codeIdx++;
                var code = codes.ElementAt(_codeIdx);
                InBlock(code);
                return;
            }

            var block = resModel.Blocks[szTrCode + "OutBlock"];
            var meta  = new _t4203OutBlock()
            {
                shcode    = query.GetFieldData(block.Name, "shcode", 0),
                jisiga    = decimal.Parse(query.GetFieldData(block.Name, "jisiga", 0)),
                jihigh    = decimal.Parse(query.GetFieldData(block.Name, "jihigh", 0)),
                jilow     = decimal.Parse(query.GetFieldData(block.Name, "jilow", 0)),
                jiclose   = decimal.Parse(query.GetFieldData(block.Name, "jiclose", 0)),
                jivolume  = long.Parse(query.GetFieldData(block.Name, "jivolume", 0)),
                disiga    = decimal.Parse(query.GetFieldData(block.Name, "disiga", 0)),
                dihigh    = decimal.Parse(query.GetFieldData(block.Name, "dihigh", 0)),
                dilow     = decimal.Parse(query.GetFieldData(block.Name, "dilow", 0)),
                diclose   = decimal.Parse(query.GetFieldData(block.Name, "diclose", 0)),
                disvalue  = long.Parse(query.GetFieldData(block.Name, "disvalue", 0)),
                cts_date  = query.GetFieldData(block.Name, "cts_date", 0),
                cts_time  = query.GetFieldData(block.Name, "cts_time", 0),
                cts_daygb = query.GetFieldData(block.Name, "cts_daygb", 0),
            };

            var block1 = resModel.Blocks[szTrCode + "OutBlock1"];

            writer.WriteHeader <_t4203OutBlock1>();
            for (var i = 0; i < query.GetBlockCount(block1.Name); i++)
            {
                var result = new _t4203OutBlock1()
                {
                    date      = query.GetFieldData(block1.Name, "date", i),
                    time      = query.GetFieldData(block1.Name, "time", i),
                    open      = decimal.Parse(query.GetFieldData(block1.Name, "open", i)),
                    high      = decimal.Parse(query.GetFieldData(block1.Name, "high", i)),
                    low       = decimal.Parse(query.GetFieldData(block1.Name, "low", i)),
                    close     = decimal.Parse(query.GetFieldData(block1.Name, "close", i)),
                    jdiff_vol = long.Parse(query.GetFieldData(block1.Name, "jdiff_vol", i)),
                    value     = long.Parse(query.GetFieldData(block1.Name, "value", i)),
                };
                writer.NextRecord();
                writer.WriteRecord(result);
            }

            Thread.Sleep(1000);
            if (_query.IsNext)
            {
                _inBlock.cts_date  = meta.cts_date;
                _inBlock.cts_time  = meta.cts_time;
                _inBlock.cts_daygb = meta.cts_daygb;
                InBlock(meta.shcode, _query.IsNext);
            }
            else
            {
                _codeIdx++;
                if (codes.Count > _codeIdx)
                {
                    var code = codes.ElementAt(_codeIdx);
                    InBlock(code);
                }
                else
                {
                    //TODO next callback hell
                }
            }
        }
Ejemplo n.º 15
0
 public QueryCtrl()
 {
     m_query             = new XAQuery();
     m_query.ResFileName = "\\res\\t8435";
 }
Ejemplo n.º 16
0
        protected override void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer)
        {
            var szTrCode = resModel.Name;

            LOG.Info("--------------start-------------");
            LOG.Info(szTrCode + "  " + _inBlock.shcode + "  " + _inBlock.cts_date + "   " + _inBlock.cts_time + "   " + _inBlock.cts_daygb);
            //LOG.Info("===========  GetAccountList");
            //LOG.Info(_query.GetAccountList(0));
            //LOG.Info("===========  GetBlockType 더 이상 지원하지 않습니다");
            //LOG.Info(_query.GetBlockType(szTrCode + "InBlock"));
            //LOG.Info("===========  GetResData");
            //LOG.Info(_query.GetResData());
            //LOG.Info("===========  GetBlockSize 더 이상 지원하지 않습니다.");
            //LOG.Info(_query.GetBlockSize(szTrCode + "OutBlock"));
            LOG.Info("===========  GetBlockCount");
            LOG.Info(_query.GetBlockCount(szTrCode + "OutBlock"));
            LOG.Info("===========  GetBlockCount1");
            LOG.Info(_query.GetBlockCount(szTrCode + "OutBlock1"));
            //LOG.Info("===========  GetFieldDescList 더 이상 지원하지 않습니다");
            //LOG.Info(_query.GetFieldDescList(szTrCode + "InBlock"));
            LOG.Info("===========  GetLastError");
            LOG.Info(_query.GetLastError());
            //LOG.Info("===========  GetAccountListCount");
            //LOG.Info(_query.GetAccountListCount());
            LOG.Info("===========  GetTRCountBaseSec");
            LOG.Info(_query.GetTRCountBaseSec(szTrCode));
            LOG.Info("===========  GetTRCountRequest");
            LOG.Info(_query.GetTRCountRequest(szTrCode));
            LOG.Info("===========  GetTRCountLimit");
            LOG.Info(_query.GetTRCountLimit(szTrCode));
            LOG.Info("===========  GetTRCountPerSec");
            LOG.Info(_query.GetTRCountPerSec(szTrCode));
            LOG.Info("===========  IsNext");
            LOG.Info(_query.IsNext);
            LOG.Info("===========  ");
            LOG.Info("------------end---------------");

            var block = resModel.Blocks[szTrCode + "OutBlock"];
            var meta  = new _t4201OutBlock()
            {
                shcode    = query.GetFieldData(block.Name, "shcode", 0),
                jisiga    = long.Parse(query.GetFieldData(block.Name, "jisiga", 0)),
                jihigh    = long.Parse(query.GetFieldData(block.Name, "jihigh", 0)),
                jilow     = long.Parse(query.GetFieldData(block.Name, "jilow", 0)),
                jiclose   = long.Parse(query.GetFieldData(block.Name, "jiclose", 0)),
                jivolume  = long.Parse(query.GetFieldData(block.Name, "jivolume", 0)),
                disiga    = long.Parse(query.GetFieldData(block.Name, "disiga", 0)),
                dihigh    = long.Parse(query.GetFieldData(block.Name, "dihigh", 0)),
                dilow     = long.Parse(query.GetFieldData(block.Name, "dilow", 0)),
                diclose   = long.Parse(query.GetFieldData(block.Name, "diclose", 0)),
                highend   = long.Parse(query.GetFieldData(block.Name, "highend", 0)),
                lowend    = long.Parse(query.GetFieldData(block.Name, "lowend", 0)),
                cts_date  = query.GetFieldData(block.Name, "cts_date", 0),
                cts_time  = query.GetFieldData(block.Name, "cts_time", 0),
                cts_daygb = query.GetFieldData(block.Name, "cts_daygb", 0),
            };

            var block1 = resModel.Blocks[szTrCode + "OutBlock1"];

            writer.WriteHeader <_t4201OutBlock1>();
            for (var i = 0; i < query.GetBlockCount(block1.Name); i++)
            {
                var result = new _t4201OutBlock1()
                {
                    date      = query.GetFieldData(block1.Name, "date", i),
                    time      = query.GetFieldData(block1.Name, "time", i),
                    open      = long.Parse(query.GetFieldData(block1.Name, "open", i)),
                    high      = long.Parse(query.GetFieldData(block1.Name, "high", i)),
                    low       = long.Parse(query.GetFieldData(block1.Name, "low", i)),
                    close     = long.Parse(query.GetFieldData(block1.Name, "close", i)),
                    jdiff_vol = long.Parse(query.GetFieldData(block1.Name, "jdiff_vol", i)),
                    value     = long.Parse(query.GetFieldData(block1.Name, "value", i)),
                    jongchk   = long.Parse(query.GetFieldData(block1.Name, "jongchk", i)),
                    rate      = decimal.Parse(query.GetFieldData(block1.Name, "rate", i)),
                    pricechk  = long.Parse(query.GetFieldData(block1.Name, "pricechk", i)),
                    ratevalue = long.Parse(query.GetFieldData(block1.Name, "ratevalue", i)),
                };
                writer.NextRecord();
                writer.WriteRecord(result);
            }

            Thread.Sleep(1000);
            if (_query.IsNext)
            {
                _inBlock.cts_date  = meta.cts_date;
                _inBlock.cts_time  = meta.cts_time;
                _inBlock.cts_daygb = meta.cts_daygb;
                InBlock(meta.shcode, _query.IsNext);
            }
            else
            {
                _codeIdx++;
                if (codes.Count > _codeIdx)
                {
                    var code = codes.ElementAt(_codeIdx);
                    InBlock(code);
                }
                else
                {
                    //TODO next callback hell
                }
            }
        }
 protected abstract void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer);
Ejemplo n.º 18
0
        /// <summary>
        /// 생성자 - 종목검색
        /// </summary>
        public xing_tr_1833()
        {
            IConnectionPoint          icp;
            IConnectionPointContainer icpc;

            int iCookie = 0;

            mTr             = new XAQuery();
            mTr.ResFileName = "\\res\\t1833.res";
            icpc            = (IConnectionPointContainer)mTr;
            Guid IID_QueryEvents = typeof(_IXAQueryEvents).GUID;

            icpc.FindConnectionPoint(ref IID_QueryEvents, out icp);
            icp.Advise(this, out iCookie);

            // json 초기화
            mJson = new JsonObjectCollection();

            #region 1833 종목 검색을 위한 파일 설정 로딩

            string[] files = setting.t1833_files.Split('■');

            foreach (string filename in files)
            {
                if (filename.IndexOf("21_") == 0)
                {
                    mFile21.Add(filename);
                }
                else if (filename.IndexOf("22_") == 0)
                {
                    mFile22.Add(filename);
                }
                else if (filename.IndexOf("42_") == 0)
                {
                    mFile42.Add(filename);
                }
            }

            #endregion

            #region 1833 종목 검색후 당일 종목마다 가지고 있어야할 종목 정보 처리

            string date_saved = Properties.Settings.Default.T1833_DATE;
            string date_now   = util_datetime.GetFormatNow("yyyyMMdd");

            // 오늘 프로그램이 실행된적이 있다면...
            if (date_now == date_saved)
            {
                // 설정파일에 저장된 값을 로딩
                try
                {
                    mT1833Json = (JsonObjectCollection) new JsonTextParser().Parse(Properties.Settings.Default.T1833_JSON);
                }
                // 설정 파일에 잘못된 json 값이 들어가 있을 경우 예외 처리
                catch (Exception ex)
                {
                    // json 초기화
                    mT1833Json = new JsonObjectCollection();
                    mPiboJson  = new JsonObjectCollection();
                    Log.WriteLine("t1833 종목 계산 정보 json 초기화 :: " + ex.Message);
                }
            }
            // 오늘 처음 실행되는 것이라면..
            else
            {
                // json 초기화
                mT1833Json = new JsonObjectCollection();
                mPiboJson  = new JsonObjectCollection();

                // 설정파일에 금일 날짜값 저장
                Properties.Settings.Default.T1833_DATE = date_now;
                Properties.Settings.Default.Save();
            }

            #endregion
        }       // end function
Ejemplo n.º 19
0
        protected override void OutBlock(ResModel resModel, IXAQuery query, CsvHelper.CsvWriter writer)
        {
            var szTrCode = resModel.Name;
            var block    = resModel.Blocks[szTrCode + "OutBlock"];

            writer.WriteHeader <_t8435OutBlock>();
            for (var i = 0; i < query.GetBlockCount(block.Name); i++)
            {
                var result = new _t8435OutBlock()
                {
                    hname   = query.GetFieldData(block.Name, "hname", i),
                    shcode  = query.GetFieldData(block.Name, "shcode", i),
                    expcode = query.GetFieldData(block.Name, "expcode", i),
                };
                writer.NextRecord();
                writer.WriteRecord(result);
                switch (_inBlock.gubun)
                {
                case "MF":
                    Constants.CodeFutures.Add(result.shcode, new CodeFutures()
                    {
                        UnderlyingAssetsCategory = "KOSPI200",
                        UnderlyingAssetsCode     = "101",
                        Category     = "MF",
                        Name         = result.hname,
                        Code         = result.shcode,
                        ExpandedCode = result.expcode,
                        //TODO Listing, Expirationdate
                        ListingDate    = "",
                        ExpirationDate = "",
                    });
                    break;

                case "MO":
                    Constants.CodeOptions.Add(result.shcode, new CodeOptions()
                    {
                        UnderlyingAssetsCategory = "KOSPI200",
                        UnderlyingAssetsCode     = "101",
                        Category     = "OP",
                        Name         = result.hname,
                        Code         = result.shcode,
                        ExpandedCode = result.expcode,
                        //TODO Listing, Expirationdate
                        ListingDate    = "",
                        ExpirationDate = "",
                    });
                    break;

                case "WK":
                    Constants.CodeOptions.Add(result.shcode, new CodeOptions()
                    {
                        UnderlyingAssetsCategory = "KOSPI200",
                        UnderlyingAssetsCode     = "101",
                        Category     = "WK",
                        Name         = result.hname,
                        Code         = result.shcode,
                        ExpandedCode = result.expcode,
                        //TODO Listing, Expirationdate
                        ListingDate    = "",
                        ExpirationDate = "",
                    });
                    break;

                default:
                    break;
                }
            }
        }