From c0e9eb7521c8fb8590d48b609852bacd5924474f Mon Sep 17 00:00:00 2001 From: TZGyn Date: Thu, 20 Feb 2025 01:44:15 +0800 Subject: [PATCH] add isleverage indicator --- src/routes/webhook/tradingview/+server.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/routes/webhook/tradingview/+server.ts b/src/routes/webhook/tradingview/+server.ts index dc0babe..832ef83 100644 --- a/src/routes/webhook/tradingview/+server.ts +++ b/src/routes/webhook/tradingview/+server.ts @@ -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) {