コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Portfolio"/> class.
        /// </summary>
        /// <param name="clock">The clock.</param>
        /// <param name="actionscheduler">The actionscheduler.</param>
        /// <param name="brokerconnection">The brokerconnection.</param>
        /// <param name="brokermodel">The brokermodel.</param>
        /// <param name="currency">The currency.</param>
        /// <param name="eventrunner">The eventrunner.</param>
        /// <param name="exceptionhandler">The exceptionhandler.</param>
        /// <param name="orderTicketHandler">The order ticket handler.</param>
        /// <param name="brokeraccount">The brokeraccount.</param>
        /// <param name="cashmanager">The cashmanager.</param>
        /// <param name="runmode">The runmode.</param>
        /// <param name="datafeed">The datafeed.</param>
        /// <param name="benchmark">The benchmark.</param>
        /// <param name="id">The identifier.</param>
        public Portfolio(WorldClock clock, ActionsScheduler actionscheduler, BrokerConnection brokerconnection, BrokerModel brokermodel,
                         Currency currency, EventRunner eventrunner, ExceptionHandler exceptionhandler, OrderTicketHandler orderTicketHandler,
                         BrokerAccount brokeraccount, CashManager cashmanager, RunMode runmode, DataFeed datafeed, Benchmark benchmark, string id = "")
        {
            //Set references
            ActionsScheduler   = actionscheduler;
            BrokerAccount      = brokeraccount;
            BrokerConnection   = brokerconnection;
            BrokerModel        = brokermodel;
            Clock              = clock;
            Currency           = currency;
            EventRunner        = eventrunner;
            ExceptionHandler   = exceptionhandler;
            CashManager        = cashmanager;
            OrderTicketHandler = orderTicketHandler;
            _porfolioBenchmark = benchmark;

            //Set initial items
            Id            = id;
            IsBacktesting = runmode == RunMode.Backtester;
            OrderFactory  = new OrderFactory(this, BrokerModel);
            OrderTracker  = new OrderTracker(this);
            Subscription  = new DataSubscriptionManager(datafeed, CashManager);
            Results       = new Result(0, _porfolioBenchmark);

            //Portfolio benchmark is not used
            benchmark.OnCalc(x => 0);
        }
コード例 #2
0
ファイル: PendingOrder.cs プロジェクト: w1r2p1/Core-2
 /// <summary>
 /// Initialize new pending order
 /// </summary>
 /// <param name="portfolio"></param>
 /// <param name="fundid"></param>
 /// <param name="order"></param>
 /// <param name="comment"></param>
 /// <param name="createdutc"></param>
 /// <param name="issimulated">If true, order behavior is simulated</param>
 public PendingOrder(IPortfolio portfolio, string fundid, Order order, string comment, DateTime createdutc, bool issimulated = false)
 {
     _portfolio          = portfolio;
     _orderTicketHandler = portfolio.OrderTicketHandler;
     FundId      = fundid;
     Order       = order;
     CreatedUtc  = createdutc;
     IsSimulated = issimulated;
     Comment     = comment;
 }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PortfolioImplementations"/> class.
 /// </summary>
 /// <param name="actionsScheduler">The actions scheduler.</param>
 /// <param name="api">The API.</param>
 /// <param name="brokerconnection">The brokerconnection.</param>
 /// <param name="cluster">The cluster.</param>
 /// <param name="datafeed">The datafeed.</param>
 /// <param name="datafilter">The datafilter.</param>
 /// <param name="eventrunner">The eventrunner.</param>
 /// <param name="exceptionhandler">The exceptionhandler.</param>
 /// <param name="messagequeue">The messagequeue.</param>
 /// <param name="ordertickethandler">The ordertickethandler.</param>
 /// <param name="currency">The currency.</param>
 public PortfolioImplementations(ActionsScheduler actionsScheduler, Benchmark benchmark,
                                 BrokerConnection brokerconnection, Cluster cluster, DataFeed datafeed,
                                 DataFilter datafilter, EventRunner eventrunner, ExceptionHandler exceptionhandler,
                                 MessageQueue messagequeue, OrderTicketHandler ordertickethandler, Currency currency)
 {
     ActionsScheduler   = actionsScheduler;
     Benchmark          = benchmark;
     BrokerConnection   = brokerconnection;
     Cluster            = cluster;
     DataFeed           = datafeed;
     DataFilter         = datafilter;
     EventRunner        = eventrunner;
     ExceptionHandler   = exceptionhandler;
     MessageQueue       = messagequeue;
     OrderTicketHandler = ordertickethandler;
     Currency           = currency;
 }