# Trading Signal Analysis

## Links

- Product page URL: https://www.agentpmt.com/marketplace/trading-signal-analysis
- Product markdown URL: https://www.agentpmt.com/marketplace/trading-signal-analysis?format=agent-md
- Product JSON URL: https://www.agentpmt.com/marketplace/trading-signal-analysis?format=agent-json

## Overview

- Product ID: 69858a63269243768b447d69
- Vendor: Apoth3osis
- Type: function
- Unit type: request
- Price: 600 credits
- Categories: Financial Modeling, Algorithmic & Automated Trading, Stock Market Data & Quotes, Cryptocurrency Trading & Data, Risk Management & Analytics, Technical Market Analysis, Backtesting & Strategy Development
- Generated at: 2026-05-14T07:13:03.084Z

### Page Description

Analyze any stock or cryptocurrency with professional-grade trading signal diagnostics powered by multi-indicator technical analysis. Feed in OHLCV price data and get back actionable buy and sell signals, strategy backtests with historical performance metrics, and detailed risk analytics including maximum adverse excursion, maximum favorable excursion, win rate, expectancy, and drawdown analysis. Identify trend and momentum regimes, evaluate signal strength across multiple timeframes, and export publication-ready analysis charts and trade logs. Perfect for systematic traders building quantitative strategies, portfolio managers evaluating entry and exit timing, crypto analysts screening for momentum setups, and researchers backtesting technical indicators against real market data.

### Agent Description

Ingest OHLCV datasets for any stock or cryptocurrency and generate multi-indicator signal diagnostics with buy/sell signals, strategy backtests with win rate and expectancy, MAE/MFE risk analysis, drawdown and volatility metrics, momentum and trend regime detection, and downloadable analysis charts and trade logs.

## Details

### Details

Analyze any stock or cryptocurrency with professional-grade trading signal diagnostics powered by multi-indicator technical analysis. Feed in OHLCV price data and get back actionable buy and sell signals, strategy backtests with historical performance metrics, and detailed risk analytics including maximum adverse excursion, maximum favorable excursion, win rate, expectancy, and drawdown analysis. Identify trend and momentum regimes, evaluate signal strength across multiple timeframes, and export publication-ready analysis charts and trade logs. Perfect for systematic traders building quantitative strategies, portfolio managers evaluating entry and exit timing, crypto analysts screening for momentum setups, and researchers backtesting technical indicators against real market data.

### Actions

- `analyze_signals` (6 credits): Detect trading signals from OHLCV data using SMA/EMA crossovers, RSI, MACD, Bollinger Bands, breakouts, and volume spikes. Returns signal counts, recent events, and latest indicator values.
- `backtest_strategy` (6 credits): Backtest a trading strategy on OHLCV data. Returns trade log, equity curve, and performance metrics (win rate, Sharpe, Sortino, drawdown, MAE/MFE).
- `full_analysis` (6 credits): Run both signal analysis and strategy backtest, generate downloadable charts and trade log CSV.

### Use Cases

Generate buy and sell trading signals from technical indicators, Backtest trading strategies against historical OHLCV price data, Analyze maximum adverse excursion and maximum favorable excursion for trade risk, Calculate win rate and expectancy for systematic trading strategies, Measure portfolio drawdown and volatility metrics, Detect momentum and trend regime changes in stock or crypto markets, Export candlestick signal charts with indicator overlays, Generate trade logs for strategy performance review, Screen stocks and cryptocurrencies for technical signal setups, Evaluate entry and exit timing with multi-indicator analysis

### Workflows Using This Tool

No public workflows currently reference this product.

### Related Content

#### AI Trading Tools: Signal Analysis Live on AgentPMT

- Type: article
- Page URL: https://www.agentpmt.com/articles/ai-trading-tools-signal-analysis-live-on-agentpmt
- Markdown URL: https://www.agentpmt.com/articles/ai-trading-tools-signal-analysis-live-on-agentpmt?format=agent-md
AgentPMT announces Trading Signal Analysis -- a multi-indicator technical analysis tool for stocks and crypto that delivers structured signal detection, strategy backtesting, and downloadable performance charts at 6 credits per call.

