1. Go to this page and download the library: Download mmtech/mmt-risk-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mmtech / mmt-risk-sdk example snippets
use MmtRiskSdk\Domains\Accounts\Commands\CreateAccountCommand;
use MmtRiskSdk\Domains\Accounts\ObjectResponses\AccountResponseItem;
use MmtRiskSdk\RiskService;
$risk = app(RiskService::class);
$result = $risk->accounts()->listAccounts();
if ($result->isSuccess()) {
/** @var AccountResponseItem[] $rows */
$rows = $result->getMappedData(AccountResponseItem::class);
}
$health = $risk->health(); // plain array JSON from GET /health
$created = $risk->accounts()->createAccount(
new CreateAccountCommand(login: '1001', broker_id: $brokerUuid),
);
if ($created->isSuccess()) {
$account = $created->getMappedData(AccountResponseItem::class);
}
use MmtRiskSdk\Domains\Accounts\Commands\ProvisionAccountCommand;
use MmtRiskSdk\Domains\Accounts\Commands\ProvisionMetricPhaseCommand;
use MmtRiskSdk\Domains\Accounts\Commands\ProvisionRuleCommand;
use MmtRiskSdk\Domains\Accounts\ObjectResponses\AccountProvisionResponseItem;
$provisioned = $risk->accounts()->provisionAccount(
new ProvisionAccountCommand(
login: '50123456',
broker_id: $brokerUuid,
start_balance: 100000.0,
metric_phases: [
new ProvisionMetricPhaseCommand(
name: 'Challenge',
rules: [
new ProvisionRuleCommand(
conditions: [
[
'type' => 'comparison',
'metric' => 'return_equity_pct_day',
'operator' => '<=',
'value' => -5.0,
],
],
name: 'Max daily drawdown <= -5%',
description: 'Daily equity drawdown limit',
),
],
),
],
),
);
if ($provisioned->isSuccess()) {
$payload = $provisioned->getMappedData(AccountProvisionResponseItem::class);
}