diff --git a/README.md b/README.md index c94d09400d4961dda70c76a0a5bc3b8aedb1a46d..a09598ba42554fae30a344add48bdf80b5f3832b 100644 --- a/README.md +++ b/README.md @@ -255,12 +255,12 @@ Si vous souhaitez tester la dé-sérialisation du JSON en object, voici un exemp ``` ## Ajoutons des fonctionnalités -* la méthode `void buy(Currency CurrencyToBuy, double amount, Currency currencyUsedToBy)` permet d'acheter avec des `currencyUsedToBy` la monnaie `CurrencyToBuy`, l'achat se fait selon le taux de change au moment de l'achat et la banque prend 0,2% du montant en frais de transaction. Attention, il n'est pas possible de faire l'achat s'il n'y a pas suffisamment de `̀currencyUsedToBy` -* la méthode `void sell(Currency currencyToSell, double amount, Currency currencyTarget)` permet de vendre des `currencyToSell` en `currencyTarget`, la vente se fait selon le taux de change au moment de la vente et la banque prend 0,2% du montant en frais de transaction. Attention, il n'est pas possible de faire l'achat s'il n'y a pas suffisamment de `̀currencyToSell` +* la méthode `void buy(Currency CurrencyToBuy, double amount, Currency currencyUsedToBuy)` permet d'acheter avec des `currencyUsedToBuy` la monnaie `CurrencyToBuy`, l'achat se fait selon le taux de change au moment de l'achat et la banque prend 0,2% du montant en frais de transaction. Attention, il n'est pas possible de faire l'achat s'il n'y a pas suffisamment de `currencyUsedToBuy`. Les frais de transaction s'appliquent sur le montant en `CurrencyToBuy` dans une opération à suivre. +* la méthode `void sell(Currency currencyToSell, double amount, Currency currencyTarget)` permet de vendre des `currencyToSell` en `currencyTarget`, la vente se fait selon le taux de change au moment de la vente et la banque prend 0,2% du montant en frais de transaction. Attention, il n'est pas possible de faire l'achat s'il n'y a pas suffisamment de `currencyToSell` * la méthode `void withdraw(double amount, Currency currency)` permet de retirer du portefeuille `amount` de `currency` pour les mettre sur un compte en banque. La banque ne supporte pour l'instant que les comptes en euro. La banque prend 2% du montant en frais de transaction. * la méthode `void deposit(double amount, Currency currency)` permet d'ajouter `amount` de `currency`dans le portefeuille. C'est la seule transaction gratuite. * la méthode `String[] history(LocaDate start, LocalDate end)` permet de lister sous forme de tableau de `String` toutes les transactions entre `start` et `end`. Une ligne de transaction est de la forme `Date au format ISO 8601 | Type d'opération | Montant | Devise source format ISO | Devise cible format ISO | Taux de change (source vers cible)`. -* la méthode `void order(Currency CurrencyToBuy, double amount, Currency currencyUsedToBy, double lowerRateLimit, double upperRateLimit)` permet de lancer un ordre d'achat qui va scruter les taux de changes toutes les minutes pour n'acheter que si le taux est compris entre `lowerRateLimit` et `upperRateLimit`. La méthode s'arrête dès que la transaction a pu être réalisée. +* la méthode `void order(Currency CurrencyToBuy, double amount, Currency currencyUsedToBuy, double lowerRateLimit, double upperRateLimit)` permet de lancer un ordre d'achat qui va scruter les taux de changes toutes les minutes pour n'acheter que si le taux est compris entre `lowerRateLimit` et `upperRateLimit`. La méthode s'arrête dès que la transaction a pu être réalisée. ## Calcul de la performance @@ -270,7 +270,9 @@ Par exemple : ``` 2024-03-16T10:18:32+01:00 | deposit | 100 | EUR | EUR | 1 EUR = 1 EUR 2024-03-16T10:19:52+01:00 | buy | 120 | EUR | USD | 1 EUR = 1.2 USD +2024-03-16T10:19:52+01:00 | fees | - 2.4 | USD | USD | 1 USD = 1 USD 2024-03-17T10:20:12+01:00 | buy | 105.84 | USD | EUR | 1 USD = .9 EUR +2024-03-17T10:20:12+01:00 | fees | - 2.12 | EUR | EUR | 1 EUR = 1 EUR ``` Si on détaille le solde opération par opération : @@ -290,7 +292,9 @@ Par exemple : 2024-03-16T10:18:32+01:00 | deposit | 100 | EUR | EUR | 1 EUR = 1 EUR 2024-03-16T10:18:32+01:00 | deposit | 120 | EUR | USD | 1 EUR = 1.2 EUR 2024-03-16T10:19:52+01:00 | buy | 110 | EUR | USD | 1 EUR = 1.1 USD +2024-03-16T10:19:52+01:00 | fees | - 2.2 | USD | USD | 1 USD = 1 USD 2024-03-17T10:20:12+01:00 | buy | 90 | USD | EUR | 1 USD = .9 EUR +2024-03-17T10:20:12+01:00 | fees | - 1.8 | EUR | EUR | 1 EUR = 1 EUR 2024-03-17T10:21:44+01:00 | deposit | 100 | EUR | EUR | 1 EUR = 1 EUR ```