Using a Generic CSV File

Creating your own CSV file in a format the Strategy Cruncher can read
Published Dec 16, 2025

If you're not able to use one of the supported backtesters, there's still a way to use another backtesting software with the Strategy Cruncher.

As long as you can create a list of trades in a CSV file, you can format it in such a way that the Cruncher can use.

If you have the flexibility to modify the format, or you want to add Cruncher support to your backtester, I believe this is the ideal format to use.

There are three different field types.

Column order does not matter.

Required Fields

  • entry_time - the date and time of the trade entry
  • symbol - the symbol for the trade
  • entry_price - the average price for the entry
  • entry_shares - the number of shares used for the trade
  • entry_pl - the profit for the full round-trip trade
  • entry_side - the direction of the trade: 1 for long, -1 for short
  • exit_time - the date and time of the trade exit

Columns to Optimize On

Here's the fun part: how to format the columns (a.k.a. data points, indicators, features, etc.)

The Strategy Cruncher looks for any fields that begin with entry_collect., for example, a column with the header of:

entry_collect.gap_percent

will be treated as a field to optimize on. (Note, the period in the column name, which is important.)

This, in fact, works across all the CSV types (Trade-Ideas, Amibroker, RealTest, etc).

If any field begins with entry_collect., then the Cruncher assumes that all fields for optimizing will also start with entry_collect.

This gives you flexibility to specify which fields the Cruncher should consider in its optimization report.

Post Trade Columns

You can also pass post-trade column data to the Strategy Cruncher. These are currently ignored, but a neat way to use this is on the future roadmap for the Cruncher.

Any "post-trade" column can be specified by beginning the column name with exit_collect.

This tells the Cruncher to ignore those fields for the purposes of optimization, since they by definition can't be known about at entry time.

Sample File in the Generic Format

A sample file is available here.