Esempio n. 1
0
        void Instance_OndatastopChange(object sender, ReadOnlyEventArgs <string> e)
        {
            try
            {
                switch (e.Parameter)
                {
                case "STOP":
                    if (this.InvokeRequired)
                    {
                        this.Invoke(new OndatastopDelegate(Instance_OndatastopChange), sender, new ReadOnlyEventArgs <string>(e.Parameter));
                        return;
                    }

                    this.lblData.BackColor = Color.Red;
                    break;

                case "START":
                    if (this.InvokeRequired)
                    {
                        this.Invoke(new OndatastopDelegate(Instance_OndatastopChange), sender, new ReadOnlyEventArgs <string>(e.Parameter));
                        return;
                    }

                    this.lblData.BackColor = Color.Green;
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.StackTrace.ToString());
            }
        }
Esempio n. 2
0
        void UpdateLabel(ReadOnlyEventArgs <HeartBeatInfo> e)
        {
            // this.lblClientQuee.Text =this.lblClientQuee.Name.ToString()+"=:"+ e.Parameter.ClientQueue.ToString();
            this.lblClientQueueCount.Text = e.Parameter.ClientQueue.ToString();
            this.lblServerqueueCount.Text = e.Parameter.tapQueue.ToString();
            //  this.lblTapStatus.Text = e.Parameter.tapStatus.ToString();

            if (e.Parameter.dataStatus == true)
            {
                this.lblDatastatus.BackColor = Color.Green;
            }
            else
            {
                this.lblDatastatus.BackColor     = Color.Red;
                lblLastrecoverytimeonserver.Text = DateTime.Now.ToString();
                //   lblLastrecoverytimeonserver.Text
            }
            if (e.Parameter.tapStatus == true)
            {
                this.lblTapStatus.BackColor = Color.Green;
            }
            else
            {
                this.lblTapStatus.BackColor = Color.Red;
            }
        }
        public void Test(Object o, ReadOnlyEventArgs <LTPTONETBOOK> obj)
        {
            var rows = Global.Instance.NetBookTable.AsEnumerable().ToList();
            var fg   = (rows.FindIndex(a => Convert.ToString(a.Field <string>("Symbol")) == "Total"));

            if (fg >= 0)
            {
                Global.Instance.NetBookTable.Rows[fg].Delete();
            }

            var rowlist = Global.Instance.NetBookTable.AsEnumerable().Where(p => p.Field <int>("Token") == (IPAddress.HostToNetworkOrder(obj.Parameter.TOKEN))).ToList();

            foreach (var i in rowlist)
            {
                i["LTP"]         = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(obj.Parameter.LTP)) / 100, 4);
                i["Delta"]       = obj.Parameter.DELTA;
                i["NetQtyDelta"] = Math.Round(Convert.ToDouble(Convert.ToDouble(i["NetQty"].ToString()) * (obj.Parameter.DELTA)), 3);
                i["MTM"]         = Math.Round(Convert.ToDouble(Convert.ToDouble(i["NetValue"].ToString()) - (Convert.ToDouble(i["LTP"].ToString()) * (-Convert.ToDouble(i["NetQty"].ToString())))), 3);

                //  lvlMtm.Text = Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field<double>("MTM")).ToString();
            }

            Global.Instance.NetBookTable.Rows.Add("Total", "-", 0, "-", "-", Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field <int>("BuyQty")),
                                                  Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field <double>("BuyAvg")), Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field <double>("BUYVALUE")), Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field <int>("SellQty")),
                                                  Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field <double>("SellAvg")), Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field <double>("SELLVALUE")),
                                                  0, 0,
                                                  Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field <double>("MTM")),
                                                  0, Math.Round(Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field <double>("Delta")), 4), Math.Round(Global.Instance.NetBookTable.AsEnumerable().Sum(x => x.Field <double>("NetQtyDelta")), 4), 0, 0);
        }
Esempio n. 4
0
        void Instance_OnDataArrived(object sender, ReadOnlyEventArgs<FinalPrice> Stat)
        {
            try
            {
                _concurrentDataDictionary.AddOrUpdate(Stat.Parameter.Token, _TempFP, (k, v) => _TempFP);
                //  _concurrentDataDictionary.GetOrAdd(Stat.Parameter.Token,  _TempFP);
                //   _TempFP = Stat.Parameter;

                var _valldata = _concortdict[Stat.Parameter.Token][1];
                foreach (var item in _valldata)
                {
                    if (item.Value.Price >= Stat.Parameter.MINASK)
                    {
                        tradeconferm_manual(item.Value);
                        Console.WriteLine("Traded");
                    }

                }

            }
            catch (Exception Ex)
            {
                Console.WriteLine(" Exception " + Ex.StackTrace.ToString());
            }
        }
 protected override void masterIntensityChanged(object sender, ReadOnlyEventArgs <ushort> e)
 {
     if (!this.EffectiveMute)
     {
         setTransportValue(DMXChannel.Intensity, EffectiveIntensity);
     }
     base.masterIntensityChanged(sender, e);
 }
        protected virtual void OnTiltChanged(ReadOnlyEventArgs <ushort> e)
        {
            EventHandler <ReadOnlyEventArgs <ushort> > handler = TiltChanged;

            if (handler != null)
            {
                handler(this, e);
            }
        }
        protected virtual void OnMuteChanged(ReadOnlyEventArgs <bool> e)
        {
            EventHandler <ReadOnlyEventArgs <bool> > handler = MuteChanged;

            if (handler != null)
            {
                handler(this, e);
            }
        }
        protected virtual void OnEffectiveIntensityChanged(ReadOnlyEventArgs <ushort> e)
        {
            EventHandler <ReadOnlyEventArgs <ushort> > handler = EffectiveIntensityChanged;

            if (handler != null)
            {
                handler(this, e);
            }
        }
 protected override void masterMuteChanged(object sender, ReadOnlyEventArgs <bool> e)
 {
     if (this.EffectiveMute)
     {
         setTransportValue(DMXChannel.Intensity, 0);
     }
     else
     {
         setTransportValue(DMXChannel.Intensity, EffectiveIntensity);
     }
     base.masterMuteChanged(sender, e);
 }
Esempio n. 10
0
        void ChangeHeartBeatInfo(object sender, ReadOnlyEventArgs <HeartBeatInfo> e)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke((ThreadStart) delegate() { UpdateLabel(e); });

                return;
            }
            else
            {
                UpdateLabel(e);
            }
        }
Esempio n. 11
0
        public static void UpdateRecord(object sender, ReadOnlyEventArgs<MS_INDICES_7207> Stat)
        {
            try
             {
            if (AppGlobal.frmSpotIndex != null && AppGlobal.frmSpotIndex.InvokeRequired)
            {
                AppGlobal.frmSpotIndex.BeginInvoke(new OnLZOArrivedDelegate(UpdateRecord), sender, new ReadOnlyEventArgs<MS_INDICES_7207>(Stat.Parameter));
            }
            else
            {
                if (CommonData.dtSpotWatch == null)
                    return;
                lock (LockTableOperation)
                {

                        DataRow[] dr = CommonData.dtSpotWatch.Select("Symbol='" + Stat.Parameter.IndexName.Trim() +"'");
                        if (dr.Length > 0)
                        {
                            dr[0][SpreadContract.Price] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100;
                            dr[0][SpreadContract.ChangeIndicator] = Convert.ToChar(Stat.Parameter.NetChangeIndicator);
                            dr[0][SpreadContract.PercentChange] = (decimal)IPAddress.NetworkToHostOrder(Stat.Parameter.PercentChange)/100;
                            dr[0][SpreadContract.ClosePrice] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100;

                        }
                        else
                        {
                            DataRow drRec = CommonData.dtSpotWatch.NewRow();
                          drRec[SpreadContract.Symbol] = Stat.Parameter.IndexName.Trim();
                            drRec[SpreadContract.Price] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100;
                            drRec[SpreadContract.ChangeIndicator] = Convert.ToChar(Stat.Parameter.NetChangeIndicator);
                            drRec[SpreadContract.PercentChange] = (decimal)IPAddress.NetworkToHostOrder(Stat.Parameter.PercentChange)/100;
                            drRec[SpreadContract.ClosePrice] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100;

                            //===============
                            if (drRec[SpreadContract.Symbol].ToString() == "CNX Nifty" || drRec[SpreadContract.Symbol].ToString() == "BANK Nifty" || drRec[SpreadContract.Symbol].ToString() == "India VIX")
                           {
                                // var filtered = CommonData.AsEnumerable().Where(r => r.Field<String>(SpreadContract.Symbol).Contains("NV20"));
                                //=============================

                                CommonData.dtSpotWatch.Rows.Add(drRec);
                            }
                        }

                }
            }
             }
                catch (Exception e)
                    {
                       // AppGlobal.Logger.WriteinFileWindowAndBox(e, LogEnums.WriteOption.LogWindow_ErrorLogFile, color: AppLog.RedColor);
                    }
        }
