When I choose

**Profit**for the Metric Name everything works fine, but when I start using the new**Expectancy Ratio**in Build 23 (Power Pack Build 14) as a filter, I am getting the following massage:
Rename

I think the root cause for this error lies in the fact that the metric "Expectancy Ratio" returns no result (double.NaN) if there are no trades in a backtest.

And with the huge number of parameters in your case, there are certainly a lot of parameter combination which result in no trades.

From here you have several options:

1. Use a

2. Use a

3. Ask

4. Use the

Option 4 looks like this:

And with the huge number of parameters in your case, there are certainly a lot of parameter combination which result in no trades.

From here you have several options:

1. Use a

**different metric**(which returns 0.0 if there are no trades) to find interesting parameter regions. Then restrict the parameter ranges (Start and Stop values) to reduce the probability of hitting a no-trades backtest.2. Use a

**different optimizer**algorithm which does not need a target metric (like Random) to find some working parameter combinations and restart from there with reduced parameter ranges (see above)3. Ask

**WL8 Support**to make "Expectancy ratio" return 0.0 if there are no trades.4. Use the

**Formula ScoreCard**(part of the finantic.ScoreCards extension) to create your own version of "Expectancy Ratio" which is coded in a way to return 0.0 if there are no trades.Option 4 looks like this:

QUOTE:This seems perfectly reasonable to me. Done for Build 24 unless someone can predict a side effect.

...WL8 Support to make "Expectancy ratio" return 0.0 if there are no trades.

Could you please check other metrics for backtests without trades.

Many of them should return 0.0 instead of double.NaN if there are no trades.

This makes a big difference for optimizers like Shrinking Window or SMAC which use a target metric.

Many of them should return 0.0 instead of double.NaN if there are no trades.

This makes a big difference for optimizers like Shrinking Window or SMAC which use a target metric.

Which metrics specifically do you think should return 0? We need to be careful here not to distort them.

**Basic ScoreCard:**

ProfitPerBar

Sharpe Ratio

Sortino Ratio

Avg Profit

Avg Profit %

Profit Factor

Payoff Ratio

Avg Bars Held

Avg Bars held as % of...

NSF Ratio

Recovery Factor

Profitable Positions: (see above)

Unprofitable Positions: (see above)

**Extended Scorecard**

Luck Coefficient

Performance Ratio

Pesssicmistoic rate of Return

E-Ratio

Median Profit

Median Profit %

Ulcer Performance Index

Risk of Ruin

For mathematicians it is a complicated matter to calculate x/y with x -> 0 and y -> 0.

For performance metrics it is often practical and somehow correct to return 0.0 if there are no trades.

For example, a reward to risk ratio should be 0.0 if there is no reward, no matter what risk.

Good news! In Build 24, the metrics that are read by the Optimizer (the OptimizationResults class) will be stored as zeroes if they come in as Double.NaN.

This allows us to preserve the NaNs for Visualizers, but makes it easier to compare the metrics for Optimizers.

This allows us to preserve the NaNs for Visualizers, but makes it easier to compare the metrics for Optimizers.

Very, very good Solutuon!

Your Response
Post

Edit Post

Login is required