Short answer
Give every meaningful bot change a clear version and record what changed, why it changed, and how it was tested.
At minimum, save the strategy rules, symbol, timeframe, inputs, test period, costs, test model, key results, and next decision. Good documentation helps you reproduce a result, compare versions fairly, and explain a problem to support.
Why documentation matters
Without a test record, a promising backtest may be impossible to reproduce. You may also repeat an old experiment or forget why a filter was added.
Documentation becomes more important when:
a strategy has several inputs or variables;
several people work on the same project;
multiple bots run on one MetaTrader account;
the bot is tested with different brokers or symbols; or
you return to the project after several weeks.
Give the project a clear name
Use a name that explains the strategy and market.
Examples:
EURUSD London BreakoutGold Mean ReversionUS Index Trend Pullback
Avoid names such as New Bot, Test 4, or Final Final.
Use simple version numbers
Start with a basic version such as v0.1. Increase the version when a meaningful rule changes.
Example:
v0.1— first working entry and exitv0.2— spread check addedv0.3— stop-loss calculation changedv0.4— time filter added
Do not create a new version for a spelling correction. Do create one when the trading behavior may change.
Record what changed
For each version, write one short change note.
Good:
Added a session filter so new trades can only open between 08:00 and 16:00 broker server time.
Weak:
Improved the bot.
The note should allow another person to understand the difference without opening both projects side by side.
Save the test setup
Record:
project and version name;
test date;
symbol and broker symbol name;
timeframe;
historical period;
Profectus or MetaTrader test environment;
MetaTrader test model where relevant;
starting balance and position-sizing method;
spread, commission, and other costs;
all changed inputs; and
any special data or time-zone assumptions.
A result without its test setup is not fully reproducible.
Save the result and the decision
Keep the report or screenshots with the version record. Summarize:
trade count;
Profit Factor, which is total gross profit divided by total gross loss;
net result;
balance and equity drawdown where available;
win rate;
unusual trades or errors; and
the next decision.
Use a clear decision such as:
continue testing;
fix a logic issue;
compare another setting;
test on unseen data;
park the idea; or
stop development.
Use Project Properties
Profectus Project Properties can store useful identifying information such as:
project title;
version number;
description;
website or documentation link; and
Magic Number.
A Magic Number identifies a bot or strategy inside MetaTrader. Give independent bots different Magic Numbers when they run on the same account so they do not manage each other's trades.
If one bot has several entries that need separate management, use Group Numbers for those entries. Group Numbers and Magic Numbers solve different problems.
Keep the Builder readable
Use clear names for inputs, variables, and important blocks.
For example:
Max_Spreadis clearer thanVar1;London_Highis clearer thanPriceA; andBuy Breakout Entryis clearer than an unchanged generic block title.
Add descriptions where the purpose is not obvious. Treat the project as if another person will need to understand it later.
A simple record template
Copy this structure for each meaningful version:
Project
Name:
Version:
Strategy purpose:
Change in this version:
Test setup
Symbol and timeframe:
Test period:
Test environment and model:
Position sizing:
Costs:
Inputs:
Result
Trade count:
Profit Factor:
Drawdown:
Win rate:
Notes or errors:
Decision
Continue, fix, park, or stop:
Next test:
Common mistakes
Overwriting the only copy of a working project.
Saving a report without its inputs or test period.
Using the same Magic Number for independent bots.
Changing several rules without recording them.
Naming versions only by result, such as
Best Version.Keeping only good tests and losing the history of rejected changes.
Related Profectus guidance
Backtested and past performance do not guarantee future results. This article is educational and is not financial or investment advice.
