Example #1
0
        public Order SendSellStopOrder(Counterpart counterpart, string clOrdID, string account, Instrument instrument, decimal qty, decimal stopPrice)
        {
            Order order = this.SellStopOrder(counterpart, clOrdID, account, instrument, qty, stopPrice);

            order.Send();
            return(order);
        }
Example #2
0
        public Order SendBuyOrder(Counterpart counterpart, string clOrdID, string account, Instrument instrument, decimal qty)
        {
            Order order = this.BuyOrder(counterpart, clOrdID, account, instrument, qty);

            order.Send();
            return(order);
        }
Example #3
0
        public void EnumParameterMapping()
        {
            var counterpart = new Counterpart
            {
                Name = "test-counterpart-name",
                Inn  = "0987654321",
                Kpp  = "987654321"
            };
            dynamic counterpartAccessObject = testObjectsManager.CreateCounterparty(counterpart);

            testObjectsManager.CreateBankAccount(counterpartAccessObject.Ссылка,
                                                 new BankAccount
            {
                Bank = new Bank
                {
                    Bik = Banks.AlfaBankBik
                },
                Number       = "40702810001111122222",
                CurrencyCode = "643"
            });
            testObjectsManager.CreateCounterpartContract(counterpartAccessObject.Ссылка, new CounterpartyContract
            {
                CurrencyCode = "643",
                Name         = "Валюта",
                Kind         = CounterpartContractKind.OutgoingWithAgency
            });

            var contracts = dataContext.Select <ДоговорыКонтрагентов>()
                            .Where(x => x.ВидДоговора == ВидыДоговоровКонтрагентов.СКомиссионеромНаЗакупку)
                            .ToArray();

            Assert.That(contracts.Length, Is.EqualTo(1));
            Assert.That(contracts[0].ВидДоговора, Is.EqualTo(ВидыДоговоровКонтрагентов.СКомиссионеромНаЗакупку));
        }
Example #4
0
        public void QueryWithRefAccess()
        {
            var counterpart = new Counterpart
            {
                Name = "test-counterpart-name",
                Inn  = "0987654321",
                Kpp  = "987654321"
            };
            dynamic counterpartAccessObject = testObjectsManager.CreateCounterparty(counterpart);
            dynamic bankAccountAccessObject = testObjectsManager.CreateBankAccount(counterpartAccessObject.Ссылка,
                                                                                   new BankAccount
            {
                Bank = new Bank
                {
                    Bik = Banks.AlfaBankBik
                },
                Number       = "40702810001111122222",
                CurrencyCode = "643"
            });

            counterpartAccessObject.ОсновнойБанковскийСчет = bankAccountAccessObject.Ссылка;
            counterpartAccessObject.Write();

            testObjectsManager.CreateCounterpartContract(counterpartAccessObject.Ссылка, new CounterpartyContract
            {
                CurrencyCode = "643",
                Name         = "Валюта",
                Kind         = CounterpartContractKind.OutgoingWithAgency
            });

            var contractFromStore = dataContext.Select <ДоговорыКонтрагентов>()
                                    .Single(x => x.Владелец.ОсновнойБанковскийСчет.НомерСчета == "40702810001111122222");

            Assert.That(contractFromStore.Наименование, Is.EqualTo("Валюта"));
        }
