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()); } }
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); }
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); }
void ChangeHeartBeatInfo(object sender, ReadOnlyEventArgs <HeartBeatInfo> e) { if (this.InvokeRequired) { this.BeginInvoke((ThreadStart) delegate() { UpdateLabel(e); }); return; } else { UpdateLabel(e); } }
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); } }
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); } }
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()); } }
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; }
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); } }
public static void UpdateRecord(object sender, ReadOnlyEventArgs<MS_SPD_MKT_INFO_7211> Stat) { }
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; } }
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); } } } }
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); } }
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; } }
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; }
void ChangeHeartBeatInfo(object sender, ReadOnlyEventArgs<HeartBeatInfo> e) { if (this.InvokeRequired) { this.BeginInvoke((ThreadStart)delegate() { UpdateLabel(e); }); return; } else { UpdateLabel(e); } }
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)); }
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) { } }
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); } }
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)); }
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; }
public void Starting(object sender, ReadOnlyEventArgs<Type> e) { Start(e.Parameter); }
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); } }
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); } }
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); } }
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) { } }