->scale() (alebo konfiguračný kľúč scale) určuje počet desatinných miest každej sumy: P&L, objemu, hodnoty, poplatkov, ich priemerov, priemernej výhry a straty pri expectancy aj pomere rizika a výnosu a drawdownu. bcmath nezaokrúhľuje, ale oreže, takže každá hodnota sa pri uložení oreže na svoju škálu; pomery sa však najprv delia na vyššej pracovnej škále, takže sa započíta aj operand pod presnosťou výsledku — strata 0.00005 BTC či odchýlka niekoľkých bázických bodov. Pomery a percentá sa uvádzajú na pevnú škálu bez ohľadu na škálu behu:
| Hodnoty | Desatinné miesta |
|---|---|
| volume, value, commission, P&L a ich priemery, expectancy value / averageWin / averageLoss, riskRewardRatio averageWin / averageLoss, maxDrawdown value / equity / peak | škála behu (predvolene 10) |
| counts, wins, streaks | 0 |
| frequency | 1 |
| wins->winRatio, profitFactor | 2 |
| cumulativeReturn (percentá), duration (sekundy) | 2 |
| expectancy->winRate / lossRate, winRateByPeriod->rates | 4 |
| riskRewardRatio->value, maxDrawdown->percentage, sharpeRatio, sortinoRatio | 4 |
| riskAdjustedReturns meanReturn / standardDeviation / downsideDeviation | 10 |
Čísla samotného obchodu si zachovajú škálu, s ktorou vznikli — cez Trade::make(), fromArray() a fromRow() je to 10 desatinných miest. Ak súčin ceny a veľkosti potrebuje viac, vytvorte polia NumericValueAsString sami (NumericValueAsString::of($size, scale: 18)); postup ukazuje sekcia Vytváranie obchodov.
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.