I've tried to backtest a system on a portfolio, setting the commission amount per trade in a way that is dependent on the symbol being traded - slippage plus brokerage is different for different futures contracts for example.
The code I used is:
SetOption( "CommissionMode", 3 );
SetOption( "CommissionAmount", 2 * TickSize * PointValue );
This works for a backtest on the current symbol, and the commission amount per trade is correct, changing symbol to another and running the backtest again results in a different amount of commission per trade.
However, if I run the backtest on a portfolio of different symbols, each with a different ticksize and pointvalue, the backtest assigns the same amount of commission to each trade regardless of which symbol the trade is for.
I suspect that Amibroker is just using the first commission amount it calculates during the backtest and using that for all subsequent trades.
Is there a way around this without writing custom backtester code?