public void Init() { try { List<double> callStrikeList = OptionUtil.GetSortedStrikeList(CallPutFlag.Call); foreach (double strike in callStrikeList) { CallPutFlag cp = CallPutFlag.Call; OptionTribe ot = ElwOptionUtil.GetOptionTribe(strike, cp); FoxRawDataEachCollector eachController = new FoxRawDataEachCollector(ot.KOI.Code, _strategy.GetAgent().GetPeriod()); _eachDataControllers.Add(ot.KOI.Code, eachController); } List<double> putStrikeList = OptionUtil.GetSortedStrikeList(CallPutFlag.Put); foreach (double strike in putStrikeList) { CallPutFlag cp = CallPutFlag.Put; OptionTribe ot = ElwOptionUtil.GetOptionTribe(strike, cp); FoxRawDataEachCollector eachController = new FoxRawDataEachCollector(ot.KOI.Code, _strategy.GetAgent().GetPeriod()); _eachDataControllers.Add(ot.KOI.Code, eachController); } // Future Code 등록 { String futureCode = KospiFutureUtil.Ins().KFI.Code; FoxRawDataEachCollector futureController = new FoxRawDataEachCollector(futureCode, _strategy.GetAgent().GetPeriod()); _eachDataControllers.Add(futureCode, futureController); } InitObservationPeriodMinutes(); RegisterObservationPeriodMinutes(); InitVelocityObservationPeriodMilliSecs(); RegisterObservationPeriodMilliSecs(); } catch (System.Exception ex) { logger.Error(ex.ToString()); Util.KillWithNotice(ex.ToString()); } }
void SaveBeforeData_Raw(FoxRawDataEachCollector ec, ref ArrayList queries) { for (int i = 15; i >= 1; --i) { DateTime insertedTime = _insertedTime; int groupID = this._slide.GroupID; String code = ec.Code; int timeOffset = (-1) * i; int negativeMilliSec = (int)CommonConst._1_000 * timeOffset; FoxPriceDatum datum = ec.PriceData.GetDatumViaOffsetMilliSec(negativeMilliSec); if (datum == null) { continue; } double curPrice = datum.Price; FoxBeforeCapturePriceTuple beforeTuple = new FoxBeforeCapturePriceTuple(); beforeTuple.Code = code; beforeTuple.GroupID = groupID; beforeTuple.TimeOffset = timeOffset; beforeTuple.CurPrice = curPrice; _slide.AddBeforeCaptureTuple(beforeTuple); String query = GetBeforePriceQuery(insertedTime, groupID, code, timeOffset, curPrice); queries.Add(query); } }