Exemple #1
0
        internal void Init(BitmexUser account)
        {
            var obj = Controller.GetPositionState(account, _instrument);

            if (obj != null)
            {
                if (obj.Opened == 1)
                {
                    var msg = String.Format("The application has been launched on the '{0}'", obj.HostName);
                    throw new InvalidOperationException(msg);
                }
                else
                {
                    var type = Assembly.GetExecutingAssembly().GetType(obj.StateName);
                    PositionState = (IPositionState)Activator.CreateInstance(type, this, obj.Instrument);
                    PositionState.Init(obj);
                    _stopObj = obj;

                    StartWatchingPrice = obj.StartWatchPrice;
                    StopPrice          = obj.StopPrice;
                }
            }
            else
            {
                ResetState();
            }
        }
Exemple #2
0
 private void OnPositionClosed(BitmexPositionData pos)
 {
     if (!pos.Leverage.HasValue)
     {
         ResetState();
         Controller.CancelAllOrders(pos.Symbol);
     }
     _stopObj = null;
 }
        public void Init(DbPositionState state)
        {
            _isLongPosition  = state.LongPosition == 1;
            _startWatchPrice = state.StartWatchPrice.Value;
            _stopPrice       = state.StopPrice.Value;
            _qty             = state.OrderQty.Value;

            _watcher.SendWatcherEvent(() => GetFormatedPrices());
        }
        public void Copy(DbPositionState state1, DbPositionState state2)
        {
            if (state1 == null)
            {
                return;
            }

            state1.StopOrderId = state2.StopOrderId;
            state1.StopLoss    = state2.StopLoss;
            state1.StopSlip    = state2.StopSlip;
        }
Exemple #5
0
        public void BeginOpenPosition(string symbol, string side, int qty, double stopLoss, double priceSlip, double stopSlip)
        {
            Lock(() =>
            {
                _stopObj = new DbPositionState {
                    StopLoss = stopLoss, StopSlip = stopSlip
                };

                CreateLimitState(symbol, side, qty, priceSlip);
                StartTimer();
            });
        }
Exemple #6
0
 public void Copy(DbPositionState state1, DbPositionState state2)
 {
 }
Exemple #7
0
 public void Init(DbPositionState state)
 {
 }
Exemple #8
0
 public virtual void Init(DbPositionState state)
 {
 }