Esempio n. 12
0
        public static void UpdateRecord(object sender, ReadOnlyEventArgs <MS_INDICES_7207> Stat)
        {
            try
            {
                if (AppGlobal.frmSpotIndex != null && AppGlobal.frmSpotIndex.InvokeRequired)
                {
                    AppGlobal.frmSpotIndex.BeginInvoke(new OnLZOArrivedDelegate(UpdateRecord), sender, new ReadOnlyEventArgs <MS_INDICES_7207>(Stat.Parameter));
                }
                else
                {
                    if (CommonData.dtSpotWatch == null)
                    {
                        return;
                    }
                    lock (LockTableOperation)
                    {
                        DataRow[] dr = CommonData.dtSpotWatch.Select("Symbol='" + Stat.Parameter.IndexName.Trim() + "'");
                        if (dr.Length > 0)
                        {
                            dr[0][SpreadContract.Price]           = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100;
                            dr[0][SpreadContract.ChangeIndicator] = Convert.ToChar(Stat.Parameter.NetChangeIndicator);
                            dr[0][SpreadContract.PercentChange]   = (decimal)IPAddress.NetworkToHostOrder(Stat.Parameter.PercentChange) / 100;
                            dr[0][SpreadContract.ClosePrice]      = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100;
                        }
                        else
                        {
                            DataRow drRec = CommonData.dtSpotWatch.NewRow();
                            drRec[SpreadContract.Symbol]          = Stat.Parameter.IndexName.Trim();
                            drRec[SpreadContract.Price]           = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100;
                            drRec[SpreadContract.ChangeIndicator] = Convert.ToChar(Stat.Parameter.NetChangeIndicator);
                            drRec[SpreadContract.PercentChange]   = (decimal)IPAddress.NetworkToHostOrder(Stat.Parameter.PercentChange) / 100;
                            drRec[SpreadContract.ClosePrice]      = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100;


                            //===============
                            if (drRec[SpreadContract.Symbol].ToString() == "CNX Nifty" || drRec[SpreadContract.Symbol].ToString() == "BANK Nifty" || drRec[SpreadContract.Symbol].ToString() == "India VIX")
                            {
                                // var filtered = CommonData.AsEnumerable().Where(r => r.Field<String>(SpreadContract.Symbol).Contains("NV20"));
                                //=============================

                                CommonData.dtSpotWatch.Rows.Add(drRec);
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                // AppGlobal.Logger.WriteinFileWindowAndBox(e, LogEnums.WriteOption.LogWindow_ErrorLogFile, color: AppLog.RedColor);
            }
        }
Esempio n. 13
0
        public void UpdateRecord_child_Index( ReadOnlyEventArgs<MS_INDICES_7207> Stat)
        {
            try
            {
                if (AppGlobal.frmSpotIndex != null && AppGlobal.frmSpotIndex.InvokeRequired)
                {
                    AppGlobal.frmSpotIndex.BeginInvoke(new OnLZOArrivedDelegate(UpdateRecord_child_Index), new ReadOnlyEventArgs<MS_INDICES_7207>(Stat.Parameter));

                }
                else
                {
                    if (Global.Instance.Child_Index == null)
                        return;

                    DataRow[] dr = Global.Instance.Child_Index.Select("Symbol='" + Stat.Parameter.IndexName.Trim() + "'");
                        if (dr.Length > 0)
                        {
                            if (Global.Instance._IndexwatchDict.ContainsKey(Stat.Parameter.IndexName.Trim()))
                            SetData(Global.Instance._IndexwatchDict[Stat.Parameter.IndexName.Trim()].Cells[SpreadContract.ChangeIndicator], (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100 - (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100);
                            SetData(Global.Instance._IndexwatchDict[Stat.Parameter.IndexName.Trim()].Cells[SpreadContract.Price], (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100 );
                            dr[0][SpreadContract.Price] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100;
                            dr[0][SpreadContract.ChangeIndicator] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100 - (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100; //Convert.ToChar(Stat.Parameter.NetChangeIndicator);
                            dr[0][SpreadContract.PercentChange] = (decimal)IPAddress.NetworkToHostOrder(Stat.Parameter.PercentChange) / 100;
                            dr[0][SpreadContract.ClosePrice] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100;

                            // Global.Instance._IndexwatchDict
                           // DataGridViewRow v = Global.Instance._IndexwatchDict[Stat.Parameter.IndexName.Trim()];

                        }
                     /*   else
                        {
                            DataRow drRec =Global.Instance.Child_Index.NewRow();
                            drRec[SpreadContract.Symbol] = Stat.Parameter.IndexName.Trim();
                            drRec[SpreadContract.Price] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100;
                            drRec[SpreadContract.ChangeIndicator] = Convert.ToChar(Stat.Parameter.NetChangeIndicator);
                            drRec[SpreadContract.PercentChange] = (decimal)IPAddress.NetworkToHostOrder(Stat.Parameter.PercentChange) / 100;
                            drRec[SpreadContract.ClosePrice] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100;

                            Global.Instance.Child_Index.Rows.Add(drRec);
                        }
                    */

                }
            }
            catch (Exception e)
            {
                //AppGlobal.Logger.WriteinFileWindowAndBox(e, LogEnums.WriteOption.LogWindow_ErrorLogFile, color: AppLog.RedColor);
                string destPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "UpdateRecord_child_Index.txt");
                File.WriteAllText(destPath,e.StackTrace.ToString());
            }
        }
Esempio n. 14
0
        void OnDataAPPTYPE(Object o, ReadOnlyEventArgs <string> str)
        {
            this.Text = str.Parameter;

            if (this.Text == "FOFO")
            {
                toolsMenu.DropDownItems[3].Visible = false;
            }

            else if (this.Text == "TWOLEGOPT")
            {
                toolsMenu.DropDownItems[2].Visible = false;
            }
            this.Text += " : " + Global.Instance.ClientId;
        }
Esempio n. 15
0
        public static void UpdateRecord(object sender, ReadOnlyEventArgs<MS_INDICES_7207> Stat)
        {
            try
             {
            if (AppGlobal.frmSpotIndex != null && AppGlobal.frmSpotIndex.InvokeRequired)
            {
                AppGlobal.frmSpotIndex.BeginInvoke(new OnLZOArrivedDelegate(UpdateRecord), sender, new ReadOnlyEventArgs<MS_INDICES_7207>(Stat.Parameter));
            }
            else
            {
                if (CommonData.dtSpotWatch == null)
                    return;
                lock (LockTableOperation)
                {

                        DataRow[] dr = CommonData.dtSpotWatch.Select("Symbol='" + Stat.Parameter.IndexName.Trim() +"'");
                        if (dr.Length > 0)
                        {
                            dr[0][SpreadContract.Price] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100;
                            dr[0][SpreadContract.ChangeIndicator] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100 - (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100; //Convert.ToChar(Stat.Parameter.NetChangeIndicator);
                            dr[0][SpreadContract.PercentChange] = (decimal)IPAddress.NetworkToHostOrder(Stat.Parameter.PercentChange)/100;
                            dr[0][SpreadContract.ClosePrice] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100;

                        }
                        else
                        {
                            DataRow drRec = CommonData.dtSpotWatch.NewRow();
                            drRec[SpreadContract.Symbol] = Stat.Parameter.IndexName.Trim();
                            drRec[SpreadContract.Price] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100;
                            drRec[SpreadContract.ChangeIndicator] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.IndexValue)) / 100 - (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100; //Convert.ToChar(Stat.Parameter.NetChangeIndicator);
                            drRec[SpreadContract.PercentChange] = (decimal)IPAddress.NetworkToHostOrder(Stat.Parameter.PercentChange)/100;
                            drRec[SpreadContract.ClosePrice] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.ClosingIndex)) / 100;

                            CommonData.dtSpotWatch.Rows.Add(drRec);
                        }
                    //if(Global.Instance.Child_Index_Dict.ContainsKey(Stat.Parameter.IndexName.Trim()))
                    //{
                    //    Child_Index.Instance.UpdateRecord_child_Index(Stat);
                    //}

                }
            }
             }
                catch (Exception e)
                    {
                       // AppGlobal.Logger.WriteinFileWindowAndBox(e, LogEnums.WriteOption.LogWindow_ErrorLogFile, color: AppLog.RedColor);
                    }
        }
Esempio n. 16
0
 public static void UpdateRecord(object sender, ReadOnlyEventArgs<MS_SPD_MKT_INFO_7211> Stat)
 {
 }
Esempio n. 17
0
        void Instance_OnStatusChange(object sender, ReadOnlyEventArgs <SYSTEMSTATUS> e)
        {
            switch (e.Parameter)
            {
            case SYSTEMSTATUS.LOGGEDIN:


                // UDP_Reciever.Instance.UDPReciever(Global.Instance.LanIp, Global.Instance.McastIp,Convert.ToInt32( Global.Instance.Mcastport));
                //   UDP_Reciever.Instance.UDPReciever(Global.Instance.LanIp, Global.Instance.McastIp, Convert.ToInt32(Global.Instance.Mcastport));  //LZO
                if (Global.Instance.Relogin == false)
                {
                    //    UDP_Reciever.Instance.UDPReciever(Global.Instance.LanIp, Global.Instance.McastIp, Convert.ToInt32(Global.Instance.Mcastport));  //LZO
                    //  UDP_Reciever.Instance.UDPReciever();
                }
                //DATASERVER

                UDP_Reciever.Instance.OnStatusChange += Instance_OnStatusChange;

                if (this.InvokeRequired)
                {
                    this.BeginInvoke((ThreadStart) delegate()
                    {
                        if (Global.Instance.ReloginFarmloader != true)
                        {
                            Loadchildform();
                        }
                        this.lblOrder.BackColor = Color.Green;
                    });

                    return;
                }
                else
                {
                    if (Global.Instance.ReloginFarmloader != true)
                    {
                        Loadchildform();
                    }
                    this.lblOrder.BackColor = Color.Green;
                }

                break;


            case SYSTEMSTATUS.LOGGEDOUT:
                if (this.InvokeRequired)
                {
                    this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs <SYSTEMSTATUS>(e.Parameter));
                    return;
                }

                this.lblOrder.BackColor      = Color.Red;
                this.lblTapStatus.BackColor  = Color.Red;
                this.lblDatastatus.BackColor = Color.Red;

                if (_frmLogin == null)
                {
                    using (_frmLogin = new Re_Login())
                    {
                        //_frmLogin = new Re_Login();
                        _frmLogin.TopMost = true;
                        _frmLogin.ShowDialog();

                        _frmLogin = null;
                    }
                }

                break;


            case SYSTEMSTATUS.DATARUNNING:
                if (this.InvokeRequired)
                {
                    this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs <SYSTEMSTATUS>(e.Parameter));
                    return;
                }

                this.lblData.BackColor = Color.Green;

                break;



            case SYSTEMSTATUS.DATASTOPPED:
                if (this.InvokeRequired)
                {
                    this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs <SYSTEMSTATUS>(e.Parameter));
                    return;
                }

                this.lblData.BackColor = Color.Red;
                break;

            case SYSTEMSTATUS.NONE:


                if (this.InvokeRequired)
                {
                    this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs <SYSTEMSTATUS>(e.Parameter));
                    return;
                }

                this.lblStatus.Text = "Some unknown event occured..";

                break;

            case SYSTEMSTATUS.PASSERROR:


                if (this.InvokeRequired)
                {
                    this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs <SYSTEMSTATUS>(e.Parameter));
                    return;
                }

                this.lblStatus.Text = "Password error";

                this.lblOrder.BackColor = Color.Red;

                break;

            case SYSTEMSTATUS.PASSEXPIRE:


                if (this.InvokeRequired)
                {
                    this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs <SYSTEMSTATUS>(e.Parameter));
                    return;
                }

                this.lblStatus.Text = "Password expired";

                this.lblOrder.BackColor = Color.Red;

                break;
            }
        }
Esempio n. 18
0
        public static void UpdateRecord(object sender, ReadOnlyEventArgs<MS_SPD_MKT_INFO_7211> Stat)
        {
            if (AppGlobal.frmSpreadWatch != null && AppGlobal.frmSpreadWatch.InvokeRequired)
            {
                AppGlobal.frmSpreadWatch.BeginInvoke(new OnLZOArrivedDelegate(UpdateRecord), sender, new ReadOnlyEventArgs<MS_SPD_MKT_INFO_7211>(Stat.Parameter));
            }
            else
            {
                if (CommonData.dtSpreadMktWatch == null)
                    return;
                lock (LockTableOperation)
                {
                    string Token = IPAddress.NetworkToHostOrder(Stat.Parameter.Token1) + "-" + IPAddress.NetworkToHostOrder(Stat.Parameter.Token2);
                    try
                    {
                        DataRow[] dr = CommonData.dtSpreadMktWatch.Select("Token1=" + IPAddress.NetworkToHostOrder(Stat.Parameter.Token1) + " and Token2=" + IPAddress.NetworkToHostOrder(Stat.Parameter.Token2));

                        if (Global.Instance._SprdwatchDict.ContainsKey(IPAddress.NetworkToHostOrder(Stat.Parameter.Token1).ToString() + IPAddress.NetworkToHostOrder(Stat.Parameter.Token2).ToString()))
                        {
                            SetData(Global.Instance._SprdwatchDict[(IPAddress.NetworkToHostOrder(Stat.Parameter.Token1)).ToString() + (IPAddress.NetworkToHostOrder(Stat.Parameter.Token2)).ToString()].Cells[SpreadContract.LTP], (IPAddress.NetworkToHostOrder(Stat.Parameter.LastTradedPriceDifference)) / 100);
                            SetData(Global.Instance._SprdwatchDict[(IPAddress.NetworkToHostOrder(Stat.Parameter.Token1)).ToString() + (IPAddress.NetworkToHostOrder(Stat.Parameter.Token2)).ToString()].Cells[SpreadContract.Bid],(IPAddress.NetworkToHostOrder(Stat.Parameter.mbpBuys[0].Price)) / 100);
                            SetData(Global.Instance._SprdwatchDict[(IPAddress.NetworkToHostOrder(Stat.Parameter.Token1)).ToString() + (IPAddress.NetworkToHostOrder(Stat.Parameter.Token2)).ToString()].Cells[SpreadContract.Ask], (IPAddress.NetworkToHostOrder(Stat.Parameter.mbpSells[0].Price)) / 100);

                        }
                        if (dr.Length > 0)
                        {
                            dr[0][SpreadContract.Bid] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.mbpBuys[0].Price)) / 100;
                            dr[0][SpreadContract.Ask] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.mbpSells[0].Price)) / 100;
                            dr[0][SpreadContract.BidQ] = IPAddress.NetworkToHostOrder(Stat.Parameter.mbpBuys[0].Volume);
                            dr[0][SpreadContract.AskQ] = IPAddress.NetworkToHostOrder(Stat.Parameter.mbpSells[0].Volume);
                            dr[0][SpreadContract.LTP] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.LastTradedPriceDifference)) / 100;
                            dr[0][SpreadContract.TotalSellQty] = IPAddress.NetworkToHostOrder(Stat.Parameter.MbpSell);
                            dr[0][SpreadContract.TotalSellQty] = IPAddress.NetworkToHostOrder(Stat.Parameter.MbpBuy);
                            dr[0][SpreadContract.OpenPrice] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.OpenPriceDifference)) / 100;
                            dr[0][SpreadContract.HighPrice] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.DayHighPriceDifference)) / 100;
                            dr[0][SpreadContract.LowPrice] = (decimal)(IPAddress.NetworkToHostOrder(Stat.Parameter.DayLowPriceDifference)) / 100;
                            dr[0][SpreadContract.TotalTradedValue] = Stat.Parameter.TotalTradedValue;
                            dr[0][SpreadContract.TradedVolume] = IPAddress.NetworkToHostOrder(Stat.Parameter.TradedVolume);
                            dr[0][SpreadContract.LastUpdateTime] = CommonData.UnixTimeStampToDateTime(IPAddress.NetworkToHostOrder(Stat.Parameter.LastUpdateTime));
                            dr[0][SpreadContract.LastActiveTime] = CommonData.UnixTimeStampToDateTime(IPAddress.NetworkToHostOrder(Stat.Parameter.LastActiveTime));

                        }

                    }
                    catch (Exception e)
                    {
                        AppGlobal.Logger.WriteinFileWindowAndBox(e, LogEnums.WriteOption.LogWindow_ErrorLogFile, color: AppLog.RedColor);
                    }
                }
            }
        }
