protected virtual void OnTrigger(RuleTriggerEventArgs args_) { EventHandler<RuleTriggerEventArgs> h; if ((h = Trigger) != null) h(this, args_); }
protected override void handleTradeTrigger(object sender, RuleTriggerEventArgs args_) { var allSame = true; if (m_rules.Count == 1) OnTrigger(args_); else { var first = m_rules[0].CurrentSide; for(int i=1;i<m_rules.Count;++i) if (first != m_rules[i].CurrentSide) { allSame = false; break; } if (allSame) { m_currentSide = first; OnTrigger(args_); } } }
protected override void handleTradeTrigger(object sender, RuleTriggerEventArgs args_) { m_lastFiredSide = ((RuleBase)sender).CurrentSide; OnTrigger(args_); }
protected abstract void handleTradeTrigger(object sender, RuleTriggerEventArgs args_);