Skip to content

Commit 7972f69

Browse files
Patrick BanksPatrick Banks
authored andcommitted
Fixed bug save balance history after reset
1 parent e50af8d commit 7972f69

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

src/trader/http.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import express from "express"
33

44
import logger, { loggerOutput } from "../logger"
55
import env from "./env"
6-
import { deleteTrade, resetVirtualBalances, setVirtualWalletFunds, tradingMetaData} from "./trader"
6+
import { deleteBalanceHistory, deleteTrade, resetVirtualBalances, setVirtualWalletFunds, tradingMetaData} from "./trader"
77
import { Dictionary } from "ccxt"
88
import { BalanceHistory } from "./types/trader"
99
import BigNumber from "bignumber.js"
@@ -84,15 +84,16 @@ export default function startWebserver(): http.Server {
8484
if (Authenticate(req, res)) {
8585
if (req.query.reset) {
8686
const asset = req.query.reset.toString().toUpperCase()
87-
let result = ""
88-
for (let tradingType of Object.keys(tradingMetaData.balanceHistory)) {
89-
if (asset in tradingMetaData.balanceHistory[tradingType]) {
90-
delete tradingMetaData.balanceHistory[tradingType][asset]
87+
const tradingTypes = deleteBalanceHistory(asset)
88+
if (tradingTypes.length) {
89+
let result = ""
90+
for (let tradingType of tradingTypes) {
9191
result += `${asset} ${tradingType} balance history has been reset.<br>`
9292
}
93+
res.send(result)
94+
} else {
95+
res.send(`No balance history found for ${asset}.`)
9396
}
94-
if (!result) result = `No balance history found for ${asset}.`
95-
res.send(result)
9697
} else {
9798
const pnl: Dictionary<Dictionary<{}>> = {}
9899
const now = new Date()

src/trader/trader.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2071,6 +2071,19 @@ function initialiseVirtualBalances(walletType: WalletType, market: Market) {
20712071
}
20722072
}
20732073

2074+
// Just clears the Balance History for a given coin, will clear both real and virtual
2075+
export function deleteBalanceHistory(asset: string): string[] {
2076+
const result: string[] = []
2077+
for (let tradingType of Object.keys(tradingMetaData.balanceHistory)) {
2078+
if (asset in tradingMetaData.balanceHistory[tradingType]) {
2079+
delete tradingMetaData.balanceHistory[tradingType][asset]
2080+
result.push(tradingType)
2081+
}
2082+
}
2083+
if (result.length) saveState("virtualBalances")
2084+
return result
2085+
}
2086+
20742087
// Updates the running balance for the current day
20752088
function updateBalanceHistory(tradingType: TradingType, quote: string, entryType?: EntryType, balance?: BigNumber, change?: BigNumber) {
20762089
if (!Object.keys(tradingMetaData.balanceHistory).includes(tradingType)) tradingMetaData.balanceHistory[tradingType] = {}

0 commit comments

Comments
 (0)