private void DGV1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex <= -1) return; if (DGV1.Rows[e.RowIndex].Cells[e.ColumnIndex] is DataGridViewCheckBoxCell) { if (Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells[e.ColumnIndex].ColumnIndex) == 1) return; DataGridViewCheckBoxCell checkCell =(DataGridViewCheckBoxCell)DGV1.Rows[e.RowIndex].Cells["Enable"]; // DataGridViewCheckBoxCell checkCell2 = (DataGridViewCheckBoxCell)DGV1.Rows[e.RowIndex].Cells["D_B"]; FOPAIR v; if (checkCell.Value == null) return; if ((bool) checkCell.Value == true) { byte[] buffer = DataPacket.RawSerialize(v=new FOPAIR() { PORTFOLIONAME = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["PF"].Value), TokenNear = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token1"].Value), TokenFar = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token2"].Value) }); // Global.Instance.Fopairbool = true; NNFHandler.Instance.Publisher(MessageType.FOPAIR, buffer); NNFHandler.Instance._subscribeSocket.Subscribe( BitConverter.GetBytes((short)MessageType.ORDER).Concat(BitConverter.GetBytes(Global.Instance.ClientId).Concat(BitConverter.GetBytes(Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["PF"].Value)))).ToArray()); // NNFHandler.Instance._subscribeSocket.Subscribe(BitConverter.GetBytes(Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["PF"].Value)).Concat( // BitConverter.GetBytes((short)MessageType.ORDER)).Concat(BitConverter.GetBytes(Global.Instance.ClientId)).ToArray()); if (Holder._DictLotSize.ContainsKey(v.TokenNear) == false || v.TokenNear != 0) { Holder._DictLotSize.TryAdd(v.TokenNear, new Csv_Struct() { lotsize = CSV_Class.cimlist.Where(q => q.Token == v.TokenNear).Select(a => a.BoardLotQuantity).First() } ); } if (Holder._DictLotSize.ContainsKey(v.TokenFar) == false || v.TokenFar != 0) { Holder._DictLotSize.TryAdd(v.TokenFar, new Csv_Struct() { lotsize = CSV_Class.cimlist.Where(q => q.Token == v.TokenFar).Select(a => a.BoardLotQuantity).First() } ); } btnStopAll.Enabled = true; } else { //Global.Instance.Fopairbool = false; DGV1.Rows[e.RowIndex].Cells["Enable"].Style.BackColor = Color.Red; if (Global.Instance.stop_all == true) return; byte[] buffer = DataPacket.RawSerialize(v = new FOPAIR() { PORTFOLIONAME = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["PF"].Value), TokenNear = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token1"].Value), TokenFar = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token2"].Value) }); NNFHandler.Instance.Publisher( MessageType.FOPAIRUNSUB, buffer); NNFHandler.Instance._subscribeSocket.Unsubscribe( BitConverter.GetBytes((short)MessageType.ORDER).Concat(BitConverter.GetBytes(Global.Instance.ClientId).Concat(BitConverter.GetBytes(Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["PF"].Value)))).ToArray()); //if (Holder._DictLotSize.ContainsKey(v.TokenNear) == false || v.TokenNear != 0) //{ // Csv_Struct o = new Csv_Struct(); // Holder._DictLotSize.TryRemove(v.TokenNear, out o); //} //if (Holder._DictLotSize.ContainsKey(v.TokenFar) == false || v.TokenFar != 0) //{ // Csv_Struct o = new Csv_Struct(); // Holder._DictLotSize.TryRemove(v.TokenFar, out o); //} } } }
private void DGV1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex <= -1) return; if (DGV1.Rows[e.RowIndex].Cells[e.ColumnIndex] is DataGridViewCheckBoxCell) { DataGridViewCheckBoxCell checkCell =(DataGridViewCheckBoxCell)DGV1.Rows[e.RowIndex].Cells["Enable"]; Client.Csv_Struct _lotsize = new Csv_Struct(); if ((bool) checkCell.Value == true) { int val = 0; // FOPAIRLEG2 v; //byte[] buffer = DataPacket.RawSerialize(v=new FOPAIRLEG2() //{ // //Tok1B_S // PORTFOLIONAME = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["PF"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["PF"].Value), // Token1 = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token1"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["Token1"].Value), // Token2 = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token2"].Value== DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["Token2"].Value), // Token3 = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token3"].Value== DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["Token3"].Value), // Token4 = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token4"].Value== DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["Token4"].Value), // Token1side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok1B_S"].Value.ToString() == "Buy" ? 1 : 2), // Token2side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok2B_S"].Value.ToString() == "Buy" ? 1 : 2), // Token3side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok3B_S"].Value.ToString() == "Buy" ? 1 : 2), // Token4side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok4B_S"].Value.ToString() == "Buy" ? 1 : 2), // Token1Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio1"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["ratio1"].Value), // Token2Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio2"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["ratio2"].Value), // Token3Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio3"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["ratio3"].Value), // Token4Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio4"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["ratio4"].Value), // CALCTYPE = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Calc_type"].Value.ToString() == "BaseDiff" ? 2 : 1), //}); FOPAIR v; byte[] buffer = DataPacket.RawSerialize(v = new FOPAIR() { PORTFOLIONAME = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["PF"].Value), TokenFar = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token1"].Value), Token2Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio1"].Value), Token2side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok1B_S"].Value.ToString() == "Buy" ? 1 : 2), TokenNear = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token2"].Value), Token1Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio2"].Value), Token1side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok2B_S"].Value.ToString() == "Buy" ? 1 : 2) }); NNFHandler.Instance.Publisher(MessageType.FOPAIR, buffer); int _buycount = 0; int _sellcount = 0; var v2 = Global.Instance.Ratio.Where(a => a.Key == v.TokenNear).Select(b => b.Value).ToList(); val = Convert.ToInt32(v2.FirstOrDefault().ToString()); if (Holder._DictLotSize.ContainsKey(v.TokenNear) && v.TokenNear != 0) { Holder._DictLotSize[v.TokenNear] = new Csv_Struct() { lotsize = CSV_Class.cimlist.Where(q => q.Token == v.TokenNear).Select(a => a.BoardLotQuantity).First() }; } else if (v.TokenNear != 0) { Holder._DictLotSize.TryAdd(v.TokenNear, new Csv_Struct() { lotsize = CSV_Class.cimlist.Where(q => q.Token == v.TokenNear).Select(a => a.BoardLotQuantity).First() } ); } _lotsize = Holder._DictLotSize[v.TokenNear]; if (Holder._DictLotSize.ContainsKey(v.TokenFar) && v.TokenFar != 0) { Holder._DictLotSize[v.TokenFar] = new Csv_Struct() { lotsize = CSV_Class.cimlist.Where(q => q.Token == v.TokenFar).Select(a => a.BoardLotQuantity).First() }; } else if (v.TokenFar != 0) { Holder._DictLotSize.TryAdd(v.TokenFar, new Csv_Struct() { lotsize = CSV_Class.cimlist.Where(q => q.Token == v.TokenFar).Select(a => a.BoardLotQuantity).First() } ); } //if (Holder._DictLotSize.ContainsKey(v.Token3) && v.Token3 != 0) //{ // Holder._DictLotSize[v.Token3] = new Csv_Struct() // { // lotsize = CSV_Class.cimlist.Where(q => q.Token == v.Token3).Select(a => a.BoardLotQuantity).First() // }; //} //else if (v.Token3 != 0) //{ // Holder._DictLotSize.TryAdd(v.Token3, new Csv_Struct() // { // lotsize = CSV_Class.cimlist.Where(q => q.Token == v.Token3).Select(a => a.BoardLotQuantity).First() // } //); //} } else { DGV1.Rows[e.RowIndex].Cells["PF"].Style.BackColor = Color.Red; //FOPAIRLEG2 v; //byte[] buffer = DataPacket.RawSerialize(v = new FOPAIRLEG2() //{ // PORTFOLIONAME = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["PF"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["PF"].Value), // Token1 = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token1"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["Token1"].Value), // Token2 = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token2"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["Token2"].Value), // Token3 = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token3"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["Token3"].Value), // Token4 = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token4"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["Token4"].Value), // Token1side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok1B_S"].Value.ToString() == "Buy" ? 1 : 2), // Token2side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok2B_S"].Value.ToString() == "Buy" ? 1 : 2), // Token3side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok3B_S"].Value.ToString() == "Buy" ? 1 : 2), // Token4side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok4B_S"].Value.ToString() == "Buy" ? 1 : 2), // Token1Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio1"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["ratio1"].Value), // Token2Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio2"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["ratio2"].Value), // Token3Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio3"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["ratio3"].Value), // Token4Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio4"].Value == DBNull.Value ? "0" : DGV1.Rows[e.RowIndex].Cells["ratio4"].Value), // CALCTYPE = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Calc_type"].Value.ToString() == "BaseDiff" ? 2 : 1), //}); FOPAIR v; byte[] buffer = DataPacket.RawSerialize(v = new FOPAIR() { PORTFOLIONAME = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["PF"].Value), TokenFar = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token1"].Value), Token2Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio1"].Value), Token2side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok1B_S"].Value.ToString() == "Buy" ? 1 : 2), TokenNear = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token2"].Value), Token1Ratio = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["ratio2"].Value), Token1side = Convert.ToInt16(DGV1.Rows[e.RowIndex].Cells["Tok2B_S"].Value.ToString() == "Buy" ? 1 : 2) }); NNFHandler.Instance.Publisher(MessageType.FOPAIRUNSUB, buffer); } } }
private void DGV1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex <= -1) return; if (DGV1.Rows[e.RowIndex].Cells[e.ColumnIndex] is DataGridViewCheckBoxCell) { DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)DGV1.Rows[e.RowIndex].Cells["Enable"]; FOPAIR v; if ((bool)checkCell.Value == true) { byte[] buffer = DataPacket.RawSerialize(v = new FOPAIR() { PORTFOLIONAME = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["PF"].Value), TokenNear = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token1"].Value), TokenFar = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token2"].Value) }); Global.Instance.Fopairbool = true; NNFHandler.Instance.Publisher(MessageType.FOPAIR, buffer); if (Holder._DictLotSize.ContainsKey(v.TokenNear) == false || v.TokenNear != 0) { Holder._DictLotSize.TryAdd(v.TokenNear, new Csv_Struct() { lotsize = CSV_Class.cimlist.Where(q => q.Token == v.TokenNear).Select(a => a.BoardLotQuantity).First() } ); } if (Holder._DictLotSize.ContainsKey(v.TokenFar) == false || v.TokenFar != 0) { Holder._DictLotSize.TryAdd(v.TokenFar, new Csv_Struct() { lotsize = CSV_Class.cimlist.Where(q => q.Token == v.TokenFar).Select(a => a.BoardLotQuantity).First() } ); } } else { byte[] buffer = DataPacket.RawSerialize(v = new FOPAIR() { PORTFOLIONAME = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["PF"].Value), TokenNear = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token1"].Value), TokenFar = Convert.ToInt32(DGV1.Rows[e.RowIndex].Cells["Token2"].Value) }); Global.Instance.Fopairbool = false; NNFHandler.Instance.Publisher(MessageType.FOPAIRUNSUB, buffer); //if (Holder._DictLotSize.ContainsKey(v.TokenNear) == false || v.TokenNear != 0) //{ // Csv_Struct o = new Csv_Struct(); // Holder._DictLotSize.TryRemove(v.TokenNear, out o); //} //if (Holder._DictLotSize.ContainsKey(v.TokenFar) == false || v.TokenFar != 0) //{ // Csv_Struct o = new Csv_Struct(); // Holder._DictLotSize.TryRemove(v.TokenFar, out o); //} } } }