Fasáda TradingAnalytics
Odporúčaným vstupným bodom je RoundlyConsulting\TradingAnalytics\Facades\TradingAnalytics. Jej koreňom je RoundlyConsulting\TradingAnalytics\TradingAnalyticsManager — singleton v kontajneri, ktorý znormalizuje vstup a vytvorí engine Analytics. Každá metóda prijme zdroj obchodov: akýkoľvek iterovateľný zdroj obchodov či riadkov (všetko, čo prečíta Trade::fromRow(), vrátane objektov Trade, aj v kombinácii) alebo zoradený dopyt — query builder, Eloquent builder či reláciu. Riadky mapuje lenivo:
use RoundlyConsulting\TradingAnalytics\Facades\TradingAnalytics;
$analytics = TradingAnalytics::for($rows)->scale(2)->calculate(); // the engine, ready to configure
$analytics = TradingAnalytics::calculate($rows, only: [Counts::class]); // build and run in one call
// A query is a trade source too — streamed in pages of $chunk rows (default 1000)
$analytics = TradingAnalytics::calculate($account->trades()->orderBy('close_time')->orderBy('id'), chunk: 500);
$trades = TradingAnalytics::trades($rows); // LazyCollection<int, Trade>, mapped lazily
TradingAnalytics::metrics(); // the calculator class-strings only / except() accept
TradingAnalytics::using(DeskAnalytics::class); // build every engine from your subclass (once, in boot())
TradingAnalytics::engine(); // 'App\Analytics\DeskAnalytics'Všetky metódy
| Metóda fasády | Vracia | Účel |
|---|---|---|
for($trades, int $chunk = 1000) | Analytics | Vytvorí engine pre zdroj obchodov, pripravený na nastavenie. |
calculate($trades, ?array $only = null, int $chunk = 1000) | Analytics | Vytvorí ho a spustí, voliteľne len s niektorými kalkulátormi. |
trades($rows, int $chunk = 1000) | LazyCollection<int, Trade> | Lenivo premení zdroj obchodov na obchody. |
metrics() | list<class-string> | Kalkulátory, ktoré engine spúšťa — to, čo prijímajú only / except(). |
using(string $analytics) | TradingAnalyticsManager | Každý engine vytvorí z vašej podtriedy Analytics (pozrite Rozšírenie enginu). |
engine() | class-string<Analytics> | Použitá trieda enginu. |
$trades je iterovateľný zdroj, query builder, Eloquent builder alebo relácia; $chunk je veľkosť stránky, ak ide o dopyt. for() aj calculate() vracajú engine Analytics, takže naň nadviažete všetkým zo sekcie Spustenie enginu — scale(), usingWinRatePeriod(), only() / except() aj háčikmi. Trieda fasády nemá globálny alias; importujte ju tam, kde ju používate.
TradingAnalytics::fake() neexistuje: engine je čistý výpočet bez vedľajších účinkov, takže test mu odovzdá potrebné obchody a overí čísla (pozrite Testovanie).
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 kryptomienOdoslaní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.