{"uid":"cap_ruX3Z9sTp4_Zf-K5Pq9T6","slug":"trading-strategy-backtest-comparator-2b988ece","name":"Trading Strategy Backtest Comparator","description":"Does a 150-day or 200-day SMA actually perform better on this asset? Test two parameter sets head-to-head against the same asset and date range in one call, with both real results and a declared winner -- cheaper than paying for two separate backtests and comparing them yourself.","url":"https://strategysignals.duckdns.org/tools/strategy-backtest/compare","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"a":{"type":"object","properties":{"cooldown_days":{"type":"integer"},"sma_period_days":{"type":"integer"},"trailing_stop_pct":{"type":"number"}}},"b":{"type":"object","properties":{"cooldown_days":{"type":"integer"},"sma_period_days":{"type":"integer"},"trailing_stop_pct":{"type":"number"}}},"end":{"type":"string","description":"optional ISO date"},"asset":{"enum":["BTC","ETH","SOL","XRP","ADA"],"type":"string"},"start":{"type":"string","description":"optional ISO date"},"starting_capital":{"type":"number"}}},"responseSchema":{"type":"json","example":{"a":{"asset":"ETH","params":{"cooldown_days":14,"sma_period_days":150,"starting_capital":1000,"trailing_stop_pct":0.2},"metrics":{"win_rate":0.643,"final_equity":2842,"sharpe_ratio":0.91,"total_trades":14,"max_drawdown_pct":0.384,"starting_capital":1000,"total_return_pct":1.842},"data_period":{"years":5.5,"actual_end":"2026-07-01","actual_start":"2021-01-01","requested_end":"2026-07-01","requested_start":"2021-01-01"},"equity_curve":[{"equity":1000,"timestamp":"2021-01-01T00:00:00+00:00"}]},"b":{"asset":"ETH","params":{"cooldown_days":14,"sma_period_days":150,"starting_capital":1000,"trailing_stop_pct":0.2},"metrics":{"win_rate":0.643,"final_equity":2842,"sharpe_ratio":0.91,"total_trades":14,"max_drawdown_pct":0.384,"starting_capital":1000,"total_return_pct":1.842},"data_period":{"years":5.5,"actual_end":"2026-07-01","actual_start":"2021-01-01","requested_end":"2026-07-01","requested_start":"2021-01-01"},"equity_curve":[{"equity":1000,"timestamp":"2021-01-01T00:00:00+00:00"}]},"asset":"ETH","winner":"b"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.2","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.2/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.2","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.2","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_E1WOBaFqeduTL8nEfc8RY","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.2","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Runs and compares two parameterized SMA/trailing-stop trading strategies head-to-head on BTC, ETH, or SOL, returning full performance metrics and equity curves for both.","exampleAgentPrompt":"Compare two ETH trading strategies for me: strategy A uses a 150-day SMA, 14-day cooldown, and 20% trailing stop, and strategy B uses a 100-day SMA, 7-day cooldown, and 15% trailing stop — both starting with $1,000 from January 2021 to July 2026. Which one wins?","exampleUseCases":[{"title":"Optimize SMA period for BTC","prompt":"I want to compare two BTC strategies: one with a 200-day SMA, 10-day cooldown, and 25% trailing stop versus one with a 50-day SMA, 10-day cooldown, and 25% trailing stop — same $5,000 starting capital from 2022-01-01 to 2024-12-31. Which setup gives a better Sharpe ratio and lower drawdown?"},{"title":"Validate trailing stop tuning for SOL","prompt":"Run a head-to-head backtest on SOL starting with $2,000 from 2023-01-01 to 2025-06-01: strategy A has a 120-day SMA, 14-day cooldown, and 10% trailing stop; strategy B is identical but with a 30% trailing stop. Tell me the final equity, win rate, and which one wins."},{"title":"Historical ETH strategy research for blog post","prompt":"Backtest two ETH strategies from 2021-06-01 to 2026-01-01, both starting at $1,000 — strategy A uses a 150-day SMA with a 20% trailing stop and 14-day cooldown, strategy B uses a 90-day SMA with a 15% trailing stop and 7-day cooldown. Give me the full metrics including total return and max drawdown so I can compare them."}],"resultDescription":"Returns a JSON object with full results for both strategy A and B including: asset traded, parameter config, performance metrics (win rate, final equity, Sharpe ratio, total trades, max drawdown %, total return %), the actual data period covered, a timestamped equity curve, and a 'winner' field indicating which strategy outperformed.","failureModes":["Missing required fields (asset, strategy a/b params) returns validation error","Unsupported asset symbol (only BTC, ETH, SOL accepted)","Invalid or out-of-range date strings cause parsing errors","Insufficient historical data for the requested date range may truncate results","Network/server unavailability on duckdns.org dynamic DNS host","Payment failure via x402 prevents execution"],"whenToPreferThis":"Choose this endpoint when you need to directly compare two parameterized systematic trading strategies (SMA + trailing stop + cooldown) against each other on BTC, ETH, or SOL with full performance metrics and equity curves. Prefer this over single-backtest endpoints when the goal is parameter optimization or A/B testing of strategy configurations. Best for quantitative research, strategy validation, or choosing between two trading setups with transparent, verifiable methodology.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:42:29.534Z","isFirstParty":false}