From One Script to a Server: Building the Thing That Became JoNeTree

Manual walk-forward testing across strategies, timeframes and assets does not scale to a person with a job. So I stopped doing it manually.

By this point I had a real process: tune a strategy, split the history, walk it forward across several windows, then forward-test the survivors on paper before trusting anything with real money. It was also, done by hand in TradingView, an enormous amount of clicking — one strategy, one timeframe, one asset, one window at a time. Multiply that by every strategy idea and every market worth testing it on, and the manual version stops being something a person with a day job can keep up with.

So I wrote a Python script to do it instead. Feed it a strategy, a set of timeframes, a set of assets, and it would run the walk-forward process across all of them systematically — the same discipline I'd learned to apply by hand, applied automatically and at a scale hand-testing never could reach.

Too many good results for TradingView to hold

This created a problem I hadn't anticipated: the optimiser was good at its job. It came back with real candidates across enough timeframe-and-asset combinations that feeding each one into its own TradingView strategy slot, on its own subscription tier, started costing more in subscription fees than the strategies were worth finding out about.

What I actually needed wasn't more TradingView slots. It was something the optimiser could hand strategies to directly — no manual re-entry, no per-strategy subscription cost — that would take a validated strategy and start firing its signals as webhooks to a broker. So I built one: a signal generator in Python, sitting between the optimiser's output and Delta Exchange's API, doing the one job of turning a validated strategy into live orders.

The moment the optimiser could hand a strategy straight to something that traded it, this stopped being a personal workaround and started being infrastructure.

And infrastructure needs somewhere to live that isn't my laptop. I couldn't leave a personal PC on 24 hours a day waiting for signals — so I hired a server, moved the signal generator there, and built a website around it so I could actually see what it was doing without SSHing in and reading logs. I called it, for lack of a better name at the time, the trading bot.

What that first version still didn't have was any real risk management — position sizing, a daily loss limit, a cap on leverage. It would trade a validated strategy exactly as instructed, with no sense of how much of an account it should ever be allowed to risk on one signal. Building that in — bundling strategies into what I started calling bots, each with its own fixed risk parameters — is where this stopped being a personal trading tool and started becoming JoNeTree.

Follow bots built the way this post describes

Walk-forward tested, forward-tested on paper, then run with real risk limits. 15-day free Platinum trial, no card required.