Skip to main content
Glama

set_trading_stop

Set take profit, stop loss, and trailing stop parameters for trades on Bybit Server. Specify category, symbol, and optional settings to manage risk and automate trading strategies effectively.

Instructions

Set trading stop Args: category (str): Category (spot, linear, inverse, etc.) symbol (str): Symbol (e.g., BTCUSDT) takeProfit (Optional[str]): Take profit price stopLoss (Optional[str]): Stop loss price trailingStop (Optional[str]): Trailing stop positionIdx (Optional[int]): Position index Returns: Dict: Setting result Example: set_trading_stop("spot", "BTCUSDT", "55000", "45000", "1000", 0) Reference: https://bybit-exchange.github.io/docs/v5/position/trading-stop

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryYesCategory (spot, linear, inverse, etc.)
positionIdxNoPosition index
stopLossNoStop loss price
symbolYesSymbol (e.g., BTCUSDT)
takeProfitNoTake profit price
trailingStopNoTrailing stop

Implementation Reference

  • MCP tool handler for set_trading_stop. Includes input schema via Field annotations and logic that calls the service helper.
    @mcp.tool() def set_trading_stop( category: str = Field(description="Category (spot, linear, inverse, etc.)"), symbol: str = Field(description="Symbol (e.g., BTCUSDT)"), takeProfit: Optional[str] = Field(default=None, description="Take profit price"), stopLoss: Optional[str] = Field(default=None, description="Stop loss price"), trailingStop: Optional[str] = Field(default=None, description="Trailing stop"), positionIdx: Optional[int] = Field(default=None, description="Position index") ) -> Dict: """ Set trading stop Args: category (str): Category (spot, linear, inverse, etc.) symbol (str): Symbol (e.g., BTCUSDT) takeProfit (Optional[str]): Take profit price stopLoss (Optional[str]): Stop loss price trailingStop (Optional[str]): Trailing stop positionIdx (Optional[int]): Position index Returns: Dict: Setting result Example: set_trading_stop("spot", "BTCUSDT", "55000", "45000", "1000", 0) Reference: https://bybit-exchange.github.io/docs/v5/position/trading-stop """ try: result = bybit_service.set_trading_stop( category, symbol, takeProfit, stopLoss, trailingStop, positionIdx ) if result.get("retCode") != 0: logger.error(f"Failed to set trading stop: {result.get('retMsg')}") return {"error": result.get("retMsg")} return result except Exception as e: logger.error(f"Failed to set trading stop: {e}", exc_info=True) return {"error": str(e)}
  • BybitService helper method that wraps the underlying client.set_trading_stop call to set trading stops.
    def set_trading_stop(self, category: str, symbol: str, takeProfit: Optional[str] = None, stopLoss: Optional[str] = None, trailingStop: Optional[str] = None, positionIdx: Optional[int] = None) -> Dict: """ Set trading stop Args: category (str): Category (spot, linear, inverse, etc.) symbol (str): Symbol (e.g., BTCUSDT) takeProfit (Optional[str]): Take profit price stopLoss (Optional[str]): Stop loss price trailingStop (Optional[str]): Trailing stop positionIdx (Optional[int]): Position index Returns: Dict: Setting result """ return self.client.set_trading_stop( category=category, symbol=symbol, takeProfit=takeProfit, stopLoss=stopLoss, trailingStop=trailingStop, positionIdx=positionIdx )
  • src/server.py:484-484 (registration)
    The @mcp.tool() decorator registers the set_trading_stop function as an MCP tool.
    @mcp.tool()
  • Input schema defined via Pydantic Field annotations in the handler function signature.
    category: str = Field(description="Category (spot, linear, inverse, etc.)"), symbol: str = Field(description="Symbol (e.g., BTCUSDT)"), takeProfit: Optional[str] = Field(default=None, description="Take profit price"), stopLoss: Optional[str] = Field(default=None, description="Stop loss price"), trailingStop: Optional[str] = Field(default=None, description="Trailing stop"), positionIdx: Optional[int] = Field(default=None, description="Position index") ) -> Dict:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dlwjdtn535/mcp-bybit-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server