{ "method": "gt_profile_plus_full_bar_ev_filter", "label_mode": "leg_gt", "train_ratio": 0.7, "holdout_ratio": 0.15, "criteria": { "min_fires_valid": 10, "min_fires_holdout": 5, "min_ev_valid_pct": 0.0, "min_profit_factor_valid": 1.0, "max_valid_fire_rate": 0.35 }, "selected": [ { "rule_id": "gt_model_buy_zigzag_bb", "side": "buy", "kind": "gt_model", "conditions": [ { "col": "gt_buy_signal", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0002, "metrics": { "all": { "count": 25, "ev_pct": 8.6824, "win_rate": 0.84, "profit_factor": 44.9 }, "train": { "count": 14, "ev_pct": 6.908, "win_rate": 0.8571, "profit_factor": 109.1666 }, "valid": { "count": 10, "ev_pct": 11.1305, "win_rate": 0.8, "profit_factor": 28.4806 }, "holdout": { "count": 1, "ev_pct": 9.0429, "win_rate": 1.0, "profit_factor": 9.0429 } }, "pass_valid": true, "pass_holdout": false }, { "rule_id": "gt_model_buy_trough_local", "side": "buy", "kind": "gt_model", "conditions": [ { "col": "gt_trough_local", "op": "eq_int", "value": 1 }, { "col": "bb_pos", "op": "lte", "value": 0.45 } ], "valid_fire_rate": 0.0115, "metrics": { "all": { "count": 1508, "ev_pct": 6.2193, "win_rate": 0.7394, "profit_factor": 4.8607 }, "train": { "count": 666, "ev_pct": 6.3405, "win_rate": 0.7658, "profit_factor": 5.3187 }, "valid": { "count": 510, "ev_pct": 7.4617, "win_rate": 0.7549, "profit_factor": 4.5739 }, "holdout": { "count": 332, "ev_pct": 4.0675, "win_rate": 0.6627, "profit_factor": 4.4925 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.0217975704436916, "hi": 0.2431494170206665 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0010558937498797, "hi": 0.2085149451832707 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2135380413505097 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2485098739243929 }, { "col": "m30_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m240_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "d1_ga_ha_bull", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0323, "metrics": { "all": { "count": 5244, "ev_pct": 5.4262, "win_rate": 0.7079, "profit_factor": 3.9067 }, "train": { "count": 3273, "ev_pct": 5.0332, "win_rate": 0.7207, "profit_factor": 4.1345 }, "valid": { "count": 1433, "ev_pct": 7.203, "win_rate": 0.7341, "profit_factor": 4.0184 }, "holdout": { "count": 538, "ev_pct": 3.0841, "win_rate": 0.5595, "profit_factor": 2.4893 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_compound_top3", "side": "buy", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2135380413505097 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0010558937498797, "hi": 0.2085149451832707 }, { "col": "m5_ga_cci_20", "op": "between", "lo": -188.40579710144863, "hi": -113.65120836054932 } ], "valid_fire_rate": 0.0545, "metrics": { "all": { "count": 9989, "ev_pct": 5.4657, "win_rate": 0.7181, "profit_factor": 3.6911 }, "train": { "count": 6342, "ev_pct": 4.9429, "win_rate": 0.7211, "profit_factor": 3.6206 }, "valid": { "count": 2418, "ev_pct": 6.9135, "win_rate": 0.7452, "profit_factor": 3.9387 }, "holdout": { "count": 1229, "ev_pct": 5.315, "win_rate": 0.6493, "profit_factor": 3.4771 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_contrast_m10_bb_pos", "side": "buy", "kind": "contrast", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.02269722528896669, "hi": 0.16417141470116056 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8561892083441174 } ], "valid_fire_rate": 0.1138, "metrics": { "all": { "count": 19029, "ev_pct": 5.4862, "win_rate": 0.7174, "profit_factor": 3.702 }, "train": { "count": 11601, "ev_pct": 5.0821, "win_rate": 0.7175, "profit_factor": 3.7549 }, "valid": { "count": 5043, "ev_pct": 6.6694, "win_rate": 0.7434, "profit_factor": 3.697 }, "holdout": { "count": 2385, "ev_pct": 4.9499, "win_rate": 0.6621, "profit_factor": 3.4775 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.6734769690278859, "hi": 0.9584317797555851 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.776608631452867, "hi": 0.9797670778565873 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7897850598593097, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8094990667113329, "hi": 1.0 }, { "col": "m30_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m240_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "d1_ga_ha_bull", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0182, "metrics": { "all": { "count": 4019, "ev_pct": 7.3121, "win_rate": 1.0, "profit_factor": 29387.4736 }, "train": { "count": 2397, "ev_pct": 7.1764, "win_rate": 1.0, "profit_factor": 17201.897 }, "valid": { "count": 809, "ev_pct": 7.2196, "win_rate": 1.0, "profit_factor": 5840.682 }, "holdout": { "count": 813, "ev_pct": 7.8043, "win_rate": 1.0, "profit_factor": 6344.8946 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_tight", "side": "sell", "kind": "compound_tight", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8328462659060121, "hi": 0.9770682040908933 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8247158558563334, "hi": 0.9337055148500956 }, { "col": "m5_ga_cci_20", "op": "between", "lo": 107.30920624132844, "hi": 148.54421175101805 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 118.85113382022408, "hi": 158.3923823574028 } ], "valid_fire_rate": 0.0069, "metrics": { "all": { "count": 1394, "ev_pct": 5.1381, "win_rate": 0.9505, "profit_factor": 51.7723 }, "train": { "count": 795, "ev_pct": 4.6835, "win_rate": 0.9535, "profit_factor": 50.8294 }, "valid": { "count": 308, "ev_pct": 4.7949, "win_rate": 0.9416, "profit_factor": 34.8027 }, "holdout": { "count": 291, "ev_pct": 6.7434, "win_rate": 0.9519, "profit_factor": 87.5998 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.7897850598593097, "hi": 1.0 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.776608631452867, "hi": 0.9797670778565873 }, { "col": "m5_ga_cci_20", "op": "between", "lo": 93.20386715706546, "hi": 168.50552522505774 } ], "valid_fire_rate": 0.0612, "metrics": { "all": { "count": 11480, "ev_pct": 4.7861, "win_rate": 0.945, "profit_factor": 32.2052 }, "train": { "count": 6949, "ev_pct": 4.8062, "win_rate": 0.9489, "profit_factor": 38.6539 }, "valid": { "count": 2713, "ev_pct": 4.3635, "win_rate": 0.9403, "profit_factor": 20.0674 }, "holdout": { "count": 1818, "ev_pct": 5.3399, "win_rate": 0.9373, "profit_factor": 39.3855 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_contrast_m10_bb_pos", "side": "sell", "kind": "contrast", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8328462659060121, "hi": 0.9770682040908933 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.14607994670516883 } ], "valid_fire_rate": 0.0919, "metrics": { "all": { "count": 16859, "ev_pct": 4.606, "win_rate": 0.9369, "profit_factor": 28.2017 }, "train": { "count": 10141, "ev_pct": 4.7242, "win_rate": 0.938, "profit_factor": 33.8839 }, "valid": { "count": 4076, "ev_pct": 4.1378, "win_rate": 0.9401, "profit_factor": 18.6955 }, "holdout": { "count": 2642, "ev_pct": 4.8742, "win_rate": 0.9281, "profit_factor": 29.9605 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "gt_model_sell_peak_local", "side": "sell", "kind": "gt_model", "conditions": [ { "col": "gt_peak_local", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0478, "metrics": { "all": { "count": 6600, "ev_pct": 2.4127, "win_rate": 0.8288, "profit_factor": 5.1153 }, "train": { "count": 3052, "ev_pct": 2.999, "win_rate": 0.8398, "profit_factor": 8.0085 }, "valid": { "count": 2119, "ev_pct": 2.1815, "win_rate": 0.8386, "profit_factor": 4.6 }, "holdout": { "count": 1429, "ev_pct": 1.5034, "win_rate": 0.7908, "profit_factor": 2.6792 } }, "pass_valid": true, "pass_holdout": true } ], "selected_best_effort": [], "holdout_passed": [ { "rule_id": "buy_compound_top3", "side": "buy", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2135380413505097 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0010558937498797, "hi": 0.2085149451832707 }, { "col": "m5_ga_cci_20", "op": "between", "lo": -188.40579710144863, "hi": -113.65120836054932 } ], "valid_fire_rate": 0.0545, "metrics": { "all": { "count": 9989, "ev_pct": 5.4657, "win_rate": 0.7181, "profit_factor": 3.6911 }, "train": { "count": 6342, "ev_pct": 4.9429, "win_rate": 0.7211, "profit_factor": 3.6206 }, "valid": { "count": 2418, "ev_pct": 6.9135, "win_rate": 0.7452, "profit_factor": 3.9387 }, "holdout": { "count": 1229, "ev_pct": 5.315, "win_rate": 0.6493, "profit_factor": 3.4771 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_compound_tight", "side": "buy", "kind": "compound_tight", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.02269722528896669, "hi": 0.16417141470116056 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.050986874829589954, "hi": 0.17673357601131273 }, { "col": "m5_ga_cci_20", "op": "between", "lo": -169.2052113398648, "hi": -124.73123841544977 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -175.7862791639258, "hi": -132.6451584428887 } ], "valid_fire_rate": 0.0055, "metrics": { "all": { "count": 1029, "ev_pct": 5.5293, "win_rate": 0.688, "profit_factor": 3.4292 }, "train": { "count": 686, "ev_pct": 4.4243, "win_rate": 0.6706, "profit_factor": 3.0189 }, "valid": { "count": 243, "ev_pct": 6.448, "win_rate": 0.7119, "profit_factor": 3.187 }, "holdout": { "count": 100, "ev_pct": 10.8775, "win_rate": 0.75, "profit_factor": 9.8832 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_contrast_m10_bb_pos", "side": "buy", "kind": "contrast", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.02269722528896669, "hi": 0.16417141470116056 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8561892083441174 } ], "valid_fire_rate": 0.1138, "metrics": { "all": { "count": 19029, "ev_pct": 5.4862, "win_rate": 0.7174, "profit_factor": 3.702 }, "train": { "count": 11601, "ev_pct": 5.0821, "win_rate": 0.7175, "profit_factor": 3.7549 }, "valid": { "count": 5043, "ev_pct": 6.6694, "win_rate": 0.7434, "profit_factor": 3.697 }, "holdout": { "count": 2385, "ev_pct": 4.9499, "win_rate": 0.6621, "profit_factor": 3.4775 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.0217975704436916, "hi": 0.2431494170206665 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0010558937498797, "hi": 0.2085149451832707 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2135380413505097 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2485098739243929 }, { "col": "m30_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m240_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "d1_ga_ha_bull", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0323, "metrics": { "all": { "count": 5244, "ev_pct": 5.4262, "win_rate": 0.7079, "profit_factor": 3.9067 }, "train": { "count": 3273, "ev_pct": 5.0332, "win_rate": 0.7207, "profit_factor": 4.1345 }, "valid": { "count": 1433, "ev_pct": 7.203, "win_rate": 0.7341, "profit_factor": 4.0184 }, "holdout": { "count": 538, "ev_pct": 3.0841, "win_rate": 0.5595, "profit_factor": 2.4893 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.7897850598593097, "hi": 1.0 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.776608631452867, "hi": 0.9797670778565873 }, { "col": "m5_ga_cci_20", "op": "between", "lo": 93.20386715706546, "hi": 168.50552522505774 } ], "valid_fire_rate": 0.0612, "metrics": { "all": { "count": 11480, "ev_pct": 4.7861, "win_rate": 0.945, "profit_factor": 32.2052 }, "train": { "count": 6949, "ev_pct": 4.8062, "win_rate": 0.9489, "profit_factor": 38.6539 }, "valid": { "count": 2713, "ev_pct": 4.3635, "win_rate": 0.9403, "profit_factor": 20.0674 }, "holdout": { "count": 1818, "ev_pct": 5.3399, "win_rate": 0.9373, "profit_factor": 39.3855 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_tight", "side": "sell", "kind": "compound_tight", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8328462659060121, "hi": 0.9770682040908933 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8247158558563334, "hi": 0.9337055148500956 }, { "col": "m5_ga_cci_20", "op": "between", "lo": 107.30920624132844, "hi": 148.54421175101805 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 118.85113382022408, "hi": 158.3923823574028 } ], "valid_fire_rate": 0.0069, "metrics": { "all": { "count": 1394, "ev_pct": 5.1381, "win_rate": 0.9505, "profit_factor": 51.7723 }, "train": { "count": 795, "ev_pct": 4.6835, "win_rate": 0.9535, "profit_factor": 50.8294 }, "valid": { "count": 308, "ev_pct": 4.7949, "win_rate": 0.9416, "profit_factor": 34.8027 }, "holdout": { "count": 291, "ev_pct": 6.7434, "win_rate": 0.9519, "profit_factor": 87.5998 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_contrast_m10_bb_pos", "side": "sell", "kind": "contrast", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8328462659060121, "hi": 0.9770682040908933 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.14607994670516883 } ], "valid_fire_rate": 0.0919, "metrics": { "all": { "count": 16859, "ev_pct": 4.606, "win_rate": 0.9369, "profit_factor": 28.2017 }, "train": { "count": 10141, "ev_pct": 4.7242, "win_rate": 0.938, "profit_factor": 33.8839 }, "valid": { "count": 4076, "ev_pct": 4.1378, "win_rate": 0.9401, "profit_factor": 18.6955 }, "holdout": { "count": 2642, "ev_pct": 4.8742, "win_rate": 0.9281, "profit_factor": 29.9605 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.6734769690278859, "hi": 0.9584317797555851 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.776608631452867, "hi": 0.9797670778565873 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7897850598593097, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8094990667113329, "hi": 1.0 }, { "col": "m30_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m240_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "d1_ga_ha_bull", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0182, "metrics": { "all": { "count": 4019, "ev_pct": 7.3121, "win_rate": 1.0, "profit_factor": 29387.4736 }, "train": { "count": 2397, "ev_pct": 7.1764, "win_rate": 1.0, "profit_factor": 17201.897 }, "valid": { "count": 809, "ev_pct": 7.2196, "win_rate": 1.0, "profit_factor": 5840.682 }, "holdout": { "count": 813, "ev_pct": 7.8043, "win_rate": 1.0, "profit_factor": 6344.8946 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "gt_model_buy_trough_local", "side": "buy", "kind": "gt_model", "conditions": [ { "col": "gt_trough_local", "op": "eq_int", "value": 1 }, { "col": "bb_pos", "op": "lte", "value": 0.45 } ], "valid_fire_rate": 0.0115, "metrics": { "all": { "count": 1508, "ev_pct": 6.2193, "win_rate": 0.7394, "profit_factor": 4.8607 }, "train": { "count": 666, "ev_pct": 6.3405, "win_rate": 0.7658, "profit_factor": 5.3187 }, "valid": { "count": 510, "ev_pct": 7.4617, "win_rate": 0.7549, "profit_factor": 4.5739 }, "holdout": { "count": 332, "ev_pct": 4.0675, "win_rate": 0.6627, "profit_factor": 4.4925 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "gt_model_sell_peak_local", "side": "sell", "kind": "gt_model", "conditions": [ { "col": "gt_peak_local", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0478, "metrics": { "all": { "count": 6600, "ev_pct": 2.4127, "win_rate": 0.8288, "profit_factor": 5.1153 }, "train": { "count": 3052, "ev_pct": 2.999, "win_rate": 0.8398, "profit_factor": 8.0085 }, "valid": { "count": 2119, "ev_pct": 2.1815, "win_rate": 0.8386, "profit_factor": 4.6 }, "holdout": { "count": 1429, "ev_pct": 1.5034, "win_rate": 0.7908, "profit_factor": 2.6792 } }, "pass_valid": true, "pass_holdout": true } ], "monitor_rules": [ { "rule_id": "buy_compound_tight", "side": "buy", "kind": "compound_tight", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.02269722528896669, "hi": 0.16417141470116056 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.050986874829589954, "hi": 0.17673357601131273 }, { "col": "m5_ga_cci_20", "op": "between", "lo": -169.2052113398648, "hi": -124.73123841544977 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -175.7862791639258, "hi": -132.6451584428887 } ], "valid_fire_rate": 0.0055, "metrics": { "all": { "count": 1029, "ev_pct": 5.5293, "win_rate": 0.688, "profit_factor": 3.4292 }, "train": { "count": 686, "ev_pct": 4.4243, "win_rate": 0.6706, "profit_factor": 3.0189 }, "valid": { "count": 243, "ev_pct": 6.448, "win_rate": 0.7119, "profit_factor": 3.187 }, "holdout": { "count": 100, "ev_pct": 10.8775, "win_rate": 0.75, "profit_factor": 9.8832 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.6734769690278859, "hi": 0.9584317797555851 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.776608631452867, "hi": 0.9797670778565873 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7897850598593097, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8094990667113329, "hi": 1.0 }, { "col": "m30_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m240_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "d1_ga_ha_bull", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0182, "metrics": { "all": { "count": 4019, "ev_pct": 7.3121, "win_rate": 1.0, "profit_factor": 29387.4736 }, "train": { "count": 2397, "ev_pct": 7.1764, "win_rate": 1.0, "profit_factor": 17201.897 }, "valid": { "count": 809, "ev_pct": 7.2196, "win_rate": 1.0, "profit_factor": 5840.682 }, "holdout": { "count": 813, "ev_pct": 7.8043, "win_rate": 1.0, "profit_factor": 6344.8946 } }, "pass_valid": true, "pass_holdout": true } ], "active_rules": [ { "rule_id": "gt_model_buy_zigzag_bb", "side": "buy", "kind": "gt_model", "conditions": [ { "col": "gt_buy_signal", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0002, "metrics": { "all": { "count": 25, "ev_pct": 8.6824, "win_rate": 0.84, "profit_factor": 44.9 }, "train": { "count": 14, "ev_pct": 6.908, "win_rate": 0.8571, "profit_factor": 109.1666 }, "valid": { "count": 10, "ev_pct": 11.1305, "win_rate": 0.8, "profit_factor": 28.4806 }, "holdout": { "count": 1, "ev_pct": 9.0429, "win_rate": 1.0, "profit_factor": 9.0429 } }, "pass_valid": true, "pass_holdout": false }, { "rule_id": "gt_model_buy_trough_local", "side": "buy", "kind": "gt_model", "conditions": [ { "col": "gt_trough_local", "op": "eq_int", "value": 1 }, { "col": "bb_pos", "op": "lte", "value": 0.45 } ], "valid_fire_rate": 0.0115, "metrics": { "all": { "count": 1508, "ev_pct": 6.2193, "win_rate": 0.7394, "profit_factor": 4.8607 }, "train": { "count": 666, "ev_pct": 6.3405, "win_rate": 0.7658, "profit_factor": 5.3187 }, "valid": { "count": 510, "ev_pct": 7.4617, "win_rate": 0.7549, "profit_factor": 4.5739 }, "holdout": { "count": 332, "ev_pct": 4.0675, "win_rate": 0.6627, "profit_factor": 4.4925 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.0217975704436916, "hi": 0.2431494170206665 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0010558937498797, "hi": 0.2085149451832707 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2135380413505097 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2485098739243929 }, { "col": "m30_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m240_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "d1_ga_ha_bull", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0323, "metrics": { "all": { "count": 5244, "ev_pct": 5.4262, "win_rate": 0.7079, "profit_factor": 3.9067 }, "train": { "count": 3273, "ev_pct": 5.0332, "win_rate": 0.7207, "profit_factor": 4.1345 }, "valid": { "count": 1433, "ev_pct": 7.203, "win_rate": 0.7341, "profit_factor": 4.0184 }, "holdout": { "count": 538, "ev_pct": 3.0841, "win_rate": 0.5595, "profit_factor": 2.4893 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_compound_top3", "side": "buy", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2135380413505097 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0010558937498797, "hi": 0.2085149451832707 }, { "col": "m5_ga_cci_20", "op": "between", "lo": -188.40579710144863, "hi": -113.65120836054932 } ], "valid_fire_rate": 0.0545, "metrics": { "all": { "count": 9989, "ev_pct": 5.4657, "win_rate": 0.7181, "profit_factor": 3.6911 }, "train": { "count": 6342, "ev_pct": 4.9429, "win_rate": 0.7211, "profit_factor": 3.6206 }, "valid": { "count": 2418, "ev_pct": 6.9135, "win_rate": 0.7452, "profit_factor": 3.9387 }, "holdout": { "count": 1229, "ev_pct": 5.315, "win_rate": 0.6493, "profit_factor": 3.4771 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_contrast_m10_bb_pos", "side": "buy", "kind": "contrast", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.02269722528896669, "hi": 0.16417141470116056 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8561892083441174 } ], "valid_fire_rate": 0.1138, "metrics": { "all": { "count": 19029, "ev_pct": 5.4862, "win_rate": 0.7174, "profit_factor": 3.702 }, "train": { "count": 11601, "ev_pct": 5.0821, "win_rate": 0.7175, "profit_factor": 3.7549 }, "valid": { "count": 5043, "ev_pct": 6.6694, "win_rate": 0.7434, "profit_factor": 3.697 }, "holdout": { "count": 2385, "ev_pct": 4.9499, "win_rate": 0.6621, "profit_factor": 3.4775 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.6734769690278859, "hi": 0.9584317797555851 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.776608631452867, "hi": 0.9797670778565873 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7897850598593097, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8094990667113329, "hi": 1.0 }, { "col": "m30_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m240_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "d1_ga_ha_bull", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0182, "metrics": { "all": { "count": 4019, "ev_pct": 7.3121, "win_rate": 1.0, "profit_factor": 29387.4736 }, "train": { "count": 2397, "ev_pct": 7.1764, "win_rate": 1.0, "profit_factor": 17201.897 }, "valid": { "count": 809, "ev_pct": 7.2196, "win_rate": 1.0, "profit_factor": 5840.682 }, "holdout": { "count": 813, "ev_pct": 7.8043, "win_rate": 1.0, "profit_factor": 6344.8946 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_tight", "side": "sell", "kind": "compound_tight", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8328462659060121, "hi": 0.9770682040908933 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8247158558563334, "hi": 0.9337055148500956 }, { "col": "m5_ga_cci_20", "op": "between", "lo": 107.30920624132844, "hi": 148.54421175101805 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 118.85113382022408, "hi": 158.3923823574028 } ], "valid_fire_rate": 0.0069, "metrics": { "all": { "count": 1394, "ev_pct": 5.1381, "win_rate": 0.9505, "profit_factor": 51.7723 }, "train": { "count": 795, "ev_pct": 4.6835, "win_rate": 0.9535, "profit_factor": 50.8294 }, "valid": { "count": 308, "ev_pct": 4.7949, "win_rate": 0.9416, "profit_factor": 34.8027 }, "holdout": { "count": 291, "ev_pct": 6.7434, "win_rate": 0.9519, "profit_factor": 87.5998 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.7897850598593097, "hi": 1.0 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.776608631452867, "hi": 0.9797670778565873 }, { "col": "m5_ga_cci_20", "op": "between", "lo": 93.20386715706546, "hi": 168.50552522505774 } ], "valid_fire_rate": 0.0612, "metrics": { "all": { "count": 11480, "ev_pct": 4.7861, "win_rate": 0.945, "profit_factor": 32.2052 }, "train": { "count": 6949, "ev_pct": 4.8062, "win_rate": 0.9489, "profit_factor": 38.6539 }, "valid": { "count": 2713, "ev_pct": 4.3635, "win_rate": 0.9403, "profit_factor": 20.0674 }, "holdout": { "count": 1818, "ev_pct": 5.3399, "win_rate": 0.9373, "profit_factor": 39.3855 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_contrast_m10_bb_pos", "side": "sell", "kind": "contrast", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8328462659060121, "hi": 0.9770682040908933 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.14607994670516883 } ], "valid_fire_rate": 0.0919, "metrics": { "all": { "count": 16859, "ev_pct": 4.606, "win_rate": 0.9369, "profit_factor": 28.2017 }, "train": { "count": 10141, "ev_pct": 4.7242, "win_rate": 0.938, "profit_factor": 33.8839 }, "valid": { "count": 4076, "ev_pct": 4.1378, "win_rate": 0.9401, "profit_factor": 18.6955 }, "holdout": { "count": 2642, "ev_pct": 4.8742, "win_rate": 0.9281, "profit_factor": 29.9605 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "gt_model_sell_peak_local", "side": "sell", "kind": "gt_model", "conditions": [ { "col": "gt_peak_local", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0478, "metrics": { "all": { "count": 6600, "ev_pct": 2.4127, "win_rate": 0.8288, "profit_factor": 5.1153 }, "train": { "count": 3052, "ev_pct": 2.999, "win_rate": 0.8398, "profit_factor": 8.0085 }, "valid": { "count": 2119, "ev_pct": 2.1815, "win_rate": 0.8386, "profit_factor": 4.6 }, "holdout": { "count": 1429, "ev_pct": 1.5034, "win_rate": 0.7908, "profit_factor": 2.6792 } }, "pass_valid": true, "pass_holdout": true } ], "strict_pass": true, "holdout_pass": true, "rejected_count": 2, "gt_overlap": { "buy": { "gt_count": 325, "matched": 274, "recall": 0.8431 }, "sell": { "gt_count": 160, "matched": 141, "recall": 0.8812 } }, "valid_bars_approx": 44330, "all_rule_summaries": [ { "rule_id": "buy_compound_top3", "side": "buy", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2135380413505097 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0010558937498797, "hi": 0.2085149451832707 }, { "col": "m5_ga_cci_20", "op": "between", "lo": -188.40579710144863, "hi": -113.65120836054932 } ], "valid_fire_rate": 0.0545, "metrics": { "all": { "count": 9989, "ev_pct": 5.4657, "win_rate": 0.7181, "profit_factor": 3.6911 }, "train": { "count": 6342, "ev_pct": 4.9429, "win_rate": 0.7211, "profit_factor": 3.6206 }, "valid": { "count": 2418, "ev_pct": 6.9135, "win_rate": 0.7452, "profit_factor": 3.9387 }, "holdout": { "count": 1229, "ev_pct": 5.315, "win_rate": 0.6493, "profit_factor": 3.4771 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_compound_tight", "side": "buy", "kind": "compound_tight", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.02269722528896669, "hi": 0.16417141470116056 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.050986874829589954, "hi": 0.17673357601131273 }, { "col": "m5_ga_cci_20", "op": "between", "lo": -169.2052113398648, "hi": -124.73123841544977 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -175.7862791639258, "hi": -132.6451584428887 } ], "valid_fire_rate": 0.0055, "metrics": { "all": { "count": 1029, "ev_pct": 5.5293, "win_rate": 0.688, "profit_factor": 3.4292 }, "train": { "count": 686, "ev_pct": 4.4243, "win_rate": 0.6706, "profit_factor": 3.0189 }, "valid": { "count": 243, "ev_pct": 6.448, "win_rate": 0.7119, "profit_factor": 3.187 }, "holdout": { "count": 100, "ev_pct": 10.8775, "win_rate": 0.75, "profit_factor": 9.8832 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_contrast_m10_bb_pos", "side": "buy", "kind": "contrast", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.02269722528896669, "hi": 0.16417141470116056 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8561892083441174 } ], "valid_fire_rate": 0.1138, "metrics": { "all": { "count": 19029, "ev_pct": 5.4862, "win_rate": 0.7174, "profit_factor": 3.702 }, "train": { "count": 11601, "ev_pct": 5.0821, "win_rate": 0.7175, "profit_factor": 3.7549 }, "valid": { "count": 5043, "ev_pct": 6.6694, "win_rate": 0.7434, "profit_factor": 3.697 }, "holdout": { "count": 2385, "ev_pct": 4.9499, "win_rate": 0.6621, "profit_factor": 3.4775 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.0217975704436916, "hi": 0.2431494170206665 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0010558937498797, "hi": 0.2085149451832707 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2135380413505097 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2485098739243929 }, { "col": "m30_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m240_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "d1_ga_ha_bull", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0323, "metrics": { "all": { "count": 5244, "ev_pct": 5.4262, "win_rate": 0.7079, "profit_factor": 3.9067 }, "train": { "count": 3273, "ev_pct": 5.0332, "win_rate": 0.7207, "profit_factor": 4.1345 }, "valid": { "count": 1433, "ev_pct": 7.203, "win_rate": 0.7341, "profit_factor": 4.0184 }, "holdout": { "count": 538, "ev_pct": 3.0841, "win_rate": 0.5595, "profit_factor": 2.4893 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.7897850598593097, "hi": 1.0 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.776608631452867, "hi": 0.9797670778565873 }, { "col": "m5_ga_cci_20", "op": "between", "lo": 93.20386715706546, "hi": 168.50552522505774 } ], "valid_fire_rate": 0.0612, "metrics": { "all": { "count": 11480, "ev_pct": 4.7861, "win_rate": 0.945, "profit_factor": 32.2052 }, "train": { "count": 6949, "ev_pct": 4.8062, "win_rate": 0.9489, "profit_factor": 38.6539 }, "valid": { "count": 2713, "ev_pct": 4.3635, "win_rate": 0.9403, "profit_factor": 20.0674 }, "holdout": { "count": 1818, "ev_pct": 5.3399, "win_rate": 0.9373, "profit_factor": 39.3855 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_tight", "side": "sell", "kind": "compound_tight", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8328462659060121, "hi": 0.9770682040908933 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8247158558563334, "hi": 0.9337055148500956 }, { "col": "m5_ga_cci_20", "op": "between", "lo": 107.30920624132844, "hi": 148.54421175101805 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 118.85113382022408, "hi": 158.3923823574028 } ], "valid_fire_rate": 0.0069, "metrics": { "all": { "count": 1394, "ev_pct": 5.1381, "win_rate": 0.9505, "profit_factor": 51.7723 }, "train": { "count": 795, "ev_pct": 4.6835, "win_rate": 0.9535, "profit_factor": 50.8294 }, "valid": { "count": 308, "ev_pct": 4.7949, "win_rate": 0.9416, "profit_factor": 34.8027 }, "holdout": { "count": 291, "ev_pct": 6.7434, "win_rate": 0.9519, "profit_factor": 87.5998 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_contrast_m10_bb_pos", "side": "sell", "kind": "contrast", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8328462659060121, "hi": 0.9770682040908933 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.14607994670516883 } ], "valid_fire_rate": 0.0919, "metrics": { "all": { "count": 16859, "ev_pct": 4.606, "win_rate": 0.9369, "profit_factor": 28.2017 }, "train": { "count": 10141, "ev_pct": 4.7242, "win_rate": 0.938, "profit_factor": 33.8839 }, "valid": { "count": 4076, "ev_pct": 4.1378, "win_rate": 0.9401, "profit_factor": 18.6955 }, "holdout": { "count": 2642, "ev_pct": 4.8742, "win_rate": 0.9281, "profit_factor": 29.9605 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.6734769690278859, "hi": 0.9584317797555851 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.776608631452867, "hi": 0.9797670778565873 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7897850598593097, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8094990667113329, "hi": 1.0 }, { "col": "m30_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m240_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "d1_ga_ha_bull", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0182, "metrics": { "all": { "count": 4019, "ev_pct": 7.3121, "win_rate": 1.0, "profit_factor": 29387.4736 }, "train": { "count": 2397, "ev_pct": 7.1764, "win_rate": 1.0, "profit_factor": 17201.897 }, "valid": { "count": 809, "ev_pct": 7.2196, "win_rate": 1.0, "profit_factor": 5840.682 }, "holdout": { "count": 813, "ev_pct": 7.8043, "win_rate": 1.0, "profit_factor": 6344.8946 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "gt_model_buy_zigzag_bb", "side": "buy", "kind": "gt_model", "conditions": [ { "col": "gt_buy_signal", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0002, "metrics": { "all": { "count": 25, "ev_pct": 8.6824, "win_rate": 0.84, "profit_factor": 44.9 }, "train": { "count": 14, "ev_pct": 6.908, "win_rate": 0.8571, "profit_factor": 109.1666 }, "valid": { "count": 10, "ev_pct": 11.1305, "win_rate": 0.8, "profit_factor": 28.4806 }, "holdout": { "count": 1, "ev_pct": 9.0429, "win_rate": 1.0, "profit_factor": 9.0429 } }, "pass_valid": true, "pass_holdout": false }, { "rule_id": "gt_model_buy_trough_local", "side": "buy", "kind": "gt_model", "conditions": [ { "col": "gt_trough_local", "op": "eq_int", "value": 1 }, { "col": "bb_pos", "op": "lte", "value": 0.45 } ], "valid_fire_rate": 0.0115, "metrics": { "all": { "count": 1508, "ev_pct": 6.2193, "win_rate": 0.7394, "profit_factor": 4.8607 }, "train": { "count": 666, "ev_pct": 6.3405, "win_rate": 0.7658, "profit_factor": 5.3187 }, "valid": { "count": 510, "ev_pct": 7.4617, "win_rate": 0.7549, "profit_factor": 4.5739 }, "holdout": { "count": 332, "ev_pct": 4.0675, "win_rate": 0.6627, "profit_factor": 4.4925 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "gt_model_sell_zigzag_peak", "side": "sell", "kind": "gt_model", "conditions": [ { "col": "gt_sell_signal", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0, "metrics": { "all": { "count": 8, "ev_pct": 11.8981, "win_rate": 1.0, "profit_factor": 95.1851 }, "train": { "count": 8, "ev_pct": 11.8981, "win_rate": 1.0, "profit_factor": 95.1851 }, "valid": { "count": 0, "ev_pct": 0.0, "win_rate": 0.0, "profit_factor": 0.0 }, "holdout": { "count": 0, "ev_pct": 0.0, "win_rate": 0.0, "profit_factor": 0.0 } }, "pass_valid": false, "pass_holdout": false }, { "rule_id": "gt_model_sell_peak_local", "side": "sell", "kind": "gt_model", "conditions": [ { "col": "gt_peak_local", "op": "eq_int", "value": 1 } ], "valid_fire_rate": 0.0478, "metrics": { "all": { "count": 6600, "ev_pct": 2.4127, "win_rate": 0.8288, "profit_factor": 5.1153 }, "train": { "count": 3052, "ev_pct": 2.999, "win_rate": 0.8398, "profit_factor": 8.0085 }, "valid": { "count": 2119, "ev_pct": 2.1815, "win_rate": 0.8386, "profit_factor": 4.6 }, "holdout": { "count": 1429, "ev_pct": 1.5034, "win_rate": 0.7908, "profit_factor": 2.6792 } }, "pass_valid": true, "pass_holdout": true } ], "note": "" }