void rs_LevelOneStreaming_TickWithArgs(DateTime time, AmeritradeBrokerAPI.ATradeArgument args) { if (args.FunctionType != AmeritradeBrokerAPI.RequestState.AsyncType.LevelOneStreaming) return; Tick t = new TickImpl(); /* don't understand the time format provided here int date = 0; int ttime = 0; if (int.TryParse(args.oLevelOneData[0].quotedate, out date)) t.date = date; if (int.TryParse(args.oLevelOneData[0].quotetime, out ttime)) t.time = ttime; */ t.date = Util.ToTLDate(DateTime.Now); t.time = Util.DT2FT(DateTime.Now); t.symbol = args.oLevelOneData[0].stock; t.bid = Convert.ToDecimal(args.oLevelOneData[0].bid); t.ask = Convert.ToDecimal(args.oLevelOneData[0].ask); t.ex = args.oLevelOneData[0].exchange; t.trade = Convert.ToDecimal(args.oLevelOneData[0].last); t.size = Convert.ToInt32(args.oLevelOneData[0].lastsize) * 100; t.bs = Convert.ToInt32(args.oLevelOneData[0].bid_size); t.os = Convert.ToInt32(args.oLevelOneData[0].ask_size); tl.newTick(t); }
private void Close_Connections(bool lRecreateBrokerConnection) { try { if (api != null) { if (this.api.TD_loginStatus == true) { /*/ * Close the Level Two Streaming Response Stream /*/ if (api.rs_LevelTwoStreaming != null) { if (api.rs_LevelTwoStreaming.Request != null) { if (api.rs_LevelTwoStreaming.Request.ServicePoint.CurrentConnections > 0) { api.rs_LevelTwoStreaming.CloseStream(api.rs_LevelTwoStreaming); } } } /*/ * Close the Level One Snapshot Response Stream /*/ if (api.rs_LevelOneSnapshot != null) { if (api.rs_LevelOneSnapshot.Request != null) { if (api.rs_LevelOneSnapshot.Request.ServicePoint.CurrentConnections > 0) { api.rs_LevelOneSnapshot.CloseStream(api.rs_LevelOneSnapshot); } } } /*/ * Close the Level One Streaming Response Stream /*/ if (api.rs_LevelOneStreaming != null) { if (api.rs_LevelOneStreaming.Request != null) { if (api.rs_LevelOneStreaming.Request.ServicePoint.CurrentConnections > 0) { api.rs_LevelOneStreaming.CloseStream(api.rs_LevelOneStreaming); } } } /*/ * Close the Historical Chart Snapshot Response Stream /*/ if (api.rs_ChartSnapShot != null) { if (api.rs_ChartSnapShot.Request != null) { if (api.rs_ChartSnapShot.Request.ServicePoint.CurrentConnections > 0) { api.rs_ChartSnapShot.CloseStream(api.rs_ChartSnapShot); } } } /*/ * Close the Historical Chart Streaming Response Stream /*/ if (api.rs_ChartStreaming != null) { if (api.rs_ChartStreaming.Request != null) { if (api.rs_ChartStreaming.Request.ServicePoint.CurrentConnections > 0) { api.rs_ChartStreaming.CloseStream(api.rs_ChartStreaming); } } } if (lRecreateBrokerConnection == true) { api = new AmeritradeBrokerAPI(); } } } } catch (Exception exc) { } }
void rs_ActivesStreaming_TickWithArgs(DateTime time, AmeritradeBrokerAPI.ATradeArgument args) { if (args.FunctionType != AmeritradeBrokerAPI.RequestState.AsyncType.ActivesStreaming) return; // not sure how to activate this yet }