diff --git a/src/lib/numbers.ts b/src/lib/numbers.ts new file mode 100644 index 0000000..83af15b --- /dev/null +++ b/src/lib/numbers.ts @@ -0,0 +1,4 @@ +function roundUp(num: number, precision: number) { + precision = Math.pow(10, precision) + return Math.ceil(num * precision) / precision +} diff --git a/src/routes/webhook/tradingview/tradingstop/+server.ts b/src/routes/webhook/tradingview/tradingstop/+server.ts index 4afe6e6..1376f98 100644 --- a/src/routes/webhook/tradingview/tradingstop/+server.ts +++ b/src/routes/webhook/tradingview/tradingstop/+server.ts @@ -160,10 +160,11 @@ export const POST = async ({ locals, request }) => { (1 - Number(form.data.activePricePercent) / 100) ).toFixed(decimalLength) - const trailingDistance = ( + const trailingDistance = roundUp( Number(form.data.entryPrice) * - (Number(form.data.trailingDistancePercent) / 100) - ).toFixed(decimalLength) + (Number(form.data.trailingDistancePercent) / 100), + decimalLength, + ).toString() const tradingStops = await Promise.all([ await client.setTradingStop({