Skip to content

Latest commit

 

History

History
77 lines (60 loc) · 1.96 KB

risk-management.md

File metadata and controls

77 lines (60 loc) · 1.96 KB

Risk Management API

The Risk Management API is useful for prop trading challenges, competitions, equity tracking, drawdown limits and profit targets.

$risk = $metaapi->riskManagement(region: 'london');
$trackers = $risk->trackers();

For private/custom regions:

$risk = $metaapi->riskManagement(
    serverUrl: 'https://risk-management-api-v1.my-region.example.com'
);

Create a tracker:

$created = $trackers->create('account-id', [
    'name' => 'Daily drawdown',
    'startBrokerTime' => '2020-08-24 00:00:00.000',
    'endBrokerTime' => '2020-08-25 00:00:00.000',
    'period' => 'day',
    'relativeDrawdownThreshold' => 0.1,
    'absoluteDrawdownThreshold' => 10000,
    'relativeProfitThreshold' => 0.05,
    'absoluteProfitThreshold' => 5000,
]);

Read trackers:

$all = $trackers->trackers('account-id');
$tracker = $trackers->tracker('account-id', 'tracker-id');
$byName = $trackers->trackerByName('account-id', 'Daily drawdown');

Events, statistics and equity chart:

$events = $trackers->events([
    'startBrokerTime' => '2020-08-24 00:00:00.000',
    'endBrokerTime' => '2020-08-25 00:00:00.000',
    'accountId' => 'account-id',
    'trackerId' => 'tracker-id',
    'limit' => 1000,
]);

$streamEvents = $trackers->eventStream([
    'previousSequenceNumber' => 0,
    'accountId' => 'account-id',
    'trackerId' => 'tracker-id',
]);

$stats = $trackers->statistics('account-id', 'tracker-id', [
    'startTime' => '2020-08-24 00:00:00.000',
    'limit' => 10,
    'realTime' => true,
]);

$chart = $trackers->equityChart('account-id');

Update and remove:

$trackers->update('account-id', 'tracker-id', [
    'name' => 'Updated tracker name',
]);

$trackers->remove('account-id', 'tracker-id');

MetaApi notes that some Risk Management endpoints plan a future default API version change. The SDK sends api-version: 1 by default for versioned tracker endpoints. Pass apiVersion: null if you want to omit the header.