Skip to main content
Glama

metatrader-mcp-server

history.py2.25 kB
from fastapi import APIRouter, HTTPException, Request, Query from typing import List, Dict, Any, Optional from datetime import datetime router = APIRouter() @router.get("/deals", response_model=List[Dict[str, Any]]) async def history_deals( request: Request, from_date: Optional[datetime] = Query(None, description="Start date (ISO format)"), to_date: Optional[datetime] = Query(None, description="End date (ISO format)"), symbol: Optional[str] = Query(None, description="Symbol filter, e.g., 'EURUSD'") ): """ Fetches historical deals and returns them as a list of records for easy data analysis and manipulation. Input: from_date (Optional[datetime]): Start date (ISO format) to_date (Optional[datetime]): End date (ISO format) symbol (Optional[str]): Symbol filter, e.g., 'EURUSD' Response: List[Dict[str, Any]]: List of deals as dictionaries. """ client = request.app.state.client try: df = client.history.get_deals_as_dataframe(from_date=from_date, to_date=to_date, group=symbol) return df.to_dict(orient='records') except Exception as e: raise HTTPException(status_code=500, detail=str(e)) @router.get("/orders", response_model=List[Dict[str, Any]]) async def history_orders( request: Request, from_date: Optional[datetime] = Query(None, description="Start date (ISO format)"), to_date: Optional[datetime] = Query(None, description="End date (ISO format)"), symbol: Optional[str] = Query(None, description="Symbol filter, e.g., 'EURUSD'") ): """ Fetches historical orders and returns them as a list of records for easy data analysis and reporting. Input: from_date (Optional[datetime]): Start date (ISO format) to_date (Optional[datetime]): End date (ISO format) symbol (Optional[str]): Symbol filter, e.g., 'EURUSD' Response: List[Dict[str, Any]]: List of orders as dictionaries. """ client = request.app.state.client try: df = client.history.get_orders_as_dataframe(from_date=from_date, to_date=to_date, group=symbol) return df.to_dict(orient='records') except Exception as e: raise HTTPException(status_code=500, detail=str(e))

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/ariadng/metatrader-mcp-server'

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