public Instrument(InstrumentType type, string symbol, string secutityExchange, string currency) { if (FreeQuant.Instruments.InstrumentManager.Instruments.Contains(symbol)) { return; } this.instrument = new FreeQuant.Instruments.Instrument(symbol, EnumConverter.Convert(type)); this.instrument.SecurityExchange = secutityExchange; this.instrument.Currency = currency; this.instrument.Save(); }
public static BarSeries GetHistoricalBars(Instrument instrument, DateTime begin, DateTime end, BarType barType, long barSize) { FreeQuant.Instruments.Instrument instrument1 = Map.OQ_FQ_Instrument[(object)instrument] as FreeQuant.Instruments.Instrument; if (barSize == 86400) { return(new BarSeries((FreeQuant.Series.BarSeries)FreeQuant.Instruments.DataManager.GetDailySeries(instrument1, begin, end))); } else { return(new BarSeries(FreeQuant.Instruments.DataManager.GetBarSeries(instrument1, begin, end, EnumConverter.Convert(barType), barSize))); } }
public static void Add(Instrument instrument, Bar bar) { FreeQuant.Instruments.Instrument instrument1 = Map.OQ_FQ_Instrument[(object)instrument] as FreeQuant.Instruments.Instrument; if (bar.bar.BarType == FreeQuant.Data.BarType.Time && bar.bar.Size == 86400L) { Daily daily = new Daily(bar.bar.DateTime, bar.bar.Open, bar.bar.High, bar.bar.Low, bar.bar.Close, bar.bar.Volume, bar.bar.OpenInt); FreeQuant.Instruments.DataManager.Add(instrument1, daily); } else { FreeQuant.Instruments.DataManager.Add(instrument1, bar.bar); } }
public void SendMarketDataRequest(FIXMarketDataRequest request) { SubscriptionDataType subscriptionDataType = (SubscriptionDataType)0; for (int i = 0; i < request.NoMDEntryTypes; ++i) { switch (request.GetMDEntryTypesGroup(i).MDEntryType) { case '0': case '1': if (request.MarketDepth == 1) { subscriptionDataType |= SubscriptionDataType.Quotes; break; } else { subscriptionDataType |= SubscriptionDataType.OrderBook; break; } case '2': subscriptionDataType |= SubscriptionDataType.Trades; break; } } for (int i = 0; i < request.NoRelatedSym; ++i) { FreeQuant.Instruments.Instrument instrument1 = FreeQuant.Instruments.InstrumentManager.Instruments[request.GetRelatedSymGroup(i).Symbol]; Instrument instrument2 = Map.FQ_OQ_Instrument[(object)instrument1] as Instrument; switch (request.SubscriptionRequestType) { case '1': this.provider.CallSubscribe(instrument2, subscriptionDataType); break; case '2': this.provider.CallUnsubscribe(instrument2, subscriptionDataType); break; default: throw new Exception("Unknown subscription request type " + (object)request.SubscriptionRequestType); } } }
internal Instrument(FreeQuant.Instruments.Instrument instrument) { this.instrument = instrument; this.book = new OrderBook(instrument.OrderBook); this.AltIDGroups = new AltIDGroupList(this); }