Example #1
0
 private void MakeTestData()
 {
     testAccount = conn.ACCOUNT.First(a => !a.POSITION.Any() && a.Balance >= 10000 && a.Currency == "USD");
     // создать тестовые ордера
     // создать сделки по счету
     testOrders = PositionMaker.MakePositions(conn, testAccount.ID);
     conn.SaveChanges();
 }
        private void MakeTestContents()
        {
            // добавить тестовый счет
            var group = conn.ACCOUNT_GROUP.First(g => !g.IsReal);

            group.SwapFree = false;
            account        = new ACCOUNT
            {
                AccountGroup = group.Code,
                Currency     = "USD",
                Balance      = 10000,
                Description  = "test",
                Status       = (int)Account.AccountStatus.Created
            };
            conn.ACCOUNT.Add(account);
            conn.SaveChanges();

            // задать всем дефолтовый своп
            foreach (var spot in conn.SPOT)
            {
                spot.SwapBuy  = SwapBuy;
                spot.SwapSell = SwapSell;
            }

            // создать сделки по счету
            allPositions = PositionMaker.MakePositions(conn, account.ID);
            conn.SaveChanges();

            foreach (var pos in allPositions)
            {
                // расчетное значение своп-а
                var swap = DalSpot.Instance.GetAbsValue(pos.Symbol, pos.Side > 0 ? SwapBuy : SwapSell);
                swap = swap * pos.Volume;
                // перевести своп в валюту счета
                string errorStr;
                swap = DalSpot.Instance.ConvertToTargetCurrency(pos.Symbol, false, account.Currency,
                                                                (double)swap, QuoteStorage.Instance.ReceiveAllData(),
                                                                out errorStr) ?? 0;
                swapByPos.Add(pos, swap);
            }
        }