frequi_origin/src/components/ftbot/DailyStats.vue

68 lines
1.8 KiB
Vue
Raw Normal View History

2020-05-17 18:43:19 +00:00
<template>
2020-05-22 18:04:27 +00:00
<div>
<div class="mb-2">
2022-10-30 13:26:23 +00:00
<label class="me-auto h3">Daily Stats</label>
<b-button class="float-end" size="sm" @click="botStore.activeBot.getDaily">&#x21bb;</b-button>
</div>
2020-05-22 18:04:27 +00:00
<div>
2022-04-19 04:33:25 +00:00
<DailyChart
v-if="botStore.activeBot.dailyStats.data"
2022-09-27 16:11:58 +00:00
:daily-stats="botStore.activeBot.dailyStatsSorted"
2022-04-19 04:33:25 +00:00
/>
</div>
2020-06-11 18:24:17 +00:00
<div>
2022-04-19 04:33:25 +00:00
<b-table class="table-sm" :items="botStore.activeBot.dailyStats.data" :fields="dailyFields">
</b-table>
2020-06-11 18:24:17 +00:00
</div>
2020-05-17 18:43:19 +00:00
</div>
</template>
2020-10-25 09:35:19 +00:00
<script lang="ts">
2022-07-07 18:44:19 +00:00
import { defineComponent, computed, onMounted } from 'vue';
import DailyChart from '@/components/charts/DailyChart.vue';
import { formatPercent } from '@/shared/formatters';
2022-04-19 04:33:25 +00:00
import { useBotStore } from '@/stores/ftbotwrapper';
import { TableField } from 'bootstrap-vue-next';
2020-05-17 18:43:19 +00:00
2022-04-17 08:01:15 +00:00
export default defineComponent({
2020-05-17 18:43:19 +00:00
name: 'DailyStats',
2020-06-11 18:24:17 +00:00
components: {
DailyChart,
2020-06-11 18:24:17 +00:00
},
2022-04-17 08:01:15 +00:00
setup() {
2022-04-19 04:33:25 +00:00
const botStore = useBotStore();
const dailyFields = computed<TableField[]>(() => {
const res: TableField[] = [
2020-05-17 18:43:19 +00:00
{ key: 'date', label: 'Day' },
{
key: 'abs_profit',
label: 'Profit',
// formatter: (value: unknown) => formatPrice(value as number),
},
2021-02-03 06:53:38 +00:00
{
key: 'fiat_value',
2022-04-19 04:33:25 +00:00
label: `In ${botStore.activeBot.dailyStats.fiat_display_currency}`,
// formatter: (value: unknown) => formatPrice(value as number, 2),
2021-02-03 06:53:38 +00:00
},
2020-05-17 18:43:19 +00:00
{ key: 'trade_count', label: 'Trades' },
];
if (botStore.activeBot.botApiVersion >= 2.16)
res.push({
key: 'rel_profit',
label: 'Profit%',
formatter: (value: unknown) => formatPercent(value as number, 2),
});
return res;
2022-04-17 08:01:15 +00:00
});
onMounted(() => {
2022-04-19 04:33:25 +00:00
botStore.activeBot.getDaily();
2022-04-17 08:01:15 +00:00
});
return {
2022-04-19 04:33:25 +00:00
botStore,
2022-04-17 08:01:15 +00:00
dailyFields,
};
2020-09-04 15:08:02 +00:00
},
2020-10-25 09:35:19 +00:00
});
2020-05-17 18:43:19 +00:00
</script>