Example #5
0
        public void QueryWithObject()
        {
            var counterpart = new Counterpart
            {
                Name = "test-counterpart-name",
                Inn  = "0987654321",
                Kpp  = "987654321"
            };
            dynamic counterpartAccessObject = testObjectsManager.CreateCounterparty(counterpart);

            testObjectsManager.CreateBankAccount(counterpartAccessObject.Ссылка,
                                                 new BankAccount
            {
                Bank = new Bank
                {
                    Bik = Banks.AlfaBankBik
                },
                Number       = "40702810001111122222",
                CurrencyCode = "643"
            });

            var account = dataContext.Select <БанковскиеСчета>()
                          .Single(x => x.Владелец is Контрагенты);

            Assert.That(account.ВалютаДенежныхСредств.Код, Is.EqualTo("643"));
            Assert.That(account.Владелец, Is.TypeOf <Контрагенты>());
            Assert.That(((Контрагенты)account.Владелец).ИНН, Is.EqualTo("0987654321"));
            Assert.That(((Контрагенты)account.Владелец).КПП, Is.EqualTo("987654321"));
        }
 public Credential(Counterpart source, string tradingSenderCompID, string tradingTargetCompID, string feedSenderCompID, string feedTargetCompID)
 {
     this.Source = source;
     this.TradingSenderCompID = tradingSenderCompID;
     this.TradingTargetCompID = tradingTargetCompID;
     this.FeedSenderCompID    = feedSenderCompID;
     this.FeedTargetCompID    = feedTargetCompID;
 }
Example #7
0
 public Order(uint internalUInt, Counterpart counterpart, string clOrdID, string account, Instrument instrument, decimal price, decimal qty, OrderSide orderSide, /*decimal stopPrice, */ OrderType orderType)
 {
     this.CreationTime = DateTime.UtcNow;
     this.InternalUInt = internalUInt;
     this.Counterpart  = counterpart;
     this.ClOrdID      = clOrdID;
     this.Account      = account;
     this.Instrument   = instrument;
     this.Price        = price;
     this.Qty          = qty;
     this.Side         = orderSide;
     //this.StopPrice = stopPrice;
     this.Type = orderType;
 }
Example #8
0
        public void ModifyReference()
        {
            var counterpart = new Counterpart
            {
                Inn      = "7711223344",
                Kpp      = "771101001",
                FullName = "Test counterparty",
                Name     = "Test counterparty"
            };
            dynamic counterpartyAccessObject        = testObjectsManager.CreateCounterparty(counterpart);
            var     counterpartContractAccessObject = testObjectsManager.CreateCounterpartContract(counterpartyAccessObject.Ссылка,
                                                                                                   new CounterpartyContract
            {
                Name         = "test-counterparty-contract",
                Kind         = CounterpartContractKind.Incoming,
                CurrencyCode = "643"
            });
            string initialCounterpartyContractVersion = counterpartContractAccessObject.DataVersion;
            string counterpartyContractCode           = counterpartContractAccessObject.Code;
            var    contract = dataContext.Select <ДоговорыКонтрагентов>()
                              .Single(x => x.Код == counterpartyContractCode);

            contract.Владелец.ИНН                = "7711223344";
            contract.Владелец.Наименование       = "Test counterparty 2";
            contract.Владелец.НаименованиеПолное = "Test counterparty 2";
            dataContext.Save(contract);

            var counterpartyTable = globalContext.Execute("ВЫБРАТЬ * ИЗ Справочник.Контрагенты ГДЕ ИНН=&Inn",
                                                          new Dictionary <string, object>
            {
                { "Inn", "7711223344" }
            }).Unload();

            Assert.That(counterpartyTable.Count, Is.EqualTo(1));
            Assert.That(counterpartyTable[0].GetString("Наименование"), Is.EqualTo("Test counterparty 2"));

            var counterpartyContractTable = globalContext.Execute("ВЫБРАТЬ Ссылка ИЗ Справочник.ДоговорыКонтрагентов ГДЕ Код=&Code",
                                                                  new Dictionary <string, object>
            {
                { "Code", counterpartyContractCode }
            }).Unload();

            Assert.That(counterpartyContractTable.Count, Is.EqualTo(1));

            var comObj      = counterpartyContractTable[0]["Ссылка"];
            var dataVersion = ((dynamic)comObj).DataVersion;

            Assert.That(dataVersion, Is.EqualTo(initialCounterpartyContractVersion));
        }
