Skip to main content
Glama

get_trading_signals

Retrieve real-time BUY/SELL signals from quantitative strategies for informed trading decisions, including symbol, quantity, price, and strategy details.

Instructions

Get latest trading signals from live quantitative strategies. Returns real-time BUY/SELL signals with symbol, quantity, price, and strategy info.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
strategyIdNoFilter by strategy ID
limitNoNumber of signals to return
statusNoFilter by signal statusall

Implementation Reference

  • Main handler implementation for get_trading_signals tool with full error handling, parameter processing, and response formatting
    server.tool(
      'get_trading_signals',
      'Get latest trading signals from live quantitative strategies. Returns real-time BUY/SELL signals with symbol, quantity, price, and strategy info.',
      {
        strategyId: z.string().optional().describe('Filter by strategy ID'),
        limit: z.number().min(1).max(100).default(20).describe('Number of signals to return'),
        status: z.enum(['pending', 'confirmed', 'skipped', 'all']).default('all').describe('Filter by signal status'),
      },
      async ({ strategyId, limit, status }) => {
        try {
          const params: Record<string, any> = { limit };
          if (strategyId) params.strategyId = strategyId;
          if (status && status !== 'all') params.status = status;
    
          const result = await client.getSignals(params);
    
          if (result.code !== 0) {
            return { content: [{ type: 'text', text: `Error: ${result.message || 'Failed to fetch signals'}` }] };
          }
    
          const signals = result.data || [];
          const formatted = signals.map((s: any) => ({
            id: s._id,
            strategy: s.strategyName || s.strategyId,
            symbol: s.symbol,
            action: s.action,
            quantity: s.quantity,
            price: s.price,
            time: s.timestamp,
            status: s.status,
            source: s.source,
          }));
    
          return {
            content: [{
              type: 'text',
              text: JSON.stringify({ signals: formatted, count: formatted.length }, null, 2),
            }],
          };
        } catch (error: any) {
          return { content: [{ type: 'text', text: `Error fetching signals: ${error.message}` }] };
        }
      }
    );
  • Alternative handler implementation for get_trading_signals in HTTP server mode with simplified response formatting
    server.tool(
      'get_trading_signals',
      'Get latest trading signals from live quantitative strategies',
      {
        strategyId: z.string().optional().describe('Filter by strategy ID'),
        limit: z.number().min(1).max(100).default(20).describe('Number of signals'),
        status: z.enum(['pending', 'confirmed', 'skipped', 'all']).default('all').describe('Signal status filter'),
      },
      async ({ strategyId, limit, status }) => {
        const params: Record<string, any> = { limit };
        if (strategyId) params.strategyId = strategyId;
        if (status && status !== 'all') params.status = status;
        const result = await client.getSignals(params);
        return { content: [{ type: 'text', text: JSON.stringify(result.data || [], null, 2) }] };
      }
    );
  • API client method that makes the actual HTTP request to fetch trading signals from the QuantToGo backend
    async getSignals(params: { strategyId?: string; limit?: number; status?: string } = {}) {
      return this.call('/getTradingNotifications', params);
    }
  • Type definition for TradingSignal interface that defines the structure of signal data returned by the API
    export interface TradingSignal {
      _id: string;
      signalId?: string;
      strategyId: string;
      strategyName?: string;
      symbol: string;
      action: 'BUY' | 'SELL' | 'HOLD';
      quantity: number;
      price?: number;
      timestamp: string;
      source: 'QC' | 'JQ';
      status: 'pending' | 'confirmed' | 'skipped' | 'expired';
      userDecision?: 'EXECUTE' | 'SKIP';
      accountType?: string;
      currency?: string;
    }

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/michaeljiangmingfeng-debug/quanttogo-mcp-servers'

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