コード例 #1
0
 private static void EmitNewCorporateAction(object sender, CorporateActionEventArgs e)
 {
     if (ProviderManager.threadSafe)
     {
         Monitor.Enter(ProviderManager.dataLock);
     }
     try
     {
         if (ProviderManager.NewCorporateAction != null)
         {
             ProviderManager.NewCorporateAction(sender, e);
         }
     }
     finally
     {
         if (ProviderManager.threadSafe)
         {
             Monitor.Exit(ProviderManager.dataLock);
         }
     }
 }
コード例 #2
0
ファイル: DataManager.cs プロジェクト: heber/FreeOQ
 private static void OnNewCorporateAction(object sender, CorporateActionEventArgs e)
 {
     Instrument instrument = e.Instrument as Instrument ?? InstrumentManager.Instruments[e.Instrument.Symbol, e.Provider.Name];
     if (instrument == null)
         return;
     CorporateActionArray array = DataManager.corporateActionArrayList[instrument];
     array.Add(e.CorporateAction);
     if (DataManager.corporateActionArrayLength != -1 && array.Count > DataManager.corporateActionArrayLength)
         array.RemoveAt(0);
     instrument.EmitNewCorporateAction(e);
 }
コード例 #3
0
ファイル: MetaStrategyBase.cs プロジェクト: heber/FreeOQ
		internal void VugWKRGNRX(CorporateActionEventArgs obj0)
		{
			try
			{
				Instrument instrument = obj0.Instrument as Instrument;
				CorporateAction corporateAction = obj0.CorporateAction;
				foreach (StrategyBase strategyBase in this.MU0WP1r0b1(obj0.Provider, instrument))
					strategyBase.a4glMfvIc(instrument, corporateAction);
				this.metaMoneyManager.OnCorporateAction(instrument, corporateAction);
				this.OnNewCorporateAction(instrument, corporateAction);
			}
			catch (Exception ex)
			{
				this.x6bWBlLIvv(ex);
			}
		}
コード例 #4
0
ファイル: Instrument.cs プロジェクト: heber/FreeOQ
 internal void EmitNewCorporateAction(CorporateActionEventArgs e)
 {
     this.CorporateAction = e.CorporateAction;
     if (this.NewCorporateAction != null)
         this.NewCorporateAction(this, e);
 }
コード例 #5
0
ファイル: ProviderManager.cs プロジェクト: heber/FreeOQ
 private static void EmitNewCorporateAction(object sender, CorporateActionEventArgs e)
 {
     if (ProviderManager.threadSafe)
         Monitor.Enter(ProviderManager.dataLock);
     try
     {
         if (ProviderManager.NewCorporateAction != null)
             ProviderManager.NewCorporateAction(sender, e);
     }
     finally
     {
         if (ProviderManager.threadSafe)
             Monitor.Exit(ProviderManager.dataLock);
     }
 }