orderbuilding fixes for new line price semantics
This commit is contained in:
@@ -28,7 +28,7 @@ import {useOrderStore, useStore} from "@/store/store";
|
||||
import LimitPrice from "@/components/LimitPrice.vue";
|
||||
import Order from "@/components/Order.vue";
|
||||
import {computed, ref} from "vue";
|
||||
import {applyLinePoints, linePointsValue} from "@/orderbuild.js";
|
||||
import {applyLinePoints, linePointsValue, useChartOrderStore} from "@/orderbuild.js";
|
||||
import {newTranche} from "@/blockchain/orderlib.js";
|
||||
import TimeEntry from "@/components/TimeEntry.vue";
|
||||
import RoutePrice from "@/components/RoutePrice.vue";
|
||||
@@ -47,7 +47,8 @@ const curLimit = computed(()=>linePointsValue(time1.value, price1.value, time2.v
|
||||
|
||||
function buildTranches() {
|
||||
const t = newTranche();
|
||||
applyLinePoints(t, time1.value, price1.value, time2.value, price2.value)
|
||||
const co = useChartOrderStore();
|
||||
applyLinePoints(t, co.selectedSymbol, os.buy, time1.value, price1.value, time2.value, price2.value)
|
||||
return [t]
|
||||
}
|
||||
|
||||
|
||||
@@ -124,11 +124,11 @@
|
||||
<div class="mx-3" v-if="t.marketOrder">market order</div>
|
||||
<line-price class="mx-3" v-if="!t.marketOrder"
|
||||
:base="item.token0" :quote="item.token1"
|
||||
:b="t.minIntercept" :m="t.minSlope" :is-min="true"
|
||||
:b="t.minLine.intercept" :m="t.minLine.slope" :is-min="true"
|
||||
:buy="item.order.tokenIn===item.token1" :show-btn="true"/>
|
||||
<line-price class="mx-3" v-if="!t.marketOrder"
|
||||
:base="item.token0" :quote="item.token1"
|
||||
:b="t.maxIntercept" :m="t.maxSlope" :is-min="false"
|
||||
:b="t.maxLine.intercept" :m="t.maxLine.slope" :is-min="false"
|
||||
:buy="item.order.tokenIn===item.token1" :show-btn="true"/>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
@@ -136,9 +136,6 @@ function buildTranches() {
|
||||
const lb = _endpoints.value[1]
|
||||
const ws = weights.value
|
||||
const symbol = co.selectedSymbol
|
||||
const inverted = symbol.inverted
|
||||
const scale = 10 ** -symbol.decimals
|
||||
const isMinimum = inverted === order.buy
|
||||
for (let i = 0; i < ws.length; i++) {
|
||||
const w = ws[i]
|
||||
const t = newTranche({fraction: w * MAX_FRACTION})
|
||||
@@ -153,15 +150,7 @@ function buildTranches() {
|
||||
// console.log('tranche start/end',
|
||||
// t.startTime === DISTANT_PAST ? 'PAST' : t.startTime,
|
||||
// t.endTime === DISTANT_FUTURE ? 'FUTURE' : t.endTime)
|
||||
if (inverted) {
|
||||
// invert prices
|
||||
line[1] = 1/line[1]
|
||||
line[3] = 1/line[3]
|
||||
}
|
||||
// scale to pool decimals
|
||||
line[1] *= scale
|
||||
line[3] *= scale
|
||||
applyLinePoints(t, isMinimum, ...line)
|
||||
applyLinePoints(t, symbol, order.buy, ...line)
|
||||
tranches.push(t)
|
||||
}
|
||||
return tranches
|
||||
|
||||
@@ -81,23 +81,16 @@ function buildTranches() {
|
||||
console.log('buildTranches', builder, order, tranches)
|
||||
const ps = prices.value
|
||||
const ws = weights.value
|
||||
const symbol = co.selectedSymbol
|
||||
const scale = 10 ** -symbol.decimals
|
||||
const inverted = symbol.inverted
|
||||
const isMinimum = inverted === order.buy
|
||||
for(let i=0; i<ps.length; i++) {
|
||||
let p = ps[i]
|
||||
if (inverted)
|
||||
p = 1/p
|
||||
p *= scale
|
||||
const w = ws[i]
|
||||
const t = newTranche({
|
||||
// todo start/end
|
||||
fraction: w * MAX_FRACTION,
|
||||
})
|
||||
const symbol = co.selectedSymbol
|
||||
console.log('symbol', symbol, isMinimum, p)
|
||||
applyLine(t, isMinimum, p, 0)
|
||||
console.log('symbol', symbol, p)
|
||||
applyLine(t, symbol, order.buy, p, 0)
|
||||
tranches.push(t)
|
||||
}
|
||||
return tranches
|
||||
|
||||
Reference in New Issue
Block a user