Exemplo n.º 1
0
 internal TradeCirculaire(ValeurEchange m1m2, Richesse etapeM2, ValeurEchange m2m3, ValeurEchange m3m1) : base(3)
 {
     Investissement = m1m2.RichesseAvantTrade(etapeM2);
     EtapeM2        = Investissement.Quantite > 0 ? etapeM2 : new Richesse(0, etapeM2.Monnaie);
     EtapeM3        = m2m3.RichesseApresTrade(EtapeM2);
     ApresTrade     = m3m1.RichesseApresTrade(EtapeM3);
 }
Exemplo n.º 2
0
        private static Richesse TrouveProchaineEtape(Monnaie monnaieInitiale, Monnaie monnaiePivot, ValeurEchange valeurEchangeInitiale, ValeurEchange valeurEchangeFinale, ref int i, ref int j)
        {
            Richesse etapeSensNaturelle = valeurEchangeInitiale.GetRichesseToTrade(monnaieInitiale, i);
            Richesse etapeSensInverse   = valeurEchangeInitiale.RichesseAvantTrade(valeurEchangeFinale.GetRichesseToTrade(monnaiePivot, j));

            if (etapeSensNaturelle < etapeSensInverse)
            {
                ++i;
                return(etapeSensNaturelle);
            }
            ++j;
            return(etapeSensInverse);
        }