

Trading Signal Analysis
Function
Available ActionsEach successful request consumes credits as outlined below.
analyze_signals6crbacktest_strategy6crfull_analysis6cr
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.
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
Connect Your Agent In 5 Min
Watch the setup guide for your platform
Or Install Locally
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.
npm install -g @agentpmt/mcp-routeragentpmt-setupActions(3)
analyze_signals6cr18 params(1 required)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.
analyze_signals6cr18 params(1 required)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.
candlesrequiredarrayOHLCV candle series (minimum 30 rows). Each item needs open, high, low, close (required) and optional timestamp and volume.
Array of: object
symbolstringOptional symbol label (e.g., BTC-USD).
timeframestringOptional timeframe label (e.g., 1H, 1D).
sma_fastintegerSMA fast period.
Default:
20sma_slowintegerSMA slow period.
Default:
50ema_fastintegerEMA fast period.
Default:
12ema_slowintegerEMA slow period.
Default:
26rsi_periodintegerRSI period.
Default:
14macd_signal_periodintegerMACD signal line period.
Default:
9bollinger_periodintegerBollinger Bands period.
Default:
20bollinger_stddevnumberBollinger Bands standard deviation multiplier.
Default:
2atr_periodintegerATR period.
Default:
14breakout_lookbackintegerBreakout lookback period.
Default:
20volume_windowintegerVolume SMA window.
Default:
20rsi_oversoldnumberRSI oversold threshold.
Default:
30rsi_overboughtnumberRSI overbought threshold.
Default:
70volume_spike_multipliernumberVolume spike detection multiplier.
Default:
1.5return_indicator_seriesbooleanReturn full indicator arrays in response.
backtest_strategy6cr25 params(1 required)Backtest a trading strategy on OHLCV data. Returns trade log, equity curve, and performance metrics (win rate, Sharpe, Sortino, drawdown, MAE/MFE).
backtest_strategy6cr25 params(1 required)Backtest a trading strategy on OHLCV data. Returns trade log, equity curve, and performance metrics (win rate, Sharpe, Sortino, drawdown, MAE/MFE).
candlesrequiredarrayOHLCV candle series (minimum 30 rows).
Array of: object
symbolstringOptional symbol label.
timeframestringOptional timeframe label.
strategystringBacktest strategy to use.
Values:
sma_crossema_crossmacd_crossrsi_reversionbreakoutcomposite
Default:
compositeinclude_shortbooleanAllow short entries.
initial_capitalnumberStarting equity.
Default:
10000transaction_cost_bpsnumberRound-trip transaction cost in basis points per side.
Default:
5max_tradesintegerMaximum number of closed trades.
Default:
1000sma_fastintegerSMA fast period.
Default:
20sma_slowintegerSMA slow period.
Default:
50ema_fastintegerEMA fast period.
Default:
12ema_slowintegerEMA slow period.
Default:
26rsi_periodintegerRSI period.
Default:
14macd_signal_periodintegerMACD signal line period.
Default:
9bollinger_periodintegerBollinger Bands period.
Default:
20bollinger_stddevnumberBollinger Bands standard deviation.
Default:
2atr_periodintegerATR period.
Default:
14breakout_lookbackintegerBreakout lookback period.
Default:
20volume_windowintegerVolume SMA window.
Default:
20rsi_oversoldnumberRSI oversold threshold.
Default:
30rsi_overboughtnumberRSI overbought threshold.
Default:
70stop_loss_pctnumberStop loss percentage (0.001 to 0.95).
take_profit_pctnumberTake profit percentage (0.001 to 5.0).
trailing_stop_pctnumberTrailing stop percentage (0.001 to 0.95).
periods_per_yearintegerAnnualization factor for Sharpe/Sortino (252 for daily, 8760 for hourly).
Default:
252full_analysis6cr32 params(1 required)Run both signal analysis and strategy backtest, generate downloadable charts and trade log CSV.
full_analysis6cr32 params(1 required)Run both signal analysis and strategy backtest, generate downloadable charts and trade log CSV.
candlesrequiredarrayOHLCV candle series (minimum 30 rows).
Array of: object
symbolstringOptional symbol label.
timeframestringOptional timeframe label.
strategystringBacktest strategy to use.
Values:
sma_crossema_crossmacd_crossrsi_reversionbreakoutcomposite
Default:
compositeinclude_shortbooleanAllow short entries.
initial_capitalnumberStarting equity.
Default:
10000transaction_cost_bpsnumberTransaction cost in basis points.
Default:
5max_tradesintegerMaximum closed trades.
Default:
1000sma_fastintegerSMA fast period.
Default:
20sma_slowintegerSMA slow period.
Default:
50ema_fastintegerEMA fast period.
Default:
12ema_slowintegerEMA slow period.
Default:
26rsi_periodintegerRSI period.
Default:
14macd_signal_periodintegerMACD signal line period.
Default:
9bollinger_periodintegerBollinger Bands period.
Default:
20bollinger_stddevnumberBollinger Bands standard deviation.
Default:
2atr_periodintegerATR period.
Default:
14breakout_lookbackintegerBreakout lookback.
Default:
20volume_windowintegerVolume SMA window.
Default:
20rsi_oversoldnumberRSI oversold threshold.
Default:
30rsi_overboughtnumberRSI overbought threshold.
Default:
70volume_spike_multipliernumberVolume spike multiplier.
Default:
1.5stop_loss_pctnumberStop loss percentage.
take_profit_pctnumberTake profit percentage.
trailing_stop_pctnumberTrailing stop percentage.
return_indicator_seriesbooleanReturn full indicator arrays.
store_chartsbooleanGenerate and store signal and performance charts.
Default:
truestore_trade_logbooleanStore trade log as downloadable CSV.
Default:
trueexpiration_daysintegerCloud file retention in days (1-7).
Default:
7chart_widthintegerChart width in pixels.
Default:
1400chart_heightintegerChart height in pixels.
Default:
900periods_per_yearintegerAnnualization factor for Sharpe/Sortino.
Default:
252curl -X POST "https://api.agentpmt.com/products/purchase" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ********" \
-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
}
}'import requests
import json
url = "https://api.agentpmt.com/products/purchase"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer ********"
}
data = {
"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
}
}
response = requests.post(url, headers=headers, json=data)
print(response.status_code)
print(response.json())const url = "https://api.agentpmt.com/products/purchase";
const headers = {
"Content-Type": "application/json",
"Authorization": "Bearer ********"
};
const data = {
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
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));const axios = require('axios');
const url = "https://api.agentpmt.com/products/purchase";
const headers = {
"Content-Type": "application/json",
"Authorization": "Bearer ********"
};
const data = {
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
}
};
axios.post(url, data, { headers })
.then(response => {
console.log(response.status);
console.log(response.data);
})
.catch(error => {
console.error("Error:", error.message);
});Login to view your API and budget keys. The example above uses placeholder values. Sign in to see personalized code with your bearer token.
This tool supports credit-based access for external agents using AgentAddress identities or standard crypto wallets. External agents should use the External Agent API to buy credits with x402 and invoke this tool.
1. Buy Credits
Purchase credits via x402 payment (500 credit minimum, 100 credits = $1).
# Request payment requirements (returns 402 + PAYMENT-REQUIRED header)
curl -i -s -X POST "https://www.agentpmt.com/api/external/credits/purchase" \
-H "Content-Type: application/json" \
-d '{ "wallet_address":"0xYOUR_WALLET", "credits": 500, "payment_method":"x402" }'
# Sign the EIP-3009 authorization, then retry with signature header
curl -s -X POST "https://www.agentpmt.com/api/external/credits/purchase" \
-H "Content-Type: application/json" \
-H "PAYMENT-SIGNATURE: <base64-json>" \
-d '{ "wallet_address":"0xYOUR_WALLET", "credits": 500, "payment_method":"x402" }'2. Create a Session Nonce (nonce used in signed balance/invoke)
curl -s -X POST "https://www.agentpmt.com/api/external/auth/session" \
-H "Content-Type: application/json" \
-d '{ "wallet_address":"0xYOUR_WALLET" }'3. Invoke This Tool
Sign the message with your wallet (EIP-191 personal-sign), then POST to the invoke endpoint.
# Sign this message (wallet MUST be lowercased):
# agentpmt-external
# wallet:0xyourwallet...
# session:<session_nonce>
# request:<request_id>
# method:POST
# path:/external/tools/trading-signal-analysis/actions/<actionSlug>/invoke
# payload:<sha256(canonical_json(parameters))>
curl -s -X POST "https://www.agentpmt.com/api/external/tools/trading-signal-analysis/actions/<actionSlug>/invoke" \
-H "Content-Type: application/json" \
-d '{
"wallet_address": "0xYOUR_WALLET",
"session_nonce": "<session_nonce>",
"request_id": "invoke-uuid",
"signature": "0x<signature>",
"parameters": {
"your_param": "value"
}
}'Usage Instructions
Usage guidance provided directly by the developer for this product.
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)
{
"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
{
"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
{
"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 timestampvolume(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_fastmust be less thansma_slow;ema_fastmust be less thanema_slow.rsi_oversoldmust be less thanrsi_overbought.- Transaction costs are applied as basis points per side (default 5 bps = 0.05%).
- Set
periods_per_yearto match your data frequency (252 for daily, 8760 for hourly). - Charts are stored in cloud storage with signed download URLs.






