Esempio n. 1
0
        public async Task <IActionResult> PutCapital([FromRoute] Guid id, [FromBody] Capital capital)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != capital.Id)
            {
                return(BadRequest());
            }

            _context.Entry(capital).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CapitalExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Esempio n. 2
0
 public Capitals()
 {
     foreach (var item in _fileNames)
     {
         using (StreamReader reader = new StreamReader(item, Encoding.GetEncoding("windows-1251")))
         {
             while (reader.Peek() > -1)
             {
                 Task<string> readText = reader.ReadLineAsync();
                 if (readText != null)
                 {
                     string[] cuntryAndCapital = readText.Result.Split(';');
                     cuntryAndCapital[0] = cuntryAndCapital[0].Trim();
                     cuntryAndCapital[1] = cuntryAndCapital[1].Trim();
                     Capital newOne = new Capital
                     {
                         NameCountry = cuntryAndCapital[0],
                         NameCapital = cuntryAndCapital[1]
                     };
                     _countriesWithCapitals.Add(newOne);
                 }
             }
         }
     }
 }
Esempio n. 3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            double Caja, Banco, CuentasporCobrar, PagoaCredito, PagoaProveedores, Renta, Capital;

            btnCalcular.TouchUpInside += delegate
            {
                try
                {
                    Caja             = double.Parse(txtCaja.Text);
                    Banco            = double.Parse(txtBanco.Text);
                    CuentasporCobrar = double.Parse(txtCuentasporCobrar.Text);
                    PagoaCredito     = double.Parse(txtPagoaCredito.Text);
                    PagoaProveedores = double.Parse(txtPagoaProveedores.Text);
                    Renta            = double.Parse(txtRenta.Text);
                    Capital          = (Caja + Banco + CuentasporCobrar) -
                                       (PagoaCredito + PagoaProveedores + Renta);
                    txtCapitalContable.Text = Capital.ToString();
                }
                catch (Exception ex)
                {
                    MessageBox("Error", (ex.Message));
                }
            };
        }
        private void mnu_rem_Click_1(object sender, RoutedEventArgs e)
        {
            int     a              = 0;
            int     c              = 0;
            int     a2             = 0;
            Capital cap            = ak.Capitals.FirstOrDefault(i => i.ID == get_id);
            List <CapitalDetail> b = ak.CapitalDetails.Where(i => i.IDCapital == get_id).ToList();

            if (cap != null)
            {
                MessageBoxResult m = MessageBox.Show("آیا مایل به حذف میباشید", "حذف", MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (m == MessageBoxResult.Yes)
                {
                    c = b.Count;

                    foreach (var item in b)
                    {
                        ak.CapitalDetails.Remove(item);
                        a += ak.SaveChanges();
                    }
                    ak.Capitals.Remove(cap);
                    a2 = ak.SaveChanges();

                    if (a == c && a2 == 1)
                    {
                        grd_tankhah.ItemsSource = ak.Capitals.ToList();
                        get_id = Guid.Empty;
                    }
                }
            }
            else
            {
                MessageBox.Show("مقداری جهت حذف یافت نشد");
            }
        }
Esempio n. 5
0
 // Currently, the only script that inherits from Player is BattlePlayer, which is a testing script
 protected virtual void Awake()
 {
     capital      = GetComponentInChildren <Capital> ();
     stratPoints  = GetComponentInChildren <StrategicPoints> ();
     tempBuilding = GetComponentInChildren <TempBuilding> ();
     tempBuilding.gameObject.SetActive(false);
     Era           = Eras.StoneAge;
     ResourcesDict = new Dictionary <ResourceType, float> ();
     ResourcesDict.Add(ResourceType.Gold, startgold);
     ResourcesDict.Add(ResourceType.Wood, startwood);
     ResourcesDict.Add(ResourceType.Unique, startunique);
     units     = GetComponentInChildren <Units>();
     buildings = GetComponentInChildren <Buildings>();
     if (species != Species.Wolves)
     {
         species = PlayerManager.GetSpecies();
     }
     GameManager.playersDick.Add(species, this);
     gameObject.name = species.ToString();
     color           = Pop_Dynamics_Model.speciesColorDick [species];
     if (species == PlayerManager.playerSpecies)
     {
         GameManager.HumanPlayer = this;
         userInput = gameObject.AddComponent <UserInput>();
     }
     else
     {
         gameObject.AddComponent <AI>();
     }
     InitializeStatsDicks();
 }
Esempio n. 6
0
        // раз в месяц все пересчитываем
        override public void MonthlyUpdate()
        {
            double Bill;

            Subjects.Provinces[0].MonthlyUpdate();

            Capital.TaxLevel = Kazna.TaxLevel;      // это значение могло поменяться в форме экрана
            Capital.MonthlyUpdate();
            Bill = Capital.CollectTax();
            Kazna.Income(Bill);         // Kazna.TaxLevel = Capital.TaxLevel;
            Treasure += (int)Bill;

            Citadel.MonthlyUpdate();
            if ((Bill = Citadel.Expense) <= Treasure)
            {
                Citadel.PayWages(Bill);
                Treasure -= (int)Bill;
                Kazna.Expense(Bill);
            }
            else
            {
                Citadel.PayWages(0);
            }

            Kazna.MonthUpdate();
// тут надо проапдейдить войско и прочих, подбить расходы, просчитать новые перки и отношения двора и т.д.
        }
Esempio n. 7
0
 public void GetKeyDown(object sender, KeyEventArgs e)
 {
     if (mclass.isEnabledAllKeys)
     {
         if ((e.Key >= Key.D0 && e.Key <= Key.Z) || (e.Key >= Key.Oem1 && e.Key <= Key.OemBackslash) || e.Key == Key.Space)
         {
             mclass.CurrentKeyArg = e;
         }
         var mybutton = (Button)this.FindName(e.Key.ToString());
         if (mybutton != null && e.Key != Key.Capital)
         {
             typeof(Button).GetMethod("set_IsPressed", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(mybutton, new object[] { true });
         }
         else if (e.Key == Key.Capital)
         {
             Capital.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); //CapsLock Push Pull event
         }
         else if (e.Key == Key.System)                                   //this is for Alt buttons because they are same code
         {
             typeof(Button).GetMethod("set_IsPressed", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(SystemL, new object[] { true });
             typeof(Button).GetMethod("set_IsPressed", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(SystemR, new object[] { true });
         }
     }
     e.Handled = true;
 }
Esempio n. 8
0
 public Capitals()
 {
     foreach (var item in _fileNames)
     {
         using (StreamReader reader = new StreamReader(item, Encoding.GetEncoding("windows-1251")))
         {
             while (reader.Peek() > -1)
             {
                 Task <string> readText = reader.ReadLineAsync();
                 if (readText != null)
                 {
                     string[] cuntryAndCapital = readText.Result.Split(';');
                     cuntryAndCapital[0] = cuntryAndCapital[0].Trim();
                     cuntryAndCapital[1] = cuntryAndCapital[1].Trim();
                     Capital newOne = new Capital
                     {
                         NameCountry = cuntryAndCapital[0],
                         NameCapital = cuntryAndCapital[1]
                     };
                     _countriesWithCapitals.Add(newOne);
                 }
             }
         }
     }
 }
Esempio n. 9
0
        public void CambiarExcepcionPrueba()
        {
            float   costo    = 1623.5f;
            Capital esperado = new Capital
            {
                Billete500 = 0,
                Billete200 = 1,
                Billete100 = 1,
                Billete50  = 1,
                Billete20  = 1,
                Moneda10   = 0,
                Moneda5    = 1,
                Moneda2    = 0,
                Moneda1    = 1,
                Moneda05   = 1
            };

            try
            {
                Capital resultado = Cambio.Cambiar(500, costo);
            }
            catch (Exception e)
            {
                Assert.IsTrue(e.GetType() == typeof(ArgumentException));

                ArgumentException argumentException = (ArgumentException)e;
                Assert.AreEqual(argumentException.ParamName, "montoRecibido");
            }
        }
Esempio n. 10
0
        public void CambiarCorrectoPrueba()
        {
            float   costo    = 1623.5f;
            Capital esperado = new Capital
            {
                Billete500 = 0,
                Billete200 = 1,
                Billete100 = 1,
                Billete50  = 1,
                Billete20  = 1,
                Moneda10   = 0,
                Moneda5    = 1,
                Moneda2    = 0,
                Moneda1    = 1,
                Moneda05   = 1
            };
            Capital resultado = Cambio.Cambiar(2000, costo);

            Assert.AreEqual(esperado.Billete500, resultado.Billete500);
            Assert.AreEqual(esperado.Billete200, resultado.Billete200);
            Assert.AreEqual(esperado.Billete100, resultado.Billete100);
            Assert.AreEqual(esperado.Billete50, resultado.Billete50);
            Assert.AreEqual(esperado.Billete20, resultado.Billete20);
            Assert.AreEqual(esperado.Moneda10, resultado.Moneda10);
            Assert.AreEqual(esperado.Moneda5, resultado.Moneda5);
            Assert.AreEqual(esperado.Moneda2, resultado.Moneda2);
            Assert.AreEqual(esperado.Moneda1, resultado.Moneda1);
            Assert.AreEqual(esperado.Moneda05, resultado.Moneda05);
        }
Esempio n. 11
0
        public void OnDayClose(DateTime todaysDate, decimal totalCapitalToday)
        {
            //update the status of each trade
            foreach (TradeTracker t in TradeTrackers.Values)
            {
                t.Update(todaysDate, _data, _fxData);
            }

            //update position stats
            foreach (var kvp in Positions)
            {
                int id = kvp.Key;

                Position p         = kvp.Value;
                decimal  fxRate    = p.Currency == null || p.Currency.ID == 1 ? 1 : _fxData[p.Currency.ID][0].Close;
                decimal? lastPrice = !_data.ContainsKey(id) || _data[id].CurrentBar < 0 ? (decimal?)null : _data[id][0].Close;
                p.GetPnL(lastPrice, fxRate);
            }

            //Capital usage and profit/loss for the day
            Capital.AddLong(Positions.Sum(x => x.Value.Capital.Long.Last()));
            Capital.AddShort(Positions.Sum(x => x.Value.Capital.Short.Last()));
            decimal todaysPnl = TradeTrackers.Sum(x => x.Value.TodaysPnL);

            _logger.Log(LogLevel.Trace, string.Format("Portfolio {0} @ {1}: Capital used: {2:0.00} P/L: {3:0.00}",
                                                      Name,
                                                      todaysDate,
                                                      Capital.TodaysCapitalGross,
                                                      todaysPnl));

            //P/L curves
            ProfitLossEquityCurve.AddChange((double)todaysPnl, todaysDate);
            ProfitLossLongEquityCurve.AddValue((double)TradeTrackers.Sum(x => x.Value.TotalPnlLong), todaysDate);
            ProfitLossShortEquityCurve.AddValue((double)TradeTrackers.Sum(x => x.Value.TotalPnlShort), todaysDate);

            //ROAC
            if (Capital.TodaysCapitalGross == 0)
            {
                _deferredPnL += todaysPnl;
                RoacEquityCurve.AddReturn(0, todaysDate);
            }
            else
            {
                RoacEquityCurve.AddReturn((double)((_deferredPnL + todaysPnl) / Capital.TodaysCapitalGross), todaysDate);
                _deferredPnL = 0;
            }

            //ROTC
            if (totalCapitalToday == 0)
            {
                RotcEquityCurve.AddReturn(0, todaysDate);
            }
            else
            {
                RotcEquityCurve.AddReturn((double)(todaysPnl / totalCapitalToday), todaysDate);
            }

            Capital.EndOfDay();
        }
Esempio n. 12
0
 private void frmAddInventory_Load(object sender, EventArgs e)
 {
     clsThemes.ApplyTheme(this, new clsThemes.ThemeSettings(Properties.Settings.Default.Theme));
     txtQuantity.Text = Quantity.ToString();
     txtQuantity.SelectAll();
     txtCapital.Text = Capital.ToString();
     txtRetail.Text  = Retail.ToString();
 }
 private void grd_tankhah_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         Capital c = (Capital)grd_tankhah.SelectedItem;
         get_id = c.ID;
     }
     catch { }
 }
Esempio n. 14
0
 public static void BeforeVisitor(List <IAzeroth> Capitals)
 {
     Console.WriteLine("Before visitor: \n");
     foreach (var Capital in Capitals)
     {
         Capital.WriteCapitalName();
         Console.WriteLine("\n");
     }
 }
Esempio n. 15
0
 public static void AfterVisitor(List <IAzeroth> Capitals, IVisitor visitor)
 {
     Console.WriteLine("After visitor: \n");
     foreach (var Capital in Capitals)
     {
         Capital.WriteCapitalName();
         Capital.Accept(visitor);
         Console.WriteLine("\n");
     }
 }
Esempio n. 16
0
        private int GetCapitalEconomicPoints(Capital capital)
        {
            int points = 0;

            foreach (Models.System system in capital.CapitalSystems)
            {
                GetPlanetEconomicPoints(system.Planets);
            }
            return(points);
        }
Esempio n. 17
0
        public override PdxSublist GetHistoryFile()
        {
            var data = new PdxSublist(null, (FileName == CountryTag ? CountryTag : (CountryTag + " - " + FileName)) + ".txt");

            data.AddValue("government", Government);
            foreach (var reform in Reforms)
            {
                data.AddValue("add_government_reform", reform);
            }
            data.AddValue("government_rank", GovernmentRank.ToString());
            data.AddValue("mercantilism", Mercantilism.ToString());
            //TODO: tech groups
            data.AddValue("technology_group", TechGroup);
            data.AddValue("religion", Religion);
            data.AddValue("primary_culture", PrimaryCulture);
            foreach (var culture in AcceptedCultures)
            {
                data.AddValue("add_accepted_culture", culture);
            }
            if (IsElector)
            {
                data.AddValue("elector", "yes");
            }
            if (Capital != 0)
            {
                data.AddValue("capital", Capital.ToString());
            }
            if (holder != null)
            {
                var rulerData = GetCharacterData("monarch", holder);


                //rulerData.AddValue("clear_scripted_personalities", "yes");
                data.AddSublist(rulerData.Key, rulerData);
                if (title.Name == "k_dyn_8040718")
                {
                    Console.WriteLine();
                }
                var heir = holder.Heir;
                if (heir != null)
                {
                    var heirData = GetCharacterData("heir", heir);
                    data.AddSublist(heirData.Key, heirData);
                }
                //TODO: heirs
                //if(holder.PrimaryTitle.Succession == "succ_primogeniture")
                //{

                //}
            }
            //TODO: heirs & spouses

            return(data);
        }
        public async Task <CapitalDataViewModel> CancelCapital(long id)
        {
            Capital capital = capitalRepo.FirstOrDefault(x => x.Id == id);

            capital.Status = CapitalStatus.Cancelled;
            await work.SaveAsync();

            CapitalDataViewModel result = mapper.Map <Capital, CapitalDataViewModel>(capital);

            return(result);
        }
        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            Capital cp = new Capital
            {
                ID = Guid.NewGuid()
            };

            ak.Capitals.Add(cp);
            ak.SaveChanges();

            pass_data.id_capital = cp.ID;
        }
        public CapitalDataViewModel GetCapitalsById(long id)
        {
            Capital capital = capitalRepo.FirstOrDefault(x => x.Id == id);

            if (capital is null)
            {
                return(null);
            }
            CapitalDataViewModel result = mapper.Map <Capital, CapitalDataViewModel>(capital);

            return(result);
        }
