private void processTick(Tick tick) { //Logger.Log("Process tick #{0}", currentTickIndex); //Logger.Log("Tick instrument feed"); tick = tick.Instrument.Tick(tick.Time, tick.Bid, tick.Ask); //Logger.Log("Indicator execution"); indicatorRepository.ProcessTick(tick); //Logger.Log("Market Meter process"); MarketMeterProcess(tick); //Logger.Log("strategy execution"); StrategyProcess(tick); //Logger.Log("account process"); //process SLTP hit of position and close them if so //also fire an event to external entities to check if a position needs to be closed //this cehcking required strategy signals so this event is fired after strategy updates AccountProcess(tick); //Logger.Log("position open process"); PositionOpenningLogicProcess(tick); //Logger.Log("genetic process"); GeneticProcess(tick); Logger.Log("tick #{0} execution done", currentTickIndex); }