rate limit DCA

This commit is contained in:
tim
2025-03-19 20:27:10 -04:00
parent cd84e7c3c9
commit 8750951de5
14 changed files with 651 additions and 325 deletions

View File

@@ -93,16 +93,9 @@
<template v-for="(t, i) in item.order.tranches">
<tr>
<td class="text-right" colspan="2">
<div class="text-right">
<div v-if="s.clock < item.trancheStatus[i].startTime">
Activates {{ timestampString(item.trancheStatus[i].startTime) }}
</div>
<div v-if="s.clock < item.trancheStatus[i].endTime && item.trancheStatus[i].endTime < DISTANT_FUTURE">
Expires {{ timestampString(item.trancheStatus[i].endTime) }}
</div>
</div>
<div>
<div class="mx-3" v-if="t.marketOrder">market order</div>
<div class="mx-3" v-if="t.marketOrder && t.rateLimitFraction === MAX_FRACTION">market order</div>
<div class="mx-3" v-if="t.marketOrder && t.rateLimitFraction < MAX_FRACTION">DCA {{Math.round(MAX_FRACTION/t.rateLimitFraction)}} parts</div>
<line-price class="mx-3" v-if="!t.marketOrder"
:base="item.base" :quote="item.quote"
:b="t.minLine.intercept" :m="t.minLine.slope" :is-breakout="!item.minIsLimit"
@@ -112,7 +105,10 @@
:b="t.maxLine.intercept" :m="t.maxLine.slope" :is-breakout="item.minIsLimit"
:show-btn="true"/>
</div>
<div class="text-right" v-if="item.state===OrderState.Open">
<div>{{ describeTrancheTime(item, i, true) }}</div>
<div>{{ describeTrancheTime(item, i, false) }}</div>
</div>
</td>
<td class="text-right">
<suspense>
@@ -170,7 +166,7 @@ import {useStore} from "@/store/store";
import {computed, defineAsyncComponent, onUnmounted, ref, watch} from "vue";
import Btn from "@/components/Btn.vue"
import {cancelOrder, useWalletStore} from "@/blockchain/wallet.js";
import {DISTANT_FUTURE, isOpen, OrderState} from "@/blockchain/orderlib.js";
import {DISTANT_FUTURE, isOpen, MAX_FRACTION, OrderState} from "@/blockchain/orderlib.js";
import Pulse from "@/components/Pulse.vue";
import {OrderShapes} from "@/charts/ordershapes.js";
import {useChartOrderStore} from "@/orderbuild.js";
@@ -376,7 +372,6 @@ const orders = computed(()=>{
function describeTrancheTime(st, trancheIndex, isStart) {
const t = st.order.tranches[trancheIndex]
const ts = st.trancheStatus[trancheIndex]
console.log('describeTT', t, ts)
let result = ''
if( t.minIsBarrier || t.maxIsBarrier )
return 'barrier'