|
|
|
@ -31,6 +31,7 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
side: z.enum(['Buy', 'Sell']),
|
|
|
|
side: z.enum(['Buy', 'Sell']),
|
|
|
|
entryPrice: z.string(),
|
|
|
|
entryPrice: z.string(),
|
|
|
|
qtyPercent: z.string(),
|
|
|
|
qtyPercent: z.string(),
|
|
|
|
|
|
|
|
qtyDecimalPoint: z.string(),
|
|
|
|
leverage: z.string().default('1'),
|
|
|
|
leverage: z.string().default('1'),
|
|
|
|
takeProfitPercent: z.string().optional(),
|
|
|
|
takeProfitPercent: z.string().optional(),
|
|
|
|
stopLossPercent: z.string().optional(),
|
|
|
|
stopLossPercent: z.string().optional(),
|
|
|
|
@ -77,7 +78,7 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
if (form.data.type === 'Flat') {
|
|
|
|
if (form.data.type === 'Flat') {
|
|
|
|
qty = (
|
|
|
|
qty = (
|
|
|
|
Number(form.data.qty) * Number(form.data.leverage || '1')
|
|
|
|
Number(form.data.qty) * Number(form.data.leverage || '1')
|
|
|
|
).toFixed(getDecimalPoint(symbol.slice(0, -4)))
|
|
|
|
).toString()
|
|
|
|
takeProfit = form.data.takeProfit
|
|
|
|
takeProfit = form.data.takeProfit
|
|
|
|
stopLoss = form.data.stopLoss
|
|
|
|
stopLoss = form.data.stopLoss
|
|
|
|
side = form.data.side
|
|
|
|
side = form.data.side
|
|
|
|
@ -110,7 +111,7 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
((Number(form.data.qtyPercent) / 100) *
|
|
|
|
((Number(form.data.qtyPercent) / 100) *
|
|
|
|
Number(form.data.leverage || '1'))) /
|
|
|
|
Number(form.data.leverage || '1'))) /
|
|
|
|
Number(form.data.entryPrice)
|
|
|
|
Number(form.data.entryPrice)
|
|
|
|
).toFixed(getDecimalPoint(symbol.slice(0, -4)))
|
|
|
|
).toFixed(Number(form.data.qtyDecimalPoint))
|
|
|
|
takeProfit = (
|
|
|
|
takeProfit = (
|
|
|
|
Number(form.data.entryPrice) *
|
|
|
|
Number(form.data.entryPrice) *
|
|
|
|
(1 + Number(form.data.takeProfitPercent) / 100)
|
|
|
|
(1 + Number(form.data.takeProfitPercent) / 100)
|
|
|
|
@ -160,9 +161,3 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
return new Response()
|
|
|
|
return new Response()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getDecimalPoint = (symbol: string) => {
|
|
|
|
|
|
|
|
if (symbol === 'BTC') return 3
|
|
|
|
|
|
|
|
if (symbol === 'ETH') return 2
|
|
|
|
|
|
|
|
return 1
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|