Esempio n. 19
0
        public void OnDataArrived(Object o, ReadOnlyEventArgs<FinalPrice> Stat)
        {
            try
            {
                if (DGV.Rows.Count == 0)
                {
                    return;
                }
                if (DGV.InvokeRequired)
                {
                    DGV.Invoke(new OnDataArrivedmktDelegate(OnDataArrived), o, new ReadOnlyEventArgs<FinalPrice>(Stat.Parameter));
                    return;
                }

                if (_mwatchDict.ContainsKey(Stat.Parameter.Token))
                     {
                         //StreamWriter stw = new StreamWriter(Stat.Parameter.Token.ToString(),true);
                         //stw.WriteLine(DateTime.Now.ToString("HH:mm:ss:fff") + "," + "MAXBID " + "," + Stat.Parameter.MAXBID + "," + "MINASK" + "," + Stat.Parameter.MINASK + "," + "LTP"+ "," + Stat.Parameter.LTP);
               //  LogWriterClass.logwritercls.logs("recData1==>", "Token no--------" + "," + Stat.Parameter.Token.ToString() + "," + " maxbid------ " + "," + (Convert.ToDouble(Stat.Parameter.MAXBID) / 100).ToString() + "," + "minask---------" + "," + (Convert.ToDouble(Stat.Parameter.MINASK) / 100).ToString() + "," + "ltp--------" + "," + (Convert.ToDouble(Stat.Parameter.LTP) / 100).ToString());
                       //  stw.Close();

                             SetData(_mwatchDict[Stat.Parameter.Token].Cells["Bid"], Convert.ToDecimal(Stat.Parameter.MAXBID)/100);
                    //SetData(_mwatchDict[Stat.Parameter.Token].Cells["BidQ"], Convert.ToDouble(Stat.Parameter.MAXBID));

                             SetData(_mwatchDict[Stat.Parameter.Token].Cells["Ask"], Convert.ToDecimal(Stat.Parameter.MINASK) / 100);
                   // SetData(_mwatchDict[Stat.Parameter.Token].Cells["AskQ"], Convert.ToDouble(Stat.Parameter.MAXBID));

                             SetData(_mwatchDict[Stat.Parameter.Token].Cells["LTP"], Convert.ToDecimal(Stat.Parameter.LTP) / 100);
                    //Holder.holderDownload.AddOrUpdate(IPAddress.HostToNetworkOrder (obj.header_obj.TransactionCode), obj,(k, v) => obj);
                   Global.Instance.MTMDIct.AddOrUpdate(Stat.Parameter.Token, Stat.Parameter.LTP, (k, v) => Stat.Parameter.LTP);
                }

            }
            catch (DataException a)
            {
                MessageBox.Show("From Live Data fill " + Environment.NewLine + a.Message);
            }
        }
Esempio n. 20
0
        void UpdateLabel(ReadOnlyEventArgs<HeartBeatInfo> e)
        {
            // this.lblClientQuee.Text =this.lblClientQuee.Name.ToString()+"=:"+ e.Parameter.ClientQueue.ToString();
              this.lblClientQueueCount.Text = e.Parameter.ClientQueue.ToString();
             this.lblServerqueueCount.Text = e.Parameter.tapQueue.ToString();
             //  this.lblTapStatus.Text = e.Parameter.tapStatus.ToString();

            if (e.Parameter.dataStatus == true)
            {
                this.lblDatastatus.BackColor = Color.Green;
            }
            else
            {
                this.lblDatastatus.BackColor = Color.Red;
                lblLastrecoverytimeonserver.Text = DateTime.Now.ToString();
               //   lblLastrecoverytimeonserver.Text
            }
            if (e.Parameter.tapStatus == true)
            {
                this.lblTapStatus.BackColor = Color.Green;
            }
            else
            {
                this.lblTapStatus.BackColor = Color.Red;
            }
        }
Esempio n. 21
0
        void OnDataAPPTYPE(Object o, ReadOnlyEventArgs<string>str)
        {
            Global.Instance.C_Type = str.Parameter;
                this.Text = str.Parameter;

            if (this.Text == "FOFO")
            {
                toolsMenu.DropDownItems[3].Visible = false;

            }

            else if (this.Text == "TWOLEGOPT")
            {
                toolsMenu.DropDownItems[2].Visible = false;
            }
            Global.Instance.C_Type += " : " + " 1.9 A " + Global.Instance.ClientId;

            this.Text = Global.Instance.C_Type;
        }
Esempio n. 22
0
        void ChangeHeartBeatInfo(object sender, ReadOnlyEventArgs<HeartBeatInfo> e)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke((ThreadStart)delegate() { UpdateLabel(e); });

                return;
            }
            else
            {
                UpdateLabel(e);
            }
        }
Esempio n. 23
0
        private void M_dpthOnOnDataChange(object sender, ReadOnlyEventArgs<INTERACTIVE_ONLY_MBP> data)
        {
            if (Token.Text != IPAddress.HostToNetworkOrder(data.Parameter.Token).ToString())
                return;
            if (dgvMarketPicture.Rows.Count == 0)
            {
                return;
            }
            if (dgvMarketPicture.InvokeRequired)
            {
                dgvMarketPicture.Invoke(new OnLZOArrivedmktDelegate(M_dpthOnOnDataChange), sender,new ReadOnlyEventArgs<INTERACTIVE_ONLY_MBP>(data.Parameter));
                return;
            }
            try
            {
                if (data.Parameter.RecordBuffer != null && dgvMarketPicture.Rows.Count == 5)
                {
                    dgvMarketPicture.Rows.Clear();
                    for (int i = 0; i < 5; i++)
                    {
                        dgvMarketPicture.Rows.Insert(i);
                        dgvMarketPicture.Rows[i].Height = 20;
                    }

                    if (dgvMarketPicture.Rows.Count <= 0)
                        return;

                    for (int i = 0; i < 5; i++)
                    {

                        dgvMarketPicture[Constants.BuyOrders, i].Value = IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i].NumberOfOrders);
                        dgvMarketPicture[Constants.BQty, i].Value = IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i].Quantity);
                        dgvMarketPicture[Constants.BuyPrice, i].Value =(decimal) IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i].Price) / 100; // PriceDivisor;

                        dgvMarketPicture[Constants.SellPrice, i].Value = (decimal)IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i+5].Price) / 100; // / PriceDivisor;
                        dgvMarketPicture[Constants.SQty, i].Value = IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i+5].Quantity);
                        dgvMarketPicture[Constants.SellOrders, i].Value = IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i+5].NumberOfOrders);

                    }

                    lblLastTradeTime.Text = AtsMethods.SecondsToDateTime(IPAddress.HostToNetworkOrder(data.Parameter.LastTradeTime)).ToString(AtsConst.TimeFormatGrid);
                    lblLastTrdQty.Text = Convert.ToString(IPAddress.HostToNetworkOrder(data.Parameter.LastTradeQuantity)) + "@" + Convert.ToDecimal(IPAddress.HostToNetworkOrder(data.Parameter.LastTradedPrice) / 100).ToString();
                    //lblLastUpdt.Text = AtsMethods.SecondsToDateTime(data.Header.ExchangeTimeStamp).ToString(AtsConst.TimeFormatGrid);

                    lblAvgTradePrice.Text = (IPAddress.HostToNetworkOrder(data.Parameter.AverageTradePrice) / 100).ToString();
                    lblHigh.Text = (IPAddress.HostToNetworkOrder(data.Parameter.HighPrice) / 100).ToString(); ;
                    lbllow.Text = (IPAddress.HostToNetworkOrder(data.Parameter.LowPrice) / 100).ToString();
                    //lblLtHigh.Text = (data.YearlyHigh / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);
                    // lblLtlLow.Text = (data.YearlyLow / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);

                    //lblPrevClose.Text = (data.ClosePrice / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);
                    lblOpen.Text = (IPAddress.HostToNetworkOrder(data.Parameter.OpenPrice) / 100).ToString();
                    if (IPAddress.HostToNetworkOrder(data.Parameter.ClosingPrice) != 0)
                        lblPercentage.Text = (((IPAddress.HostToNetworkOrder(data.Parameter.LastTradedPrice) - IPAddress.HostToNetworkOrder(data.Parameter.ClosingPrice)) / (decimal)IPAddress.HostToNetworkOrder(data.Parameter.ClosingPrice)) * AtsConst.PriceDivisor100).ToString();

                    lblTotalBuyQuantity.Text = DoubleIndianChange(data.Parameter.TotalBuyQuantity).ToString();
                    lblTotalSellQuantity.Text = DoubleIndianChange(data.Parameter.TotalSellQuantity).ToString();
                    //lblOI.Text = Convert.ToString(data.Parameter.CurrentOpenInterest);
                    //lblTotalTrades.Text =

                    //                    lblValue.Text = (data.Parameter.TotalTradedValue / 100).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);
                    lblVolume.Text = IPAddress.HostToNetworkOrder(data.Parameter.VolumeTradedToday).ToString();

                }
            }
            catch (Exception ex)
            {

            }
        }
 protected virtual void masterMuteChanged(object sender, ReadOnlyEventArgs <bool> e)
 {
     OnEffectiveMuteChanged(new ReadOnlyEventArgs <bool>(EffectiveMute));
 }
Esempio n. 25
0
        void Instance_OndatastopChange(object sender, ReadOnlyEventArgs<string> e)
        {
            try
            {
                switch (e.Parameter)
                {

                    case "STOP":
                        if (this.InvokeRequired)
                        {
                            this.Invoke(new OndatastopDelegate(Instance_OndatastopChange), sender, new ReadOnlyEventArgs<string>(e.Parameter));
                            return;
                        }

                        this.lblData.BackColor = Color.Red;
                        break;
                    case "START":
                        if (this.InvokeRequired)
                        {

                            this.Invoke(new OndatastopDelegate(Instance_OndatastopChange), sender, new ReadOnlyEventArgs<string>(e.Parameter));
                            return;
                        }

                        this.lblData.BackColor = Color.Green;
                        break;
                }

            }
            catch (Exception ex)
            {

            }
        }