Example #9
0
 void host_OnQuote(Counterpart source, string ticker, decimal ask, decimal askSize, decimal bid, decimal bidSize, DateTime datetime)
 {
     this.Dispatcher.Invoke((Action)(() =>
     {
         if (this.SelectedTickerLabel.Text == ticker)
         {
             // usado internamente para generar ordenes
             this.selectedAsk = ask;
             this.selectedBid = bid;
             this.selectedTicker = ticker;
             // solo para visualizacion
             this.SelectedAskAndBidLabel.Text = string.Format("{0}/{1}", ask, bid);
         }
     }));
 }
Example #10
0
        public void SelectWithRef()
        {
            var counterpart = new Counterpart
            {
                Name = "test-counterpart-name",
                Inn  = "0987654321",
                Kpp  = "987654321"
            };
            dynamic counterpartAccessObject = testObjectsManager.CreateCounterparty(counterpart);
            var     bankAccountAccessObject = testObjectsManager.CreateBankAccount(counterpartAccessObject.Ссылка,
                                                                                   new BankAccount
            {
                Bank = new Bank
                {
                    Bik = Banks.AlfaBankBik
                },
                Number       = "40702810001111122222",
                CurrencyCode = "643"
            });

            counterpartAccessObject.ОсновнойБанковскийСчет = bankAccountAccessObject.Ссылка;
            counterpartAccessObject.Write();

            var counterpartyContractAccessObject =
                testObjectsManager.CreateCounterpartContract(counterpartAccessObject.Ссылка, new CounterpartyContract
            {
                CurrencyCode = "643",
                Name         = "Валюта",
                Kind         = CounterpartContractKind.OutgoingWithAgency
            });
            string counterpartContractCode = counterpartyContractAccessObject.Код;

            var contractFromStore = dataContext
                                    .Select <ДоговорыКонтрагентов>()
                                    .Single(x => x.Код == counterpartContractCode);

            Assert.That(contractFromStore.Владелец.ИНН, Is.EqualTo("0987654321"));
            Assert.That(contractFromStore.Владелец.КПП, Is.EqualTo("987654321"));
            Assert.That(contractFromStore.Владелец.Наименование, Is.EqualTo("test-counterpart-name"));
            Assert.That(contractFromStore.Владелец.ОсновнойБанковскийСчет.НомерСчета,
                        Is.EqualTo("40702810001111122222"));
            Assert.That(contractFromStore.Владелец.ОсновнойБанковскийСчет.Владелец,
                        Is.TypeOf <Контрагенты>());
            Assert.That(((Контрагенты)contractFromStore.Владелец.ОсновнойБанковскийСчет.Владелец)
                        .ИНН,
                        Is.EqualTo("0987654321"));
            Assert.That(contractFromStore.ВидДоговора, Is.EqualTo(ВидыДоговоровКонтрагентов.СКомиссионеромНаЗакупку));
        }
Example #11
0
        public static Credential GetCredential(Counterpart source)
        {
            switch (source)
            {
            case Counterpart.DBFX:
                throw new NotImplementedException(";)");

            case Counterpart.Dukascopy:
                return(Credentials.FirstOrDefault(x => x.Source == source));

            case Counterpart.HotSpotFX:
                throw new NotImplementedException(";)");

            default:
                throw new NotSupportedException("?");
            }
        }
        private int?AddCounterpart(string name)
        {
            var newObj = new Counterpart()
            {
                Name = name
            };

            string sql =
                $"INSERT INTO Counterpart (Name,IdSource) VALUES (@name,@_sourceClipper); SELECT CAST(SCOPE_IDENTITY() as int)";

            using (var connection = ConnectionFactory.GetOpenConnection())
            {
                newObj.Id = connection.Query <int>(sql, new { newObj.Name, _sourceClipper }).Single();
                CounterpartsList.Add(newObj);
            }

            return(newObj.Id);
        }
