NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Inštancia Analytics aj každý výsledkový objekt implementujú kontrakty Arrayable a Jsonable z Laravelu a JsonSerializable z PHP, takže ich môžete priamo vrátiť v odpovediach API:

// In a controller — returns the full result matrix as JSON
return $analytics;

// Or explicitly
return response()->json($analytics);

$analytics->toArray();   // nested array
$analytics->toJson();    // JSON string
json_encode($analytics); // same payload via JsonSerializable

$analytics->expectancy->toJson(); // any single result serializes the same way

Každý samostatný výsledok (napr. $analytics->expectancy, $analytics->counts) aj hodnotový objekt NumericValueAsString sa serializujú rovnako.

Tvar dát

toArray() obsahuje len metriky, ktoré bežali, pod kľúčmi v snake_case; P&L je pod profit_and_loss.realized a profit_and_loss.unrealized. Sumy a pomery sú reťazce, takže cestou do JSON sa nestratí žiadna presnosť:

array_keys($analytics->toArray());
// ['counts', 'wins', 'volume', 'value', 'commission', 'profit_and_loss',
//  'profit_factor', 'cumulative_return', 'frequency', 'duration', 'streaks',
//  'expectancy', 'risk_reward_ratio', 'win_rate_by_period', 'max_drawdown',
//  'risk_adjusted_returns']

$analytics->toArray()['profit_and_loss']['realized']['net']['pnl']['global']['total'];
// [
//     'total' => '781.00',
//     'average' => '260.33',
//     'highest' => ['value' => '990.00', 'pair' => 'BTC/USD'],
//     'lowest' => ['value' => '-306.00', 'pair' => 'ETH/USD'],
// ]

$analytics->counts->toArray()['per_pair'];
// ['BTC/USD' => ['total' => '1', 'buy' => '1', 'sell' => '0'],
//  'ETH/USD' => ['total' => '2', 'buy' => '1', 'sell' => '1']]
  • V rozpadoch per_pair, per_base_currency a per_quote_currency výsledky typu počet (counts, wins, streaks) vynechávajú položky s nulovým súčtom, kým agregáty (volume, value, commission, duration, P&L, kumulatívny výnos) uvádzajú každý kľúč, do ktorého prispel obchod — aj pár, ktorého P&L vyjde presne 0 —, a vynechávajú kľúče, ktoré sa len prečítali cez forPair() a podobné metódy.
  • wins.win_ratio uvádza každý kľúč s uzavretým obchodom, vrátane pomeru 0.00.
  • frequency serializuje každú hodnotu ako celé pole (value, scale, prefix, suffix a formatted), takže jednotka putuje spolu s číslom.
  • Formátované reťazce obsahujú predponu alebo príponu, ak je nastavená.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.