Example #1
0
        public UcStatus(ISettingsManager settingsManager, ITimeManager timeManager, IOrderMaker orderMaker, ILogger logger)
        {
            this._settingsManager = settingsManager;
            this._timeManager     = timeManager;
            this._orderMaker      = orderMaker;
            this._logger          = logger;

            InitializeComponent();

            #region  UI
            this.labelOpenTime.Dock = DockStyle.Fill;
            this.tablePanel.Controls.Add(this.labelOpenTime, 0, 0);

            this.labelCloseTime.Dock = DockStyle.Fill;
            this.tablePanel.Controls.Add(this.labelCloseTime, 1, 0);

            this.labelTime.Dock = DockStyle.Fill;
            this.tablePanel.Controls.Add(this.labelTime, 0, 1);

            this.labelStatus.Width     = 120;
            this.labelStatus.TextAlign = ContentAlignment.MiddleLeft;
            this.tablePanel.Controls.Add(this.labelStatus, 1, 1);

            this.labelSource.Width     = 120;
            this.labelSource.TextAlign = ContentAlignment.MiddleLeft;
            this.tablePanel.Controls.Add(this.labelSource, 0, 2);
            #endregion

            this.timerDisplay.Interval = 1000;              //只負責顯示時間
            this.timerDisplay.Enabled  = true;
        }
 public OrderMakerViewModel(IOrder order, IOrderMaker orderMaker)
 {
     _order      = order ?? throw new ArgumentNullException(nameof(order));
     _orderMaker = orderMaker ?? throw new ArgumentNullException(nameof(orderMaker));
     _orderMaker.OrderItemDoneCallBack = () => UpdateProgress();
     SetTotalPrice();
 }
Example #3
0
        void InitOrderMaker()
        {
            string name = _settingsManager.GetSettingValue(AppSettingsKey.OrderMaker);
            string ip   = _settingsManager.GetSettingValue(AppSettingsKey.OrderMakerIP);
            string sid  = _settingsManager.GetSettingValue(AppSettingsKey.SID);
            string pw   = CryptoGraphy.DecryptCipherTextToPlainText(_settingsManager.GetSettingValue(AppSettingsKey.Password));

            _orderMaker = ProviderFactory.Create(name, ip, sid, pw);
        }
Example #4
0
        public PositionManager(IOrderMaker orderMaker, TradeSettings tradeSettings, ILogger logger)
        {
            _orderMaker    = orderMaker;
            _tradeSettings = tradeSettings;
            _logger        = logger;

            if (_orderMaker.Name == ProviderName.HUA_NAN)
            {
                _orderMaker.AccountPositionUpdated += OrderMaker_AccountPositionUpdated;
            }
        }
Example #5
0
        public Uc_Strategy(IOrderMaker orderMaker, TradeSettings settings, ITimeManager timeManager, ILogger logger)
        {
            this._orderMaker    = orderMaker;
            this._tradeSettings = settings;
            this._timeManager   = timeManager;
            this._logger        = logger;

            InitializeComponent();

            if (!File.Exists(_tradeSettings.FileName))
            {
                File.Create(_tradeSettings.FileName).Close();
            }
            _positionFile    = new PositionFile();
            _positionManager = ServiceFactory.CreatePositionManager(_orderMaker, _tradeSettings, logger);

            this.timer.Interval = _tradeSettings.Interval;
            this.timer.Enabled  = true;

            #region  UI
            var lbl = UIHelpers.CreateLabel(_tradeSettings.Name);
            lbl.Font = new System.Drawing.Font("新細明體", 11.25F);
            this.tpTop.Controls.Add(lbl, 0, 0);


            this.tpTop.Controls.Add(UIHelpers.CreateLabel("即時部位:"), 2, 0);
            lblPosition = UIHelpers.CreateLabel("");
            this.tpTop.Controls.Add(lblPosition, 3, 0);


            lblTime = UIHelpers.CreateLabel("");
            this.tpTop.Controls.Add(lblTime, 4, 0);


            for (int i = 0; i < _tradeSettings.Accounts.Count; i++)
            {
                var item = _tradeSettings.Accounts[i];

                var uc_Account = new Uc_Account();
                uc_Account.BindData(item);

                this.uc_AccountList.Add(uc_Account);


                fpanelAccounts.Height += uc_Account.Height;
                this.fpanelAccounts.Controls.Add(uc_Account);
                fpanelAccounts.Controls.SetChildIndex(uc_Account, 0);


                this.Height += uc_Account.Height;
            }
            #endregion
        }
Example #6
0
        void InitOrderMaker()
        {
            string name = _settingsManager.GetSettingValue(AppSettingsKey.OrderMaker);
            string ip   = _settingsManager.GetSettingValue(AppSettingsKey.OrderMakerIP);
            string sid  = _settingsManager.GetSettingValue(AppSettingsKey.SID);
            string pw   = CryptoGraphy.DecryptCipherTextToPlainText(_settingsManager.GetSettingValue(AppSettingsKey.Password));

            _orderMaker = ProviderFactory.Create(name, ip, sid, pw);

            _orderMaker.Ready += OnOrderMakerReady;
            _orderMaker.ConnectionStatusChanged += OrderMaker_ConnectionStatusChanged;
            _orderMaker.ExceptionHappend        += OnOrderMakerExceptionHappend;
            _orderMaker.ActionExecuted          += OrderMaker_ActionExecuted;
        }
Example #7
0
        public API_TestForm()
        {
            _settingsManager = Factories.CreateSettingsManager();
            _logger          = LoggerFactory.Create(_settingsManager.LogFilePath);


            string name = _settingsManager.GetSettingValue(AppSettingsKey.OrderMaker);
            string ip   = _settingsManager.GetSettingValue(AppSettingsKey.OrderMakerIP);
            string sid  = _settingsManager.GetSettingValue(AppSettingsKey.SID);
            string pw   = CryptoGraphy.DecryptCipherTextToPlainText(_settingsManager.GetSettingValue(AppSettingsKey.Password));

            _orderMaker                 = ProviderFactory.Create(name, ip, sid, pw);
            _orderMaker.Ready          += this.OnOrderMakerReady;
            _orderMaker.ActionExecuted += this.OnActionExcuted;
            if (_orderMaker.Name == ProviderName.HUA_NAN)
            {
                _orderMaker.AccountPositionUpdated += OrderMaker_AccountPositionUpdated;
            }

            InitializeComponent();
        }
Example #8
0
 public static IPositionManager CreatePositionManager(IOrderMaker orderMaker, TradeSettings tradeSettings, ILogger logger)
 {
     return(new PositionManager(orderMaker, tradeSettings, logger));
 }