Example #13
0
        public void ChangeMustBeStrongerThanTracking()
        {
            var counterpart = new Counterpart
            {
                Inn      = "7711223344",
                Kpp      = "771101001",
                FullName = "Test counterparty",
                Name     = "Test counterparty"
            };
            dynamic counterpartyAccessObject        = testObjectsManager.CreateCounterparty(counterpart);
            var     counterpartContractAccessObject = testObjectsManager.CreateCounterpartContract(counterpartyAccessObject.Ссылка,
                                                                                                   new CounterpartyContract
            {
                CurrencyCode = "643",
                Name         = "test-contract",
                Kind         = CounterpartContractKind.Incoming
            });
            string counterpartyContractCode = counterpartContractAccessObject.Code;

            var contract = dataContext.Select <ДоговорыКонтрагентов>()
                           .Single(x => x.Код == counterpartyContractCode);

            if (contract.Владелец.ИНН == "7711223344")
            {
                contract.Владелец.ИНН = "7711223345";
                contract.Владелец     = new Контрагенты
                {
                    ИНН                = "7711223355",
                    Наименование       = "Test counterparty 2",
                    НаименованиеПолное = "Test counterparty 2"
                };
            }
            dataContext.Save(contract);

            var valueTable = globalContext.Execute("ВЫБРАТЬ * ИЗ Справочник.ДоговорыКонтрагентов ГДЕ Код=&Code",
                                                   new Dictionary <string, object>
            {
                { "Code", contract.Код }
            }).Unload();

            Assert.That(valueTable.Count, Is.EqualTo(1));
            Assert.That(ComHelpers.GetProperty(valueTable[0]["Владелец"], "Наименование"), Is.EqualTo("Test counterparty 2"));
        }
Example #14
0
        public void CanQueryWithSourceNameViaGenericInterface()
        {
            var counterpart = new Counterpart
            {
                Inn      = "7711223344",
                Kpp      = "771101001",
                FullName = "Test counterparty 1",
                Name     = "Test counterparty 2"
            };

            testObjectsManager.CreateCounterparty(counterpart);

            var catalogItem = dataContext.Select <IGenericCatalog>("Справочник.Контрагенты")
                              .Where(x => x.Наименование == "Test counterparty 2")
                              .Cast <object>()
                              .Single();

            Assert.That(catalogItem, Is.TypeOf <Контрагенты>());
        }
Example #15
0
        public void TypeOfAndPresentation()
        {
            var counterpart = new Counterpart
            {
                Name = "test-counterpart-name",
                Inn  = "0987654321",
                Kpp  = "987654321"
            };
            dynamic counterpartAccessObject = testObjectsManager.CreateCounterparty(counterpart);
            dynamic bankAccountAccessObject = testObjectsManager.CreateBankAccount(counterpartAccessObject.Ссылка,
                                                                                   new BankAccount
            {
                Bank = new Bank
                {
                    Bik = Banks.AlfaBankBik
                },
                Number       = "40702810001111122222",
                CurrencyCode = "643"
            });

            counterpartAccessObject.ОсновнойБанковскийСчет = bankAccountAccessObject.Ссылка;
            counterpartAccessObject.Write();

            testObjectsManager.CreateCounterpartContract(counterpartAccessObject.Ссылка, new CounterpartyContract
            {
                CurrencyCode = "643",
                Name         = "Валюта",
                Kind         = CounterpartContractKind.OutgoingWithAgency
            });

            var contractFromStore = dataContext.Select <ДоговорыКонтрагентов>()
                                    .Where(x => x.Владелец.ОсновнойБанковскийСчет.НомерСчета == "40702810001111122222")
                                    .Select(x => new
            {
                OwnerType             = x.Владелец.ОсновнойБанковскийСчет.Владелец.GetType(),
                OwnerTypePresentation = Функции.Представление(x.Владелец.ОсновнойБанковскийСчет.Владелец.GetType())
            })
                                    .ToList();

            Assert.That(contractFromStore.Count, Is.EqualTo(1));
            Assert.That(contractFromStore[0].OwnerType, Is.EqualTo(typeof(Контрагенты)));
            Assert.That(contractFromStore[0].OwnerTypePresentation, Is.EqualTo("Контрагент"));
        }
