@if($positions->isEmpty() && $leveragedOpen->isEmpty())
No open positions. Browse markets to start trading.
@else
@foreach($positions as $pos) @php $lp = (float) ($pos->symbol ? (\App\Support\LiveMarketQuoteStore::priceOrLatest($pos->symbol) ?? 0) : 0); $val = $pos->quantity * $lp; $pnl = ($lp - $pos->avg_price) * $pos->quantity; $pnlPct = $pos->avg_price > 0 ? (($lp - $pos->avg_price) / $pos->avg_price) * 100 : 0; @endphp @endforeach @foreach($leveragedOpen as $position) @php $leveragedCurrent = (float) ($position->symbol ? (\App\Support\LiveMarketQuoteStore::priceOrLatest($position->symbol) ?? 0) : 0); $leveragedPnl = $leveragedCurrent > 0 ? app(\App\Services\LeveragedTradingService::class)->pnl($position, $leveragedCurrent) : 0; $leveragedUnits = $position->entry_price > 0 ? $position->exposure / $position->entry_price : 0; $leveragedDecimals = $position->symbol->decimal_places ?? 2; @endphp @endforeach @php $summary = $summary ?? ['balance' => 0, 'credit' => 0, 'equity' => 0, 'margin' => 0, 'margin_level' => null, 'free_margin' => 0, 'unrealized_pnl' => 0]; $summaryMoney = fn ($value) => 'USD '.number_format((float) $value, 2); @endphp
TypeTrade IDOpenedInstrumentDirection QTY / UNITSEntry CurrentValue P&LProtectionAction
Asset {{ $pos->public_trade_id }}
@include('portal.partials.symbol-icon', ['symbol' => $pos->symbol])
{{ $pos->symbol->name ?? '-' }}
{{ $pos->symbol?->display_symbol ?? '—' }}
LONG {{ rtrim(rtrim(number_format($pos->quantity, 8), '0'), '.') }} {{ number_format($pos->avg_price, $pos->symbol->decimal_places ?? 2) }} {{ $lp > 0 ? number_format($lp, $pos->symbol->decimal_places ?? 2) : '—' }} {{ $lp > 0 ? '$'.number_format($val, 2) : '—' }} @if($lp > 0){{ ($pnl >= 0 ? '+' : '').number_format($pnl, 2) }}
({{ ($pnlPct >= 0 ? '+' : '').number_format($pnlPct, 2) }}%)@else — @endif
— Trade
Leveraged {{ $position->public_trade_id }} @php $leveragedOpenedAt = $position->opened_at ?? $position->created_at; @endphp
@include('portal.partials.symbol-icon', ['symbol' => $position->symbol])
{{ $position->symbol->name ?? '-' }}
{{ $position->symbol?->display_symbol ?? '—' }}
{{ strtoupper($position->direction) }}{{ $position->leverage }}× {{ rtrim(rtrim(number_format($leveragedUnits, 8), '0'), '.') }} {{ number_format($position->entry_price, $leveragedDecimals) }} {{ $leveragedCurrent > 0 ? number_format($leveragedCurrent, $leveragedDecimals) : '—' }} USD {{ number_format($position->exposure, 2) }} USD {{ number_format($leveragedPnl, 2) }}
Balance: {{ $summaryMoney($summary['balance']) }} Credit: {{ $summaryMoney($summary['credit']) }} Equity: {{ $summaryMoney($summary['equity']) }} Margin: {{ $summaryMoney($summary['margin']) }} Margin level: {{ $summary['margin_level'] === null ? 'N/A' : number_format($summary['margin_level'], 2).'%' }} Free margin: {{ $summaryMoney($summary['free_margin']) }} P&L: {{ ($summary['unrealized_pnl'] >= 0 ? '+' : '-') . $summaryMoney(abs($summary['unrealized_pnl'])) }}
@endif