Esempio n. 26
0
        public void UpdateRecord(object sender, ReadOnlyEventArgs<MS_SPD_MKT_INFO_7211> Stat)
        {
            //  data = Stat.Parameter;
             if (dgvMarketPicture.InvokeRequired)
             {
                 dgvMarketPicture.Invoke(new OnLZOArrivedmktDelegate(UpdateRecord), sender, new ReadOnlyEventArgs<MS_SPD_MKT_INFO_7211>(Stat.Parameter));
                 return;
             }
             else
             {
                 SetData(Stat.Parameter);
                 //try
                 //{
                 //    if (data != null && dgvMarketPicture.Rows.Count == 5)
                 //    {
                 //        dgvMarketPicture.Rows.Clear();
                 //        for (int i = 0; i < 5; i++)
                 //        {
                 //            dgvMarketPicture.Rows.Insert(i);
                 //            dgvMarketPicture.Rows[i].Height = 20;
                 //        }

                 //        if (dgvMarketPicture.Rows.Count <= 0)
                 //            return;

                 //        for (int i = 0; i < 5; i++)
                 //        {
                 //            dgvMarketPicture[Constants.BuyOrders, i].Value = IPAddress.HostToNetworkOrder(data.mbpBuys[i].NoOrders);
                 //            dgvMarketPicture[Constants.BQty, i].Value = IPAddress.HostToNetworkOrder(data.mbpBuys[i].Volume);
                 //            dgvMarketPicture[Constants.BuyPrice, i].Value = IPAddress.HostToNetworkOrder(data.mbpBuys[i].Price) / 100; // PriceDivisor;
                 //            dgvMarketPicture[Constants.SellPrice, i].Value = IPAddress.HostToNetworkOrder(data.mbpSells[i].Price) / 100; // / PriceDivisor;
                 //            dgvMarketPicture[Constants.SQty, i].Value = IPAddress.HostToNetworkOrder(data.mbpSells[i].Volume);
                 //            dgvMarketPicture[Constants.SellOrders, i].Value = IPAddress.HostToNetworkOrder(data.mbpSells[i].NoOrders);
                 //        }

                 //        //lblLastTradeTime.Text = AtsMethods.SecondsToDateTime(data.LastTradeTime).ToString(AtsConst.TimeFormatGrid);
                 //        //lblLastTrdQty.Text = Convert.ToString(data.LastTradedQty) + "@" + Convert.ToDecimal(data.LastTradedPrice / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);
                 //        //lblLastUpdt.Text = AtsMethods.SecondsToDateTime(data.Header.ExchangeTimeStamp).ToString(AtsConst.TimeFormatGrid);

                 //        //lblAvgTradePrice.Text = (data.AverageTradedPrice / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);

                 //        //lblLtHigh.Text = (data.YearlyHigh / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);
                 //        // lblLtlLow.Text = (data.YearlyLow / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);

                 //        //lblPrevClose.Text = (data.ClosePrice / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);

                 //        //if (data.ClosePrice != 0)
                 //        //    lblPercentage.Text = (((data.LastTradedPrice - data.ClosePrice) / (decimal)data.ClosePrice) * AtsConst.PriceDivisor100).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);

                 //        lblTotalBuyQuantity.Text = data.MbpBuy.ToString(AtsConst.PriceFormatN0);
                 //        lblTotalSellQuantity.Text = data.MbpSell.ToString(AtsConst.PriceFormatN0);
                 //        //lblOI.Text = Convert.ToString(data.CurrentOpenInterest);
                 //        lblTotalTrades.Text = data.TotalTradedValue.ToString(AtsConst.PriceFormatN0);

                 //        lblVolume.Text = (data.totalOrdVolume.Buy + data.totalOrdVolume.Sell).ToString(AtsConst.PriceFormatN0);

                 //    }
                 //}
                 //catch (Exception ex)
                 //{
                 //    // AppGlobal.Logger.WriteinFileWindowAndBox(ex, LogEnums.WriteOption.LogWindow_ErrorLogFile, color: AppLog.RedColor);
                 //}
             }
        }
        public void OnDataArrived(Object o, ReadOnlyEventArgs<INTERACTIVE_ONLY_MBP> Stat)
        {
            string TodayDate = DateTime.Now.ToString("dd/MM/yyyy");

                if (DGV.Rows.Count == 0)
                {
                    return;
                }
                if (DGV.InvokeRequired == true)
                {

                    DGV.Invoke(new OnDataArrivedmktDelegate(OnDataArrived), o, new ReadOnlyEventArgs<INTERACTIVE_ONLY_MBP>(Stat.Parameter));
                        return;

                }

                var rowlist1 = _table.Rows.Cast<DataRow>().Where(x => Convert.ToInt32(x["UniqueIdentifier_FUT"] == DBNull.Value ? 0 : x["UniqueIdentifier_FUT"] == "" ? 0 : x["UniqueIdentifier_FUT"]) ==IPAddress.HostToNetworkOrder( Stat.Parameter.Token)).ToList();
                 var rowlist = _table.Rows.Cast<DataRow>().Where(x => Convert.ToInt32(x["UniqueIdentifier"] == DBNull.Value ? 0 : x["UniqueIdentifier"] == "" ? 0 : x["UniqueIdentifier"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token)).ToList();

                 try
                {
                    foreach (var i in rowlist)
                    {
                        if (DGV.Rows.Count==0)
                        {
                            return;
                        }
                        //i["Bid(G)"] = Math.Round(Convert.ToDouble(Stat.Parameter.MAXBID) / 100,2 );
                        //i["Ask(H)"] = Math.Round(Convert.ToDouble(Stat.Parameter.MINASK) / 100,2 );
                        //    i["LTP(I)"] = Math.Round(Convert.ToDouble(Stat.Parameter.LTP)/100 , 2);

                        i["Bid(G)"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[0].Price)) / 100, 4);

                        i["Ask(H)"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].Price)) / 100, 4);

                        i["LTP(I)"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradedPrice)) / 100, 4);
                            //====================================================================================
                            string ExpiryDate = i["ExpiryDate(D)"].ToString();
                            int DTE = (Convert.ToDateTime(ExpiryDate) - DateTime.Today).Days;
                            decimal DTE_in_Years = DTE / 365.00m;

                            TimeSpan diff = DateTime.Parse(ExpiryDate) - DateTime.Now;

                            double Risk_free_rate = 0;
                            double Dividend_Yield = 0;
                        //==================================================================  == =

                                DataRow[] drow = null;

                                    i["OI"] = Convert.ToDouble(ImpliedCallVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["LTP(I)"].ToString()), Dividend_Yield));
                                    i["ATP"] = Convert.ToDouble(ImpliedPutVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["LTP(I)"].ToString()), Dividend_Yield));

                                    var task1  = Task.Factory.StartNew(() => i["OptionType(E)"].ToString() == "CE" ? Math.Round(Convert.ToDouble(ImpliedCallVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["Bid(G)"].ToString()), Dividend_Yield)) * 100, 4) : Math.Round(Convert.ToDouble(ImpliedPutVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["Bid(G)"].ToString()), Dividend_Yield)) * 100, 4));

                        i["Bid_Vol(K)"] = task1.Result;
                        task1.Dispose();
                        task1 = null;
                      //  Parallel.ForEach(task1 , t => t.DoSomethingInBackground());
                                   // i["Bid_Vol(K)"] = i["OptionType(E)"].ToString() == "CE" ? Math.Round(Convert.ToDouble(ImpliedCallVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["Bid(G)"].ToString()), Dividend_Yield)) * 100, 4) : Math.Round(Convert.ToDouble(ImpliedPutVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["Bid(G)"].ToString()), Dividend_Yield)) * 100, 4);

                        var task2 = Task.Factory.StartNew(() => i["OptionType(E)"].ToString() == "CE" ? Math.Round(Convert.ToDouble(ImpliedCallVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["Ask(H)"].ToString()), Dividend_Yield)) * 100, 4) : Math.Round(Convert.ToDouble(ImpliedPutVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["Ask(H)"].ToString()), Dividend_Yield)) * 100, 4));
                        i["Ask_Vol(L)"] = task2.Result;
                        task2.Dispose();
                        task2 = null;

                       // i["Ask_Vol(L)"] = i["OptionType(E)"].ToString() == "CE" ? Math.Round(Convert.ToDouble(ImpliedCallVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["Ask(H)"].ToString()), Dividend_Yield)) * 100, 4) : Math.Round(Convert.ToDouble(ImpliedPutVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["Ask(H)"].ToString()), Dividend_Yield)) * 100, 4);
                        var task3 = Task.Factory.StartNew(() => i["OptionType(E)"].ToString() == "CE" ? Math.Round(Convert.ToDouble(ImpliedCallVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["LTP(I)"].ToString()), Dividend_Yield)) * 100, 4) : Math.Round(Convert.ToDouble(ImpliedPutVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["LTP(I)"].ToString()), Dividend_Yield)) * 100, 4));
                        i["LTP_Vol(J)"] = task3.Result;
                        task3.Dispose();
                        task3 = null;
                        //i["LTP_Vol(J)"] = i["OptionType(E)"].ToString() == "CE" ? Math.Round(Convert.ToDouble(ImpliedCallVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["LTP(I)"].ToString()), Dividend_Yield)) * 100, 4) : Math.Round(Convert.ToDouble(ImpliedPutVolatility(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["LTP(I)"].ToString()), Dividend_Yield)) * 100, 4);
                        var task4 = Task.Factory.StartNew(() => (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(CallDelta(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(PutDelta(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["ATP"].ToString()), Dividend_Yield))).ToString("f4"));
                        i["Delta(M)"] = task4.Result;
                        task4.Dispose();
                        task4 = null;
                                   //i["Delta(M)"] = (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(CallDelta(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(PutDelta(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["ATP"].ToString()), Dividend_Yield))).ToString("f4");
                        var task5 = Task.Factory.StartNew(() => (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(Gamma(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(Gamma(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield))).ToString("f4"));
                        i["Gamma(N)"] = task5.Result;
                        task5.Dispose();
                        task5 = null;
                        //i["Gamma(N)"] = (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(Gamma(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(Gamma(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield))).ToString("f4");
                        var task6 = Task.Factory.StartNew(() => (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(Vega(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(Vega(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["ATP"].ToString()), Dividend_Yield))).ToString("f4"));
                        i["Vega(O)"] = task6.Result;
                        task6.Dispose();
                        task6 = null;
                        // i["Vega(O)"] = (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(Vega(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(Vega(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["ATP"].ToString()), Dividend_Yield))).ToString("f4");
                        var task7 = Task.Factory.StartNew(() => (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(CallTheta(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(PutTheta(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["ATP"].ToString()), Dividend_Yield))).ToString("f4"));
                        i["Theta(P)"] = task7.Result;
                        task7.Dispose();
                        task7 = null;
                      //  i["Theta(P)"] = (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(CallTheta(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(PutTheta(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["ATP"].ToString()), Dividend_Yield))).ToString("f4");
                        var task8 = Task.Factory.StartNew(() => (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(CallRho(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(PutRho(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["ATP"].ToString()), Dividend_Yield))).ToString("f4"));
                        i["Rho(Q)"] = task8.Result;
                        task8.Dispose();
                        task8 = null;

                        //i["Rho(Q)"] = (i["OptionType(E)"].ToString() == "CE" ? Convert.ToDouble(CallRho(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(PutRho(Convert.ToDouble(i["LTP_FUT"].ToString()), Convert.ToDouble(i["StrikePrice(F)"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["ATP"].ToString()), Dividend_Yield))).ToString("f4");

                           DGV.Refresh();
                    }
                }

            catch (DataException a)
            {
                MessageBox.Show("From Live Data fill " + Environment.NewLine + a.Message);
            }
            try
                {
                    foreach (var i in rowlist1)
                    {
                        if (DGV.Rows.Count==0)
                        {
                            return;
                        }
                        i["LTP_FUT"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradedPrice)) / 100, 4);
                         //  DGV.Refresh();
                       // DGV.Update();
                    }
                }

              catch (DataException a)
              {
                  MessageBox.Show("From Live Data fill " + Environment.NewLine + a.Message);
              }
        }
Esempio n. 28
0
 public static void UpdateRecord(object sender, ReadOnlyEventArgs<MS_SPD_MKT_INFO_7211> Stat)
 {
     
         
     
 }
Esempio n. 29
0
        public void OnDataArrived(Object o, ReadOnlyEventArgs<FinalPrice> Stat)
        {
            try
            {
                if(DGV1.InvokeRequired)
                {
                    DGV1.Invoke(new OnDataArrivedDelegate(OnDataArrived), o, new ReadOnlyEventArgs<FinalPrice>(Stat.Parameter));
                    return;
                }
                var rowlist = SpreadTable.Rows.Cast<DataRow>().Where(x => Convert.ToInt32(x["Token1"]) == Stat.Parameter.Token || Convert.ToInt32(x["Token2"]) == Stat.Parameter.Token).ToList();
                try
                {
                    foreach (var i in rowlist)
                    {
                        if (DGV1.Rows.Count==0)
                        {
                            return;
                        }

                        if (Convert.ToInt32(i["Token1"]) == Stat.Parameter.Token)
                        {
                            i["NBID"] = Math.Round(Convert.ToDouble(Stat.Parameter.MAXBID) / 100, 4);
                            i["NASK"] = Math.Round(Convert.ToDouble(Stat.Parameter.MINASK) / 100, 4);
                            i["NLTP"] = Math.Round(Convert.ToDouble(Stat.Parameter.LTP) / 100, 4);

                        }
                        else if (Convert.ToInt32(i["Token2"]) == Stat.Parameter.Token)
                        {
                            i["FBID"] = Math.Round(Convert.ToDouble(Stat.Parameter.MAXBID) / 100, 4);
                            i["FASK"] = Math.Round(Convert.ToDouble(Stat.Parameter.MINASK) / 100, 4);
                            i["FLTP"] = Math.Round(Convert.ToDouble(Stat.Parameter.LTP) / 100, 4);
                        }
                        Global.Instance.MTMDIct.AddOrUpdate(Stat.Parameter.Token, Stat.Parameter.LTP, (k, v) => Stat.Parameter.LTP);
                    }
                }
                catch (Exception Ex)
                {
                    MessageBox.Show(" Exception " + Ex.StackTrace.ToString());
                }

            }
            catch (DataException a)
            {
                MessageBox.Show("From Live Data fill " + Environment.NewLine + a.Message);
            }
        }
 protected virtual void masterIntensityChanged(object sender, ReadOnlyEventArgs <ushort> e)
 {
     OnEffectiveIntensityChanged(new ReadOnlyEventArgs <ushort>(EffectiveIntensity));
 }
Esempio n. 31
0
        private double GetExpectedProdPrice(string BS, ReadOnlyEventArgs<FinalPrice> FP, int Ratio, bool reverse = false)
        {
            double RetVal = 0;

            if (!reverse)
            {
                // THis case calculates the price to generate buy spread
                //Math.Round(Convert.ToDouble(Stat.Parameter.MAXBID) / 100, 4)

                RetVal = BS == "Buy" ? (Math.Round(Convert.ToDouble(FP.Parameter.MINASK) / 100, 4) * Ratio * -1) : (Math.Round(Convert.ToDouble(FP.Parameter.MAXBID) / 100, 4) * Ratio);
            }
            else
            {
                // Here in case of sale actual stg with buy mode token will be sold just to make a complete trade
                RetVal = BS == "Buy" ? (Math.Round(Convert.ToDouble(FP.Parameter.MAXBID) / 100, 4) * Ratio) : (Math.Round(Convert.ToDouble(FP.Parameter.MINASK) / 100, 4) * Ratio * -1);
            }
            return RetVal;
        }
Esempio n. 32
0
 public void Starting(object sender, ReadOnlyEventArgs<Type> e)
 {
     Start(e.Parameter);
 }
Esempio n. 33
0
        void Instance_OnStatusChange(object sender, ReadOnlyEventArgs<SYSTEMSTATUS> e)
        {
            switch (e.Parameter)
            {

                case SYSTEMSTATUS.LOGGEDIN:

                   // UDP_Reciever.Instance.UDPReciever(Global.Instance.LanIp, Global.Instance.McastIp,Convert.ToInt32( Global.Instance.Mcastport));
                   //   UDP_Reciever.Instance.UDPReciever(Global.Instance.LanIp, Global.Instance.McastIp, Convert.ToInt32(Global.Instance.Mcastport));  //LZO
                    if (Global.Instance.Relogin == false)
                    {
                    //    UDP_Reciever.Instance.UDPReciever(Global.Instance.LanIp, Global.Instance.McastIp, Convert.ToInt32(Global.Instance.Mcastport));  //LZO
                    UDP_Reciever.Instance.UDPReciever();
                    }//DATASERVER

                   UDP_Reciever.Instance.OnStatusChange += Instance_OnStatusChange;

                    if (this.InvokeRequired)
                    {
                        this.BeginInvoke((ThreadStart)delegate() {
                            if (Global.Instance.ReloginFarmloader != true)
                            {
                                Loadchildform();

                            }
                            this.lblOrder.BackColor = Color.Green;

                        });

                        return;
                    }
                    else
                    {
                        if (Global.Instance.ReloginFarmloader != true)
                        {
                            Loadchildform();

                        }
                        this.lblOrder.BackColor = Color.Green;

                    }

                    break;

                case SYSTEMSTATUS.LOGGEDOUT:
                    if (this.InvokeRequired)
                    {
                        this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs<SYSTEMSTATUS>(e.Parameter));
                        return;
                    }

                    this.lblOrder.BackColor = Color.Red;
                    this.lblTapStatus.BackColor = Color.Red;
                    this.lblDatastatus.BackColor = Color.Red;

                    if (_frmLogin == null)
                    {
                    using (_frmLogin = new Re_Login())
                    {

                      //  _frmLogin = new Re_Login();
                        _frmLogin.TopMost = true;
                        _frmLogin.ShowDialog();
                        _frmLogin = null;
                    }

                    }

                    break;

                case SYSTEMSTATUS.DATARUNNING:
                    if (this.InvokeRequired)
                    {
                        this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs<SYSTEMSTATUS>(e.Parameter));
                        return;
                    }

                    this.lblData.BackColor = Color.Green;

                    break;

                case SYSTEMSTATUS.DATASTOPPED:
                    if (this.InvokeRequired)
                    {
                        this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs<SYSTEMSTATUS>(e.Parameter));
                        return;
                    }

                    this.lblData.BackColor = Color.Red;
                    break;

                case SYSTEMSTATUS.NONE:

                    if (this.InvokeRequired)
                    {
                        this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs<SYSTEMSTATUS>(e.Parameter));
                        return;
                    }

                    this.lblStatus.Text = "Some unknown event occured..";

                    break;
                case SYSTEMSTATUS.PASSERROR:

                    if (this.InvokeRequired)
                    {
                        this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs<SYSTEMSTATUS>(e.Parameter));
                        return;
                    }

                    this.lblStatus.Text = "Password error";

                    this.lblOrder.BackColor = Color.Red;

                    break;
                case SYSTEMSTATUS.PASSEXPIRE:

                    if (this.InvokeRequired)
                    {
                        this.Invoke(new OnStatusChangeDelegate(Instance_OnStatusChange), sender, new ReadOnlyEventArgs<SYSTEMSTATUS>(e.Parameter));
                        return;
                    }

                    this.lblStatus.Text = "Password expired";

                    this.lblOrder.BackColor = Color.Red;

                    break;
            }
        }
        private double GetExpectedProdPrice(string BS, ReadOnlyEventArgs<INTERACTIVE_ONLY_MBP> Stat, int Ratio, bool reverse = false)
        {
            double RetVal = 0;

            if (!reverse)
            {
                //THis case calculates the price to generate buy spread
                //Math.Round(Convert.ToDouble(Stat.Parameter.MAXBID) / 100, 4)

                RetVal = BS == "Buy" ? (Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].Price)) / 100, 4) * Ratio * -1) : (Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[0].Price)) / 100, 4) * Ratio);
            }
            else
            {
                // Here in case of sale actual stg with buy mode token will be sold just to make a complete trade
                RetVal = BS == "Buy" ? (Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[0].Price)) / 100, 4) * Ratio) : (Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].Price)) / 100, 4) * Ratio * -1);
            }
            return RetVal;
        }
        public void OnDataArrived(Object o, ReadOnlyEventArgs<INTERACTIVE_ONLY_MBP> Stat)
        {
            try
            {
                if (DGV1.InvokeRequired)
                {
                    DGV1.Invoke(new OnDataArrivedDelegate(OnDataArrived), o, new ReadOnlyEventArgs<INTERACTIVE_ONLY_MBP>(Stat.Parameter));
                    return;
                }
              var rowlist = SpreadTable.Rows.Cast<DataRow>().Where(x => Convert.ToInt32(x["Token1"]) ==IPAddress.HostToNetworkOrder(Stat.Parameter.Token) ||  Convert.ToInt32(x["Token2"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token)||Convert.ToInt32(x["Token3"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token)).ToList();//there is doubt in leg4.......
               // var rowlist = SpreadTable.Rows.Cast<DataRow>().Where(x => Convert.ToInt32(x["OppsitToken1"]) == Stat.Parameter.Token || Convert.ToInt32(x["OppsitToken2"]) == Stat.Parameter.Token || Convert.ToInt32(x["OppsitToken3"]) == Stat.Parameter.Token || Convert.ToInt32(x["Token1"]) == Stat.Parameter.Token || Convert.ToInt32(x["Token2"]) == Stat.Parameter.Token || Convert.ToInt32(x["Token3"]) == Stat.Parameter.Token).ToList();//there is doubt in leg4.......
                var rowlist2 = SpreadTable.Rows.Cast<DataRow>().Where(x => Convert.ToInt32(x["OppsitToken1"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token) || Convert.ToInt32(x["OppsitToken2"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token) || Convert.ToInt32(x["OppsitToken3"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token) );//there is doubt in leg4.......
            //  var rowlist2 = SpreadTable.Rows.Cast<DataRow>().Where(x => Convert.ToInt32(x["OppsitToken1"] == DBNull.Value ? 0 : x["OppsitToken1"] == "" ? 0 : x["OppsitToken1"]) == Stat.Parameter.Token).ToList();
                try
                {
                    foreach (var i in rowlist2)
                    {
                        if (DGV1.Rows.Count == 0)
                        {
                            return;
                        }

                        if (Convert.ToInt32(i["OppsitToken1"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token))
                        {
                            i["OppsitLTP1"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradedPrice)) / 100, 4);

                        }
                        if (Convert.ToInt32(i["OppsitToken2"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token))
                        {
                            i["OppsitLTP2"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradedPrice)) / 100, 4);

                        }
                        if (Convert.ToInt32(i["OppsitToken3"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token))
                        {
                            i["OppsitLTP3"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradedPrice)) / 100, 4);

                        }
                                   //   ====================================================================================
                        string ExpiryDate = i["Expiry"].ToString();
                        int DTE = (Convert.ToDateTime(ExpiryDate) - DateTime.Today).Days;
                        decimal DTE_in_Years = DTE / 365.00m;

                        TimeSpan diff = DateTime.Parse(ExpiryDate) - DateTime.Now;

                        double Risk_free_rate = 0;
                        double Dividend_Yield = 0;

                        i["OI"] = Convert.ToDouble(Delta_Cal.Instance.ImpliedCallVolatility(Convert.ToDouble(i["OppsitLTP1"].ToString()), Convert.ToDouble(i["StrikePrice"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["NLTP"].ToString()), Dividend_Yield));
                        i["ATP"] = Convert.ToDouble(Delta_Cal.Instance.ImpliedPutVolatility(Convert.ToDouble(i["OppsitLTP1"].ToString()), Convert.ToDouble(i["StrikePrice"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["NLTP"].ToString()), Dividend_Yield));

                        var task4 = Task.Factory.StartNew(() => (i["OptionType"].ToString() == "CE" ? Convert.ToDouble(Delta_Cal.Instance.CallDelta(Convert.ToDouble(i["OppsitLTP1"].ToString()), Convert.ToDouble(i["StrikePrice"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["OI"].ToString()), Dividend_Yield)) : Convert.ToDouble(Delta_Cal.Instance.PutDelta(Convert.ToDouble(i["OppsitLTP1"].ToString()), Convert.ToDouble(i["StrikePrice"].ToString()), Convert.ToDouble(DTE_in_Years), Risk_free_rate, Convert.ToDouble(i["ATP"].ToString()), Dividend_Yield))).ToString("f4"));
                        i["Delta1"] = task4.Result;

                      //  Global.Instance.MTMDIct.AddOrUpdate(Stat.Parameter.Token,Convert.ToDouble(task4.Result), (k, v) => Convert.ToDouble(task4.Result));
                        //task4 = null;

                    //    Global.Instance.MTMDIct.AddOrUpdate(Convert.ToInt32(i["Token1"]), Convert.ToDouble(task4.Result), (k, v) => Convert.ToDouble(task4.Result));
                        //==================================================================  == =

                        string ExpiryDate2 = i["Expiry2"].ToString();
                        int DTE2 = (Convert.ToDateTime(ExpiryDate2) - DateTime.Today).Days;
                        decimal DTE_in_Years2 = DTE2 / 365.00m;

                        TimeSpan diff2 = DateTime.Parse(ExpiryDate2) - DateTime.Now;

                        double Risk_free_rate2 = 0;
                        double Dividend_Yield2 = 0;

                        i["OI2"] = Convert.ToDouble(Delta_Cal.Instance.ImpliedCallVolatility(Convert.ToDouble(i["OppsitLTP2"].ToString()), Convert.ToDouble(i["StrikePrice2"].ToString()), Convert.ToDouble(DTE_in_Years2), Risk_free_rate2, Convert.ToDouble(i["FLTP"].ToString()), Dividend_Yield2));
                        i["ATP2"] = Convert.ToDouble(Delta_Cal.Instance.ImpliedPutVolatility(Convert.ToDouble(i["OppsitLTP2"].ToString()), Convert.ToDouble(i["StrikePrice2"].ToString()), Convert.ToDouble(DTE_in_Years2), Risk_free_rate2, Convert.ToDouble(i["FLTP"].ToString()), Dividend_Yield2));

                        var task5 = Task.Factory.StartNew(() => (i["OptionType2"].ToString() == "CE" ? Convert.ToDouble(Delta_Cal.Instance.CallDelta(Convert.ToDouble(i["OppsitLTP2"].ToString()), Convert.ToDouble(i["StrikePrice2"].ToString()), Convert.ToDouble(DTE_in_Years2), Risk_free_rate2, Convert.ToDouble(i["OI2"].ToString()), Dividend_Yield2)) : Convert.ToDouble(Delta_Cal.Instance.PutDelta(Convert.ToDouble(i["OppsitLTP2"].ToString()), Convert.ToDouble(i["StrikePrice2"].ToString()), Convert.ToDouble(DTE_in_Years2), Risk_free_rate2, Convert.ToDouble(i["ATP2"].ToString()), Dividend_Yield2))).ToString("f4"));
                        i["Delta2"] = task5.Result;
                        //task5.Dispose();
                       // Global.Instance.MTMDIct.AddOrUpdate(Stat.Parameter.Token, Convert.ToDouble(task5.Result), (k, v) => Convert.ToDouble(task5.Result));
                      //  Global.Instance.MTMDIct.AddOrUpdate(Convert.ToInt32(i["Token2"]), Convert.ToDouble(task5.Result), (k, v) => Convert.ToDouble(task5.Result));
                        //task5 = null;
                        //======== ====== ====== ======== ==== ======== ======== ========  ===== =====  == =
                        if (i["Strategy_Type"].ToString() == "3_LEG")

                        {
                        string ExpiryDate3 = i["Expiry3"].ToString();
                        int DTE3 = (Convert.ToDateTime(ExpiryDate3) - DateTime.Today).Days;
                        decimal DTE_in_Years3 = DTE3 / 365.00m;

                        TimeSpan diff3 = DateTime.Parse(ExpiryDate3) - DateTime.Now;

                        double Risk_free_rate3 = 0;
                        double Dividend_Yield3 = 0;

                        i["OI3"] = Convert.ToDouble(Delta_Cal.Instance.ImpliedCallVolatility(Convert.ToDouble(i["OppsitLTP3"].ToString()), Convert.ToDouble(i["StrikePrice3"].ToString()), Convert.ToDouble(DTE_in_Years3), Risk_free_rate3, Convert.ToDouble(i["F_LTP"].ToString()), Dividend_Yield3));
                        i["ATP3"] = Convert.ToDouble(Delta_Cal.Instance.ImpliedPutVolatility(Convert.ToDouble(i["OppsitLTP3"].ToString()), Convert.ToDouble(i["StrikePrice3"].ToString()), Convert.ToDouble(DTE_in_Years3), Risk_free_rate3, Convert.ToDouble(i["F_LTP"].ToString()), Dividend_Yield3));

                        var task6 = Task.Factory.StartNew(() => (i["OptionType3"].ToString() == "CE" ? Convert.ToDouble(Delta_Cal.Instance.CallDelta(Convert.ToDouble(i["OppsitLTP3"].ToString()), Convert.ToDouble(i["StrikePrice3"].ToString()), Convert.ToDouble(DTE_in_Years3), Risk_free_rate3, Convert.ToDouble(i["OI3"].ToString()), Dividend_Yield3)) : Convert.ToDouble(Delta_Cal.Instance.PutDelta(Convert.ToDouble(i["OppsitLTP3"].ToString()), Convert.ToDouble(i["StrikePrice3"].ToString()), Convert.ToDouble(DTE_in_Years3), Risk_free_rate3, Convert.ToDouble(i["ATP3"].ToString()), Dividend_Yield3))).ToString("f4"));
                        i["Delta3"] = task6.Result;
                        //task6.Dispose();
                      ///  Global.Instance.MTMDIct.AddOrUpdate(Convert.ToInt32(i["Token3"]), Convert.ToDouble(task6.Result), (k, v) => Convert.ToDouble(task6.Result));
                        //task6 = null;
                        }
                        //=======  =================  =============  =============  ================  == =

                    }
                  }

                catch (Exception Ex)
                {
                   // MessageBox.Show(" Exception " + Ex.StackTrace.ToString());
                }

                //===================================================================================================
                try
                {

                    foreach (var i in rowlist)
                    {
                        if (DGV1.Rows.Count == 0)
                        {
                            return;
                        }
                        NetDelta ND;
                        if (Convert.ToInt32(i["Token1"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token))
                        {

                            i["NBID"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[0].Price)) / 100, 4);
                            i["NASK"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].Price)) / 100, 4);
                            i["NLTP"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradedPrice)) / 100, 4);

                            i["t1"] = GetExpectedProdPrice(i["Tok1B_S"].ToString(), Stat, Convert.ToInt32(i["ratio1"]));
                            i["t3"] = GetExpectedProdPrice(i["Tok1B_S"].ToString(), Stat, Convert.ToInt32(i["ratio1"]), true);

                            i["tok1_cost"] = Convert.ToString(i["Tok1B_S"]) == "Buy" ?
                                i["tok1inst"].ToString() == "OPTIDX"
                                ? Convert.ToDouble(i["NASK"]) * Convert.ToInt32(i["ratio1"]) * 2 * 0.0007 :

                                 Convert.ToDouble(i["NASK"]) * Convert.ToInt32(i["ratio1"]) * 2 * 0.00009
                                :
                                //else

                                 i["tok1inst"].ToString() == "OPTIDX"
                                ? Convert.ToDouble(i["NBID"]) * Convert.ToInt32(i["ratio1"]) * 2 * 0.0007 :

                                 Convert.ToDouble(i["NBID"]) * 2 * Convert.ToInt32(i["ratio1"]) * 0.00009;

                          //  i["cost"] = Convert.ToDouble(i["tok1_cost"] == DBNull.Value ? "0" : i["tok1_cost"]) + Convert.ToDouble(i["tok2_cost"] == DBNull.Value ? "0" : i["tok2_cost"]) + Convert.ToDouble(i["tok3_cost"] == DBNull.Value ? "0" : i["tok3_cost"]);
                           // i["cost"] = Convert.ToDouble(i["tok1_cost"] == DBNull.Value ? "0" : i["tok1_cost"]) + Convert.ToDouble(i["tok2_cost"] == DBNull.Value ? "0" : i["tok2_cost"]);
                            i["NETDelta1"] = Delta_Cal.Instance.Get_NetDelta(Convert.ToDouble(i["Delta1"].ToString() == "NaN" ? "0" : i["Delta1"] == DBNull.Value ? "0" : i["Delta1"]), Convert.ToString(i["tok1inst"] == DBNull.Value ? "0" : i["tok1inst"]), Convert.ToDouble(i["ratio1"] == DBNull.Value ? "0" : i["ratio1"]), Convert.ToString(i["Tok1B_S"] == DBNull.Value ? "0" : i["Tok1B_S"]));

                            ND.Delta = Convert.ToDouble(i["Delta1"].ToString() == "NaN" ? "0" : i["Delta1"] == DBNull.Value ? "0" : i["Delta1"]);
                            ND.LTP = Convert.ToDouble(i["NLTP"].ToString() == "NaN" ? "0" : i["NLTP"] == DBNull.Value ? "0" : i["NLTP"]);
                            Global.Instance.ltp.AddOrUpdate(Convert.ToInt32(i["Token1"]), ND, (k, v) => ND);
                            var obj = new LTPTONETBOOK();
                            obj.TOKEN = Stat.Parameter.Token;
                            obj.LTP = Stat.Parameter.LastTradedPrice;
                            obj.DELTA = ND.Delta;
                            FOR_Net_BOOK.Raise(FOR_Net_BOOK, FOR_Net_BOOK.CreateReadOnlyArgs(obj));

                        }
                        if (Convert.ToInt32(i["Token2"]) == IPAddress.HostToNetworkOrder(Stat.Parameter.Token))
                        {

                            i["FBID"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[0].Price)) / 100, 4);
                            i["FASK"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].Price)) / 100, 4);
                            i["FLTP"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradedPrice)) / 100, 4);

                            i["t2"] = GetExpectedProdPrice(i["Tok2B_S"].ToString(), Stat, Convert.ToInt32(i["ratio2"]));
                            i["t4"] = GetExpectedProdPrice(i["Tok2B_S"].ToString(), Stat, Convert.ToInt32(i["ratio2"]), true);

                            i["tok2_cost"] = Convert.ToString(i["Tok2B_S"]) == "Buy" ?
                            i["tok2inst"].ToString() == "OPTIDX"
                              ? Convert.ToDouble(i["FASK"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.0007

                              : Convert.ToDouble(i["FASK"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.00009 :
                                //else

                                 i["tok2inst"].ToString() == "OPTIDX"
                                ? Convert.ToDouble(i["FBID"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.0007

                                : Convert.ToDouble(i["FBID"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.00009;

                          //  i["cost"] = Convert.ToDouble(i["tok1_cost"] == DBNull.Value ? "0" : i["tok1_cost"]) + Convert.ToDouble(i["tok2_cost"] == DBNull.Value ? "0" : i["tok2_cost"]) + Convert.ToDouble(i["tok3_cost"] == DBNull.Value ? "0" : i["tok3_cost"]);
                            //i["cost"] = Convert.ToDouble(i["tok1_cost"] == DBNull.Value ? "0" : i["tok1_cost"]) + Convert.ToDouble(i["tok2_cost"] == DBNull.Value ? "0" : i["tok2_cost"]);

                            i["NETDelta2"] = Delta_Cal.Instance.Get_NetDelta(Convert.ToDouble(i["Delta2"].ToString() == "NaN" ? "0" : i["Delta2"] == DBNull.Value ? "0" : i["Delta2"]), Convert.ToString(i["tok2inst"] == DBNull.Value ? "0" : i["tok2inst"]), Convert.ToDouble(i["ratio2"] == DBNull.Value ? "0" : i["ratio2"]), Convert.ToString(i["Tok2B_S"] == DBNull.Value ? "0" : i["Tok2B_S"]));

                            ND.Delta = Convert.ToDouble(i["Delta2"].ToString() == "NaN" ? "0" : i["Delta2"] == DBNull.Value ? "0" : i["Delta2"]);
                            ND.LTP = Convert.ToDouble(i["FLTP"].ToString() == "NaN" ? "0" : i["FLTP"] == DBNull.Value ? "0" : i["FLTP"]);
                            Global.Instance.ltp.AddOrUpdate(Convert.ToInt32(i["Token2"]), ND, (k, v) => ND);

                            var obj = new LTPTONETBOOK();
                            obj.TOKEN = Stat.Parameter.Token;
                            obj.LTP = Stat.Parameter.LastTradedPrice;
                            obj.DELTA = ND.Delta;
                            FOR_Net_BOOK.Raise(FOR_Net_BOOK, FOR_Net_BOOK.CreateReadOnlyArgs(obj));

                        }

                        if (Convert.ToInt32(i["Token3"]) == IPAddress.HostToNetworkOrder( Stat.Parameter.Token))
                        {
                            i["F_BID"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[0].Price)) / 100, 4);
                            i["F_ASK"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].Price)) / 100, 4);
                            i["F_LTP"] = Math.Round(Convert.ToDouble(IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradedPrice)) / 100, 4);

                            i["t5"] = GetExpectedProdPrice(i["Tok3B_S"].ToString(), Stat, Convert.ToInt32(i["ratio3"]));
                            i["t6"] = GetExpectedProdPrice(i["Tok3B_S"].ToString(), Stat, Convert.ToInt32(i["ratio3"]), true);

                            i["tok3_cost"] = Convert.ToString(i["Tok3B_S"]) == "Buy" ?
                            i["tok3inst"].ToString() == "OPTIDX"
                              ? Convert.ToDouble(i["F_ASK"]) * Convert.ToInt32(i["ratio3"]) * 2 * 0.0007

                              : Convert.ToDouble(i["F_ASK"]) * Convert.ToInt32(i["ratio3"]) * 2 * 0.00009 :
                                //else

                                 i["tok3inst"].ToString() == "OPTIDX"
                                ? Convert.ToDouble(i["F_BID"]) * Convert.ToInt32(i["ratio3"]) * 2 * 0.0007

                                : Convert.ToDouble(i["F_BID"]) * Convert.ToInt32(i["ratio3"]) * 2 * 0.00009;

                                   i["NETDelta3"] = Delta_Cal.Instance.Get_NetDelta(Convert.ToDouble(i["Delta3"].ToString() == "NaN" ? 1 : i["Delta3"] == DBNull.Value ? "0" : i["Delta3"]), Convert.ToString(i["tok3inst"] == DBNull.Value ? "0" : i["tok3inst"]), Convert.ToDouble(i["ratio3"] == DBNull.Value ? "0" : i["ratio3"]), Convert.ToString(i["Tok3B_S"] == DBNull.Value ? "0" : i["Tok3B_S"]));

                                   ND.Delta = Convert.ToDouble(i["Delta3"].ToString() == "NaN" ? "0" : i["Delta3"] == DBNull.Value ? "0" : i["Delta3"]);
                                   ND.LTP = Convert.ToDouble(i["F_LTP"].ToString() == "NaN" ? "0" : i["F_LTP"] == DBNull.Value ? "0" : i["F_LTP"]);
                                   Global.Instance.ltp.AddOrUpdate(Convert.ToInt32(i["Token3"]), ND, (k, v) => ND);

                                   var obj = new LTPTONETBOOK();
                                   obj.TOKEN = Stat.Parameter.Token;
                                   obj.LTP = Stat.Parameter.LastTradedPrice;
                                   obj.DELTA = ND.Delta;
                                   FOR_Net_BOOK.Raise(FOR_Net_BOOK, FOR_Net_BOOK.CreateReadOnlyArgs(obj));

                        }
                               i["cost"] = Convert.ToDouble(i["tok1_cost"] == DBNull.Value ? "0" : i["tok1_cost"]) + Convert.ToDouble(i["tok2_cost"] == DBNull.Value ? "0" : i["tok2_cost"]) + Convert.ToDouble(i["tok3_cost"] == DBNull.Value ? "0" : i["tok3_cost"]);

                        i["CMP(B)"] =
                           Convert.ToDouble(i["t1"] == DBNull.Value ? "0" : i["t1"]) + Convert.ToDouble(i["t2"] == DBNull.Value ? "0" : i["t2"]) + Convert.ToDouble(i["t5"] == DBNull.Value ? "0" : i["t5"]);
                        i["CMP(S)"] = Convert.ToDouble(i["t4"] == DBNull.Value ? "0" : i["t4"]) + Convert.ToDouble(i["t3"] == DBNull.Value ? "0" : i["t3"])+ Convert.ToDouble(i["t6"] == DBNull.Value ? "0" : i["t6"]);

                       // Global.Instance.MTMDIct.AddOrUpdate(Stat.Parameter.Token, Stat.Parameter.LTP, (k, v) => Stat.Parameter.LTP);

                        i["NETDelta"] = Math.Round( Delta_Cal.Instance.GetNetDelta(Convert.ToDouble(i["NETDelta1"].ToString() == "NaN" ? "0" : i["NETDelta1"] == DBNull.Value ? "0" : i["NETDelta1"]), Convert.ToDouble(i["NETDelta2"].ToString() == "NaN" ? "0" : i["NETDelta2"] == DBNull.Value ? "0" : i["NETDelta2"]), Convert.ToDouble(i["NETDelta3"].ToString() == "NaN" ? "0" : i["NETDelta3"] == DBNull.Value ? "0" : i["NETDelta3"])),4);

                       }

                }
                catch (Exception Ex)
                {
                    MessageBox.Show(" Exception " + Ex.StackTrace.ToString());
                }

            }
            catch (DataException a)
            {
                MessageBox.Show("From Live Data fill " + Environment.NewLine + a.Message);
            }
        }