Esempio n. 21
0
        private decimal CalculateCapitalUsage(Order order)
        {
            decimal capitalUsage = 0;
            //If the order is toward the end of the day, we don't want to count it for the day's capital usage
            var timeLimit = new TimeSpan(15, 40, 00);

            if (order.TradeDate.TimeOfDay < timeLimit)
            {
                capitalUsage = GetCapitalUsage(order);
            }
            else
            {
                //Unless! It's an intraday trade which we entered and exited after the cutoff,
                //in which case we want to count it
                if (Quantity == 0 || Math.Sign(Quantity) == Math.Sign(order.Quantity))
                {
                    //Adding to a position
                    //We just want to keep track of this, no reason to add capital usage yet
                    _avgPriceEnteredAfterEodCutoff =
                        (Math.Abs(order.Quantity) * GetCapitalUsagePriceBasis(order.Price, order.FXRateToBase) + Math.Abs(_quantityEnteredAfterEodCutoff) * _avgPriceEnteredAfterEodCutoff)
                        / Math.Abs(order.Quantity + _quantityEnteredAfterEodCutoff);
                    _quantityEnteredAfterEodCutoff += order.Quantity;
                }
                else if (_quantityEnteredAfterEodCutoff != 0)
                {
                    //Exiting a position opened after the cutoff
                    decimal originalQuantityEntered = _quantityEnteredAfterEodCutoff;
                    if (order.Quantity > 0)
                    {
                        //exiting a short
                        capitalUsage = Math.Min(order.Quantity, -_quantityEnteredAfterEodCutoff) * _avgPriceEnteredAfterEodCutoff;
                        Capital.AddShort(capitalUsage);
                        _quantityEnteredAfterEodCutoff -= Math.Min(order.Quantity, -_quantityEnteredAfterEodCutoff);
                    }
                    else
                    {
                        //exiting a long
                        capitalUsage = Math.Min(-order.Quantity, _quantityEnteredAfterEodCutoff) * _avgPriceEnteredAfterEodCutoff;
                        Capital.AddLong(capitalUsage);
                        _quantityEnteredAfterEodCutoff -= Math.Min(-order.Quantity, _quantityEnteredAfterEodCutoff);
                    }

                    //Did we actually reverse the position?
                    if (Math.Abs(order.Quantity) > Math.Abs(originalQuantityEntered))
                    {
                        _quantityEnteredAfterEodCutoff = Math.Sign(order.Quantity) * (Math.Abs(order.Quantity) - Math.Abs(originalQuantityEntered));
                        _avgPriceEnteredAfterEodCutoff = GetCapitalUsagePriceBasis(order.Price, order.FXRateToBase);
                    }
                }
            }

            return(capitalUsage);
        }
