Files
trading_bot_v3/app/api/test-trade-calculation/route.js
mindesbunister 55cea00e5e Fix automated trading display calculations
Fixed position size calculation: 00 investment now shows 00 position (was 04.76)
 Fixed token amount display: Now shows correct tokens (~0.996) for 00 investment (was 2.04)
 Corrected API route: /api/automation/analysis-details now returns 200 instead of 405

Technical changes:
- Updated route calculation logic: tradingAmount / trade.price for correct token amounts
- Fixed displayPositionSize to show intended investment amount
- Used Docker Compose v2 for container management
- Resolved Next.js module export issues

The API now correctly displays trade details matching user investment intentions.
2025-07-20 22:32:16 +02:00

51 lines
1.6 KiB
JavaScript

import { NextResponse } from 'next/server'
export async function GET() {
try {
// Test calculation
const tradingAmount = 100
const price = 100.3703837088441
const dbAmount = 2.04
const leverage = 1
const intendedTokenAmount = tradingAmount / price
const actualDatabaseAmount = dbAmount
const actualPositionValue = actualDatabaseAmount * price
const displayPositionSize = (tradingAmount * leverage).toFixed(2)
const testTrade = {
side: 'BUY',
amount: intendedTokenAmount, // Corrected amount
tradingAmount: tradingAmount,
leverage: leverage,
positionSize: displayPositionSize, // Corrected position size
price: price,
displayInfo: {
investedAmount: `$${tradingAmount}`,
tokensAcquired: intendedTokenAmount.toFixed(4),
entryPrice: `$${price.toFixed(2)}`,
totalPositionValue: `$${displayPositionSize}`,
leverageUsed: `${leverage}x`,
explanation: `Invested $${tradingAmount} @ $${price.toFixed(2)}/token = ${intendedTokenAmount.toFixed(4)} tokens`,
databaseNote: `DB stores ${actualDatabaseAmount.toFixed(2)} tokens ($${actualPositionValue.toFixed(2)} value) - display corrected to show intended $${tradingAmount} investment`
}
}
return NextResponse.json({
success: true,
message: 'Trade calculation test',
originalDatabaseValues: {
dbAmount: dbAmount,
dbPositionValue: actualPositionValue.toFixed(2)
},
correctedDisplayValues: testTrade
})
} catch (error) {
return NextResponse.json({
success: false,
error: error.message
}, { status: 500 })
}
}