Beispiel #1
0
 public async Task CancelOrderAsync(string id, string brokerAccountId = null)
 {
     var endpoint = AppendQueryParams(Endpoints.OrdersCancel,
                                      ("orderId", id), (BrokerAccountId, brokerAccountId));
     await Connection.SendPostRequestAsync <object, EmptyPayload>(endpoint, null)
     .ConfigureAwait(false);
 }
Beispiel #2
0
        public async Task <PlacedMarketOrder> PlaceMarketOrderAsync(MarketOrder marketOrder)
        {
            var endpoint = AppendQueryParams(Endpoints.OrdersMarketOrder,
                                             ("figi", marketOrder.Figi), (BrokerAccountId, marketOrder.BrokerAccountId));
            var body     = new MarketOrderBody(marketOrder.Lots, marketOrder.Operation);
            var response = await Connection.SendPostRequestAsync <MarketOrderBody, PlacedMarketOrder>(endpoint, body)
                           .ConfigureAwait(false);

            return(response?.Payload);
        }
Beispiel #3
0
        public async Task <PlacedLimitOrder> PlaceLimitOrderAsync(LimitOrder limitOrder)
        {
            var endpoint = AppendQueryParams(Endpoints.OrdersLimitOrder,
                                             ("figi", limitOrder.Figi), (BrokerAccountId, limitOrder.BrokerAccountId));
            var body     = new LimitOrderBody(limitOrder.Lots, limitOrder.Operation, limitOrder.Price);
            var response = await Connection.SendPostRequestAsync <LimitOrderBody, PlacedLimitOrder>(endpoint, body)
                           .ConfigureAwait(false);

            return(response?.Payload);
        }
Beispiel #4
0
        public async Task <List <Operation> > OperationsAsync(DateTime from, Interval interval, string figi,
                                                              string brokerAccountId = null)
        {
            var path = AppendQueryParams(Endpoints.Operations, ("from", from.ToString("yyyy-MM-dd")),
                                         ("interval", interval.ToParamString()), ("figi", figi), (BrokerAccountId, brokerAccountId));
            var response = await Connection.SendGetRequestAsync <OperationList>(path)
                           .ConfigureAwait(false);

            return(response?.Payload?.Operations);
        }
Beispiel #5
0
        public async Task <List <Operation> > OperationsAsync(DateTime from, DateTime to, string figi,
                                                              string brokerAccountId = null)
        {
            var path = AppendQueryParams(Endpoints.Operations, ("from", FormatDateTime(from)),
                                         ("to", FormatDateTime(to)), ("figi", figi), (BrokerAccountId, brokerAccountId));
            var response = await Connection.SendGetRequestAsync <OperationList>(path)
                           .ConfigureAwait(false);

            return(response?.Payload?.Operations);
        }
Beispiel #6
0
        public string EVERedirectUrl()
        {
            string url = $"{_eveSettings.SSO.LoginHost}/authorize";

            url = AppendQueryParams(url,
                                    ("response_type", _eveSettings.SSO.ResponseType),
                                    ("redirect_uri", _eveSettings.SSO.CallBackPath),
                                    ("client_id", _eveSettings.SSO.ClientId),
                                    ("scope", string.Empty)
                                    );

            return(url);
        }
Beispiel #7
0
        public async Task <CandleList> MarketCandlesAsync(string figi, DateTime from, DateTime to,
                                                          CandleInterval interval)
        {
            var endpoint = AppendQueryParams(Endpoints.MarketCandles,
                                             ("figi", figi),
                                             ("from", FormatDateTime(from)),
                                             ("to", FormatDateTime(to)),
                                             ("interval", interval.GetEnumMemberValue()));
            var response = await Connection.SendGetRequestAsync <CandleList>(endpoint)
                           .ConfigureAwait(false);

            return(response?.Payload);
        }