|
|
|
|
@ -20,7 +20,7 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
|
symbol: z.string(),
|
|
|
|
|
side: z.enum(['Buy', 'Sell']),
|
|
|
|
|
qty: z.string(),
|
|
|
|
|
leverage: z.string().default('1'),
|
|
|
|
|
leverage: z.string().optional(),
|
|
|
|
|
takeProfit: z.string().optional(),
|
|
|
|
|
stopLoss: z.string().optional(),
|
|
|
|
|
})
|
|
|
|
|
@ -59,6 +59,15 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
|
let stopLoss
|
|
|
|
|
let side
|
|
|
|
|
|
|
|
|
|
let isLeverage
|
|
|
|
|
if (form.data.type === 'Close Position') {
|
|
|
|
|
isLeverage = false
|
|
|
|
|
} else if (form.data.leverage) {
|
|
|
|
|
isLeverage = true
|
|
|
|
|
} else {
|
|
|
|
|
isLeverage = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const client = new RestClientV5({
|
|
|
|
|
key: key,
|
|
|
|
|
secret: secret,
|
|
|
|
|
@ -67,7 +76,7 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
|
|
|
|
|
|
if (form.data.type === 'Flat') {
|
|
|
|
|
qty = (
|
|
|
|
|
Number(form.data.qty) * Number(form.data.leverage)
|
|
|
|
|
Number(form.data.qty) * Number(form.data.leverage || '1')
|
|
|
|
|
).toFixed(getDecimalPoint(symbol.slice(0, -4)))
|
|
|
|
|
takeProfit = form.data.takeProfit
|
|
|
|
|
stopLoss = form.data.stopLoss
|
|
|
|
|
@ -94,7 +103,7 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
|
qty = (
|
|
|
|
|
(Number(wallet.result.list[0].totalAvailableBalance) *
|
|
|
|
|
((Number(form.data.qtyPercent) / 100) *
|
|
|
|
|
Number(form.data.leverage))) /
|
|
|
|
|
Number(form.data.leverage || '1'))) /
|
|
|
|
|
Number(form.data.entryPrice)
|
|
|
|
|
).toFixed(getDecimalPoint(symbol.slice(0, -4)))
|
|
|
|
|
takeProfit = (
|
|
|
|
|
@ -137,6 +146,7 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
|
qty,
|
|
|
|
|
takeProfit,
|
|
|
|
|
stopLoss,
|
|
|
|
|
isLeverage: isLeverage ? 1 : 0,
|
|
|
|
|
})
|
|
|
|
|
return new Response()
|
|
|
|
|
} catch (error) {
|
|
|
|
|
|