The limit is far lower than 147 trades: it is 500 MB contiguous memory. For speed reason, trades are allocated before the simulation, not at runtime.

A possible solution would be a special "GPEngine mode" that allocates trades at runtime, or deletes trades when they are closed. In the former case the simulation would run noticably slower, in the latter case some statistics are not available, and OptF can not be calculated.