Example #16
0
        void Instance_OnExecutionInfo(Counterpart counterpart, ExecutionReportAdapted executionReportAdapted)
        {
            switch (counterpart)
            {
            case Counterpart.Dukascopy:
                Order order = this.OrdersBook.Values.ToList().FirstOrDefault(ord => ord.ClOrdID == executionReportAdapted.ClOrdID);
                if (order != null)
                {
                    order.DeliverExecutionReport(executionReportAdapted);
                }
                else
                {
                    throw new Exception("no se encontro la orden destino del mensaje");
                }
                break;

            default:
                break;
            }
        }
Example #17
0
        public void RerefenceProjection()
        {
            var counterpart = new Counterpart
            {
                Name = "test-counterpart-name",
                Inn  = "0987654321",
                Kpp  = "987654321"
            };
            dynamic counterpartAccessObject = testObjectsManager.CreateCounterparty(counterpart);
            string  code           = counterpartAccessObject.Код;
            var     counterparties = dataContext.Select <Контрагенты>()
                                     .Where(x => x.Код == code)
                                     .Select(x => new
            {
                Ссылка = x
            })
                                     .ToArray();

            Assert.That(counterparties.Length, Is.EqualTo(1));
            Assert.That(counterparties[0].Ссылка.Наименование, Is.EqualTo("test-counterpart-name"));
        }
Example #18
0
        protected object CreateTestCounterpart()
        {
            var counterpart = new Counterpart
            {
                Name = "test-counterpart-name",
                Inn  = "0987654321",
                Kpp  = "987654321"
            };
            dynamic counterpartAccessObject = testObjectsManager.CreateCounterparty(counterpart);

            testObjectsManager.CreateBankAccount(counterpartAccessObject.Ссылка,
                                                 new BankAccount
            {
                Bank = new Bank
                {
                    Bik = Banks.AlfaBankBik
                },
                Number       = "40702810001111122222",
                CurrencyCode = "643"
            });
            return(counterpartAccessObject);
        }
Example #19
0
        public void ComplexReferenceObjectProjection()
        {
            var counterpart = new Counterpart
            {
                Name = "test-counterpart-name",
                Inn  = "0987654321",
                Kpp  = "987654321"
            };

            testObjectsManager.CreateCounterparty(counterpart);
            var counterparties = dataContext.Select <Контрагенты>()
                                 .Where(x => !x.ПометкаУдаления)
                                 .Where(x => !x.ЭтоГруппа)
                                 .Where(x => x.Наименование == "test-counterpart-name")
                                 .Select(x => new
            {
                Id        = x.УникальныйИдентификатор,
                Reference = x
            })
                                 .ToArray();

            Assert.That(counterparties.Length, Is.EqualTo(1));
            Assert.That(counterparties[0].Reference, Is.TypeOf <Контрагенты>());
        }
 public void AssignWith(Counterpart counterpart)
 {
     Emit(new ContractAssignedToCounterpart {
         CounterpartId = counterpart.Id
     });
 }
Example #21
0
 private Order SellStopOrder(Counterpart counterpart, string clOrdID, string account, Instrument instrument, decimal qty, decimal stopPrice)
 {
     return(this.AddToOrdersBook(new Order(GetInternalUInt(), counterpart, clOrdID, account, instrument, stopPrice, qty, OrderSide.Sell, OrderType.Stop)));
 }
Example #22
0
 public Order SellLimitOrder(Counterpart counterpart, string clOrdID, string account, Instrument instrument, decimal qty, decimal limitPrice)
 {
     return(this.AddToOrdersBook(new Order(GetInternalUInt(), counterpart, clOrdID, account, instrument, limitPrice, qty, OrderSide.Sell, OrderType.StopLimit)));
 }
Example #23
0
 public Order SellOrder(Counterpart counterpart, string clOrdID, string account, Instrument instrument, decimal qty)
 {
     return(this.AddToOrdersBook(new Order(GetInternalUInt(), counterpart, clOrdID, account, instrument, 0m, qty, OrderSide.Sell, OrderType.Market)));
 }