add close order to hedge mode

master
TZGyn 9 months ago
parent 9e8aa12a90
commit 7e88251df7
Signed by: TZGyn
GPG Key ID: 122EAF77AE81FD4A

@ -45,6 +45,7 @@ export const POST = async ({ locals, request }) => {
secret: z.string(),
symbol: z.string(),
hedge: z.enum(['true', 'false']).optional(),
side: z.enum(['Buy', 'Sell']).optional(),
})
const form = z
.union([flatSchema, percentSchema, closePositionSchema])
@ -143,6 +144,8 @@ export const POST = async ({ locals, request }) => {
console.log('closing')
console.log(position.result.list)
if (hedge === 'true') {
const closeSide = form.data.side
if (closeSide === undefined) {
return new Response()
}
@ -150,6 +153,23 @@ export const POST = async ({ locals, request }) => {
return new Response()
}
const order = position.result.list.find(
(result) => result.side === closeSide,
)
if (!order) {
return new Response()
}
side =
order.side === 'Buy' ? ('Sell' as const) : ('Buy' as const)
qty = order.size
positionIdx = order.side === 'Buy' ? 1 : 2
} else {
if (position.result.list.length <= 0) {
return new Response()
}
if (position.result.list[0].side === 'None')
return new Response()
side =
@ -158,6 +178,7 @@ export const POST = async ({ locals, request }) => {
: ('Buy' as const)
qty = position.result.list[0].size
}
}
console.log({ qty, takeProfit, stopLoss })
const order = await client.submitOrder({

Loading…
Cancel
Save