public override void OnStrategyStart() { barsChartGroup = new Group("Bars"); barsChartGroup.Add("Pad", 0); barsChartGroup.Add("SelectorKey", Instrument.Symbol); // add fill group fillChartGroup = new Group("Fills"); fillChartGroup.Add("Pad", 0); fillChartGroup.Add("SelectorKey", Instrument.Symbol); // add equity group equityChartGroup = new Group("Equity"); equityChartGroup.Add("Pad", 1); equityChartGroup.Add("SelectorKey", Instrument.Symbol); // register groups GroupManager.Add(barsChartGroup); GroupManager.Add(fillChartGroup); GroupManager.Add(equityChartGroup); }
void Awake() { manager = new GroupManager(caseSensitive); GroupManager.Group firstState = null; if (states != null) { foreach (string name in states) { if (!StringExt.IsNullOrWhitespace(name)) { GroupManager.Group s; s = manager.Add(name); if (firstState == null) { firstState = s; } } } } if (main) { GroupManager.main = manager; if (firstState != null) { manager.activeGroup = firstState; } } }
private void AddGroups() { int pad = 0; foreach (Leg leg in spread.Legs) { ++pad; groups[leg.Instrument] = new Group[2]; // Create bars group. Group barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.Int32, pad); barsGroup.Add("SelectorKey", DataObjectType.String, spread.Symbol); // Create fills group. Group fillGroup = new Group("Fills"); fillGroup.Add("Pad", DataObjectType.Int32, pad); fillGroup.Add("SelectorKey", DataObjectType.String, spread.Symbol); // Add groups to manager. GroupManager.Add(barsGroup); GroupManager.Add(fillGroup); groups[leg.Instrument][0] = barsGroup; groups[leg.Instrument][1] = fillGroup; } }
public void CreatesAddToGroupCommandOnAdd() { // Arrange var connection = new Mock<IConnection>(); var message = default(ConnectionMessage); connection.Setup(m => m.Send(It.IsAny<ConnectionMessage>())) .Callback<ConnectionMessage>(m => { message = m; Assert.Equal("c-1", m.Signal); Assert.NotNull(m.Value); var command = m.Value as Command; Assert.NotNull(command); Assert.NotNull(command.Id); Assert.Equal(CommandType.AddToGroup, command.CommandType); Assert.Equal("Prefix.MyGroup", command.Value); Assert.True(command.WaitForAck); }); var groupManager = new GroupManager(connection.Object, "Prefix"); // Act groupManager.Add("1", "MyGroup"); }
private void AddGroups() { barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); amaGroup = new Group("AMA"); amaGroup.Add("Pad", 0); amaGroup.Add("SelectorKey", Instrument.Symbol); amaGroup.Add("Color", Color.White); ama2Group = new Group("AMA"); ama2Group.Add("Pad", 0); ama2Group.Add("SelectorKey", Instrument.Symbol); ama2Group.Add("Color", Color.Red); erGroup = new Group("ER"); erGroup.Add("Pad", 1); erGroup.Add("SelectorKey", Instrument.Symbol); erGroup.Add("Color", Color.Yellow); smaGroup = new Group("SMA"); smaGroup.Add("Pad", 0); smaGroup.Add("SelectorKey", Instrument.Symbol); smaGroup.Add("Color", Color.Green); GroupManager.Add(barsGroup); GroupManager.Add(amaGroup); GroupManager.Add(ama2Group); GroupManager.Add(erGroup); GroupManager.Add(smaGroup); }
private void AddGroups() { barsGroup = new Group("Bars"); barsGroup.Add("Pad", 0); barsGroup.Add("SelectorKey", Instrument.Symbol); barsGroup.Add("Color", Color.Black); smdGroup = new Group("SMD"); smdGroup.Add("Pad", 1); smdGroup.Add("SelectorKey", Instrument.Symbol); smdGroup.Add("Color", Color.Green); lookBackDaysGroup = new Group("TVWindow"); lookBackDaysGroup.Add("Pad", 2); lookBackDaysGroup.Add("SelectorKey", Instrument.Symbol); lookBackDaysGroup.Add("Color", Color.Blue); lookBackDaysGroup2 = new Group("TVWindow"); lookBackDaysGroup2.Add("Pad", 2); lookBackDaysGroup2.Add("SelectorKey", Instrument.Symbol); lookBackDaysGroup2.Add("Color", Color.Brown); GroupManager.Add(barsGroup); GroupManager.Add(smdGroup); GroupManager.Add(lookBackDaysGroup); GroupManager.Add(lookBackDaysGroup2); }
public void CreatesAddToGroupCommandOnAdd() { // Arrange var connection = new Mock <IConnection>(); var message = default(ConnectionMessage); connection.Setup(m => m.Send(It.IsAny <ConnectionMessage>())) .Callback <ConnectionMessage>(m => { message = m; Assert.Equal("c-1", m.Signal); Assert.NotNull(m.Value); var command = m.Value as Command; Assert.NotNull(command); Assert.NotNull(command.Id); Assert.Equal(CommandType.AddToGroup, command.CommandType); Assert.Equal("Prefix.MyGroup", command.Value); Assert.True(command.WaitForAck); }); var groupManager = new GroupManager(connection.Object, "Prefix"); // Act groupManager.Add("1", "MyGroup"); }
private void AddGroups() { barsGroup = new Group("Bars"); barsGroup.Add("Pad", 0); barsGroup.Add("SelectorKey", Instrument.Symbol); barsGroup.Add("Color", Color.Black); //// Create fills group. fillGroup = new Group("Fills"); fillGroup.Add("Pad", 0); fillGroup.Add("SelectorKey", Instrument.Symbol); // Create equity group. equityGroup = new Group("Equity"); equityGroup.Add("Pad", 1); equityGroup.Add("SelectorKey", Instrument.Symbol); ssetupGroup = new Group("观察卖出价"); ssetupGroup.Add("Pad", 0); ssetupGroup.Add("SelectorKey", Instrument.Symbol); ssetupGroup.Add("Color", Color.Green); bsetupGroup = new Group("观察买入价"); bsetupGroup.Add("Pad", 0); bsetupGroup.Add("SelectorKey", Instrument.Symbol); bsetupGroup.Add("Color", Color.Green); bbreakGroup = new Group("突破买入价"); bbreakGroup.Add("Pad", 0); bbreakGroup.Add("SelectorKey", Instrument.Symbol); bbreakGroup.Add("Color", Color.Red); sbreakGroup = new Group("突破卖出价"); sbreakGroup.Add("Pad", 0); sbreakGroup.Add("SelectorKey", Instrument.Symbol); sbreakGroup.Add("Color", Color.Red); senterGroup = new Group("反转卖出价"); senterGroup.Add("Pad", 0); senterGroup.Add("SelectorKey", Instrument.Symbol); senterGroup.Add("Color", Color.Black); benterGroup = new Group("反转买入价"); benterGroup.Add("Pad", 0); benterGroup.Add("SelectorKey", Instrument.Symbol); benterGroup.Add("Color", Color.Black); GroupManager.Add(barsGroup); GroupManager.Add(fillGroup); GroupManager.Add(equityGroup); GroupManager.Add(ssetupGroup); GroupManager.Add(bsetupGroup); GroupManager.Add(bbreakGroup); GroupManager.Add(sbreakGroup); GroupManager.Add(senterGroup); GroupManager.Add(benterGroup); }
public void ThrowsIfGroupIsNull() { // Arrange var connection = new Mock<IConnection>(); connection.Setup(m => m.Send(It.IsAny<ConnectionMessage>())); var groupManager = new GroupManager(connection.Object, "Prefix"); // Assert Assert.Throws<ArgumentNullException>(() => groupManager.Add("1", null)); }
private void AddGroups() { // Create bars group. barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); //// Create fills group. fillGroup = new Group("Fills"); fillGroup.Add("Pad", 0); fillGroup.Add("SelectorKey", Instrument.Symbol); // Create equity group. equityGroup = new Group("Equity"); equityGroup.Add("Pad", 1); equityGroup.Add("SelectorKey", Instrument.Symbol); // Create sma1 values group. sma1Group = new Group("SMA1"); sma1Group.Add("Pad", 0); sma1Group.Add("SelectorKey", Instrument.Symbol); sma1Group.Add("Color", Color.Green); // Create sma2 values group. sma2Group = new Group("SMA2"); sma2Group.Add("Pad", 0); sma2Group.Add("SelectorKey", Instrument.Symbol); sma2Group.Add("Color", Color.Red); // Create log monitor groups. closeMonitorGroup = new Group("Close"); closeMonitorGroup.Add("LogName", "Close"); closeMonitorGroup.Add("StrategyName", "MyStrategy"); closeMonitorGroup.Add("Symbol", Instrument.Symbol); openMonitorGroup = new Group("Open"); openMonitorGroup.Add("LogName", "Open"); openMonitorGroup.Add("StrategyName", "MyStrategy"); openMonitorGroup.Add("Symbol", Instrument.Symbol); positionMonitorGroup = new Group("Position"); positionMonitorGroup.Add("LogName", "Position"); positionMonitorGroup.Add("StrategyName", "MyStrategy"); positionMonitorGroup.Add("Symbol", Instrument.Symbol); // Add groups to manager. GroupManager.Add(barsGroup); GroupManager.Add(fillGroup); GroupManager.Add(equityGroup); GroupManager.Add(sma1Group); GroupManager.Add(sma2Group); GroupManager.Add(closeMonitorGroup); GroupManager.Add(openMonitorGroup); GroupManager.Add(positionMonitorGroup); }
public async Task ThrowsIfConnectionIdIsNull() { // Arrange var connection = new Mock <IConnection>(); connection.Setup(m => m.Send(It.IsAny <ConnectionMessage>())); var groupManager = new GroupManager(connection.Object, "Prefix"); // Assert await Assert.ThrowsAsync <ArgumentNullException>(() => groupManager.Add(null, "SomeGroup")); }
public void ThrowsIfGroupIsNull() { // Arrange var connection = new Mock <IConnection>(); connection.Setup(m => m.Send(It.IsAny <ConnectionMessage>())); var groupManager = new GroupManager(connection.Object, "Prefix"); // Assert Assert.Throws <ArgumentNullException>(() => groupManager.Add("1", null)); }
private void AddGroups() { barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); kGroup = new Group("K"); kGroup.Add("Pad", 1); kGroup.Add("SelectorKey", Instrument.Symbol); kGroup.Add("Color", Color.White); k2Group = new Group("K2"); k2Group.Add("Pad", 1); k2Group.Add("SelectorKey", Instrument.Symbol); k2Group.Add("Color", Color.Red); dGroup = new Group("D"); dGroup.Add("Pad", 2); dGroup.Add("SelectorKey", Instrument.Symbol); dGroup.Add("Color", Color.Yellow); d2Group = new Group("D2"); d2Group.Add("Pad", 2); d2Group.Add("SelectorKey", Instrument.Symbol); d2Group.Add("Color", Color.Yellow); jGroup = new Group("J"); jGroup.Add("Pad", 3); jGroup.Add("SelectorKey", Instrument.Symbol); jGroup.Add("Color", Color.Yellow); j2Group = new Group("J2"); j2Group.Add("Pad", 3); j2Group.Add("SelectorKey", Instrument.Symbol); j2Group.Add("Color", Color.Red); GroupManager.Add(barsGroup); GroupManager.Add(kGroup); GroupManager.Add(dGroup); GroupManager.Add(jGroup); GroupManager.Add(k2Group); GroupManager.Add(d2Group); GroupManager.Add(j2Group); }
protected override void OnStrategyStart() { // barChartGroup = new Group("Bars"); barChartGroup.Add("Pad", 0); barChartGroup.Add("SelectorKey", Instrument.Symbol); // fillChartGroup = new Group("Fills"); fillChartGroup.Add("Pad", 0); fillChartGroup.Add("SelectorKey", Instrument.Symbol); // GroupManager.Add(barChartGroup); GroupManager.Add(fillChartGroup); }
protected override void OnStrategyStart() { // barChartGroup = new Group("Bars"); barChartGroup.Add("Pad", DataObjectType.Int, 0); barChartGroup.Add("SelectorKey", DataObjectType.String, "VWAP " + Instrument.Symbol); // fillChartGroup = new Group("Fills"); fillChartGroup.Add("Pad", DataObjectType.Int, 0); fillChartGroup.Add("SelectorKey", DataObjectType.String, "VWAP " + Instrument.Symbol); // GroupManager.Add(barChartGroup); GroupManager.Add(fillChartGroup); }
private void AddGroups() { // Create bars group. barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); // Create fills group. fillGroup = new Group("Fills"); fillGroup.Add("Pad", 0); fillGroup.Add("SelectorKey", Instrument.Symbol); // Create equity group. equityGroup = new Group("Equity"); equityGroup.Add("Pad", 1); equityGroup.Add("SelectorKey", Instrument.Symbol); // Create BBU group. bbuGroup = new Group("BBU"); bbuGroup.Add("Pad", 0); bbuGroup.Add("SelectorKey", Instrument.Symbol); bbuGroup.Add("Color", Color.Blue); // Create BBL group. bblGroup = new Group("BBL"); bblGroup.Add("Pad", 0); bblGroup.Add("SelectorKey", Instrument.Symbol); bblGroup.Add("Color", Color.Blue); // Create SMA group. smaGroup = new Group("SMA"); smaGroup.Add("Pad", 0); smaGroup.Add("SelectorKey", Instrument.Symbol); smaGroup.Add("Color", Color.Yellow); // Add groups to manager. GroupManager.Add(barsGroup); GroupManager.Add(fillGroup); GroupManager.Add(equityGroup); GroupManager.Add(bbuGroup); GroupManager.Add(bblGroup); GroupManager.Add(smaGroup); }
private void AddGroups() { // Create bars group. barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); // Create fills group. fillGroup = new Group("Fills"); fillGroup.Add("Pad", 0); fillGroup.Add("SelectorKey", Instrument.Symbol); // Create equity group. equityGroup = new Group("Equity"); equityGroup.Add("Pad", 2); equityGroup.Add("SelectorKey", Instrument.Symbol); // Create RSI values group. rsiGroup = new Group("RSI"); rsiGroup.Add("Pad", 1); rsiGroup.Add("SelectorKey", Instrument.Symbol); rsiGroup.Add("Color", Color.Blue); // Create BuyLevel values group. buyLevelGroup = new Group("BuyLevel"); buyLevelGroup.Add("Pad", 1); buyLevelGroup.Add("SelectorKey", Instrument.Symbol); buyLevelGroup.Add("Color", Color.Red); // Create SellLevel values group. sellLevelGroup = new Group("SellLevel"); sellLevelGroup.Add("Pad", 1); sellLevelGroup.Add("SelectorKey", Instrument.Symbol); sellLevelGroup.Add("Color", Color.Red); // Add groups to manager. GroupManager.Add(barsGroup); GroupManager.Add(fillGroup); GroupManager.Add(equityGroup); GroupManager.Add(rsiGroup); GroupManager.Add(buyLevelGroup); GroupManager.Add(sellLevelGroup); }
private void AddGroups() { barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); pcGroup = new Group("PC"); pcGroup.Add("Pad", 1); pcGroup.Add("SelectorKey", Instrument.Symbol); pcGroup.Add("Color", Color.Red); pcValueGroup = new Group("PC.Value"); pcValueGroup.Add("Pad", 1); pcValueGroup.Add("SelectorKey", Instrument.Symbol); pcValueGroup.Add("Color", Color.Blue); GroupManager.Add(barsGroup); GroupManager.Add(pcGroup); GroupManager.Add(pcValueGroup); }
private void AddGroups() { barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); biasGroup = new Group("BIAS"); biasGroup.Add("Pad", 1); biasGroup.Add("SelectorKey", Instrument.Symbol); biasGroup.Add("Color", Color.Red); bias2Group = new Group("BIAS2"); bias2Group.Add("Pad", 2); bias2Group.Add("SelectorKey", Instrument.Symbol); bias2Group.Add("Color", Color.White); GroupManager.Add(barsGroup); GroupManager.Add(biasGroup); GroupManager.Add(bias2Group); }
private void AddGroups() { // Create bars group. barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); // Create fills group. fillGroup = new Group("Fills"); fillGroup.Add("Pad", 0); fillGroup.Add("SelectorKey", Instrument.Symbol); // Create equity group. equityGroup = new Group("Equity"); equityGroup.Add("Pad", Instrument.Legs.Count + 1); equityGroup.Add("SelectorKey", Instrument.Symbol); // Add groups to manager. GroupManager.Add(barsGroup); GroupManager.Add(fillGroup); GroupManager.Add(equityGroup); }
private void AddGroups() { // Create bars group. Group barGroup = new Group("Bars"); barGroup.Add("Pad", DataObjectType.Int, legIndex + 2); barGroup.Add("SelectorKey", DataObjectType.String, rootInstrument.Symbol); // Create fills group. Group fillGroup = new Group("Fills"); fillGroup.Add("Pad", DataObjectType.Int, legIndex + 2); fillGroup.Add("SelectorKey", DataObjectType.String, rootInstrument.Symbol); // Add groups to manager. GroupManager.Add(fillGroup); GroupManager.Add(barGroup); // Add groups to dictionary. fillGroups[currentFuturesContract] = fillGroup; barsGroups[currentFuturesContract] = barGroup; }
private void AddGroups() { // Create bars group. barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); // Create fills group. fillGroup = new Group("Fills"); fillGroup.Add("Pad", 0); fillGroup.Add("SelectorKey", Instrument.Symbol); // Create equity group. equityGroup = new Group("Equity"); equityGroup.Add("Pad", 1); equityGroup.Add("SelectorKey", Instrument.Symbol); // Create fast sma values group. fastSmaGroup = new Group("FastSMA"); fastSmaGroup.Add("Pad", 0); fastSmaGroup.Add("SelectorKey", Instrument.Symbol); fastSmaGroup.Add("Color", Color.Green); // Create slow sma values group. slowSmaGroup = new Group("SlowSMA"); slowSmaGroup.Add("Pad", 0); slowSmaGroup.Add("SelectorKey", Instrument.Symbol); slowSmaGroup.Add("Color", Color.Red); // Add groups to manager. GroupManager.Add(barsGroup); GroupManager.Add(fillGroup); GroupManager.Add(equityGroup); GroupManager.Add(fastSmaGroup); GroupManager.Add(slowSmaGroup); }
private void AddGroups() { // Create bars group. barsGroup = new Group("Bars"); barsGroup.Add("Pad", DataObjectType.String, 0); barsGroup.Add("SelectorKey", Instrument.Symbol); // Create fills group. fillGroup = new Group("Fills"); fillGroup.Add("Pad", 0); fillGroup.Add("SelectorKey", Instrument.Symbol); // Create equity group. equityGroup = new Group("Equity"); equityGroup.Add("Pad", 1); equityGroup.Add("SelectorKey", Instrument.Symbol); // Create channel's highest values group. highestGroup = new Group("Highest"); highestGroup.Add("Pad", 0); highestGroup.Add("SelectorKey", Instrument.Symbol); highestGroup.Add("Color", Color.Green); // Create channel's lowest values group. lowestGroup = new Group("Lowest"); lowestGroup.Add("Pad", 0); lowestGroup.Add("SelectorKey", Instrument.Symbol); lowestGroup.Add("Color", Color.Red); // Add groups to manager. GroupManager.Add(barsGroup); GroupManager.Add(fillGroup); GroupManager.Add(equityGroup); GroupManager.Add(highestGroup); GroupManager.Add(lowestGroup); }
private void AddGroups() { bars60Group = new Group("Bars60"); bars60Group.Add("Pad", DataObjectType.String, 0); bars60Group.Add("SelectorKey", Instrument.Symbol); bars86400Group = new Group("Bars86400"); bars86400Group.Add("Pad", DataObjectType.String, 0); bars86400Group.Add("SelectorKey", Instrument.Symbol); smd30Group = new Group("SMD30"); smd30Group.Add("Pad", 1); smd30Group.Add("SelectorKey", Instrument.Symbol); smd30Group.Add("Color", Color.Red); lbdGroup = new Group("LookBackDays"); lbdGroup.Add("Pad", 2); lbdGroup.Add("SelectorKey", Instrument.Symbol); lbdGroup.Add("Color", Color.Green); buyPointGroup = new Group("BuyPoint"); buyPointGroup.Add("Pad", 0); buyPointGroup.Add("SelectorKey", Instrument.Symbol); buyPointGroup.Add("Color", Color.Blue); sellPointGroup = new Group("SellPoint"); sellPointGroup.Add("Pad", 0); sellPointGroup.Add("SelectorKey", Instrument.Symbol); sellPointGroup.Add("Color", Color.Yellow); longLiqPointGroup = new Group("LongLiqPoint"); longLiqPointGroup.Add("Pad", 0); longLiqPointGroup.Add("SelectorKey", Instrument.Symbol); longLiqPointGroup.Add("Color", Color.Purple); shortLiqPointGroup = new Group("ShortLiqGroup"); shortLiqPointGroup.Add("Pad", 0); shortLiqPointGroup.Add("SelectorKey", Instrument.Symbol); shortLiqPointGroup.Add("Color", Color.Pink); upBandGroup = new Group("UpBand(BBU)"); upBandGroup.Add("Pad", 0); upBandGroup.Add("SelectorKey", Instrument.Symbol); upBandGroup.Add("Color", Color.Brown); dnBandGroup = new Group("DownBand(BBL)"); dnBandGroup.Add("Pad", 0); dnBandGroup.Add("SelectorKey", Instrument.Symbol); dnBandGroup.Add("Color", Color.Gray); GroupManager.Add(bars60Group); GroupManager.Add(bars86400Group); GroupManager.Add(smd30Group); GroupManager.Add(lbdGroup); GroupManager.Add(buyPointGroup); GroupManager.Add(sellPointGroup); GroupManager.Add(longLiqPointGroup); GroupManager.Add(shortLiqPointGroup); GroupManager.Add(upBandGroup); GroupManager.Add(dnBandGroup); }
private void AddGroups() { barsGroup = new Group("Bars"); barsGroup.Add("Pad", 0); barsGroup.Add("SelectorKey", Instrument.Symbol); barsGroup.Add("Color", Color.Black); // Create fills group. fillGroup = new Group("Fills"); fillGroup.Add("Pad", 0); fillGroup.Add("SelectorKey", Instrument.Symbol); // Create equity group. equityGroup = new Group("Equity"); equityGroup.Add("Pad", 1); equityGroup.Add("SelectorKey", Instrument.Symbol); hhGroup = new Group("HH"); hhGroup.Add("Pad", 0); hhGroup.Add("SelectorKey", Instrument.Symbol); hhGroup.Add("Color", Color.Red); hcGroup = new Group("HC"); hcGroup.Add("Pad", 0); hcGroup.Add("SelectorKey", Instrument.Symbol); hcGroup.Add("Color", Color.Yellow); lcGroup = new Group("LC"); lcGroup.Add("Pad", 0); lcGroup.Add("SelectorKey", Instrument.Symbol); lcGroup.Add("Color", Color.Yellow); llGroup = new Group("LL"); llGroup.Add("Pad", 0); llGroup.Add("SelectorKey", Instrument.Symbol); llGroup.Add("Color", Color.Red); rangeGroup = new Group("Range"); rangeGroup.Add("Pad", 2); rangeGroup.Add("SelectorKey", Instrument.Symbol); rangeGroup.Add("Color", Color.Red); range2Group = new Group("Win"); range2Group.Add("Pad", 3); range2Group.Add("SelectorKey", Instrument.Symbol); range2Group.Add("Color", Color.Red); range3Group = new Group("Loss"); range3Group.Add("Pad", 3); range3Group.Add("SelectorKey", Instrument.Symbol); range3Group.Add("Color", Color.Green); GroupManager.Add(barsGroup); GroupManager.Add(fillGroup); GroupManager.Add(equityGroup); GroupManager.Add(hhGroup); GroupManager.Add(hcGroup); GroupManager.Add(lcGroup); GroupManager.Add(llGroup); GroupManager.Add(rangeGroup); GroupManager.Add(range2Group); GroupManager.Add(range3Group); }
public async Task HandleClientMsg(string msg) { Console.WriteLine("统一从客户端收到的信息:" + msg); Message message = JsonConvert.DeserializeObject <Message>(msg); Client _client = new Client(Context.ConnectionId, message.nick, message.roomno); string path = $"./ChatLogs/{message.nick}_{message.roomno}.txt"; switch (message.action) { case (int)ActionOper.InGroupOPeration: int codeStatus = GroupManager.AddToRPD(message.roomno, message.password); if (codeStatus == (int)ActionOper.FailJoinGroup) { string tipInfo = $"操作有误,请检查房间密码是否有误!"; await SendPrivateMessage(Context.UserIdentifier, tipInfo); } else { GroupManager.Add(_client); string inGroupInfo = $"用户 {message.nick} 加入房间 {message.roomno}"; FileHelp.CreateFile(path, inGroupInfo); Console.WriteLine(inGroupInfo); await Groups.AddToGroupAsync(Context.ConnectionId, message.roomno); await Clients.Group(message.roomno).SendAsync("ReceiveMessage", inGroupInfo); } break; case (int)ActionOper.OutGroupOperation: GroupManager.Remove(_client); string outGroupInfo = $"用户 {message.nick} 离开房间 {message.roomno}"; var list = GroupManager.GetClientsInGroup(message.roomno); if (list != null) { foreach (var item in list) { string _path = $"../../../ChatLogs/{item.nickName}_{message.roomno}.txt"; await Task.Factory.StartNew(() => { FileHelp.AppendToFile(_path, outGroupInfo); }); } } Console.WriteLine(outGroupInfo); await Clients.Group(message.roomno).SendAsync("ReceiveMessage", outGroupInfo); await Groups.RemoveFromGroupAsync(Context.ConnectionId, message.roomno); break; case (int)ActionOper.SendGroupOperation: string sendGroupInfo = $"{message.nick} : {message.msg}"; FileHelp.AppendToFile(path, sendGroupInfo); Console.WriteLine(sendGroupInfo); await Clients.Group(message.roomno).SendAsync("ReceiveMessage", sendGroupInfo); break; } GroupManager.OutputRoomInfo(); }