## Integration Details

### DynamicMCP

- Setup page URL: https://www.agentpmt.com/dynamic-mcp
- Claude setup guide: https://www.agentpmt.com/dynamic-mcp?platform=claude#videos
- ChatGPT setup guide: https://www.agentpmt.com/dynamic-mcp?platform=chatgpt#videos
- Cursor setup guide: https://www.agentpmt.com/dynamic-mcp?platform=cursor#videos
- Windsurf setup guide: https://www.agentpmt.com/dynamic-mcp?platform=windsurf#videos

STDIO connector for Claude Code, Codex, Cursor, Zed, and other LLMs that require STDIO or custom connections. This lightweight connector routes requests to `https://api.agentpmt.com/mcp`. All tool execution happens in the cloud and the server cannot edit any files on your computer.

```bash
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

### REST API

The live page renders cURL, Python, JavaScript, and Node.js examples. Logged-in users see those examples prefilled with their own API and budget credentials.

- Purchase endpoint: https://api.agentpmt.com/products/purchase
- Authorization format: `Bearer <base64(apiKey:budgetKey)>`

```bash
curl -X POST "https://api.agentpmt.com/products/purchase" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eW91ci1hcGkta2V5LWhlcmU6eW91ci1idWRnZXQta2V5LWhlcmU=" \
  -d '{
    "product_id": "69858a63269243768b447d69",
    "parameters": {
      "action": "analyze_signals",
      "candles": [],
      "sma_fast": 20,
      "sma_slow": 50,
      "ema_fast": 12,
      "ema_slow": 26,
      "rsi_period": 14,
      "macd_signal_period": 9,
      "bollinger_period": 20,
      "bollinger_stddev": 2,
      "atr_period": 14,
      "breakout_lookback": 20,
      "volume_window": 20,
      "rsi_oversold": 30,
      "rsi_overbought": 70,
      "volume_spike_multiplier": 1.5
    }
  }'
