Skip to main content

Pine Script CUDA backtester

Backtest Pine Script on local CUDA hardware

Strategy Arena Lab turns supported TradingView Pine Script into ArenaScript, runs the Rust CPU reference, then benchmarks CUDA variants locally on Windows.

For Pine Script builders who want a local NVIDIA/CUDA path for repeatable strategy backtests, parameter sweeps and benchmark artifacts before publishing.

Pine import into ArenaScript, including MACD beta samples
CPU reference beside CUDA metrics
Compatible SMA multi-strategy batches use cuda_sma_multi_strategy_batch_v1 in one native GPU launch
GPU Arena leaderboard payload with native GPU source/adapters
Current build20260703-sma-ma-price-native-signal
Native backendcuda_sma_multi_strategy_batch_v1
EXE SHA25683cff9575c609253130652a0f0a2f72749f7c36556888e4fdb7c50c483314e7d
Download funnel/download?from=pine-script-cuda-backtester
Animated Strategy Arena Lab Pine Script CUDA benchmark demo

Public demo before install

The launch page now shows the real beta loop before asking for a download: paste Pine, normalize to ArenaScript, compare CPU/CUDA, benchmark variants, export JSON.

Native SMA multi-strategy batches run in one CUDA launch; EMA, EMA+RSI, MACD+RSI, WMA Cross, Parabolic SAR, Linear Regression, VWAP, RSI and MACD use native CUDA signal kernels; broader composite mixes keep staged fallback until fused kernels expand.

What it does

Strategy Arena Lab generates native ArenaScript candidates, runs Operator composite sweeps across 70 native families, can import supported Pine Script into the same plan format, then runs deterministic local backtests before any public validation workflow.

Why it matters

Trading strategies need repeatable local checks, visible trade logs and benchmarkable parameter sweeps before they become marketing claims.

Beta scope

  • SMA, EMA, RSI, MACD and EMA + RSI subsets
  • Long and short CPU reference paths
  • CUDA comparison where supported
  • Native GPU name, source and adapters in benchmark metadata

Pine compatibility without losing the ArenaScript engine

The Lab is not a TradingView extension. It generates and backtests Strategy Arena ArenaScript strategies first. Pine is an import bridge for deterministic subsets; CPU reference is the truth source, then CUDA runs only when a script maps to current kernels.

