//If you initialize without args, it picks a default model and controller
 public MVCTestForm()
 {
     ITM = new TradeModelA();
     ITC = new TradeControllerA(ITM);
     ITM.TradeAdded += Update;
     InitializeComponent();
 }
Пример #2
0
        public TradingModelRunner(
            int reference,
            ITradeModel tradeModel,
            int jobId,
            string instrumentCode,
            DateTime regressionEndDate,
            BarDataHandler barDataHandler,
            TickDataHandler tickDataHandler,
            DailyPriceBarDataHandler dailyPriceBarDataHandler,
            BarCompleted callBackBarCompleted,
            EntrySignalReceived callBackEntrySignalReceived,
            TradePositionCloseReceived callBackTradePositionCloseReceived,
            RegressionJobFinished callbackRegressionJobFinished,
            TickDataUpdateReceived callbackTickDataUpdateReceived,
            IMoneyManager moneyManager)
        {
            m_ref                 = reference;
            m_TradingModel        = tradeModel;
            m_BarDataHandler      = barDataHandler;
            m_TickDataHandler     = tickDataHandler;
            m_DailyBarDataHandler = dailyPriceBarDataHandler;
            m_jobId               = jobId;
            m_instrumentCode      = instrumentCode;
            m_RegressionEndDate   = regressionEndDate;
            m_moneyMgr            = moneyManager;

            CallbackOnEntrySignalReceived      = callBackEntrySignalReceived;
            CallbackTradePositionCloseReceived = callBackTradePositionCloseReceived;
            CallbackRegressionJobFinished      = callbackRegressionJobFinished;
            CallbackBarCompleted           = callBackBarCompleted;
            CallbackTickDataUpdateReceived = callbackTickDataUpdateReceived;

            m_SignalState = TradingModelSignalState.TradeSignal;

            m_TradingModel.SetHandlers(barDataHandler, tickDataHandler, dailyPriceBarDataHandler, moneyManager);

            m_BarDataHandler.BarDataCreatedCompleted       += OnBarDataCreatedCompleted;
            m_TickDataHandler.OnRealTimeTickDataUpdate     += OnRealTimeTickDataUpdate;
            m_TickDataHandler.OnRealTimeTickDataDateChange += OnRealTimeTickDataDateChange;
        }
        public TradePresenter(ITradeView view, ITradeModel model) : base(view)
        {
            Model = model;
            Model.BalanceChanged      += Model_BalanceChanged;
            Model.OpenedOrdersChanged += Model_OpenedOrdersChanged;
            Model.TickChanged         += Model_TickChanged;
            Model.ErrorOccured        += Model_ErrorOccured;
            Model.InfoOccured         += Model_InfoOccured;
            Model.IsMayTradeChanged   += Model_IsMayTradeChanged;

            View.SetMarkets(Model.Markets);
            View.Position     = Model.Position;
            View.PriceType    = Model.PriceType;
            View.QuantityType = Model.QuantityType;
            View.SetUsdRate(Model.GetUsdRateChanged);

            View.MarketChanged      += View_MarketChanged;
            View.PairChanged        += View_PairChanged;
            View.ViewClosed         += View_ViewClosed;
            View.Trade              += View_Trade;
            View.TradeParamsChanged += View_TradeParamsChanged;
            View.RemoveOrder        += View_RemoveOrder;
        }
Пример #4
0
 public IndexComputerInstrument(IndexComputer parent, IQuoteModel quote, ITradeModel trade, double weight)
 {
     this.parent = parent;
     this.quote = quote;
     this.trade = trade;
     this.weight = weight;
 }
 //Here you decide how Form is controlled
 public MVCTestForm(ITradeController ITC,ITradeModel ITM)
 {
     this.ITC=ITC;
     this.ITM=ITM;
     InitializeComponent();
 }