diff --git a/src/components/trends/PriceTrend.vue b/src/components/trends/PriceTrend.vue index 9723c133..57e68aab 100644 --- a/src/components/trends/PriceTrend.vue +++ b/src/components/trends/PriceTrend.vue @@ -14,19 +14,22 @@
- - - - {{ trend.receive.totalChange | displayRounding }} % + + + ± + {{ trend.changeVal * 2 | displayRounding }} %
Last 7 days
- + }]" + :min="Math.min(...trend.receive.graphPoints) - trend.changeVal" + :max="Math.max(...trend.receive.graphPoints) + trend.changeVal" />
@@ -65,7 +68,26 @@ export default { ? { val: trend.receive.chaosValue, curr: 'c' } : Prices.autoCurrency(trend.receive.chaosValue, 'c') - return { price, ...trend } + let changeStr = 'const' + if (trend.receive.graphPoints.length === 7) { + if ( + trend.receive.graphPoints.filter(p => p > 0).length >= 4 || + trend.receive.graphPoints.slice(4).every(p => p > 0) + ) { + changeStr = 'up' + } else if ( + trend.receive.graphPoints.filter(p => p < 0).length >= 4 || + trend.receive.graphPoints.slice(4).every(p => p < 0) + ) { + changeStr = 'down' + } + } + + const n = trend.receive.graphPoints.length + const mean = trend.receive.graphPoints.reduce((a, b) => a + b) / n + const changeVal = Math.sqrt(trend.receive.graphPoints.map(x => Math.pow(x - mean, 2)).reduce((a, b) => a + b) / (n - 1)) + + return { price, ...trend, changeStr, changeVal } }, isValuableBasetype () { return isValuableBasetype(this.item)