Esempio n. 36
0
        private void PDataOnOnDataChange(object sender, ReadOnlyEventArgs<INTERACTIVE_ONLY_MBP> Stat)
        {
            try
            {
                if (DGV.Rows.Count == 0)
                {
                    return;
                }
                if (DGV.InvokeRequired)
                {
                    DGV.Invoke(new OnLZOArrivedmktDelegate(PDataOnOnDataChange), sender, new ReadOnlyEventArgs<INTERACTIVE_ONLY_MBP>(Stat.Parameter));
                    return;
                }
            }
            catch (Exception ex)
            {

            }

            int Token = IPAddress.HostToNetworkOrder(Stat.Parameter.Token);
            if (_mwatchDict.ContainsKey(Token))
            {
                _dataMbp.Token = Token;
                _dataMbp.ANumberOfOrders = IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].NumberOfOrders);
                _dataMbp.BNumberOfOrders = IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[0].NumberOfOrders);

                _dataMbp.APrice =
                    (decimal)IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].Price) / 100;
                _dataMbp.BPrice =
                    (decimal)IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[0].Price)/ 100;

                _dataMbp.AQuantity = IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].Quantity);
                _dataMbp.BQuantity = IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[0].Quantity);

                _dataMbp.TotalBuyQuantity = DoubleIndianChange(Stat.Parameter.TotalBuyQuantity);
                _dataMbp.TotalSellQuantity = DoubleIndianChange(Stat.Parameter.TotalBuyQuantity);

                _dataMbp.ClosingPrice = (decimal)IPAddress.HostToNetworkOrder(Stat.Parameter.ClosingPrice) / 100;
                _dataMbp.AverageTradePrice =
                    (decimal)IPAddress.HostToNetworkOrder(Stat.Parameter.RecordBuffer[5].Price) / 100;

                _dataMbp.HighPrice = (decimal)IPAddress.HostToNetworkOrder(Stat.Parameter.HighPrice) / 100;
                _dataMbp.LowPrice = (decimal)IPAddress.HostToNetworkOrder(Stat.Parameter.LowPrice) / 100;
                _dataMbp.OpenPrice =(decimal)IPAddress.HostToNetworkOrder(Stat.Parameter.OpenPrice) / 100;
                _dataMbp.LastTradedPrice =
                    (decimal)IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradedPrice)/ 100;
                _dataMbp.LastTradeQuantity = IPAddress.HostToNetworkOrder(Stat.Parameter.LastTradeQuantity);

                _dataMbp.VolumeTradedToday = IPAddress.HostToNetworkOrder(Stat.Parameter.VolumeTradedToday);

                SetData(_mwatchDict[Token].Cells["Bid"], _dataMbp.BPrice);
                SetData(_mwatchDict[Token].Cells["BidQ"], _dataMbp.BQuantity);
                SetData(_mwatchDict[Token].Cells["TBidOrder"], _dataMbp.BNumberOfOrders);
                //(IPAddress.NetworkToHostOrder(Stat.Parameter.mbpSells[0].Price)) / 100
                SetData(_mwatchDict[Token].Cells["Ask"], _dataMbp.APrice);
                SetData(_mwatchDict[Token].Cells["AskQ"], _dataMbp.AQuantity);
                SetData(_mwatchDict[Token].Cells["TAskOrder"], _dataMbp.ANumberOfOrders);

                SetData(_mwatchDict[Token].Cells["LTP"], _dataMbp.LastTradedPrice);
                SetData(_mwatchDict[Token].Cells["LTQ"], _dataMbp.LastTradeQuantity);
                SetData(_mwatchDict[Token].Cells["Open"], _dataMbp.OpenPrice);
                SetData(_mwatchDict[Token].Cells["High"], _dataMbp.HighPrice);
                SetData(_mwatchDict[Token].Cells["Low"], _dataMbp.LowPrice);
                SetData(_mwatchDict[Token].Cells["Close"], _dataMbp.ClosingPrice);
                SetData(_mwatchDict[Token].Cells["Volume"], _dataMbp.VolumeTradedToday);

              //  SetData(_mwatchDict[Token].Cells["TBQ"], _dataMbp.TotalBuyQuantity);
               // SetData(_mwatchDict[Token].Cells["TSQ"], _dataMbp.TotalSellQuantity);
                SetData(_mwatchDict[Token].Cells["ATP"], _dataMbp.AverageTradePrice);

            }
        }