Esempio n. 22
0
        public async Task <IActionResult> PostCapital([FromBody] Capital capital)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Capitals.Add(capital);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCapital", new { id = capital.Id }, capital));
        }
Esempio n. 23
0
        public PdxSublist GetHistoryCountryFile(Vic2World world)
        {
            var data = new PdxSublist(null);

            data.AddValue("capital", Capital.ToString());
            data.AddValue("primary_culture", PrimaryCulture);
            AcceptedCultures.ForEach(c => data.AddValue("culture", c));
            data.AddValue("religion", Religion);
            data.AddValue("government", Government);
            data.AddValue("plurality", Plurality.ToString());
            if (NationalValues != null)
            {
                data.AddValue("nationalvalue", NationalValues.Value);
            }
            data.AddValue("literacy", Literacy.ToString());
            data.AddValue("civilized", IsCivilised ? "yes" : "no");

            data.AddValue("prestige", Prestige.ToString());
            if (Reforms != null)
            {
                Reforms.AddData(data);
            }
            if (Technologies != null)
            {
                Technologies.ForEach(t => data.AddValue(t, "1"));
            }
            data.AddValue("consciousness", Consciousness.ToString());
            // todo
            data.AddValue("nonstate_consciousness", (Consciousness / 3).ToString());
            if (RulingParty != null)
            {
                data.AddValue("ruling_party", RulingParty.Name);
            }
            data.AddDate("last_election", LastElection);
            if (UpperHouse != null)
            {
                data.AddSublist("upper_house", UpperHouse.GetData(data));
            }
            if (TechSchools != null)
            {
                data.AddValue("schools", Enum.GetName(typeof(TechSchool), TechSchools.TechSchool));
            }

            if (FemaleLeaders && (Reforms.vote_franschise == vote_franschise.universal_voting || Reforms.vote_franschise == vote_franschise.universal_weighted_voting))
            {
                var entry = new PdxSublist();
                entry.AddValue("decision", "enact_female_suffrage");

                data.AddSublist(world.StartDate, entry);
            }
            return(data);
        }
