private void subscribeTo(LiveExposurePnl item_, bool do_=true) { item_.PnlUpdated -= handleComponentUpdated; if (!do_) return; item_.PnlUpdated += handleComponentUpdated; }
private void subscribeTo(LiveExposurePnl exp_, bool do_=true) { if (exp_ == null) return; exp_.PnlUpdated -= handleExposurePnlUPdated; if (!do_) return; exp_.PnlUpdated += handleExposurePnlUPdated; }
internal async Task Start(CarbonClient cc_, double pnlMultiplier_) { if (m_wts == null || m_exposureIDs == null || m_wts.Length != m_exposureIDs.Length) return; for (int i = 0; i < m_wts.Length; ++i) { // no point monitoring something with zero weight if (m_wts[i].IsZero()) continue; var liveexp = new LiveExposurePnl(m_exposureIDs[i], m_wts[i], pnlMultiplier_); m_pnls.Add(liveexp); await liveexp.Start(cc_); } foreach (var v in m_pnls) subscribeTo(v); OnPnlUpdated(new ValueUpdatedEventArgs<double>(Pnl)); }
public void Add(LiveExposurePnl item_) { m_set.Add(item_); subscribeTo(item_); }