add taxes
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
<script setup lang="ts">
|
||||
import { storeToRefs } from "pinia";
|
||||
import { useMarketTaxStore } from "./tax";
|
||||
|
||||
const { brokerFee, scc } = storeToRefs(useMarketTaxStore());
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="end">
|
||||
<span>Broker Fee: </span>
|
||||
<input type="number" min="1" max="3" step="0.01" v-model="brokerFee" />
|
||||
</div>
|
||||
<div class="end">
|
||||
<span>SCC: </span>
|
||||
<input type="number" min="3.6" max="8" step="0.01" v-model="scc" >
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="postcss">
|
||||
div.end {
|
||||
@apply justify-self-end ms-2;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,4 @@
|
||||
export * from './tax';
|
||||
|
||||
export { default as TaxInput } from './TaxInput.vue';
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import { useLocalStorage } from "@vueuse/core";
|
||||
import { defineStore } from "pinia";
|
||||
|
||||
export const useMarketTaxStore = defineStore("marketTax", () => {
|
||||
const brokerFee = useLocalStorage("market-brokerFee", 1.5);
|
||||
const scc = useLocalStorage("market-scc", 3.6);
|
||||
|
||||
const applyTaxes = (price: number, sellOrder?: boolean) => sellOrder ? price * (1 - (brokerFee.value + scc.value) / 100) : price * (1 + brokerFee.value / 100);
|
||||
const calculateProfit = (buy: number, sell: number) => (applyTaxes(sell, true) / applyTaxes(buy)) - 1;
|
||||
|
||||
return { brokerFee, scc, applyTaxes, calculateProfit };
|
||||
});
|
||||
Reference in New Issue
Block a user