Edit Strategy Trade (MCP Tool)
Description
Based on: /docs/rest-api/patch-strategies-trade
Edit trade strategy configuration on WunderTrading.
Use to ask about:
- edit strategy
- update strategy
- edit open position
Prompt example
Set one take profit with portfolio 100%, and price equals entry price + 10% for strategy 69d4cda7f8a9507005e211b5
Prompt example
Remove all take profits
Prompt example
Set stop loss - 10% for 69d4cda1f8a9507005e211b2
Prompt example
Remove stop loss price
Prompt example
set takeProfitBaseOn to "entry order"
Input Schema
The Input Schema Provided to LLM.
Required: id
{
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 4,
"maxLength": 255,
"description": "Strategy ID or clientId"
},
"takeProfitOrderType": {
"type": "string",
"enum": [
"market",
"best_bid_ask_limit"
],
"description": "Take Profit execution order type: 'market' = market order, 'best_bid_ask_limit' = limit order based on the best bid/ask price."
},
"bestBidAskLimitTakeProfitOrderTypeSettings": {
"type": "object",
"description": "Optional Take Profit order type settings used only when takeProfitOrderType is 'best_bid_ask_limit'. When providing these settings, you must also provide takeProfitOrderType: 'best_bid_ask_limit'. All nested properties are optional. Include only settings explicitly requested by the user.",
"properties": {
"postOnly": {
"type": "boolean",
"description": "Place Take Profit orders as Post-Only limit orders. true = Post-Only enabled, false = disabled."
}
},
"additionalProperties": false
},
"stopLossOrderType": {
"type": "string",
"enum": [
"market",
"best_bid_ask_limit"
],
"description": "Stop Loss execution order type: 'market' = market order, 'best_bid_ask_limit' = limit order based on the best bid/ask price."
},
"bestBidAskLimitStopLossOrderTypeSettings": {
"type": "object",
"description": "Optional Stop Loss order type settings used only when stopLossOrderType is 'best_bid_ask_limit'. When providing these settings, you must also provide stopLossOrderType: 'best_bid_ask_limit'. All nested properties are optional. Include only settings explicitly requested by the user.",
"properties": {
"postOnly": {
"type": "boolean",
"description": "Whether to place Stop Loss orders as Post-Only limit orders."
}
},
"additionalProperties": false
},
"takeProfits": {
"type": "array",
"description": "Take profit targets (0 to 10 items). Portfolio sum must equal 1. To remove all take profits, pass [], i.e. empty array.\n\nBefore calling this tool, get Entry Price from \"get_strategy\" tool.",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Trigger price. LONG trade range: (Entry Price; +Inf), SHORT trade range: (0; Entry Price), e.g. 150.21"
},
"portfolio": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Take profit portfolio allocation as a decimal fraction in (0, 1], equivalent to greater than 0% and up to 100%.\n\nAlways convert user-provided percentages to decimal fractions before calling this tool (divide percentage by 100).\n\nExamples:\n- 10% → 0.1\n- 25% → 0.25\n- 60% → 0.6\n- 100% → 1\n- 60 percent → 0.6\n\nPass only decimal numbers, never percentage strings or whole percentage values.\n\nThe sum of all take profit portfolio allocations must equal 1."
}
},
"required": [
"price",
"portfolio"
],
"additionalProperties": false
},
"maxItems": 10
},
"takeProfitBaseOn": {
"type": "string",
"description": "Reference price used for take profit calculations: entry order price or average entry price.",
"enum": [
"entry_order",
"average_price"
]
},
"stopLossPrice": {
"type": [
"number",
"null"
],
"exclusiveMinimum": 0,
"description": "Before calling this tool, get Last Price from \"get_strategy\" tool.\nSend null to remove stop loss price.\n\nExact stop loss trigger price (> 0), e.g. 100.55;\nLONG trade range: (0; Last Price);\nSHORT trade range: (Last Price; +Inf)"
},
"stopLossBaseOn": {
"type": "string",
"description": "Reference price used for stop loss calculations: entry order price or average entry price.",
"enum": [
"entry_order",
"average_price"
]
},
"stopLossMovePrice": {
"type": [
"number",
"null"
],
"exclusiveMinimum": 0,
"description": "Cannot be null when stopLossMoveExecutePrice provided!\nSend null to remove stopLossMovePrice.\n\nMove to break-even trigger strict price (>0), e.g. 125.67;\nLONG trade range: (Entry Price; +Inf);\nSHORT trade range: (0; Entry Price)"
},
"stopLossMoveExecutePrice": {
"type": [
"number",
"null"
],
"exclusiveMinimum": 0,
"description": "stopLossMovePrice must be defined!\nSend null to remove stopLossMoveExecutePrice.\n\nMove to break-even strict price (>0), e.g. 124.5;\nLONG trade range: (0; stopLossMovePrice);\nSHORT trade range: (stopLossMovePrice; +Inf);"
},
"trailingStopActivation": {
"type": [
"number",
"null"
],
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Trailing stop activation deviation as a decimal fraction in (0, 1], equivalent to greater than 0% and up to 100%.\n\nAlways convert user-provided percentages to decimal fractions before calling this tool (divide percentage by 100).\n\nExamples:\n- 0.1% → 0.001\n- 6% → 0.06\n- 60% → 0.6\n- 100% → 1\n- 60 percent → 0.6\n\nPass only decimal numbers, never percentage strings or whole percentage values.\n\nSend null to remove trailingStopActivation."
},
"trailingStopExecute": {
"type": [
"number",
"null"
],
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Trailing stop execution deviation as a decimal fraction in (0, 1], equivalent to greater than 0% and up to 100%.\n\nAlways convert user-provided percentages to decimal fractions before calling this tool (divide percentage by 100).\n\nExamples:\n- 0.1% → 0.001\n- 6% → 0.06\n- 60% → 0.6\n- 100% → 1\n- 60 percent → 0.6\n\nPass only decimal numbers, never percentage strings or whole percentage values.\n\nSend null to remove trailingStopExecute."
},
"reduceOnly": {
"type": "boolean",
"description": "Reduce only for exits. No effect for spot strategies."
},
"placeConditionalOrdersOnExchange": {
"type": "boolean",
"description": "Place exit conditional market orders on exchange. Ignored when strategyGroupType = dca or takeProfitOrderType = best_bid_ask_limit or stopLossOrderType = best_bid_ask_limit"
},
"extraOrderCount": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 30,
"description": "DCA: total order count (1–30). Only for strategyGroupType = dca; Send null to remove extraOrderCount"
},
"extraOrderDeviation": {
"type": [
"number",
"null"
],
"minimum": 0.001,
"maximum": 0.2,
"description": "DCA price deviation as a decimal fraction in [0.001, 0.2], equivalent to 0.1%–20%.\n\nAlways convert user-provided percentages to decimal fractions before calling this tool (divide percentage by 100).\n\nExamples:\n- 0.1% → 0.001\n- 1% → 0.01\n- 6% → 0.06\n- 20% → 0.2\n- 6 percent → 0.06\n\nPass only decimal numbers, never percentage strings or whole percentage values.\n\nOnly applicable when strategyGroupType = dca.\nSend null to remove extraOrderDeviation."
},
"extraOrderVolumeMultiplier": {
"type": [
"number",
"null"
],
"minimum": 0.1,
"maximum": 10,
"description": "DCA extra order volume multiplier in [0.1, 10]. Controls how DCA extra order volumes scale.\n\nExamples:\n- 0.5 → volume multiplier of 0.5x\n- 1 → volume multiplier of 1x\n- 1.25 → volume multiplier of 1.25x\n- 2 → volume multiplier of 2x\n\nPass only numeric multiplier values, not percentage strings.\n\nOnly applicable when strategyGroupType = dca.\nSend null to remove extraOrderVolumeMultiplier."
},
"extraOrderDeviationMultiplier": {
"type": [
"number",
"null"
],
"minimum": 0.1,
"maximum": 10,
"description": "DCA extra order price deviation multiplier in [0.1, 10]. Controls how price deviations between DCA extra orders scale.\n\nExamples:\n- 1 → no deviation scaling\n- 1.5 → deviation multiplier of 1.5x\n- 2 → deviation multiplier of 2x\n- 10 → deviation multiplier of 10x\n\nPass only numeric multiplier values, not percentage strings.\n\nOnly applicable when strategyGroupType = dca.\nSend null to remove extraOrderDeviationMultiplier."
}
},
"required": [
"id"
],
"additionalProperties": false
}
}
We are continuously improving the platform, and new endpoints and features will be added soon to make your automated trading more flexible and efficient.