Supported ArenaScript generation, Operator composite, strategy.entry, SMA/EMA/WMA/HMA/ALMA/VWMA/RMA crossover/crossunder/cross and price-vs-MA crosses, Stochastic, CCI, ROC, CMO, ta.change, ta.mom, Williams %R, ADX, MFI, OBV, Bollinger, Keltner, SuperTrend, Parabolic SAR, Linear Regression, VWAP, WMA Cross, HMA Cross, ALMA Cross, VWMA Cross, ATR, Donchian, numeric inputs Native Strategy Arena candidates, Operator composite generated families and compatible Pine signals map into CPU reference runs, sweeps and current CUDA paths, including direct ta.crossover/ta.crossunder/ta.cross, inline ta.sma(close, fast), ta.ema(close, fast), ta.rma(close, fast), ta.stoch, close-based ta.cci, ta.roc, ta.cmo, ta.change close momentum gates, ta.mom close momentum gates, ta.wpr, pure ta.dmi ADX threshold plus ta.crossunder/ta.crossover/ta.cross gates, DMI plusDI/minusDI direction gates, close-based ta.mfi money-flow gates, oscillator ta.crossunder/ta.crossover/ta.cross threshold gates, ta.obv(close, volume) volume momentum gates and assigned or inline threshold plus ta.crossunder/ta.crossover/ta.cross gates, ta.vwap(close) assigned or inline price gates plus close crossover/crossunder VWAP gates, ta.bb tuple bands and inline ta.sma(close, length) +/- ta.stdev(close, length) * mult formulas plus close crossover/crossunder band gates, ta.kc tuple channels and inline ta.ema(close, length) +/- ta.atr(length) * mult formulas plus close crossover/crossunder channel gates, ta.supertrend line gates, close crossover/crossunder line gates and direction < 0 / > 0 gates, ta.sar, ta.atr and Donchian gates including short-form ta.highest(length)[1] / ta.lowest(length)[1]. Pure EMA/SMA/WMA/HMA/ALMA/VWMA price gates, price/MA cross gates, price/RMA cross gates, RMA+OBV/RMA+MFI/RMA+ADX/RMA+ATR/RMA+Donchian/RMA+Bollinger/RMA+Keltner/RMA+SuperTrend/RMA+PSAR/RMA+LINREG/RMA+VWAP/RMA+Stochastic/RMA+CCI/RMA+ROC/RMA+CHANGE/RMA+MOM/RMA+Williams %R regime gates, RSI, MACD, Stochastic, CCI, ROC, CHANGE, MOM, Williams %R, DMI direction, MFI, ADX threshold/cross and OBV threshold/cross gates now use native CUDA signal kernels; HLC3 CCI/MFI, broader RMA composites and OBV composites beyond native RMA signal regimes stay CPU reference plus staged CUDA full-plan reporting until fused native signal paths land.
Native CUDA Native lanes: SMA batch, EMA trend/cross, EMA+RSI, MACD+RSI, EMA/SMA/WMA/HMA/ALMA/VWMA cross and price gates, EMA + volume liquidity, EMA + ADX trend strength, price/EMA + ATR, price/EMA + Donchian, price/EMA + Bollinger, price/EMA + Keltner, price/EMA + SuperTrend, price/EMA + Parabolic SAR, price/EMA + Linear Regression, price/EMA + VWAP, price/EMA + Williams %R, price/EMA + ROC, price/EMA + CCI, price/EMA + Stochastic, price/EMA + MFI money-flow, Parabolic SAR, Linear Regression, VWAP, RSI, MACD, ADX, ATR, Donchian, Bollinger, Keltner, SuperTrend, Stochastic, CCI, ROC, Williams %R, MFI and OBV threshold gates Pure ta.ema trend/cross and price gates, ta.sma/ta.wma/ta.hma/ta.alma/ta.vwma price gates, ta.rsi, ta.macd, ta.sar assigned or inline price gates plus crossover price gates, ta.linreg assigned or inline price gates plus crossover line gates, ta.vwap(close) assigned or inline price gates plus close crossover/crossunder VWAP gates, ta.bb tuple/inline/crossover Bollinger gates, ta.kc tuple/inline/crossover Keltner gates, ta.supertrend line gates and direction < 0 / > 0 gates plus close crossover/crossunder line gates, ta.stoch, close-based ta.cci, ta.roc, ta.change, ta.mom, ta.wpr, ta.dmi ADX, close-based ta.mfi and ta.obv assigned or inline threshold/cross rules compute their signal vector in native CUDA before shared metrics. EMA + volume, EMA + ADX, DMI direction + ADX, price/EMA + ATR, price/EMA + Donchian, price/EMA + Bollinger, price/EMA + Keltner, price/EMA + SuperTrend, price/EMA + Parabolic SAR, price/EMA + Linear Regression, price/EMA + VWAP, price/EMA + Williams %R, price/EMA + ROC, price/EMA + CCI, price/EMA + Stochastic and price/EMA + MFI now combine native signal vectors, while HLC3 sources and broader composites stay staged so Strategy Arena preserves the full generated or imported strategy.
Partial RMA composite, OBV composite, HLC3 sources, oscillator + EMA/regime composites, short entries, named exits, input.source(close), legacy input(close), volume SMA gates, staged broad CUDA families Accepted for Lab Reports with CPU reference, pure native signal paths when the Pine subset is deterministic, and staged CUDA full-plan paths for mixed strategies. Partial covers named arguments such as source=close, length=14 and mult=2 on supported indicators, inline ta.ema/ta.wma/ta.hma/ta.alma/ta.vwma/ta.rma operands, MA cross + RSI filters, oscillator + EMA/regime composites, HLC3 CCI/MFI sources, named tpPrice/slPrice exits, strategy.position_avg_price, entryPrice or close multiplier exits, entryPrice +/- entryPrice * pct / 100 formulas, strategy.close(..., when=bar_index - entryBar >= timeout) and ta.barssince(signal) >= timeout close gates, deterministic close-only source handling and legacy input(close). Native regime gates such as EMA + volume, EMA + ADX, DMI plusDI/minusDI + ADX, EMA+RSI, MACD+RSI, price/RMA cross, RMA+OBV regime, RMA+MFI regime, RMA+ADX regime, RMA+ATR regime, RMA+Donchian regime, RMA+Bollinger regime, RMA+Keltner regime, RMA+SuperTrend regime, RMA+PSAR regime, RMA+LINREG regime, RMA+VWAP regime, RMA+Stochastic regime, RMA+CCI regime, RMA+ROC regime, RMA+CHANGE regime, RMA+MOM regime, RMA+Williams %R regime and price/EMA + ATR/Donchian/Bollinger/Keltner/SuperTrend/Parabolic SAR/Linear Regression/VWAP/Williams %R/ROC/CHANGE/MOM/CCI/Stochastic/MFI remain available while broader RMA-composite/OBV-composite/broader MA-cross family reports stay staged until fused kernels expand.
Rejected request.security/request.financial, non-close sources, strategy.order/risk, broker state, barstate/timeframe, arrays/maps, loops, alerts, drawings Repair path: flatten to one local bar stream, replace broker/runtime state with explicit ArenaScript entry, exit, stop, take-profit or timeout rules, then rerun CPU/CUDA research.

Does it run fully on CUDA?

CUDA accelerates supported strategy families while the Rust CPU reference remains the correctness baseline for every run.

Can it feed the GPU leaderboard?

Yes. Desktop benchmark artifacts include a GPU Arena payload that can be submitted manually after opt-in.

Try Strategy Arena Lab

Windows installer, MSI package, requirements and SHA256 hashes are published on the download page.

Go to download