Esempio n. 24
0
        private void JY_QueryCapital_Done(object sender, Capital e)
        {
            string  key     = "A_" + account_id;
            Account account = new Account()
            {
                capital_available   = decimal.Parse(e.available),
                capital_stock_value = decimal.Parse(e.value),
                capital_total       = decimal.Parse(e.assets),
                capital_profit      = decimal.Parse(e.profit),
                synchronized_time   = DateTime.Now.Format()
            };

            AccountRA.UpdateCapital(account, key);
        }
        public async Task <CapitalDataViewModel> UpdateCapital(UpdateCapitalViewModel request)
        {
            Capital capital = capitalRepo.FirstOrDefault(x => x.Id == request.Id);

            if (capital is null)
            {
                return(null);
            }

            capital = mapper.Map <UpdateCapitalViewModel, Capital>(request);
            capitalRepo.Update(capital);
            await work.SaveAsync();

            CapitalDataViewModel result = mapper.Map <Capital, CapitalDataViewModel>(capital);

            return(result);
        }
        public async Task <CapitalDataViewModel> CreateCapital(CreateCapitalViewModel request)
        {
            DappUser user = userRepo.FirstOrDefault(x => x.PublicAddress == request.CreatorPublicAddress);

            if (user is null)
            {
                return(null);
            }
            Capital capital = mapper.Map <CreateCapitalViewModel, Capital>(request);

            capital.Creator      = user;
            capital.CreationDate = DateTime.Today;
            capital.Status       = CapitalStatus.Finished;
            capitalRepo.Add(capital);
            await work.SaveAsync();

            CapitalDataViewModel result = mapper.Map <Capital, CapitalDataViewModel>(capital);

            return(result);
        }
