Installation & launch
Choose your operating system and architecture on the download page. Portable packages contain the runtime; Rust, Cargo, and Node.js are not required. Extract the entire archive before launching.
- Windows: Double-click Start XPine.cmd.
- Linux:
./start.sh - macOS: Open Start XPine.command. Choose Apple Silicon for M-series chips and Intel for Intel processors.
The launch window prints the local address and opens your browser. The default is http://127.0.0.1:8765. Keep the window open; press Ctrl+C to stop the service.
These preview packages are unsigned. Download from the official site and verify SHA-256. Your system may require approval or block execution. Use its trusted-app process; contact your administrator on managed devices. Do not disable device-wide security protections.
Your first backtest
- In the Pine editor, select Load and choose the EMA Cross example, or import your own Pine file.
- Choose a symbol, interval, and historical period. Wait for the complete market data to load.
- Open Properties and review capital, order size, fees, slippage, and margin.
- Select Run backtest, then inspect Overview, List of trades, Detailed statistics, and Run log.
- Save a copy to retain your strategy. Export trade CSV or full results for further analysis.
The example illustrates the workflow and may produce a loss. Completing a backtest does not automatically submit trades.
Market data & trading costs
The first load or a new period requires access to a market-history service. XPine reads local caches first and fetches missing or recent data. Initial loads, long periods, and short intervals may take time. Uncached history cannot be obtained offline.
Review the displayed source, actual backtest period, and data warnings. Funding fees, market precision, and fill assumptions have limitations. Different data and costs change results and do not establish TradingView parity.
Check historical corrections separately when needed; it can take time. Reloading the page does not perform that check automatically.
Parameter optimization
Select Auto optimize and choose supported input parameters, ranges, steps, or candidate values. Set grid or TPE search, an evaluation budget, objective, and minimum trade count. Start with a few combinations for your first trial.
The original parameter baseline is evaluated in addition to the candidate budget. Optimization freezes the starting code, costs, and market snapshot. It does not overwrite your strategy. Inspect reports, download Pine, or apply a combination to your draft and backtest it.
Search supports a defined set of inputs with constant defaults; unsupported inputs show a reason. Rankings describe evaluated combinations only. Test an independent period rather than treating training results as future performance.
Featured strategies
Select Featured strategies in the editor. Cards provide research copies, market selections, costs, and validation records. Filter by name, symbol, or interval. Load strategy applies the corresponding code, parameters, and period; it does not run a backtest, save a personal copy, or submit trades automatically.
Validation-period results and full-year results including training cover different periods. Some studies use larger positions, some windows have been reused across research rounds, and funding fees are excluded. Inspect the details, retain cost settings, and validate with fresh data.
Parameter optimization and featured strategies are planned Pro subscription features and are temporarily open during preview.
Running on a server
Extract the matching Linux package on your server and launch it as a regular user:
./start.sh --no-open --port 8765XPine listens on the server’s 127.0.0.1 only. Create an SSH tunnel from your computer, then open http://127.0.0.1:8765:
ssh -N -L 8765:127.0.0.1:8765 user@your-serverIf your local port is occupied, use 8766 on the left side of the tunnel and open local port 8766. Do not expose the workbench directly to the public internet. This website and the local software are separate services.
Compatibility
XPine supports its implemented Pine syntax, indicators, and strategy behavior; coverage is evolving. It is independent of TradingView and does not promise that every script is supported or results are identical.
Inspect diagnostics and effective properties when a function, data request, or order behavior is unsupported. Cross-symbol requests, fill paths, data sources, and market precision require separate checks. Live execution has not completed real-exchange acceptance and is not presented as a verified capability of this preview.
Data & upgrades
User data is stored separately from application files:
- Windows:
%LOCALAPPDATA%\XPine - macOS:
~/Library/Application Support/XPine - Linux:
~/.local/share/xpine(or xpine under XDG_DATA_HOME)
Stop the service and back up your data directory before upgrading. Extract the new version into a new application folder and launch it. Packages do not overwrite personal strategies, run history, or configuration. Any future data-format migrations will be documented in the relevant changelog.
Use --data-dir with an absolute path to choose a data location outside the application directory.
Troubleshooting
The browser did not open
Keep the launch window open and manually visit its printed local address. Servers usually have no desktop browser; use an SSH tunnel.
The port is already in use
Stop the existing XPine service or add --port 8766 to the launch command.
Market history is slow or fails to load
Check your connection, data-service availability, and displayed warnings. Try a shorter period first. Do not treat partially loaded history as a complete backtest.
Previous strategies are missing after an upgrade
Check the data path printed in the launch window. If your development build used ui/workspace, stop it, retain a backup, and point --data-dir at that original workspace. Do not run two services writing to the same directory.