Konfigurácia
Balík funguje bez akejkoľvek konfigurácie; publikovaný súbor vám len umožní zmeniť predvolené hodnoty na jednom mieste. Publikovaný config/trading-analytics.php:
return [
// Default decimal precision (bcmath scale) for every calculation.
'scale' => env('TRADING_ANALYTICS_SCALE', 10),
// Default win-rate bucketing period: daily, weekly, or monthly.
'win_rate_period' => env('TRADING_ANALYTICS_WIN_RATE_PERIOD', 'daily'),
];Všetky kľúče
| Kľúč | Typ | Predvolené | Env | Účel |
|---|---|---|---|---|
scale | int | 10 | TRADING_ANALYTICS_SCALE | Počet desatinných miest, ak beh nevolá ->scale(). Celé číslo, aspoň 0 (TRADING_ANALYTICS_SCALE=8 funguje); prázdna hodnota (TRADING_ANALYTICS_SCALE=) sa počíta ako nenastavená, takže platí 10; ten či 10.5 vyhodia InvalidConfigurationException s názvom kľúča. |
win_rate_period | string | daily | TRADING_ANALYTICS_WIN_RATE_PERIOD | Obdobie pre mieru výhier, ak beh nevolá ->usingWinRatePeriod(): daily, weekly alebo monthly. Prázdna hodnota sa počíta ako nenastavená, takže platí daily; čokoľvek iné vyhodí InvalidConfigurationException so zoznamom povolených hodnôt — preklep sa na daily nikdy nevráti. |
Prostredie (env)
Oba kľúče sa riadia cez env, takže súbor publikujete len zriedka:
TRADING_ANALYTICS_SCALE=4
TRADING_ANALYTICS_WIN_RATE_PERIOD=weeklyPrepísanie pre jeden beh
Explicitné ->scale(...) / ->usingWinRatePeriod(...) v behu má vždy prednosť pred nastavenou predvolenou hodnotou:
use RoundlyConsulting\TradingAnalytics\Enums\Period;
use RoundlyConsulting\TradingAnalytics\Facades\TradingAnalytics;
// A run's own settings always win over the configured defaults
$analytics = TradingAnalytics::for($trades)
->scale(2)
->usingWinRatePeriod(Period::WEEKLY)
->calculate();
$analytics->getScale(); // 2Predvolené hodnoty z konfigurácie sa čítajú pri vytvorení enginu, takže chybné scale alebo win_rate_period vyhodí InvalidConfigurationException aj v behu, ktorý si potom nastaví vlastné ->scale() či ->usingWinRatePeriod().
Mimo spustenej aplikácie Laravel (bez konfigurácie v kontajneri) sa automaticky použijú vstavané predvolené hodnoty (škála 10 a daily), takže engine funguje aj v samostatných skriptoch a unit testoch.
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.