Esempio n. 27
0
        public void Salida_Datos_Tabla()
        {
            int i = 1;

            do
            {
                Console.Write("{0}\t", pagos);

                pagos = pagos + 1;

                Console.Write("{0}\t", Dinero.ToString("0.00"));


                Interes = Interes_M * Prestamo;
                Console.Write("\t{0}\t", Interes.ToString("0.00"));


                Capital = Dinero - Interes;
                Console.Write(" \t{0}\t", Capital.ToString("0.00"));


                Prestamo = Prestamo - (Capital);

                if (Prestamo < 1)
                {
                    Console.Write(" \t{0} \t   ", Prestamo = 0);
                }
                else
                {
                    Console.Write(" \t{0}    ", Prestamo.ToString("0.00"));
                }


                Console.WriteLine();

                i++;
            } while (i <= Plazo);
            Console.WriteLine();
        }
Esempio n. 28
0
        /// <summary>
        /// Update the capital usage given a new order
        /// </summary>
        private decimal GetCapitalUsage(Order order)
        {
            decimal capitalUsage = 0;

            if (Math.Sign(order.Quantity) == Math.Sign(Quantity) || Math.Abs(order.Quantity) > Math.Abs(Quantity))
            {
                //if reversing
                if ((order.Quantity < 0 && Quantity > 0) ||
                    (order.Quantity > 0 && Quantity < 0))
                {
                    capitalUsage = GetCapitalUsage(Math.Abs(Math.Abs(order.Quantity) - Math.Abs(Quantity)), order.Price, order.FXRateToBase);

                    if (order.Quantity > 0)
                    {
                        Capital.AddLong(Math.Abs(Math.Abs(order.Quantity) - Math.Abs(Quantity)) * order.Price * order.FXRateToBase * Instrument.Multiplier * GetCapitalUsageMultiplier(Instrument.AssetCategory));
                    }
                    else
                    {
                        Capital.AddShort(Math.Abs(Math.Abs(order.Quantity) - Math.Abs(Quantity)) * order.Price * order.FXRateToBase * Instrument.Multiplier * GetCapitalUsageMultiplier(Instrument.AssetCategory));
                    }
                }
                else //if adding
                {
                    capitalUsage = GetCapitalUsage(order.Quantity, order.Price, order.FXRateToBase);

                    if (order.Quantity > 0)
                    {
                        Capital.AddLong(Math.Abs(order.Quantity * order.Price) * order.FXRateToBase * Instrument.Multiplier * GetCapitalUsageMultiplier(Instrument.AssetCategory));
                    }
                    else
                    {
                        Capital.AddShort(Math.Abs(order.Quantity * order.Price) * order.FXRateToBase * Instrument.Multiplier * GetCapitalUsageMultiplier(Instrument.AssetCategory));
                    }
                }
            }

            return(capitalUsage);
        }
 public void TakeDamage(float damage)
 {
     if (!beingAttacked)
     {
         beingAttacked = true;
     }
     // tell the map manager im under attack
     mapScript.CheckForAnAttack(gameObject);
     tileHitPoints = tileHitPoints - damage;
     if (tileHitPoints <= 0)
     {
         // check if I'm a capital
         if (myTag == "Capital")
         {
             Capital capital = GetComponent <Capital>();
             capital.CallGameOver();
         }
         else
         {
             KillTile();
         }
     }
 }
