Discussing the article: "Does This Entry Filter Really Add Edge? A Block-Permutation Test in MQL5"

 

Check out the new article: Does This Entry Filter Really Add Edge? A Block-Permutation Test in MQL5.

An MQL5 analyzer reconstructs completed trades, records acceptance labels, and measures the accepted-minus-rejected mean net-profit difference. It benchmarks that statistic against individual permutations, equal-block permutations, and circular shifts while preserving the accepted count. Block-size sensitivity, CSV exports, and coordinated base/filtered passes separate statistical selection evidence from operational effects on profit, drawdown, and efficiency metrics.

This article presents FilterEdgeAnalyzer.mqh, a reusable MQL5 module that reconstructs completed Strategy Tester positions, separates accepted and rejected trades, and compares their mean net-profit outcomes with fixed-count placebo selections. Individual permutations, equal-block permutations, and circular shifts provide three null models for evaluating the observed difference.

The module coordinates the diagnostic and filtered tester passes. It stores the diagnostic result under an experiment identifier, evaluates block-size sensitivity, compares six operational metrics, and prints a structured verdict after the filtered pass. The reader receives the analyzer, a block-size sensitivity script, the three case-study CSV files, and an MQL5.zip archive that places the same files in their terminal-ready project folders.

The selection-test path is summarized below. Every transformation retains the observed acceptance count, ensuring that the actual filter is compared with placebo selections of the same size. The operational branch and final pairing are introduced after the decision rules.

Workflow

Image 1: Workflow from completed base trades to the fixed-count placebo comparison.

Author: Roberto Danilo Riccio