Updated portfolio strategy#
About#
Updated portfolio strategy
Fields#
Name | Type | Required | Description |
---|---|---|---|
name | string | Yes | strategy human-readable name |
description | string | Yes | longer strategy human-readable description |
members | Array<PortfolioS...> | array of portfolio members | |
commissionScheme | CommissionScheme | commission scheme allowed by this strategy. By default monthly billing period with no commission is being used | |
skipPendingOrders | boolean | flag indicating that pending orders should not be copied. Default is to copy pending orders | |
maxTradeRisk | number | optional max risk per trade, expressed as a fraction of 1. If trade has a SL, the trade size will be adjusted to match the risk limit. If not, the trade SL will be applied according to the risk limit | |
reverse | boolean | flag indicating that the strategy should be copied in a reverse direction | |
reduceCorrelations | string | optional setting indicating whether to enable automatic trade correlation reduction. Possible settings are not specified (disable correlation risk restrictions), by-strategy (limit correlations on strategy level) or by-symbol (limit correlations on symbol level) |
|
stopOutRisk | StrategyStopOut | optional stop out setting. All trading will be terminated and positions closed once equity drawdown reaches this value | |
symbolFilter | StrategySymbolF... | optional symbol filter which can be used to copy only specific symbols or exclude some symbols from copying | |
newsFilter | StrategyNewsFilter | optional news risk filter configuration. Experimental feature | |
riskLimits | Array<StrategyR...> | optional strategy risk limits. You can configure trading to be stopped once total drawdown generated during specific period is exceeded. Can be specified either for balance or equity drawdown | |
maxStopLoss | StrategyMaxSto... | optional stop loss value restriction | |
maxLeverage | number | optional setting indicating maxumum leverage allowed when opening a new positions. Any trade which results in a higher leverage will be discarded | |
symbolMapping | Array<SymbolM...> | defines how symbol name should be changed when trading (e.g. when broker uses symbol names with unusual suffixes). By default this setting is disabled and the trades are copied using signal source symbol name | |
tradeSizeScalingMode | string | if set to balance , the trade size on strategy subscriber will be scaled according to balance to preserve risk. If value is none , then trade size will be preserved irregardless of the subscriber balance. If value is contractSize , then trade size will be scaled according to contract size. Default is balance . = [none , contractSize , balance ] |
Example#
{
"name": "Test strategy",
"description": "Some useful description about your strategy",
"members": [
{
"strategyId": "AeRF",
"multiplier": 1,
"skipPendingOrders": true,
"maxTradeRisk": 0.4,
"reverse": true,
"reduceCorrelations": "by-strategy",
"stopOutRisk": {
"value": 150,
"startTime": "2020-08-24T00:00:00.000Z"
},
"symbolFilter": {
"included": [
"EURUSD"
]
},
"newsFilter": {
"calendarNewsFilter": {
"priorities": [
"election"
],
"closePositionTimeGapInMinutes": 10,
"openPositionPrecedingTimeGapInMinutes": 20,
"openPositionFollowingTimeGapInMinutes": 20
}
},
"riskLimits": [
{
"type": "daily",
"applyTo": "balance",
"maxRisk": 0.4,
"closePositions": true,
"startTime": "2020-08-24T00:00:00.000Z"
}
],
"maxStopLoss": {
"value": 150,
"units": "pips"
},
"maxLeverage": 50,
"symbolMapping": [
{
"to": "EURUSD",
"from": "EURUSD.m"
}
],
"tradeSizeScalingMode": "none"
}
],
"commissionScheme": {
"type": "flat-fee",
"billingPeriod": "week",
"commissionRate": 1
},
"skipPendingOrders": true,
"maxTradeRisk": 0.4,
"reverse": true,
"reduceCorrelations": "by-strategy",
"stopOutRisk": {
"value": 0.01,
"startTime": "2020-08-24T00:00:00.000Z"
},
"symbolFilter": {
"included": [
"EURUSD"
]
},
"newsFilter": {
"calendarNewsFilter": {
"priorities": [
"election"
],
"closePositionTimeGapInMinutes": 10,
"openPositionPrecedingTimeGapInMinutes": 20,
"openPositionFollowingTimeGapInMinutes": 20
}
},
"riskLimits": [
{
"type": "daily",
"applyTo": "balance",
"maxRisk": 0.05,
"closePositions": true,
"startTime": "2020-08-24T00:00:00.000Z"
}
],
"maxStopLoss": {
"value": 100,
"units": "pips"
},
"maxLeverage": 50,
"symbolMapping": [
{
"to": "EURUSD",
"from": "EURUSD.m"
}
],
"tradeSizeScalingMode": "none"
}