Esempio n. 30
0
        public void Update(DateTime currentDate, Dictionary <int, TimeSeries> data, Dictionary <int, TimeSeries> fxData)
        {
            TodaysPnL = 0;
            if (!Open)
            {
                return;
            }

            //Update positions
            foreach (var kvp in Positions)
            {
                int id = kvp.Key;

                Position p      = kvp.Value;
                decimal  fxRate = p.Currency == null || p.Currency.ID <= 1 ? 1 : fxData[p.Currency.ID][0].Close;
                TodaysPnL += p.GetPnL(data[id].CurrentBar < 0 ? (decimal?)null : data[id][0].Close, fxRate);
            }

            //Update currency positions
            foreach (var kvp in CurrencyPositions)
            {
                int id = kvp.Key;
                if (fxData[id].CurrentBar < 0)
                {
                    continue;
                }

                CurrencyPosition p      = kvp.Value;
                decimal          fxRate = fxData[id][0].Close;
                TodaysPnL += p.Update(fxRate);
            }

            if (Positions.Any(x => x.Value.Capital.Gross.Count > 0))
            {
                Capital.AddLong(Positions.Sum(x => x.Value.Capital.Long.Last()));
                Capital.AddShort(Positions.Sum(x => x.Value.Capital.Short.Last()));
            }

            if (Capital.TodaysCapitalGross != 0)
            {
                _currentEquity *= (double)(1 + TodaysPnL / Capital.TodaysCapitalGross);
            }
#if DEBUG
            _logger.Log(LogLevel.Trace, string.Format("Trade tracker ID {0} @ {1}, todays capital usage {2:0.00}, P/L: {3:0.00}",
                                                      Trade.ID,
                                                      currentDate,
                                                      Capital.TodaysCapitalGross,
                                                      TodaysPnL));
#endif

            Capital.EndOfDay();

            _totalPnL += TodaysPnL;

            CumulativeReturns.Add(currentDate, _currentEquity);
            CumulativePnL.Add(currentDate, _totalPnL);

            Open = Positions.Values.Sum(x => x.Quantity) != 0 ||
                   CurrencyPositions.Values.Sum(x => x.Quantity) != 0 ||
                   (_ordersRemaining > 0 && _ordersRemaining < Trade.Orders.Count);
        }
Esempio n. 31
0
 void Awake()
 {
     area    = rend.sprite.texture;
     capital = gameObject.GetComponentInChildren <Capital>();
 }