Esempio n. 37
0
        public void OnDataArrived(Object o, ReadOnlyEventArgs<FinalPrice> Stat)
        {
            try
            {
                if (DGV1.InvokeRequired)
                {
                    DGV1.Invoke(new OnDataArrivedDelegate(OnDataArrived), o, new ReadOnlyEventArgs<FinalPrice>(Stat.Parameter));
                    return;
                }

                var rowlist = SpreadTable.Rows.Cast<DataRow>().Where(x => Convert.ToInt32(x["Token1"]) == Stat.Parameter.Token || Convert.ToInt32(x["Token2"]) == Stat.Parameter.Token).ToList();// || Convert.ToInt32(x["Token3"]) == Stat.Parameter.Token).ToList();//there is doubt in leg4.......
                try
                {

                    foreach (var i in rowlist)
                    {
                        if (DGV1.Rows.Count == 0)
                        {
                            return;
                        }

                        if (Convert.ToInt32(i["Token1"]) == Stat.Parameter.Token)
                        {

                            i["NBID"] = Math.Round(Convert.ToDouble(Stat.Parameter.MAXBID) / 100, 4);
                            i["NASK"] = Math.Round(Convert.ToDouble(Stat.Parameter.MINASK) / 100, 4);
                            i["NLTP"] = Math.Round(Convert.ToDouble(Stat.Parameter.LTP) / 100, 4);

                            i["t1"] = GetExpectedProdPrice(i["Tok1B_S"].ToString(), Stat, Convert.ToInt32(i["ratio1"]));
                            i["t3"] = GetExpectedProdPrice(i["Tok1B_S"].ToString(), Stat, Convert.ToInt32(i["ratio1"]), true);

                            i["tok1_cost"] = Convert.ToString(i["Tok1B_S"]) == "Buy" ?
                                i["tok1inst"].ToString() == "OPTIDX"
                                ? Convert.ToDouble(i["NBID"]) * Convert.ToInt32(i["ratio1"]) * 2 * 0.0007 :
                                i["tok1inst"].ToString() == "OPTSTK" ? Convert.ToDouble(i["NBID"]) * Convert.ToInt32(i["ratio1"]) * 2 * 0.0007
                                : Convert.ToDouble(i["NBID"]) * Convert.ToInt32(i["ratio1"]) * 2 * 0.0009 :
                                //else

                                 i["tok1inst"].ToString() == "OPTIDX"
                                ? Convert.ToDouble(i["NASK"]) * Convert.ToInt32(i["ratio1"]) * 2 * 0.0007 :
                                i["tok1inst"].ToString() == "OPTSTK" ? Convert.ToDouble(i["NASK"]) * Convert.ToInt32(i["ratio1"]) * 2 * 0.0007
                                : Convert.ToDouble(i["NASK"]) * 2 * Convert.ToInt32(i["ratio1"]) * 0.0009;

                            i["cost"] = Convert.ToDouble(i["tok1_cost"] == DBNull.Value ? "0" : i["tok1_cost"]) + Convert.ToDouble(i["tok2_cost"] == DBNull.Value ? "0" : i["tok2_cost"]);

                        }
                        if (Convert.ToInt32(i["Token2"]) == Stat.Parameter.Token)
                        {

                            i["FBID"] = Math.Round(Convert.ToDouble(Stat.Parameter.MAXBID) / 100, 4);
                            i["FASK"] = Math.Round(Convert.ToDouble(Stat.Parameter.MINASK) / 100, 4);
                            i["FLTP"] = Math.Round(Convert.ToDouble(Stat.Parameter.LTP) / 100, 4);

                            i["t2"] = GetExpectedProdPrice(i["Tok2B_S"].ToString(), Stat, Convert.ToInt32(i["ratio2"]));
                            i["t4"] = GetExpectedProdPrice(i["Tok2B_S"].ToString(), Stat, Convert.ToInt32(i["ratio2"]), true);

                            i["tok2_cost"] = Convert.ToString(i["Tok2B_S"]) == "Buy" ?
                                i["tok2inst"].ToString() == "OPTIDX"
                                ? Convert.ToDouble(i["FBID"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.0007 :
                                i["tok2inst"].ToString() == "OPTSTK" ? Convert.ToDouble(i["FBID"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.0007
                                : Convert.ToDouble(i["FBID"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.0009 :
                                //else

                                 i["tok2inst"].ToString() == "OPTIDX"
                                ? Convert.ToDouble(i["NASK"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.0007 :
                                i["tok2inst"].ToString() == "OPTSTK" ? Convert.ToDouble(i["NASK"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.0007
                                : Convert.ToDouble(i["NASK"]) * Convert.ToInt32(i["ratio2"]) * 2 * 0.0009;

                            i["cost"] = Convert.ToDouble(i["tok1_cost"] == DBNull.Value ? "0" : i["tok1_cost"]) + Convert.ToDouble(i["tok2_cost"] == DBNull.Value ? "0" : i["tok2_cost"]);
                        }
                        i["CMP(B)"] = Convert.ToDouble(i["t1"] == DBNull.Value ? "0" : i["t1"]) + Convert.ToDouble(i["t2"] == DBNull.Value ? "0" : i["t2"]);
                        i["CMP(S)"] = Math.Abs(Convert.ToDouble(i["t4"] == DBNull.Value ? "0" : i["t4"]) + Convert.ToDouble(i["t3"] == DBNull.Value ? "0" : i["t3"]));

                    }
                }
                catch (Exception Ex)
                {
                    MessageBox.Show(" Exception " + Ex.StackTrace.ToString());
                }

            }
            catch (DataException a)
            {
                MessageBox.Show("From Live Data fill " + Environment.NewLine + a.Message);
            }
        }
Esempio n. 38
0
        public void OnDataArrived(Object o, ReadOnlyEventArgs<FinalPrice> Stat)
        {
            try
            {
                if (DGV1.InvokeRequired)
                {
                    DGV1.Invoke(new OnDataArrivedDelegate(OnDataArrived), o, new ReadOnlyEventArgs<FinalPrice>(Stat.Parameter));
                    return;
                }

                var rowlist = SpreadTable.Rows.Cast<DataRow>().Where(x => Convert.ToInt32(x["Token1"]) == Stat.Parameter.Token || Convert.ToInt32(x["Token2"]) == Stat.Parameter.Token).ToList();

                    foreach (var i in rowlist)
                    {
                        if (DGV1.Rows.Count==0)
                        {
                            return;
                        }

                        if (Convert.ToInt32(i["Token1"]) == Stat.Parameter.Token)
                        {
                            i["NBID"] = Math.Round(Convert.ToDouble(Stat.Parameter.MAXBID) / 100, 4);
                            i["NASK"] = Math.Round(Convert.ToDouble(Stat.Parameter.MINASK) / 100, 4);
                            i["NLTP"] = Math.Round(Convert.ToDouble(Stat.Parameter.LTP) / 100, 4);

                            i["S1"] = Convert.ToInt32(i["TOK1_QTY"] == DBNull.Value ? 0 : i["TOK1_QTY"]) * Convert.ToDouble(i["NASK"]);
                            i["V2"] = Convert.ToInt32(i["TOK1_QTY"] == DBNull.Value ? 0 : i["TOK1_QTY"]) * Convert.ToDouble(i["NBID"]);
                        //if(Global.Instance.write==true)
                        //{
                        //    StreamWriter wr = new StreamWriter(Application.StartupPath + Path.DirectorySeparatorChar+"ClientRECV_Token1", true);
                        //    wr.WriteLine(DateTime.Now.ToString("HH:mm:ss:fff") + "," + Stat.Parameter.Token + "," + Stat.Parameter.LTP + "," + Stat.Parameter.MAXBID + "," + Stat.Parameter.MINASK);
                        //    wr.Close();
                        //}
                        }
                        else if (Convert.ToInt32(i["Token2"]) == Stat.Parameter.Token)
                        {

                            i["FBID"] = Math.Round(Convert.ToDouble(Stat.Parameter.MAXBID) / 100, 4);
                            i["FASK"] = Math.Round(Convert.ToDouble(Stat.Parameter.MINASK) / 100, 4);
                            i["FLTP"] = Math.Round(Convert.ToDouble(Stat.Parameter.LTP) / 100, 4);
                            i["S2"] = Convert.ToInt32(i["TOK2_QTY"] == DBNull.Value ? 0 : i["TOK2_QTY"]) * Convert.ToDouble(i["FASK"]);
                            i["V1"] = Convert.ToInt32(i["TOK2_QTY"] == DBNull.Value ? 0 : i["TOK2_QTY"]) * Convert.ToDouble(i["FBID"]);
                            //if (Global.Instance.write == true)
                            //{
                            //    StreamWriter wr = new StreamWriter(Application.StartupPath + Path.DirectorySeparatorChar + "ClientRECV_Token2", true);
                            //    wr.WriteLine(DateTime.Now.ToString("HH:mm:ss:fff") + "," + Stat.Parameter.Token + "," + Stat.Parameter.LTP + "," + Stat.Parameter.MAXBID + "," + Stat.Parameter.MINASK);
                            //    wr.Close();
                            //}
                        }
                        i["BEQ"] = Math.Round((Convert.ToDouble(i["V2"] == DBNull.Value ? 0 : i["V2"]) - Convert.ToDouble(i["V1"] == DBNull.Value ? 0 : i["V1"])) / Convert.ToDouble(i["NBID"] == DBNull.Value ? 1 : i["NBID"]),4);
                        i["SEQ"] =Math.Round((Convert.ToDouble(i["S2"] == DBNull.Value ? 0 : i["S2"]) - Convert.ToDouble(i["S1"] == DBNull.Value ? 0 : i["S1"])) / Convert.ToDouble(i["NASK"] == DBNull.Value ? 1 : i["NASK"]),4);
                        Global.Instance.MTMDIct.AddOrUpdate(Stat.Parameter.Token, Stat.Parameter.LTP, (k, v) => Stat.Parameter.LTP);
                    }

            }
            catch (DataException a)
            {
                MessageBox.Show("From Live Data fill " + Environment.NewLine + a.Message);
            }
        }
        private void M_dpthOnOnDataChange(object sender, ReadOnlyEventArgs <INTERACTIVE_ONLY_MBP> data)
        {
            if (Token.Text != IPAddress.HostToNetworkOrder(data.Parameter.Token).ToString())
            {
                return;
            }
            if (dgvMarketPicture.Rows.Count == 0)
            {
                return;
            }
            if (dgvMarketPicture.InvokeRequired)
            {
                dgvMarketPicture.Invoke(new OnLZOArrivedmktDelegate(M_dpthOnOnDataChange), sender, new ReadOnlyEventArgs <INTERACTIVE_ONLY_MBP>(data.Parameter));
                return;
            }
            try
            {
                if (data.Parameter.RecordBuffer != null && dgvMarketPicture.Rows.Count == 5)
                {
                    dgvMarketPicture.Rows.Clear();
                    for (int i = 0; i < 5; i++)
                    {
                        dgvMarketPicture.Rows.Insert(i);
                        dgvMarketPicture.Rows[i].Height = 20;
                    }

                    if (dgvMarketPicture.Rows.Count <= 0)
                    {
                        return;
                    }

                    for (int i = 0; i < 5; i++)
                    {
                        dgvMarketPicture[Constants.BuyOrders, i].Value = IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i].NumberOfOrders);
                        dgvMarketPicture[Constants.BQty, i].Value      = IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i].Quantity);
                        dgvMarketPicture[Constants.BuyPrice, i].Value  = (decimal)IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i].Price) / 100;      // PriceDivisor;

                        dgvMarketPicture[Constants.SellPrice, i].Value  = (decimal)IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i + 5].Price) / 100; // / PriceDivisor;
                        dgvMarketPicture[Constants.SQty, i].Value       = IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i + 5].Quantity);
                        dgvMarketPicture[Constants.SellOrders, i].Value = IPAddress.HostToNetworkOrder(data.Parameter.RecordBuffer[i + 5].NumberOfOrders);
                    }

                    lblLastTradeTime.Text = AtsMethods.SecondsToDateTime(IPAddress.HostToNetworkOrder(data.Parameter.LastTradeTime)).ToString(AtsConst.TimeFormatGrid);
                    lblLastTrdQty.Text    = Convert.ToString(IPAddress.HostToNetworkOrder(data.Parameter.LastTradeQuantity)) + "@" + Convert.ToDecimal(IPAddress.HostToNetworkOrder(data.Parameter.LastTradedPrice) / 100).ToString();
                    //lblLastUpdt.Text = AtsMethods.SecondsToDateTime(data.Header.ExchangeTimeStamp).ToString(AtsConst.TimeFormatGrid);

                    lblAvgTradePrice.Text = (IPAddress.HostToNetworkOrder(data.Parameter.AverageTradePrice) / 100).ToString();
                    lblHigh.Text          = (IPAddress.HostToNetworkOrder(data.Parameter.HighPrice) / 100).ToString();;
                    lbllow.Text           = (IPAddress.HostToNetworkOrder(data.Parameter.LowPrice) / 100).ToString();
                    //lblLtHigh.Text = (data.YearlyHigh / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);
                    // lblLtlLow.Text = (data.YearlyLow / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);



                    //lblPrevClose.Text = (data.ClosePrice / PriceDivisor).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);
                    lblOpen.Text = (IPAddress.HostToNetworkOrder(data.Parameter.OpenPrice) / 100).ToString();
                    if (IPAddress.HostToNetworkOrder(data.Parameter.ClosingPrice) != 0)
                    {
                        lblPercentage.Text = (((IPAddress.HostToNetworkOrder(data.Parameter.LastTradedPrice) - IPAddress.HostToNetworkOrder(data.Parameter.ClosingPrice)) / (decimal)IPAddress.HostToNetworkOrder(data.Parameter.ClosingPrice)) * AtsConst.PriceDivisor100).ToString();
                    }

                    lblTotalBuyQuantity.Text  = DoubleIndianChange(data.Parameter.TotalBuyQuantity).ToString();
                    lblTotalSellQuantity.Text = DoubleIndianChange(data.Parameter.TotalSellQuantity).ToString();

                    //lblOI.Text = Convert.ToString(data.Parameter.CurrentOpenInterest);
                    //lblTotalTrades.Text =

                    //                    lblValue.Text = (data.Parameter.TotalTradedValue / 100).ToString(ContractPanel.ContractData.ContractDetail.PriceFormat);
                    lblVolume.Text = IPAddress.HostToNetworkOrder(data.Parameter.VolumeTradedToday).ToString();
                }
            }
            catch (Exception ex)
            {
            }
        }