Skip to content
Puranode

Trading bots

Build a trading bot. Test it honestly. Take the code with you.

Set the rules, run them against real hourly candles in your own browser, and see what they would actually have done — including the parts most backtests quietly leave out. When you are happy with it, export it as a Python bot or a TradingView script.

Runs in your browser — nothing sent to usWe never ask for your API keys

Free to build and test. Trading carries risk of loss; nothing here is financial advice.

Try it now

No account, no signup

Pick a strategy shape, adjust it, and run it. The candles come straight from the exchange to your browser.

Strategy

Safety net

These stop the strategy trading. They protect an account — and they also cut the drawdown figure short, because a strategy that has stopped cannot lose more. Set them to 0 to see what the rules do unprotected.

Your trading costs

Charged on every trade. The defaults are Binance’s spot taker fee and a rough allowance for spread — an estimate, not a quote. Put your own broker’s numbers in; on short-horizon strategies these routinely decide the sign.

Needs 805 bars of warm-up before the first signal can fire. Runs entirely in your browser — the link carries your settings in the part of the URL that is never sent to a server.

Pick a shape, set the risk, and run it against real hourly candles. Nothing is sent to us — the data comes straight from the exchange to your browser and the backtest runs on your machine.

Why the numbers are lower

Four rules that make a backtest worth reading

Every one of these makes results look worse. That is the point — a number you cannot reproduce live is not worth having.

Signals at bar close, fills at the next open

A strategy never acts on a price it could not have known. This is the single most common way a backtest lies to the person who built it.

A forming candle is invisible

The 4-hour trend filter reads only 4-hour candles that have finished. Reading the one still forming looks prescient on a chart and is impossible to reproduce live.

Gaps are reported, never filled

An interpolated candle is a price that never existed. If the exchange has holes, you are shown the count instead of being quietly traded through them.

One set of equations, everywhere

MetaTrader and TradingView disagree about what ATR and MACD even mean. We pin one definition, and the exported code carries it rather than trusting the platform's built-in.

Your keys

We do not want your API keys

Not as a policy we might revise — there is nowhere on this site to enter them.

In the exported code

The bot reads your key from an environment variable on your machine and refuses to start without one. The file itself contains no credentials, so it is safe to commit or email.

If you host with us

You set the key yourself on your own server, and we walk you through it. We will not do it on your behalf — a key we never hold is a key we cannot leak.

Whatever you do

Use a key with trading permission and without withdrawal permission. The generated code says so too. No strategy needs to be able to move your money off the exchange.

Questions

Before you rely on any of this

Do I need to give you my exchange API keys?

No, and we will not accept them. The code we generate reads your keys from environment variables on your own machine — Puranode never sees, stores or transmits them, and there is no field on this site to paste them into. If you later host the bot with us you connect the keys yourself, on your own server, for the same reason: a key we never hold is a key we cannot lose.

Is the backtest run on your servers?

No. The candles are fetched from the exchange's public API directly by your browser, and the backtest runs on your machine. We do not receive the strategy you built or the result you got.

Will the exported code trade exactly like the backtest?

The Python export is built to. It embeds the same indicator equations the backtest used — copied in literally, not reimplemented — and our test suite runs the generated file against the reference engine and compares the decision on every entry bar. The TradingView export is a faithful transcription of the logic, but it cannot reproduce the same numbers, because TradingView's price feed is not the feed you backtested on. That is stated in the header of every script we generate rather than left for you to discover.

Why does the result look worse than other backtesting tools?

Usually because of three rules we do not bend. Signals are evaluated at the close of a bar and orders fill at the open of the next one, never at a price the strategy could not have known. A higher-timeframe candle is invisible until it has closed. And gaps in the data are reported, never filled in with invented candles. Each of those makes results worse and makes them real.

Does a good backtest mean the strategy will make money?

No. A backtest is not a prediction. It tells you how a set of rules would have behaved on one stretch of history, with costs we did not charge and fills we assumed. Trading involves real risk of loss, and no result on this page is a guarantee, a forecast or financial advice.

What does it cost?

Building and backtesting are free and always will be — they run on your hardware, so they cost us nothing. Exporting the finished code is the paid part: you save a strategy file from the builder, send it to us, and we generate a Python bot and a TradingView script from that exact file, along with a hash you can check the code against. Ask us for pricing, as it depends on what you need. Hosting a finished bot 24/7 is still being built; leave your email below and we will tell you when it is ready.

How you get the code

Building and backtesting are free and always will be. Getting the code is the paid part, and it works like this:

  1. Run a backtest you are happy with, then press Save strategy file. That file holds the exact strategy that was tested and the costs you charged it — not a description of it that someone has to retype.
  2. Send us the file. We generate your export from that file, so the code is built from your strategy rather than rebuilt from a summary of it.
  3. You get a Python bot, a TradingView script and a strategy hash. The hash is how you check the code you received is the strategy you tested. The same strategy always produces the same hash.

24/7 hosting for a finished bot is still being built. We would rather ship it late than ship a bot that trades differently from the result you were shown. Ask us for export pricing — it depends on what you need.

Tell me when export and hosting open

One email when paid code export and 24/7 bot hosting go live. No newsletter, no sharing your address.