Exemplo n.º 1
0
        public void Logon()
        {
            var btxName = MainWindow.Config.BitmexScalper.AccountMode;
            var setting = SettingRequest.Get(_apiClient, btxName);

            _btxLiq           = new BtxLiquidation(setting.TradeFee);
            _bitmex           = new BitmexExchange(setting);
            _bitmex.Log       = new RestServiceEventLogger(_apiClient, DataType.ServiceName.Desktop);
            _btxBotClient.Log = _bitmex.Log;

            createIndicatorRequest = () => new IndicatorRequest(_apiClient);
            createTradeRequest     = () => new TradeRequest(_apiClient);
            createPosRequest       = () => new PositionRequest(_apiClient);
            createLogRequest       = () => new LogRequest(_apiClient);
            createSettingRequest   = () => new SettingRequest(_apiClient);

            try
            {
                _bitmex.Logon();
                _btxBotClient.Logon();
            }
            catch (Exception ex)
            {
                _bitmex.Log.WriteError(ex);
                throw ex;
            }
        }
Exemplo n.º 2
0
        public void Start()
        {
            var config     = (BotcoinConfigSection)ConfigurationManager.GetSection("botcoin");
            var btxSetting = SettingRequest.Get(_apiClient, config.BitmexBot.AccountMode);

            _bitmex     = new BitmexExchange(btxSetting);
            _bitmex.Log = Log;

            _bitmex.ExecutionChanged += OnExecutionChanged;
            _bitmex.MarginChanged    += OnMarginChanged;
            _bitmex.OrderChanged     += OnOrderChanged;
            _bitmex.WalletChanged    += OnWalletChanged;
            _bitmex.AuthPassed       += OnAuthPassed;

            _bitmex.Logon();

            _btxUser = _bitmex.Exchange.Client.GetAccount();
            _bitmex.SubscriptionAuth(null);

            _instrumentSettingsTimer.Start();
            _vwapGainsTimer.Start();
            _wsServer.Start();

            OnInstrumentSettingsTimerElapsed(null, null);
            OnVwapGainsTimerElapsed(null, null);
        }
Exemplo n.º 3
0
 public void SubscribeTicker(BitmexExchange ex, Action <object, TickerEventArgs> callback)
 {
     foreach (var contract in _contracts)
     {
         ex.SubscribeTopics(true, contract, BtxSubscriptionItem.instrument);
     }
     ex.InstrumentChanged += (s, e) =>
     {
         callback(ex, new TickerEventArgs(e.BtxInstrument));
     };
 }
Exemplo n.º 4
0
 public void SubscribeLiquidation(BitmexExchange ex, Action <object, LiquidationEventArgs> liqCallback)
 {
     foreach (var contract in _contracts)
     {
         ex.SubscribeTopics(true, contract, BtxSubscriptionItem.liquidation);
     }
     ex.LiquidationReceived += (s, e) =>
     {
         liqCallback(ex, e);
     };
 }
Exemplo n.º 5
0
        public Bitmex(BitmexExchange exchange)
        {
            Instruments = new List <string> {
                "XBT", "ETH", "EOS", "BCH", "XRP", "LTC", "TRX", "ADA"
            };
            _contracts = new List <string> {
                "XBTUSD", "ETHUSD"
            };
            _bitmex = exchange;

            CreateContracts();
        }
Exemplo n.º 6
0
 public BitmexVwapIndicator(BitmexExchange ex, List <string> contracts, ServiceEventLogger log) : base(log)
 {
     _contracts = contracts;
     _bitmex    = ex;
 }