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);
                }
            }
        }
Ejemplo n.º 2
0
        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;
 }