# Backtest Labs > Backtest Labs is a no-code backtesting platform for stock and crypto trading strategies. Strategies are built in a visual editor from 62 nodes, run on historical data at intervals from 1 minute to 1 month, and checked with 10 statistical validation tests, including Monte Carlo simulation, walk-forward analysis, and overfitting detection, that show whether a result is a real edge or a curve fit. It is a testing tool, not a broker: strategies export as Pine Script or Python to trade elsewhere. Important notes: - Backtest Labs is a strategy testing tool, not a broker. It does not place live trades. - Markets: US stocks and cryptocurrency. Forex, futures, and options are not supported. - No coding is required. CSV and PDF export is on every paid plan. Pine Script and Python export is a paid feature; the pricing page lists which plan includes it. - In a multi-ticker backtest each ticker runs independently with its own portfolio. Results are never combined. - There is a free plan: one saved strategy, one ticker per backtest, shorter intraday history. Statistical validation starts on the Core plan. ## Product - [Home](https://www.backtestlabs.com): Backtest Labs is a no-code platform for backtesting stock and crypto trading strategies. Build strategies with 60+ configurable nodes, validate with 10 statistical tools, and export to Pine Script or Python. - [Pricing](https://www.backtestlabs.com/pricing): Test your strategy before your money does. Backtest Labs has free, core, advanced, and professional tiers with unlimited strategies, statistical validation, and code export. ## Documentation - [Getting Started](https://www.backtestlabs.com/docs): Get started with Backtest Labs: build, run, and analyze a no-code trading strategy backtest in minutes, with no programming required. - [FAQ](https://www.backtestlabs.com/docs/faq): Frequently asked questions about Backtest Labs: how backtesting works, supported markets and intervals, data sources, accounts, and billing. ## Nodes - [Overview](https://www.backtestlabs.com/docs/nodes): Overview of Backtest Labs nodes: the indicator, signal, action, and utility building blocks you wire together to define a no-code trading strategy. - [EMA](https://www.backtestlabs.com/docs/nodes/ema): The Backtest Labs EMA node outputs one or more exponential moving averages and supports trend, crossover, and ribbon signal modes for no-code trading strategies. - [MA](https://www.backtestlabs.com/docs/nodes/ma): The Backtest Labs MA node outputs a simple or smoothed moving average and supports trend, crossover, and ribbon signal modes for no-code trading strategies. - [DMI/ADX](https://www.backtestlabs.com/docs/nodes/dmi): The Backtest Labs DMI/ADX node outputs the +DI, -DI, and ADX lines and signals directional dominance gated by trend strength for no-code trading strategies. - [Ichimoku](https://www.backtestlabs.com/docs/nodes/ichimoku): The Backtest Labs Ichimoku node outputs the Conversion Line, Base Line, and cloud spans and signals the close position relative to the cloud for no-code trading strategies. - [Supertrend](https://www.backtestlabs.com/docs/nodes/supertrend): The Backtest Labs Supertrend node outputs an ATR-banded trend line and signals the current trend side for no-code trading strategies. - [Parabolic SAR](https://www.backtestlabs.com/docs/nodes/parabolic-sar): The Backtest Labs Parabolic SAR node outputs a stop-and-reverse trailing stop and signals each trend flip for no-code trading strategies. - [Trendline](https://www.backtestlabs.com/docs/nodes/trendline): The Backtest Labs Trendline node draws a line between two captured anchor points and signals when price crosses it for no-code trading strategies. - [Aroon](https://www.backtestlabs.com/docs/nodes/aroon): The Backtest Labs Aroon node outputs the Aroon Up, Aroon Down, and oscillator lines and signals new-high and new-low momentum shifts for no-code trading strategies. - [RSI](https://www.backtestlabs.com/docs/nodes/rsi): The Backtest Labs RSI node computes the Relative Strength Index momentum oscillator and emits overbought and oversold signals with edge-triggered or sustained activation for no-code trading strategies. - [MACD](https://www.backtestlabs.com/docs/nodes/macd): The Backtest Labs MACD node computes the Moving Average Convergence Divergence momentum indicator and emits signal-line cross signals with edge-triggered or sustained activation for no-code trading strategies. - [Stochastic](https://www.backtestlabs.com/docs/nodes/stochastic): The Backtest Labs Stochastic node computes the Stochastic Oscillator and emits %K/%D crossover signals inside the overbought and oversold zones for no-code trading strategies. - [CCI](https://www.backtestlabs.com/docs/nodes/cci): The Backtest Labs CCI node computes the Commodity Channel Index momentum oscillator and emits overbought and oversold signals with edge-triggered or sustained activation for no-code trading strategies. - [Williams %R](https://www.backtestlabs.com/docs/nodes/williams-r): The Backtest Labs Williams %R node computes the Williams Percent Range momentum oscillator and emits overbought and oversold signals with edge-triggered or sustained activation for no-code trading strategies. - [Stochastic RSI](https://www.backtestlabs.com/docs/nodes/stochastic-rsi): The Backtest Labs Stochastic RSI node applies the Stochastic Oscillator to RSI values and emits %K/%D crossover and zone signals with edge-triggered or sustained activation for no-code trading strategies. - [Bollinger Bands](https://www.backtestlabs.com/docs/nodes/bollinger-bands): The Backtest Labs Bollinger Bands node outputs a moving-average centerline with standard-deviation bands and signals price breaking the upper or lower band for no-code trading strategies. - [Donchian Channels](https://www.backtestlabs.com/docs/nodes/donchian-channels): The Backtest Labs Donchian Channels node outputs the highest-high and lowest-low channel with a midline and signals breaks of the prior-bar channel for no-code trading strategies. - [Keltner Channels](https://www.backtestlabs.com/docs/nodes/keltner-channels): The Backtest Labs Keltner Channels node outputs an EMA centerline with ATR-based bands and signals price breaking the upper or lower band for no-code trading strategies. - [ATR](https://www.backtestlabs.com/docs/nodes/atr): The Backtest Labs ATR node outputs the Average True Range with selectable smoothing and signals it crossing a volatility threshold for no-code trading strategies. - [Volatility Regime](https://www.backtestlabs.com/docs/nodes/volatility-regime): The Backtest Labs Volatility Regime node classifies a connected volatility measure by percentile, mean, or fixed thresholds and signals high, low, expansion, contraction, or extreme regimes for no-code trading strategies. - [Pivot Points](https://www.backtestlabs.com/docs/nodes/pivot-points): The Backtest Labs Pivot Points node computes support and resistance levels from a prior period across eight styles and signals price relative to a selected level for no-code trading strategies. - [Support & Resistance](https://www.backtestlabs.com/docs/nodes/support-resistance): The Backtest Labs Support and Resistance node detects price levels by bounce count and signals breakouts, bounces, or proximity to the strongest levels for no-code trading strategies. - [Swing Pivots](https://www.backtestlabs.com/docs/nodes/swing-pivots): The Backtest Labs Swing Pivots node detects confirmed swing highs and lows over a window and signals each confirmed pivot for no-code trading strategies. - [ZigZag](https://www.backtestlabs.com/docs/nodes/zigzag): The Backtest Labs ZigZag node connects significant swing turns filtered by a percent or ATR threshold and signals each confirmed turn for no-code trading strategies. - [Volume](https://www.backtestlabs.com/docs/nodes/volume): The Backtest Labs Volume node exposes raw or smoothed trading volume and signals when volume crosses a threshold for no-code trading strategies. - [Relative Volume](https://www.backtestlabs.com/docs/nodes/relative-volume): The Backtest Labs Relative Volume node measures current volume against its lookback baseline and signals high- or low-activity extremes for no-code trading strategies. - [OBV](https://www.backtestlabs.com/docs/nodes/obv): The Backtest Labs OBV node accumulates on-balance volume and signals from its moving-average cross or line direction for no-code trading strategies. - [MFI](https://www.backtestlabs.com/docs/nodes/mfi): The Backtest Labs MFI node is a volume-weighted oscillator that signals oversold and overbought money-flow extremes for no-code trading strategies. - [CMF](https://www.backtestlabs.com/docs/nodes/cmf): The Backtest Labs CMF node measures Chaikin Money Flow accumulation and distribution pressure and signals threshold crosses for no-code trading strategies. - [Volume Profile](https://www.backtestlabs.com/docs/nodes/volume-profile): The Backtest Labs Volume Profile node builds a rolling volume histogram and signals price crossing the Point of Control or Value Area levels for no-code trading strategies. - [VWAP](https://www.backtestlabs.com/docs/nodes/vwap): The Backtest Labs VWAP node computes the volume-weighted average price by session, rolling, or anchored window and signals price crosses for no-code trading strategies. - [Price](https://www.backtestlabs.com/docs/nodes/price): The Backtest Labs Price node outputs a selected price field or connected series with an optional lag for downstream nodes in no-code trading strategies. - [Candlestick](https://www.backtestlabs.com/docs/nodes/candlestick): The Backtest Labs Candlestick node detects 27 classic candlestick patterns and signals when any selected pattern is confirmed for no-code trading strategies. - [Bars](https://www.backtestlabs.com/docs/nodes/bars-node): The Backtest Labs Bars node detects 19 price-bar patterns from bar ranges, gaps, and breakouts and signals when any selected pattern is confirmed for no-code trading strategies. - [Heikin Ashi](https://www.backtestlabs.com/docs/nodes/heikin-ashi): The Backtest Labs Heikin Ashi node computes smoothed Heikin Ashi candles and signals on candle color change or state for no-code trading strategies. - [Dividend](https://www.backtestlabs.com/docs/nodes/dividend): The Backtest Labs Dividend node detects cash dividend payments on a stock and signals on each ex-dividend bar for no-code trading strategies. - [Earnings Event](https://www.backtestlabs.com/docs/nodes/earnings-event): The Backtest Labs Earnings Event node marks each fiscal quarter-end (reporting period) for a stock with a configurable day offset for no-code trading strategies. - [Split Event](https://www.backtestlabs.com/docs/nodes/split-event): The Backtest Labs Split Event node detects stock splits and filters them as forward or reverse splits for no-code trading strategies. - [Buy](https://www.backtestlabs.com/docs/nodes/buy): The Backtest Labs Buy node places long entries or short covers in a no-code trading strategy, with configurable size, order type, and trigger inputs. - [Sell](https://www.backtestlabs.com/docs/nodes/sell): The Backtest Labs Sell node closes long positions or opens short positions in a no-code trading strategy, with configurable size, order type, and trigger inputs. - [Wait](https://www.backtestlabs.com/docs/nodes/wait): The Backtest Labs Wait node gates a signal in a no-code trading strategy, delaying activation by a fixed number of bars or latching once its input first becomes active. - [And](https://www.backtestlabs.com/docs/nodes/and-operator): The Backtest Labs And operator node combines signal inputs and activates only on bars where every input is active, for no-code trading strategy logic. - [Or](https://www.backtestlabs.com/docs/nodes/or-operator): The Backtest Labs Or operator node combines signal inputs and activates on bars where at least one input is active, for no-code trading strategy logic. - [Split](https://www.backtestlabs.com/docs/nodes/split-operator): The Backtest Labs Split operator node is a fan-out that passes one input through to two outputs unchanged, for no-code trading strategy graphs. - [Relation](https://www.backtestlabs.com/docs/nodes/relation-operator): The Backtest Labs Relation operator node compares two numeric inputs with a relational operator and activates on bars where the comparison holds. - [Sequence](https://www.backtestlabs.com/docs/nodes/sequence-operator): The Backtest Labs Sequence operator node activates when one signal is active and another occurred within a set number of recent bars, for no-code strategy logic. - [Transform](https://www.backtestlabs.com/docs/nodes/transform-operator): The Backtest Labs Transform operator node applies a moving average, change, rolling statistic, z-score, or other transformation to a numeric series. - [Math](https://www.backtestlabs.com/docs/nodes/math-operator): The Backtest Labs Math operator node evaluates a free-text formula over its inputs using a built-in math function library, for no-code trading strategies. - [Numeric Value](https://www.backtestlabs.com/docs/nodes/numeric-value): The Backtest Labs Numeric Value node emits a constant number or a percentage of equity, cash, initial capital, or an input series, for no-code strategy logic. - [Capture](https://www.backtestlabs.com/docs/nodes/capture): The Backtest Labs Capture node stores a data series value when a mask activates and holds it until the next capture for no-code trading strategies. - [Schedule](https://www.backtestlabs.com/docs/nodes/schedule): The Backtest Labs Schedule node activates on bars at a specific time of day or inside a time window, filtered by day of week, for no-code trading strategies. - [Stop Loss](https://www.backtestlabs.com/docs/nodes/stop-loss): The Backtest Labs Stop Loss node computes a percentage, fixed, or ATR stop level from a reference price and signals when price crosses it for no-code trading strategies. - [Profit Target](https://www.backtestlabs.com/docs/nodes/profit-target): The Backtest Labs Profit Target node computes a percentage, fixed, or ATR target level from a reference price and signals when price crosses it for no-code trading strategies. - [Trailing Stop](https://www.backtestlabs.com/docs/nodes/trailing-stop): The Backtest Labs Trailing Stop node computes a ratcheting stop that trails the best price and signals when price crosses it for no-code trading strategies. - [Divergence](https://www.backtestlabs.com/docs/nodes/divergence): The Backtest Labs Divergence node compares swing points in two series to detect regular and hidden bullish or bearish divergence for no-code trading strategies. - [Direction Filter](https://www.backtestlabs.com/docs/nodes/direction-filter): The Backtest Labs Direction Filter node passes a signal through only when a direction series matches the selected bullish or bearish sign for no-code trading strategies. - [Crossover](https://www.backtestlabs.com/docs/nodes/crossover): The Backtest Labs Crossover node signals when two series cross or while one stays above or below the other for no-code trading strategies. - [Portfolio Value](https://www.backtestlabs.com/docs/nodes/portfolio-value): The Backtest Labs Portfolio Value node compares live portfolio equity against a dollar or percent-of-starting-cash target, evaluated from real portfolio state in no-code trading strategies. - [Drawdown](https://www.backtestlabs.com/docs/nodes/drawdown): The Backtest Labs Drawdown node tracks portfolio equity decline from a rolling window peak and triggers on current or max drawdown thresholds, evaluated from live portfolio state in no-code trading strategies. - [Exposure](https://www.backtestlabs.com/docs/nodes/exposure): The Backtest Labs Exposure node outputs long, short, net, or gross position exposure as a percentage of portfolio equity, evaluated from live portfolio state in no-code trading strategies. - [Position Count](https://www.backtestlabs.com/docs/nodes/position-count): The Backtest Labs Position Count node outputs the number of open positions for the current ticker, filtered by direction (all, long, or short), evaluated from live portfolio state in no-code trading strategies. - [Cash Balance](https://www.backtestlabs.com/docs/nodes/cash-balance): The Backtest Labs Cash Balance node outputs total cash, available cash after the global reserve, or a configurable reserve amount, evaluated from live portfolio state in no-code trading strategies. - [Risk Per Trade](https://www.backtestlabs.com/docs/nodes/risk-per-trade): The Backtest Labs Risk Per Trade node computes a volatility-based position size from live portfolio equity, a connected ATR series, and a maximum risk percentage in no-code trading strategies. ## Charts - [Overview](https://www.backtestlabs.com/docs/charts): Overview of the Backtest Labs result charts: price, returns, drawdown, trade distribution, rolling metrics, calendar returns, exposure, multi-chart, and validation analysis. - [Price Chart](https://www.backtestlabs.com/docs/charts/charts-price): The Backtest Labs Price Chart shows candlestick price action with indicator overlays, executed trade markers, and synchronized volume for any ticker in your backtest. - [Returns Analysis](https://www.backtestlabs.com/docs/charts/charts-returns): The Backtest Labs Returns Analysis view shows the equity curve, periodic returns, returns distribution, and headline performance metrics like CAGR, Sharpe, and volatility for a backtest. - [Drawdown Analysis](https://www.backtestlabs.com/docs/charts/charts-drawdown): The Backtest Labs Drawdown Analysis view shows the underwater curve, worst drawdown episodes, drawdown distribution, and metrics like max drawdown, time underwater, recovery factor, and ulcer index. - [Overview](https://www.backtestlabs.com/docs/charts/trade-distribution-overview): The Backtest Labs Trade Distribution overview shows headline trade-quality vitals like profit factor, expectancy, payoff ratio, and SQN alongside win-rate, win/loss, MAE/MFE, and trade-rhythm charts. - [Distribution](https://www.backtestlabs.com/docs/charts/trade-distribution-distribution): The Backtest Labs Trade Distribution distribution tab shows the spread of per-trade outcomes as a histogram, cumulative distribution, and Q-Q plot, with mean, median, standard deviation, and percentile stats. - [Trades](https://www.backtestlabs.com/docs/charts/trade-distribution-trades): The Backtest Labs Trade Distribution trades tab is a per-trade blotter, viewable ungrouped or grouped into trade chains, with return, cost, MAE, MFE, R-multiple, and duration for every closed trade. - [Timing](https://www.backtestlabs.com/docs/charts/trade-distribution-timing): The Backtest Labs Trade Distribution timing tab shows when trades happen and how long they are held, with hour, session, weekday, and monthly performance, duration-vs-payoff, and holding-period charts. - [Execution](https://www.backtestlabs.com/docs/charts/trade-distribution-execution): The Backtest Labs Trade Distribution execution tab shows the per-trade cost of execution with cost drag, a cost waterfall, capacity, and periodic costs, plus all-in cost, turnover, and percent-of-ADV metrics. - [Performance](https://www.backtestlabs.com/docs/charts/rolling-performance): The Backtest Labs Rolling Metrics performance tab charts rolling Sharpe, Sortino, Calmar, and volatility across a backtest, with current, median, and percentile readings, tail ratio, and skewness. - [Benchmark](https://www.backtestlabs.com/docs/charts/rolling-benchmark): The Backtest Labs Rolling Metrics benchmark tab charts rolling alpha, beta, correlation, tracking error, and information ratio against a benchmark, with capture ratios, batting average, and R-squared. - [Calendar Returns](https://www.backtestlabs.com/docs/charts/charts-calendar): The Backtest Labs Calendar Returns view colors each day of a backtest by its return in a per-year heatmap and a month-by-month grid, with metrics like best and worst day, win rate, and profitable months. - [Exposure Analysis](https://www.backtestlabs.com/docs/charts/charts-exposure): The Backtest Labs Exposure Analysis view shows long, short, net, and gross exposure plus leverage over a backtest, with charts of exposure composition and distribution and metrics like time invested and max leverage. - [Multi-Chart](https://www.backtestlabs.com/docs/charts/charts-multi): The Backtest Labs Multi-Chart view shows several backtest result charts at once in a configurable grid, with a synchronized time axis and crosshair across the time-series panels for side-by-side comparison. - [Overview](https://www.backtestlabs.com/docs/charts/validations): The Backtest Labs Validations view presents results from the Monte Carlo, trade sequence, hold-out, market regime, rolling window, cost-stress, robustness, sensitivity, walk-forward, and overfitting validation tests, each method on its own page with scorecards, distributions, and equity overlays. - [Monte Carlo](https://www.backtestlabs.com/docs/charts/monte-carlo): The Backtest Labs Monte Carlo validation ranks a backtest against many simulations built by resampling its trades, with final-equity and drawdown distributions, confidence bands, and a risk scorecard. - [Trade Sequence](https://www.backtestlabs.com/docs/charts/trade-sequence): The Backtest Labs trade sequence validation permutes the order of a backtest's trades to isolate path luck for a fixed final equity, with drawdown, losing streak, and time underwater percentile ranks, a drawdown exceedance curve, odds ladders, and equity percentile bands with an underwater view. - [Hold-Out](https://www.backtestlabs.com/docs/charts/hold-out): The Backtest Labs hold-out validation compares an in-sample segment of a backtest against a held-out out-of-sample segment across win rate, drawdown, return, CAGR, and Sharpe, with a degradation scorecard. - [Market Regime](https://www.backtestlabs.com/docs/charts/market-regime): The Backtest Labs market regime validation splits backtest results by the ticker's own trend and volatility regimes, with a regime risk scorecard, a joint trend and volatility matrix, per-regime benchmark comparison, and a regime-shaded cumulative return timeline. - [Rolling Window](https://www.backtestlabs.com/docs/charts/rolling-window): The Backtest Labs rolling window validation splits a backtest into sequential windows and evaluates each independently, with per-window returns, a multi-metric comparison, overlaid equity curves, and a consistency scorecard. - [Cost Stress](https://www.backtestlabs.com/docs/charts/cost-stress): The Backtest Labs cost-stress validation multiplies a strategy's trading costs across stress levels, with a metric degradation heatmap, profit erosion and breakeven, per-multiplier metrics, and a survival scorecard. - [Robustness](https://www.backtestlabs.com/docs/charts/robustness): The Backtest Labs robustness validation re-runs a strategy with entry and exit fills delayed by one to three bars, with per-trade impact, a multi-metric comparison, overlaid equity curves, and a tolerance scorecard. - [Sensitivity](https://www.backtestlabs.com/docs/charts/sensitivity): The Backtest Labs sensitivity validation moves each strategy parameter on its own around its set value and measures the effect on the ranking metric you choose, with a heatmap, an impact ranking, sensitivity curves, a two-parameter surface, an equity variation envelope and a scorecard in the metric's own units. - [Walk-Forward](https://www.backtestlabs.com/docs/charts/walk-forward): The Backtest Labs walk-forward validation re-optimizes strategy parameters on each in-sample window and applies the winners to the out-of-sample period that follows, with a walk-forward efficiency scorecard, window timeline, per-window degradation and parameter stability panels, and a stitched out-of-sample equity curve. - [Overfitting](https://www.backtestlabs.com/docs/charts/overfitting): The Backtest Labs overfitting validation builds a pool of strategy variants by varying every nonzero tunable parameter together within a set spread and judges it with combinatorially symmetric cross-validation, with a PBO and Deflated Sharpe Ratio scorecard, trial Sharpe ECDF, logit distribution, expected maximum Sharpe, performance degradation, and stochastic dominance panels. ## Execution Engine - [Overview](https://www.backtestlabs.com/docs/execution): How the Backtest Labs execution engine runs a backtest, from graph resolution and data loading through trade execution and result finalization. - [Graph Resolution](https://www.backtestlabs.com/docs/execution/graph-resolution): How Backtest Labs resolves a strategy graph into an ordered execution plan, validating node connections and dependencies before a backtest runs. - [Data Pipeline](https://www.backtestlabs.com/docs/execution/data-pipeline): How Backtest Labs loads, aligns, and prepares market data for a backtest, including intervals, history windows, and corporate-action adjustments. - [Trade Execution](https://www.backtestlabs.com/docs/execution/trade-execution): How Backtest Labs executes trades during a backtest: order timing, fills, position sizing, holding periods, and risk-management rules. - [Cost Modeling](https://www.backtestlabs.com/docs/execution/cost-modeling): How Backtest Labs models trading costs in a backtest, including commission and slippage settings and their effect on strategy performance. - [Dividends & Corporate Actions](https://www.backtestlabs.com/docs/execution/dividends-corporate-actions): How Backtest Labs handles dividends, stock splits, and other corporate actions so backtest results reflect real total returns. - [Validation Engine](https://www.backtestlabs.com/docs/execution/validation-engine): How the Backtest Labs validation engine stress-tests a strategy with Monte Carlo, trade sequence, hold-out, market regime, rolling window, cost-stress, robustness, sensitivity, walk-forward, and overfitting tests. - [Code Export](https://www.backtestlabs.com/docs/execution/code-export): How Backtest Labs exports a strategy as Python or Pine Script: TA-Lib-based indicator math, parity with the platform, and signal-vs-execution timing. ## Optional - [Privacy Policy](https://www.backtestlabs.com/privacy): How Backtest Labs collects, uses, and protects your personal information, including GDPR and CCPA rights. - [Terms of Service](https://www.backtestlabs.com/terms): The terms governing your access to and use of Backtest Labs, including subscriptions, refunds, content ownership, and liability.