Esempio n. 1
0
 public FundPositionTx(ITransaction transaction, TransactionSide txSide, PositionsTxValueTypes valueType)
     : this()
 {
     this.ParentTransaction = transaction;
     this.TxSide = txSide;
     this.ValueType = valueType;
 }
Esempio n. 2
0
        public void Add(DateTime datetime, TransactionSide side, double qty, Instrument instrument, double price, string text)
        {
            Side side2;

            switch (side)
            {
            case TransactionSide.Buy:
                side2 = Side.Buy;
                break;

            case TransactionSide.Sell:
                side2 = Side.Sell;
                break;

            default:
                throw new ArgumentException(string.Format("Unknown TransactionSide - {0} ", side));
            }
            SmartQuant.Instruments.Transaction transaction = new SmartQuant.Instruments.Transaction(datetime, side2, qty, instrument.instrument, price);
            transaction.Currency = CurrencyManager.Currencies[instrument.instrument.Currency];
            if (text != null)
            {
                transaction.Text = text;
            }
            this.portfolio.Add(transaction);
        }
        /// <summary>
        /// Gets a list of transactions. Multisend transaction is not available in this API.
        /// Query Window: Default query window is latest 24 hours; The maximum start - end query window is 3 months.
        /// </summary>
        /// <returns></returns>
        public TransactionsResponse GetTransactions(string address, TransactionSide transactionSide = TransactionSide.All, TxType txType = TxType.All,
                                                    string txAsset = "", long blockHeight = 0, string symbol = "",
                                                    long limit     = 0, long offset       = 0, int startTime = 0, int endTime = 0)
        {
            //Call specific settings
            string        urlPattern    = "{0}/transactions?address={1}";
            string        url           = string.Format(urlPattern, _env.HttpsApiAddress, address);
            StringBuilder sbQueyrFilter = new StringBuilder();

            if (transactionSide != TransactionSide.All)
            {
                sbQueyrFilter.AppendFormat("&side={0}", transactionSide.ToString());
            }
            if (txType != TxType.All)
            {
                sbQueyrFilter.AppendFormat("&txType={0}", txType.ToString());
            }
            if (!string.IsNullOrWhiteSpace(txAsset))
            {
                sbQueyrFilter.AppendFormat("&txAsset={0}", txAsset);
            }
            if (blockHeight > 0)
            {
                sbQueyrFilter.AppendFormat("&blockHeight={0}", blockHeight);
            }
            if (endTime > 0)
            {
                sbQueyrFilter.AppendFormat("&endTime={0}", endTime);
            }
            if (limit > 0)
            {
                sbQueyrFilter.AppendFormat("&limit={0}", limit);
            }
            if (offset > 0)
            {
                sbQueyrFilter.AppendFormat("&offset={0}", offset);
            }
            if (startTime > 0)
            {
                sbQueyrFilter.AppendFormat("&startTime={0}", startTime);
            }


            if (sbQueyrFilter.Length > 0)
            {
                url = string.Format("{0}{1}", url, sbQueyrFilter);
            }

            int callsPerMinuteAllowed = 60;

            //Generic items for calls
            var response = GetStringResponse(url, urlPattern, callsPerMinuteAllowed, 60);

            //Call specific processing of returned values
            var ret = JsonConvert.DeserializeObject <TransactionsResponse>(response);

            return(ret);
        }
Esempio n. 4
0
		public void Add(DateTime datetime, TransactionSide side, double qty, Instrument instrument, double price, string text)
		{
			Side side2;
			switch (side)
			{
			case TransactionSide.Buy:
				side2 = Side.Buy;
				break;
			case TransactionSide.Sell:
				side2 = Side.Sell;
				break;
			default:
				throw new ArgumentException(string.Format("Unknown TransactionSide - {0} ", side));
			}
			SmartQuant.Instruments.Transaction transaction = new SmartQuant.Instruments.Transaction(datetime, side2, qty, instrument.instrument, price);
			transaction.Currency = CurrencyManager.Currencies[instrument.instrument.Currency];
			if (text != null)
			{
				transaction.Text = text;
			}
			this.portfolio.Add(transaction);
		}
Esempio n. 5
0
 public void Add(DateTime datetime, TransactionSide side, double qty, Instrument instrument, double price)
 {
     this.Add(datetime, side, qty, instrument, price, null);
 }
Esempio n. 6
0
		public void Add(DateTime datetime, TransactionSide side, double qty, Instrument instrument, double price)
		{
			this.Add(datetime, side, qty, instrument, price, null);
		}
        public async Task <TransactionsResponse> GetTransactionsAsync(string address, TransactionSide transactionSide = TransactionSide.All, TxType txType = TxType.All,
                                                                      string txAsset = "", long blockHeight = 0, string symbol = "",
                                                                      long limit     = 0, long offset       = 0, int startTime = 0, int endTime = 0)
        {
            var br = await Task.Run(() =>
            {
                return(GetTransactions(address, transactionSide, txType, txAsset, blockHeight, symbol, limit, offset, startTime, endTime));
            });

            return(br);
        }