```

### Autonomous Agents

Do not use the abbreviated instructions in this product markdown for wallet-based invocation. Retrieve the full External Agent API markdown document instead.

- External Agent API page URL: https://www.agentpmt.com/external-agent-api
- External Agent API markdown URL: https://www.agentpmt.com/external-agent-api?format=agent-md

### Schema

#### Parameters

- Schema type: actions

```json
{
  "actions": {
    "analyze_signals": {
      "description": "Detect trading signals from OHLCV data using SMA/EMA crossovers, RSI, MACD, Bollinger Bands, breakouts, and volume spikes. Returns signal counts, recent events, and latest indicator values.",
      "properties": {
        "candles": {
          "type": "array",
          "description": "OHLCV candle series (minimum 30 rows). Each item needs open, high, low, close (required) and optional timestamp and volume.",
          "required": true,
          "items": {
            "type": "object",
            "properties": {
              "timestamp": {
                "type": "string"
              },
              "open": {
                "type": "number"
              },
              "high": {
                "type": "number"
              },
              "low": {
                "type": "number"
              },
              "close": {
                "type": "number"
              },
              "volume": {
                "type": "number"
              }
            }
          }
        },
        "symbol": {
          "type": "string",
          "description": "Optional symbol label (e.g., BTC-USD).",
          "required": false
        },
        "timeframe": {
          "type": "string",
          "description": "Optional timeframe label (e.g., 1H, 1D).",
          "required": false
        },
        "sma_fast": {
          "type": "integer",
          "description": "SMA fast period.",
          "required": false,
          "default": 20
        },
        "sma_slow": {
          "type": "integer",
          "description": "SMA slow period.",
          "required": false,
          "default": 50
        },
        "ema_fast": {
          "type": "integer",
          "description": "EMA fast period.",
          "required": false,
          "default": 12
        },
        "ema_slow": {
          "type": "integer",
          "description": "EMA slow period.",
          "required": false,
          "default": 26
        },
        "rsi_period": {
          "type": "integer",
          "description": "RSI period.",
          "required": false,
          "default": 14
        },
        "macd_signal_period": {
          "type": "integer",
          "description": "MACD signal line period.",
          "required": false,
          "default": 9
        },
        "bollinger_period": {
          "type": "integer",
          "description": "Bollinger Bands period.",
          "required": false,
          "default": 20
        },
        "bollinger_stddev": {
          "type": "number",
          "description": "Bollinger Bands standard deviation multiplier.",
          "required": false,
          "default": 2
        },
        "atr_period": {
          "type": "integer",
          "description": "ATR period.",
          "required": false,
          "default": 14
        },
        "breakout_lookback": {
          "type": "integer",
          "description": "Breakout lookback period.",
          "required": false,
          "default": 20
        },
        "volume_window": {
          "type": "integer",
          "description": "Volume SMA window.",
          "required": false,
          "default": 20
        },
        "rsi_oversold": {
          "type": "number",
          "description": "RSI oversold threshold.",
          "required": false,
          "default": 30
        },
        "rsi_overbought": {
          "type": "number",
          "description": "RSI overbought threshold.",
          "required": false,
          "default": 70
        },
        "volume_spike_multiplier": {
          "type": "number",
          "description": "Volume spike detection multiplier.",
          "required": false,
          "default": 1.5
        },
        "return_indicator_series": {
          "type": "boolean",
          "description": "Return full indicator arrays in response.",
          "required": false
        }
      }
    },
    "backtest_strategy": {
      "description": "Backtest a trading strategy on OHLCV data. Returns trade log, equity curve, and performance metrics (win rate, Sharpe, Sortino, drawdown, MAE/MFE).",
      "properties": {
        "candles": {
          "type": "array",
          "description": "OHLCV candle series (minimum 30 rows).",
          "required": true,
          "items": {
            "type": "object",
            "properties": {
              "timestamp": {
                "type": "string"
              },
              "open": {
                "type": "number"
              },
              "high": {
                "type": "number"
              },
              "low": {
                "type": "number"
              },
              "close": {
                "type": "number"
              },
              "volume": {
                "type": "number"
              }
            }
          }
        },
        "symbol": {
          "type": "string",
          "description": "Optional symbol label.",
          "required": false
        },
        "timeframe": {
          "type": "string",
          "description": "Optional timeframe label.",
          "required": false
        },
        "strategy": {
          "type": "string",
          "description": "Backtest strategy to use.",
          "required": false,
          "default": "composite",
          "enum": [
            "sma_cross",
            "ema_cross",
            "macd_cross",
            "rsi_reversion",
            "breakout",
            "composite"
          ]
        },
        "include_short": {
          "type": "boolean",
          "description": "Allow short entries.",
          "required": false
        },
        "initial_capital": {
          "type": "number",
          "description": "Starting equity.",
          "required": false,
          "default": 10000
        },
        "transaction_cost_bps": {
          "type": "number",
          "description": "Round-trip transaction cost in basis points per side.",
          "required": false,
          "default": 5
        },
        "max_trades": {
          "type": "integer",
          "description": "Maximum number of closed trades.",
          "required": false,
          "default": 1000
        },
        "sma_fast": {
          "type": "integer",
          "description": "SMA fast period.",
          "required": false,
          "default": 20
        },
        "sma_slow": {
          "type": "integer",
          "description": "SMA slow period.",
          "required": false,
          "default": 50
        },
        "ema_fast": {
          "type": "integer",
          "description": "EMA fast period.",
          "required": false,
          "default": 12
        },
        "ema_slow": {
          "type": "integer",
          "description": "EMA slow period.",
          "required": false,
          "default": 26
        },
        "rsi_period": {
          "type": "integer",
          "description": "RSI period.",
          "required": false,
          "default": 14
        },
        "macd_signal_period": {
          "type": "integer",
          "description": "MACD signal line period.",
          "required": false,
          "default": 9
        },
        "bollinger_period": {
          "type": "integer",
          "description": "Bollinger Bands period.",
          "required": false,
          "default": 20
        },
        "bollinger_stddev": {
          "type": "number",
          "description": "Bollinger Bands standard deviation.",
          "required": false,
          "default": 2
        },
        "atr_period": {
          "type": "integer",
          "description": "ATR period.",
          "required": false,
          "default": 14
        },
        "breakout_lookback": {
          "type": "integer",
          "description": "Breakout lookback period.",
          "required": false,
          "default": 20
        },
        "volume_window": {
          "type": "integer",
          "description": "Volume SMA window.",
          "required": false,
          "default": 20
        },
        "rsi_oversold": {
          "type": "number",
          "description": "RSI oversold threshold.",
          "required": false,
          "default": 30
        },
        "rsi_overbought": {
          "type": "number",
          "description": "RSI overbought threshold.",
          "required": false,
          "default": 70
        },
        "stop_loss_pct": {
          "type": "number",
          "description": "Stop loss percentage (0.001 to 0.95).",
          "required": false
        },
        "take_profit_pct": {
          "type": "number",
          "description": "Take profit percentage (0.001 to 5.0).",
          "required": false
        },
        "trailing_stop_pct": {
          "type": "number",
          "description": "Trailing stop percentage (0.001 to 0.95).",
          "required": false
        },
        "periods_per_year": {
          "type": "integer",
          "description": "Annualization factor for Sharpe/Sortino (252 for daily, 8760 for hourly).",
          "required": false,
          "default": 252
        }
      }
    },
    "full_analysis": {
      "description": "Run both signal analysis and strategy backtest, generate downloadable charts and trade log CSV.",
      "properties": {
        "candles": {
          "type": "array",
          "description": "OHLCV candle series (minimum 30 rows).",
          "required": true,
          "items": {
            "type": "object",
            "properties": {
              "timestamp": {
                "type": "string"
              },
              "open": {
                "type": "number"
              },
              "high": {
                "type": "number"
              },
              "low": {
                "type": "number"
              },
              "close": {
                "type": "number"
              },
              "volume": {
                "type": "number"
              }
            }
          }
        },
        "symbol": {
          "type": "string",
          "description": "Optional symbol label.",
          "required": false
        },
        "timeframe": {
          "type": "string",
          "description": "Optional timeframe label.",
          "required": false
        },
        "strategy": {
          "type": "string",
          "description": "Backtest strategy to use.",
          "required": false,
          "default": "composite",
          "enum": [
            "sma_cross",
            "ema_cross",
            "macd_cross",
            "rsi_reversion",
            "breakout",
            "composite"
          ]
        },
        "include_short": {
          "type": "boolean",
          "description": "Allow short entries.",
          "required": false
        },
        "initial_capital": {
          "type": "number",
          "description": "Starting equity.",
          "required": false,
          "default": 10000
        },
        "transaction_cost_bps": {
          "type": "number",
          "description": "Transaction cost in basis points.",
          "required": false,
          "default": 5
        },
        "max_trades": {
          "type": "integer",
          "description": "Maximum closed trades.",
          "required": false,
          "default": 1000
        },
        "sma_fast": {
          "type": "integer",
          "description": "SMA fast period.",
          "required": false,
          "default": 20
        },
        "sma_slow": {
          "type": "integer",
          "description": "SMA slow period.",
          "required": false,
          "default": 50
        },
        "ema_fast": {
          "type": "integer",
          "description": "EMA fast period.",
          "required": false,
          "default": 12
        },
        "ema_slow": {
          "type": "integer",
          "description": "EMA slow period.",
          "required": false,
          "default": 26
        },
        "rsi_period": {
          "type": "integer",
          "description": "RSI period.",
          "required": false,
          "default": 14
        },
        "macd_signal_period": {
          "type": "integer",
          "description": "MACD signal line period.",
          "required": false,
          "default": 9
        },
        "bollinger_period": {
          "type": "integer",
          "description": "Bollinger Bands period.",
          "required": false,
          "default": 20
        },
        "bollinger_stddev": {
          "type": "number",
          "description": "Bollinger Bands standard deviation.",
          "required": false,
          "default": 2
        },
        "atr_period": {
          "type": "integer",
          "description": "ATR period.",
          "required": false,
          "default": 14
        },
        "breakout_lookback": {
          "type": "integer",
          "description": "Breakout lookback.",
          "required": false,
          "default": 20
        },
        "volume_window": {
          "type": "integer",
          "description": "Volume SMA window.",
          "required": false,
          "default": 20
        },
        "rsi_oversold": {
          "type": "number",
          "description": "RSI oversold threshold.",
          "required": false,
          "default": 30
        },
        "rsi_overbought": {
          "type": "number",
          "description": "RSI overbought threshold.",
          "required": false,
          "default": 70
        },
        "volume_spike_multiplier": {
          "type": "number",
          "description": "Volume spike multiplier.",
          "required": false,
          "default": 1.5
        },
        "stop_loss_pct": {
          "type": "number",
          "description": "Stop loss percentage.",
          "required": false
        },
        "take_profit_pct": {
          "type": "number",
          "description": "Take profit percentage.",
          "required": false
        },
        "trailing_stop_pct": {
          "type": "number",
          "description": "Trailing stop percentage.",
          "required": false
        },
        "return_indicator_series": {
          "type": "boolean",
          "description": "Return full indicator arrays.",
          "required": false
        },
        "store_charts": {
          "type": "boolean",
          "description": "Generate and store signal and performance charts.",
          "required": false,
          "default": true
        },
        "store_trade_log": {
          "type": "boolean",
          "description": "Store trade log as downloadable CSV.",
          "required": false,
          "default": true
        },
        "expiration_days": {
          "type": "integer",
          "description": "Cloud file retention in days (1-7).",
          "required": false,
          "default": 7
        },
        "chart_width": {
          "type": "integer",
          "description": "Chart width in pixels.",
          "required": false,
          "default": 1400
        },
        "chart_height": {
          "type": "integer",
          "description": "Chart height in pixels.",
          "required": false,
          "default": 900
        },
        "periods_per_year": {
          "type": "integer",
          "description": "Annualization factor for Sharpe/Sortino.",
          "required": false,
          "default": 252
        }
      }
    }
  }
}
```

### Usage Instructions

# Trading Signal Analysis

Advanced signal detection, backtesting, and risk analytics engine for stock and crypto OHLCV data. Computes technical indicators, detects trading signals, runs strategy backtests with MAE/MFE analysis, and generates downloadable charts and trade logs.

## Actions

### analyze_signals

Detect trading signals from OHLCV candle data. Computes SMA, EMA, RSI, MACD, Bollinger Bands, ATR, breakout levels, and volume analysis. Returns signal counts, recent signal events, and current indicator values.

**Required:** `candles` (array of OHLCV objects, minimum 30 rows)

```json
{
  "candles": [
    {"timestamp": "2024-01-01T00:00:00Z", "open": 42000, "high": 42500, "low": 41800, "close": 42300, "volume": 1500},
    {"timestamp": "2024-01-02T00:00:00Z", "open": 42300, "high": 43000, "low": 42100, "close": 42800, "volume": 1800}
  ],
  "symbol": "BTC-USD",
  "timeframe": "1D"
}
```

### backtest_strategy

Run a strategy backtest on OHLCV data. Returns trade log, equity curve, and metrics (win rate, Sharpe, Sortino, max drawdown, MAE/MFE, profit factor).

**Required:** `candles`

```json
{
  "candles": [{"open": 100, "high": 105, "low": 98, "close": 103, "volume": 5000}],
  "symbol": "AAPL",
  "strategy": "sma_cross",
  "initial_capital": 10000,
  "stop_loss_pct": 0.02,
  "take_profit_pct": 0.05
}
```

### full_analysis

Run both signal analysis and backtest, generate downloadable signal chart, performance chart, and trade log CSV.

**Required:** `candles`

```json
{
  "candles": [{"open": 100, "high": 105, "low": 98, "close": 103, "volume": 5000}],
  "symbol": "ETH-USD",
  "timeframe": "1H",
  "strategy": "composite",
  "initial_capital": 50000,
  "store_charts": true,
  "store_trade_log": true
}
```

## Candle Data Format

Each candle object requires:
- `open` (number) -- Open price (required)
- `high` (number) -- High price (required)
- `low` (number) -- Low price (required)
- `close` (number) -- Close price (required)
- `timestamp` (string) -- Optional timestamp
- `volume` (number) -- Optional volume (defaults to 0)

Minimum 30 candles required; more is better for accurate indicator calculations.

## Strategy Options

| Strategy | Description |
|---|---|
| sma_cross | SMA fast/slow crossover |
| ema_cross | EMA fast/slow crossover |
| macd_cross | MACD line/signal crossover |
| rsi_reversion | Mean reversion on RSI oversold/overbought |
| breakout | Price breakout above/below rolling high/low |
| composite | Multi-indicator consensus (default, requires 3+ aligned signals) |

## Indicator Parameters

All have sensible defaults. Key ones:
- `sma_fast` / `sma_slow` -- SMA periods (default: 20/50)
- `ema_fast` / `ema_slow` -- EMA periods (default: 12/26)
- `rsi_period` -- RSI period (default: 14)
- `macd_signal_period` -- MACD signal period (default: 9)
- `bollinger_period` / `bollinger_stddev` -- Bollinger Bands (default: 20/2.0)
- `atr_period` -- ATR period (default: 14)
- `breakout_lookback` -- Rolling high/low window (default: 20)

## Risk Controls

- `stop_loss_pct` -- Stop loss as decimal (e.g., 0.02 = 2%)
- `take_profit_pct` -- Take profit as decimal (e.g., 0.05 = 5%)
- `trailing_stop_pct` -- Trailing stop as decimal

## Output Options

- `return_indicator_series` -- Include full indicator arrays (default: false)
- `store_charts` -- Generate PNG charts (default: true, full_analysis only)
- `store_trade_log` -- Generate CSV trade log (default: true, full_analysis only)
- `expiration_days` -- File retention 1-7 days (default: 7)
- `chart_width` / `chart_height` -- Chart dimensions in pixels

## Performance Metrics

Backtest results include:
- **total_trades**, **wins**, **losses**, **win_rate_pct**
- **total_return_pct**, **final_equity**
- **max_drawdown_pct**
- **expectancy_pct** -- Average trade return
- **profit_factor** -- Sum of wins / sum of losses
- **sharpe** -- Annualized Sharpe ratio
- **sortino** -- Annualized Sortino ratio
- **average_trade_mae_pct** -- Average Maximum Adverse Excursion
- **average_trade_mfe_pct** -- Average Maximum Favorable Excursion
- **average_bars_held** -- Average trade duration

## Important Notes

- Candle data must have at least 30 rows; more rows than the largest indicator window + 2.
- `sma_fast` must be less than `sma_slow`; `ema_fast` must be less than `ema_slow`.
- `rsi_oversold` must be less than `rsi_overbought`.
- Transaction costs are applied as basis points per side (default 5 bps = 0.05%).
- Set `periods_per_year` to match your data frequency (252 for daily, 8760 for hourly).
- Charts are stored in cloud storage with signed download URLs.

### Frequently Asked Questions

No linked FAQs are currently available.

### Dependencies

This product has no public dependency products.