public PatternBasicBuilderExternal(INumSequenceBasicFactoryExternal factoryNumSequence,
                                    IBasicWsBuilderFactory factoryBuilder,
                                    IPatternFactory <PatternBasic> patternFactory)
     : base(factoryNumSequence, factoryBuilder)
 {
     this.patternFactory = patternFactory;
 }
コード例 #2
0
        protected virtual Thrust SetFocusPrice(Thrust thrust)
        {
            // set the focus price
            IPatternFactory thrustFactory = ObjectBase.Container.GetExportedValue <IPatternFactory>("ThrustFactory");

            thrustFactory.Initialize(_parameters);
            thrust = (Thrust)thrustFactory.BuildPattern(_chart, thrust);

            return(thrust);
        }
コード例 #3
0
        public Board(int size, IPatternFactory patternsFactory)
        {
            if (size <= 0)
            {
                throw new ArgumentException("invalid board size");
            }

            Size            = size;
            WinningPatterns = patternsFactory.Create(size);
            Coordinates     = new BoardCoordinate[size * size];
            for (int i = 0; i < Coordinates.Length; i++)
            {
                Coordinates[i] = this.ToCoordinate(i + 1);
            }
        }
コード例 #4
0
        /// <summary>
        /// Processes all charts after the frame bars in each has been updated.
        /// </summary>
        protected virtual void ProcessCharts()
        {
            if (_thrustDetector == null)
            {
                _thrustDetector = ObjectBase.Container.GetExportedValue <IPatternDetector>("ThrustDetector");
                _thrustDetector.Initialize(Parameters);
            }
            if (_thrustFactory == null)
            {
                _thrustFactory = ObjectBase.Container.GetExportedValue <IPatternFactory>("ThrustFactory");
                _thrustFactory.Initialize(Parameters);
            }

            foreach (Chart chart in _charts.Values)
            {
                Thrust thrust = (Thrust)chart.Patterns.FirstOrDefault(p => p.Type == MACC.Constants.SignalType.Thrust && (p.Active || p.StrategyTransactionID.HasValue));

                if (thrust == null)
                {
                    thrust = _thrustDetector.DetectPattern(chart) as Thrust;

                    if (thrust != null)
                    {
                        if (thrust.Active && thrust.SignalID == 0)
                        {
                            HandleNewThrust(chart, thrust);
                        }
                        else if (thrust.SignalID > 0)
                        {
                            HandleExistingThrust(chart, thrust);
                        }
                    }
                }
                else
                {
                    thrust = (Thrust)_thrustFactory.UpdatePattern(chart, thrust);
                    HandleExistingThrust(chart, thrust);
                }
            }
        }
 public PatternBasicBuilderExternal()
 {
     patternFactory = new PatternBasic.PatternBasicFactory();
 }
コード例 #6
0
        private static Game BuildGame(IBoard board = null, IEnumerable <IPlayer> players = null, IPatternFactory patternFactory = null)
        {
            patternFactory = patternFactory ?? new MockPatternFactory();
            board          = board ?? new Board(3, patternFactory);
            players        = players ?? new List <IPlayer> {
                new MockPlayer(),
                new MockPlayer()
            };

            return(new Game(board, players, players.First()));
        }
コード例 #7
0
 public GameInitializer(IPlayersFactory playersFactory, IPatternFactory patternFactory, IIntelligenceFactory aiFactory)
 {
     _playersFactory = playersFactory;
     _patternFactory = patternFactory;
     _aiFactory      = aiFactory;
 }
コード例 #8
0
 private static Board BuildBoard(int?size = null, IPatternFactory patternFactory = null)
 {
     size           = size ?? 3;
     patternFactory = patternFactory ?? new MockPatternFactory();
     return(new Board(size.Value, patternFactory));
 }
コード例 #9
0
        private static GameInitializer BuildGameInitializer(IPlayersFactory playersFactory = null, IPatternFactory patternFactory = null, IIntelligenceFactory aiFactory = null)
        {
            var io = new MockInputOutput();

            playersFactory = playersFactory ?? new PlayersFactory(new HumanIntelligence(io));
            patternFactory = patternFactory ?? new PatternFactory();
            aiFactory      = aiFactory ?? new IntelligenceFactory(io);
            return(new GameInitializer(playersFactory, patternFactory, aiFactory));
        }
コード例 #10
0
        private static GameInitializer BuildGameInitializer(IPlayersFactory playersFactory = null, IPatternFactory patternFactory = null, IIntelligenceFactory aiFactory = null)
        {
            var player1 = new MockPlayer();
            var player2 = new MockPlayer();

            playersFactory = playersFactory ?? new MockPlayersFactory().CreateStubbedToReturn(new List <IPlayer> {
                player1, player2
            });;
            patternFactory = patternFactory ?? new MockPatternFactory();
            aiFactory      = aiFactory ?? new MockIntelligenceFactory();
            return(new GameInitializer(playersFactory, patternFactory, aiFactory));
        }
コード例 #11
0
 static PatternBasic()
 {
     patternFactory = new PatternBasicFactory();
 }