private void ApplyStopStrategy(Trade t, TimeframeLookup <List <CandleAndIndicators> > candlesLookup, DateTime currentTime) { StopUpdateStrategy?stopUpdate = null; Timeframe timeframe = Timeframe.D1; Indicator indicator = Indicator.EMA8; switch (_options.StopOption) { case StopOption.InitialStopThenTrail2HR8EMA: { stopUpdate = StopUpdateStrategy.StopTrailIndicator; timeframe = Timeframe.H2; indicator = Indicator.EMA8; break; } case StopOption.InitialStopThenTrail2HR25EMA: { stopUpdate = StopUpdateStrategy.StopTrailIndicator; timeframe = Timeframe.H2; indicator = Indicator.EMA25; break; } case StopOption.InitialStopThenTrail4HR8EMA: { stopUpdate = StopUpdateStrategy.StopTrailIndicator; timeframe = Timeframe.H4; indicator = Indicator.EMA8; break; } case StopOption.InitialStopThenTrail4HR25EMA: { stopUpdate = StopUpdateStrategy.StopTrailIndicator; timeframe = Timeframe.H4; indicator = Indicator.EMA25; break; } case StopOption.DynamicTrailingStop: { stopUpdate = StopUpdateStrategy.DynamicTrailingStop; break; } } if (stopUpdate != null) { if (stopUpdate == StopUpdateStrategy.StopTrailIndicator) { StopHelper.TrailIndicator(t, timeframe, indicator, candlesLookup, currentTime.Ticks); } else if (stopUpdate == StopUpdateStrategy.DynamicTrailingStop) { StopHelper.TrailDynamicStop(t, candlesLookup, currentTime.Ticks); } } }
static async void ConfigureUpdateDataService() { var documentStoreRepository = new DocumentStoreRepository(); var publicTransportRepository = new PublicTransportRepository(); UpdateDataService.DocumentStoreRepository = documentStoreRepository; var delayJsonService = new DelayJsonService(publicTransportRepository); DelaysHub.DelayService = new DelayService(delayJsonService); DelayService.DocumentStoreRepository = documentStoreRepository; var timeService = new DCNC.Service.PublicTransport.Time.TimeService(); var stopComparer = new StopComparer(); var combineHelper = new CombineHelper(stopComparer); var combiner = new Combiner(combineHelper); var combineTripService = new CombineTripService(combiner); var joinTripMappingService = new JoinTripMappingService(); var organizer = new Organizer(); var stopHelper = new StopHelper(); var tripsWithBusStopsService = new TripsWithBusStopsService(organizer, stopHelper); var joiner = new Joiner(combineTripService, joinTripMappingService, tripsWithBusStopsService); var grouper = new Grouper(); var tripService = new TripService(documentStoreRepository, publicTransportRepository); var busStopService = new BusStopService(documentStoreRepository, publicTransportRepository); var busLineService = new BusLineService(documentStoreRepository, publicTransportRepository); var expeditionService = new ExpeditionService(documentStoreRepository, publicTransportRepository); var stopInTripService = new StopInTripService(documentStoreRepository, publicTransportRepository); var busStopModelService = new BusStopModelService(); var updateServiceHelper = new UpdateServiceHelper(joiner, grouper, timeService, tripService, busStopService, busLineService, expeditionService, stopInTripService, busStopModelService, documentStoreRepository); documentStoreRepository.DeleteAllTimeTableJsons(); await UpdateDataService.Init(timeService, updateServiceHelper); ConfigureServices(documentStoreRepository, publicTransportRepository); }
public TripsWithBusStopsService(Organizer organizer, StopHelper stopHelper) { _organizer = organizer; _stopHelper = stopHelper; }