Ejemplo n.º 1
0
        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);
            }

            }
        }
Ejemplo n.º 3
0
        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);
                    //}
                }

            }
        }