2020-06-17 18:38:25 +00:00
|
|
|
<template>
|
2021-03-19 07:43:32 +00:00
|
|
|
<div class="d-flex flex-column h-100">
|
2021-06-24 05:18:06 +00:00
|
|
|
<!-- <div v-if="isWebserverMode" class="mr-auto ml-3"> -->
|
|
|
|
<!-- Currently only available in Webserver mode -->
|
|
|
|
<!-- <b-checkbox v-model="historicView">HistoricData</b-checkbox> -->
|
|
|
|
<!-- </div> -->
|
2021-05-24 12:37:39 +00:00
|
|
|
<div v-if="historicView" class="mx-md-3 mt-2">
|
|
|
|
<div class="d-flex flex-wrap">
|
|
|
|
<div class="col-md-3 text-left">
|
|
|
|
<span>Strategy</span>
|
|
|
|
<StrategySelect v-model="strategy" class="mt-1"></StrategySelect>
|
2021-05-24 09:03:36 +00:00
|
|
|
</div>
|
2021-05-24 12:37:39 +00:00
|
|
|
<div class="col-md-3 text-left">
|
|
|
|
<span>Timeframe</span>
|
|
|
|
<TimeframeSelect v-model="selectedTimeframe" class="mt-1" />
|
|
|
|
</div>
|
|
|
|
<TimeRangeSelect v-model="timerange" class="col-12 col-md-5 mr-md-2"></TimeRangeSelect>
|
|
|
|
</div>
|
2020-07-11 15:25:28 +00:00
|
|
|
</div>
|
2020-07-02 05:01:24 +00:00
|
|
|
|
2021-06-22 19:08:03 +00:00
|
|
|
<div class="mx-2 mt-2 pb-1 h-100">
|
2020-09-14 17:56:43 +00:00
|
|
|
<CandleChartContainer
|
|
|
|
:available-pairs="historicView ? pairlist : whitelist"
|
|
|
|
:historic-view="historicView"
|
2021-05-23 14:57:39 +00:00
|
|
|
:timeframe="historicView ? selectedTimeframe : timeframe"
|
2020-09-14 17:56:43 +00:00
|
|
|
:trades="trades"
|
|
|
|
:timerange="historicView ? timerange : ''"
|
|
|
|
:strategy="historicView ? strategy : ''"
|
2021-06-22 19:08:03 +00:00
|
|
|
:plot-config-modal="false"
|
2020-09-14 17:56:43 +00:00
|
|
|
>
|
2020-08-08 13:37:18 +00:00
|
|
|
</CandleChartContainer>
|
2020-06-20 06:52:43 +00:00
|
|
|
</div>
|
2020-06-17 18:38:25 +00:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
2020-06-22 06:05:03 +00:00
|
|
|
<script lang="ts">
|
|
|
|
import { Component, Vue } from 'vue-property-decorator';
|
|
|
|
import { namespace } from 'vuex-class';
|
2020-08-08 13:38:47 +00:00
|
|
|
import CandleChartContainer from '@/components/charts/CandleChartContainer.vue';
|
2020-07-11 17:55:47 +00:00
|
|
|
import TimeRangeSelect from '@/components/ftbot/TimeRangeSelect.vue';
|
2021-05-23 14:57:39 +00:00
|
|
|
import TimeframeSelect from '@/components/ftbot/TimeframeSelect.vue';
|
2021-05-24 09:13:11 +00:00
|
|
|
import StrategySelect from '@/components/ftbot/StrategySelect.vue';
|
2021-08-28 09:39:03 +00:00
|
|
|
import { AvailablePairPayload, AvailablePairResult, Trade, WhitelistResponse } from '@/types';
|
2020-09-30 05:48:36 +00:00
|
|
|
import { BotStoreGetters } from '@/store/modules/ftbot';
|
2021-12-20 19:12:57 +00:00
|
|
|
import StoreModules from '@/store/storeSubModules';
|
2020-06-17 18:38:25 +00:00
|
|
|
|
2021-12-20 19:12:57 +00:00
|
|
|
const ftbot = namespace(StoreModules.ftbot);
|
2020-07-31 05:17:50 +00:00
|
|
|
|
2020-06-22 06:05:03 +00:00
|
|
|
@Component({
|
2021-05-24 09:13:11 +00:00
|
|
|
components: { CandleChartContainer, StrategySelect, TimeRangeSelect, TimeframeSelect },
|
2020-06-22 06:05:03 +00:00
|
|
|
})
|
|
|
|
export default class Graphs extends Vue {
|
2021-06-22 19:08:03 +00:00
|
|
|
historicView = false;
|
2020-07-02 17:58:06 +00:00
|
|
|
|
2020-07-27 05:20:35 +00:00
|
|
|
strategy = '';
|
|
|
|
|
2020-07-11 17:55:47 +00:00
|
|
|
timerange = '';
|
2020-07-11 15:25:28 +00:00
|
|
|
|
2021-05-23 14:57:39 +00:00
|
|
|
selectedTimeframe = '';
|
|
|
|
|
2021-08-28 09:39:03 +00:00
|
|
|
@ftbot.Getter [BotStoreGetters.pairlist]!: string[];
|
2020-08-01 15:39:47 +00:00
|
|
|
|
2021-08-28 09:39:03 +00:00
|
|
|
@ftbot.Getter [BotStoreGetters.whitelist]!: string[];
|
2020-06-22 06:05:03 +00:00
|
|
|
|
2021-08-28 09:39:03 +00:00
|
|
|
@ftbot.Getter [BotStoreGetters.trades]!: Trade[];
|
2020-07-13 18:52:29 +00:00
|
|
|
|
2020-09-30 05:48:36 +00:00
|
|
|
@ftbot.Getter [BotStoreGetters.timeframe]!: string;
|
|
|
|
|
2021-06-22 19:08:03 +00:00
|
|
|
@ftbot.Getter [BotStoreGetters.isWebserverMode]!: boolean;
|
|
|
|
|
2020-09-12 07:07:20 +00:00
|
|
|
@ftbot.Action public getWhitelist!: () => Promise<WhitelistResponse>;
|
2020-06-22 06:05:03 +00:00
|
|
|
|
2020-09-12 07:04:55 +00:00
|
|
|
@ftbot.Action public getAvailablePairs!: (
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
|
payload: AvailablePairPayload,
|
|
|
|
) => Promise<AvailablePairResult>;
|
2020-08-01 15:39:47 +00:00
|
|
|
|
2020-06-17 18:38:25 +00:00
|
|
|
mounted() {
|
2021-06-24 05:18:06 +00:00
|
|
|
this.historicView = this.isWebserverMode;
|
2021-06-22 19:08:03 +00:00
|
|
|
if (!this.whitelist || this.whitelist.length === 0) {
|
|
|
|
this.getWhitelist();
|
|
|
|
}
|
2021-06-23 16:55:17 +00:00
|
|
|
if (this.historicView) {
|
|
|
|
// this.refresh();
|
2021-11-06 15:19:01 +00:00
|
|
|
this.getAvailablePairs({ timeframe: this.timeframe });
|
|
|
|
// .then((val) => {
|
|
|
|
// console.log(val);
|
|
|
|
// });
|
2021-06-23 16:55:17 +00:00
|
|
|
}
|
2020-06-23 18:37:14 +00:00
|
|
|
}
|
2020-06-22 06:05:03 +00:00
|
|
|
}
|
2020-06-17 18:38:25 +00:00
|
|
|
</script>
|
|
|
|
|
2021-03-19 07:43:32 +00:00
|
|
|
<style scoped></style>
|