{ "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": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.02225009472391165, "hi": 0.24829322108487767 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0002639734376405, "hi": 0.2055391802948894 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20698250741759133 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2400835423107455 }, { "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 }, { "col": "w1_ga_three_black_crows", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0228, "metrics": { "all": { "count": 4248, "ev_pct": 5.486, "win_rate": 0.7363, "profit_factor": 4.3732 }, "train": { "count": 2758, "ev_pct": 4.9175, "win_rate": 0.7208, "profit_factor": 3.8415 }, "valid": { "count": 1012, "ev_pct": 7.9951, "win_rate": 0.8261, "profit_factor": 8.5158 }, "holdout": { "count": 478, "ev_pct": 3.4543, "win_rate": 0.636, "profit_factor": 2.5588 } }, "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.0114, "metrics": { "all": { "count": 1506, "ev_pct": 6.2247, "win_rate": 0.739, "profit_factor": 4.859 }, "train": { "count": 669, "ev_pct": 6.3469, "win_rate": 0.7668, "profit_factor": 5.3425 }, "valid": { "count": 507, "ev_pct": 7.4598, "win_rate": 0.7535, "profit_factor": 4.552 }, "holdout": { "count": 330, "ev_pct": 4.0791, "win_rate": 0.6606, "profit_factor": 4.4814 } }, "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.20698250741759133 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0002639734376405, "hi": 0.2055391802948894 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -196.53481289151543, "hi": -118.19602423726946 } ], "valid_fire_rate": 0.0647, "metrics": { "all": { "count": 11568, "ev_pct": 5.389, "win_rate": 0.7159, "profit_factor": 3.53 }, "train": { "count": 7328, "ev_pct": 4.8912, "win_rate": 0.7201, "profit_factor": 3.5447 }, "valid": { "count": 2871, "ev_pct": 6.8916, "win_rate": 0.7402, "profit_factor": 3.6933 }, "holdout": { "count": 1369, "ev_pct": 4.9023, "win_rate": 0.6421, "profit_factor": 3.0916 } }, "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.021172207503886126, "hi": 0.16409846055318933 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.04926406505452075, "hi": 0.17056205475779587 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -176.08366788851922, "hi": -133.4800557108608 } ], "valid_fire_rate": 0.0149, "metrics": { "all": { "count": 2461, "ev_pct": 5.4605, "win_rate": 0.7017, "profit_factor": 3.3918 }, "train": { "count": 1552, "ev_pct": 4.5999, "win_rate": 0.6907, "profit_factor": 3.1874 }, "valid": { "count": 661, "ev_pct": 6.8095, "win_rate": 0.7262, "profit_factor": 3.4851 }, "holdout": { "count": 248, "ev_pct": 7.2513, "win_rate": 0.7056, "profit_factor": 4.3089 } }, "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.6750785337434262, "hi": 0.9593012516978001 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7821369534082708, "hi": 0.9843377974456614 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7941295136276819, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8206164588850927, "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 }, { "col": "w1_ga_three_black_crows", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0151, "metrics": { "all": { "count": 3480, "ev_pct": 7.5844, "win_rate": 1.0, "profit_factor": 26393.624 }, "train": { "count": 2056, "ev_pct": 7.5064, "win_rate": 1.0, "profit_factor": 15433.2445 }, "valid": { "count": 670, "ev_pct": 7.2347, "win_rate": 1.0, "profit_factor": 4847.2609 }, "holdout": { "count": 754, "ev_pct": 8.1076, "win_rate": 1.0, "profit_factor": 6113.1186 } }, "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.8370267885275882, "hi": 0.9796418765981115 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8252236664366895, "hi": 0.9364576511584775 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 119.31363996378025, "hi": 158.95227481534286 } ], "valid_fire_rate": 0.0141, "metrics": { "all": { "count": 2563, "ev_pct": 4.9479, "win_rate": 0.9462, "profit_factor": 41.0043 }, "train": { "count": 1450, "ev_pct": 4.75, "win_rate": 0.9524, "profit_factor": 43.2686 }, "valid": { "count": 624, "ev_pct": 4.7054, "win_rate": 0.9487, "profit_factor": 31.7944 }, "holdout": { "count": 489, "ev_pct": 5.844, "win_rate": 0.9243, "profit_factor": 49.6781 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.7941295136276819, "hi": 1.0 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7821369534082708, "hi": 0.9843377974456614 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 111.04253803255844, "hi": 180.08898611506828 } ], "valid_fire_rate": 0.053, "metrics": { "all": { "count": 9903, "ev_pct": 4.81, "win_rate": 0.9456, "profit_factor": 32.2148 }, "train": { "count": 5923, "ev_pct": 4.8106, "win_rate": 0.9534, "profit_factor": 41.5226 }, "valid": { "count": 2350, "ev_pct": 4.4023, "win_rate": 0.9413, "profit_factor": 19.4534 }, "holdout": { "count": 1630, "ev_pct": 5.3955, "win_rate": 0.9233, "profit_factor": 34.54 } }, "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.8370267885275882, "hi": 0.9796418765981115 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.14589043491619427 } ], "valid_fire_rate": 0.091, "metrics": { "all": { "count": 16536, "ev_pct": 4.6125, "win_rate": 0.9368, "profit_factor": 27.9852 }, "train": { "count": 9918, "ev_pct": 4.7163, "win_rate": 0.9389, "profit_factor": 34.1885 }, "valid": { "count": 4035, "ev_pct": 4.1748, "win_rate": 0.94, "profit_factor": 19.066 }, "holdout": { "count": 2583, "ev_pct": 4.8977, "win_rate": 0.9237, "profit_factor": 27.1049 } }, "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": 6593, "ev_pct": 2.4183, "win_rate": 0.8288, "profit_factor": 5.121 }, "train": { "count": 3057, "ev_pct": 2.9951, "win_rate": 0.8394, "profit_factor": 8.0097 }, "valid": { "count": 2120, "ev_pct": 2.1911, "win_rate": 0.8396, "profit_factor": 4.6181 }, "holdout": { "count": 1416, "ev_pct": 1.5133, "win_rate": 0.7895, "profit_factor": 2.6755 } }, "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.20698250741759133 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0002639734376405, "hi": 0.2055391802948894 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -196.53481289151543, "hi": -118.19602423726946 } ], "valid_fire_rate": 0.0647, "metrics": { "all": { "count": 11568, "ev_pct": 5.389, "win_rate": 0.7159, "profit_factor": 3.53 }, "train": { "count": 7328, "ev_pct": 4.8912, "win_rate": 0.7201, "profit_factor": 3.5447 }, "valid": { "count": 2871, "ev_pct": 6.8916, "win_rate": 0.7402, "profit_factor": 3.6933 }, "holdout": { "count": 1369, "ev_pct": 4.9023, "win_rate": 0.6421, "profit_factor": 3.0916 } }, "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.021172207503886126, "hi": 0.16409846055318933 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.04926406505452075, "hi": 0.17056205475779587 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -176.08366788851922, "hi": -133.4800557108608 } ], "valid_fire_rate": 0.0149, "metrics": { "all": { "count": 2461, "ev_pct": 5.4605, "win_rate": 0.7017, "profit_factor": 3.3918 }, "train": { "count": 1552, "ev_pct": 4.5999, "win_rate": 0.6907, "profit_factor": 3.1874 }, "valid": { "count": 661, "ev_pct": 6.8095, "win_rate": 0.7262, "profit_factor": 3.4851 }, "holdout": { "count": 248, "ev_pct": 7.2513, "win_rate": 0.7056, "profit_factor": 4.3089 } }, "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.021172207503886126, "hi": 0.16409846055318933 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8588208478908868 } ], "valid_fire_rate": 0.1136, "metrics": { "all": { "count": 19150, "ev_pct": 5.4936, "win_rate": 0.7173, "profit_factor": 3.7049 }, "train": { "count": 11702, "ev_pct": 5.0822, "win_rate": 0.7174, "profit_factor": 3.7529 }, "valid": { "count": 5040, "ev_pct": 6.6694, "win_rate": 0.7427, "profit_factor": 3.6894 }, "holdout": { "count": 2408, "ev_pct": 5.0317, "win_rate": 0.664, "profit_factor": 3.5291 } }, "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.02225009472391165, "hi": 0.24829322108487767 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0002639734376405, "hi": 0.2055391802948894 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20698250741759133 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2400835423107455 }, { "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 }, { "col": "w1_ga_three_black_crows", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0228, "metrics": { "all": { "count": 4248, "ev_pct": 5.486, "win_rate": 0.7363, "profit_factor": 4.3732 }, "train": { "count": 2758, "ev_pct": 4.9175, "win_rate": 0.7208, "profit_factor": 3.8415 }, "valid": { "count": 1012, "ev_pct": 7.9951, "win_rate": 0.8261, "profit_factor": 8.5158 }, "holdout": { "count": 478, "ev_pct": 3.4543, "win_rate": 0.636, "profit_factor": 2.5588 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.7941295136276819, "hi": 1.0 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7821369534082708, "hi": 0.9843377974456614 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 111.04253803255844, "hi": 180.08898611506828 } ], "valid_fire_rate": 0.053, "metrics": { "all": { "count": 9903, "ev_pct": 4.81, "win_rate": 0.9456, "profit_factor": 32.2148 }, "train": { "count": 5923, "ev_pct": 4.8106, "win_rate": 0.9534, "profit_factor": 41.5226 }, "valid": { "count": 2350, "ev_pct": 4.4023, "win_rate": 0.9413, "profit_factor": 19.4534 }, "holdout": { "count": 1630, "ev_pct": 5.3955, "win_rate": 0.9233, "profit_factor": 34.54 } }, "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.8370267885275882, "hi": 0.9796418765981115 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8252236664366895, "hi": 0.9364576511584775 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 119.31363996378025, "hi": 158.95227481534286 } ], "valid_fire_rate": 0.0141, "metrics": { "all": { "count": 2563, "ev_pct": 4.9479, "win_rate": 0.9462, "profit_factor": 41.0043 }, "train": { "count": 1450, "ev_pct": 4.75, "win_rate": 0.9524, "profit_factor": 43.2686 }, "valid": { "count": 624, "ev_pct": 4.7054, "win_rate": 0.9487, "profit_factor": 31.7944 }, "holdout": { "count": 489, "ev_pct": 5.844, "win_rate": 0.9243, "profit_factor": 49.6781 } }, "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.8370267885275882, "hi": 0.9796418765981115 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.14589043491619427 } ], "valid_fire_rate": 0.091, "metrics": { "all": { "count": 16536, "ev_pct": 4.6125, "win_rate": 0.9368, "profit_factor": 27.9852 }, "train": { "count": 9918, "ev_pct": 4.7163, "win_rate": 0.9389, "profit_factor": 34.1885 }, "valid": { "count": 4035, "ev_pct": 4.1748, "win_rate": 0.94, "profit_factor": 19.066 }, "holdout": { "count": 2583, "ev_pct": 4.8977, "win_rate": 0.9237, "profit_factor": 27.1049 } }, "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.6750785337434262, "hi": 0.9593012516978001 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7821369534082708, "hi": 0.9843377974456614 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7941295136276819, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8206164588850927, "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 }, { "col": "w1_ga_three_black_crows", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0151, "metrics": { "all": { "count": 3480, "ev_pct": 7.5844, "win_rate": 1.0, "profit_factor": 26393.624 }, "train": { "count": 2056, "ev_pct": 7.5064, "win_rate": 1.0, "profit_factor": 15433.2445 }, "valid": { "count": 670, "ev_pct": 7.2347, "win_rate": 1.0, "profit_factor": 4847.2609 }, "holdout": { "count": 754, "ev_pct": 8.1076, "win_rate": 1.0, "profit_factor": 6113.1186 } }, "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.0114, "metrics": { "all": { "count": 1506, "ev_pct": 6.2247, "win_rate": 0.739, "profit_factor": 4.859 }, "train": { "count": 669, "ev_pct": 6.3469, "win_rate": 0.7668, "profit_factor": 5.3425 }, "valid": { "count": 507, "ev_pct": 7.4598, "win_rate": 0.7535, "profit_factor": 4.552 }, "holdout": { "count": 330, "ev_pct": 4.0791, "win_rate": 0.6606, "profit_factor": 4.4814 } }, "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": 6593, "ev_pct": 2.4183, "win_rate": 0.8288, "profit_factor": 5.121 }, "train": { "count": 3057, "ev_pct": 2.9951, "win_rate": 0.8394, "profit_factor": 8.0097 }, "valid": { "count": 2120, "ev_pct": 2.1911, "win_rate": 0.8396, "profit_factor": 4.6181 }, "holdout": { "count": 1416, "ev_pct": 1.5133, "win_rate": 0.7895, "profit_factor": 2.6755 } }, "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.021172207503886126, "hi": 0.16409846055318933 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.04926406505452075, "hi": 0.17056205475779587 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -176.08366788851922, "hi": -133.4800557108608 } ], "valid_fire_rate": 0.0149, "metrics": { "all": { "count": 2461, "ev_pct": 5.4605, "win_rate": 0.7017, "profit_factor": 3.3918 }, "train": { "count": 1552, "ev_pct": 4.5999, "win_rate": 0.6907, "profit_factor": 3.1874 }, "valid": { "count": 661, "ev_pct": 6.8095, "win_rate": 0.7262, "profit_factor": 3.4851 }, "holdout": { "count": 248, "ev_pct": 7.2513, "win_rate": 0.7056, "profit_factor": 4.3089 } }, "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.6750785337434262, "hi": 0.9593012516978001 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7821369534082708, "hi": 0.9843377974456614 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7941295136276819, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8206164588850927, "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 }, { "col": "w1_ga_three_black_crows", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0151, "metrics": { "all": { "count": 3480, "ev_pct": 7.5844, "win_rate": 1.0, "profit_factor": 26393.624 }, "train": { "count": 2056, "ev_pct": 7.5064, "win_rate": 1.0, "profit_factor": 15433.2445 }, "valid": { "count": 670, "ev_pct": 7.2347, "win_rate": 1.0, "profit_factor": 4847.2609 }, "holdout": { "count": 754, "ev_pct": 8.1076, "win_rate": 1.0, "profit_factor": 6113.1186 } }, "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": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_bb_pos", "op": "between", "lo": 0.02225009472391165, "hi": 0.24829322108487767 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0002639734376405, "hi": 0.2055391802948894 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20698250741759133 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2400835423107455 }, { "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 }, { "col": "w1_ga_three_black_crows", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0228, "metrics": { "all": { "count": 4248, "ev_pct": 5.486, "win_rate": 0.7363, "profit_factor": 4.3732 }, "train": { "count": 2758, "ev_pct": 4.9175, "win_rate": 0.7208, "profit_factor": 3.8415 }, "valid": { "count": 1012, "ev_pct": 7.9951, "win_rate": 0.8261, "profit_factor": 8.5158 }, "holdout": { "count": 478, "ev_pct": 3.4543, "win_rate": 0.636, "profit_factor": 2.5588 } }, "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.0114, "metrics": { "all": { "count": 1506, "ev_pct": 6.2247, "win_rate": 0.739, "profit_factor": 4.859 }, "train": { "count": 669, "ev_pct": 6.3469, "win_rate": 0.7668, "profit_factor": 5.3425 }, "valid": { "count": 507, "ev_pct": 7.4598, "win_rate": 0.7535, "profit_factor": 4.552 }, "holdout": { "count": 330, "ev_pct": 4.0791, "win_rate": 0.6606, "profit_factor": 4.4814 } }, "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.20698250741759133 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0002639734376405, "hi": 0.2055391802948894 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -196.53481289151543, "hi": -118.19602423726946 } ], "valid_fire_rate": 0.0647, "metrics": { "all": { "count": 11568, "ev_pct": 5.389, "win_rate": 0.7159, "profit_factor": 3.53 }, "train": { "count": 7328, "ev_pct": 4.8912, "win_rate": 0.7201, "profit_factor": 3.5447 }, "valid": { "count": 2871, "ev_pct": 6.8916, "win_rate": 0.7402, "profit_factor": 3.6933 }, "holdout": { "count": 1369, "ev_pct": 4.9023, "win_rate": 0.6421, "profit_factor": 3.0916 } }, "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.021172207503886126, "hi": 0.16409846055318933 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.04926406505452075, "hi": 0.17056205475779587 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -176.08366788851922, "hi": -133.4800557108608 } ], "valid_fire_rate": 0.0149, "metrics": { "all": { "count": 2461, "ev_pct": 5.4605, "win_rate": 0.7017, "profit_factor": 3.3918 }, "train": { "count": 1552, "ev_pct": 4.5999, "win_rate": 0.6907, "profit_factor": 3.1874 }, "valid": { "count": 661, "ev_pct": 6.8095, "win_rate": 0.7262, "profit_factor": 3.4851 }, "holdout": { "count": 248, "ev_pct": 7.2513, "win_rate": 0.7056, "profit_factor": 4.3089 } }, "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.6750785337434262, "hi": 0.9593012516978001 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7821369534082708, "hi": 0.9843377974456614 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7941295136276819, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8206164588850927, "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 }, { "col": "w1_ga_three_black_crows", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0151, "metrics": { "all": { "count": 3480, "ev_pct": 7.5844, "win_rate": 1.0, "profit_factor": 26393.624 }, "train": { "count": 2056, "ev_pct": 7.5064, "win_rate": 1.0, "profit_factor": 15433.2445 }, "valid": { "count": 670, "ev_pct": 7.2347, "win_rate": 1.0, "profit_factor": 4847.2609 }, "holdout": { "count": 754, "ev_pct": 8.1076, "win_rate": 1.0, "profit_factor": 6113.1186 } }, "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.8370267885275882, "hi": 0.9796418765981115 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8252236664366895, "hi": 0.9364576511584775 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 119.31363996378025, "hi": 158.95227481534286 } ], "valid_fire_rate": 0.0141, "metrics": { "all": { "count": 2563, "ev_pct": 4.9479, "win_rate": 0.9462, "profit_factor": 41.0043 }, "train": { "count": 1450, "ev_pct": 4.75, "win_rate": 0.9524, "profit_factor": 43.2686 }, "valid": { "count": 624, "ev_pct": 4.7054, "win_rate": 0.9487, "profit_factor": 31.7944 }, "holdout": { "count": 489, "ev_pct": 5.844, "win_rate": 0.9243, "profit_factor": 49.6781 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.7941295136276819, "hi": 1.0 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7821369534082708, "hi": 0.9843377974456614 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 111.04253803255844, "hi": 180.08898611506828 } ], "valid_fire_rate": 0.053, "metrics": { "all": { "count": 9903, "ev_pct": 4.81, "win_rate": 0.9456, "profit_factor": 32.2148 }, "train": { "count": 5923, "ev_pct": 4.8106, "win_rate": 0.9534, "profit_factor": 41.5226 }, "valid": { "count": 2350, "ev_pct": 4.4023, "win_rate": 0.9413, "profit_factor": 19.4534 }, "holdout": { "count": 1630, "ev_pct": 5.3955, "win_rate": 0.9233, "profit_factor": 34.54 } }, "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.8370267885275882, "hi": 0.9796418765981115 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.14589043491619427 } ], "valid_fire_rate": 0.091, "metrics": { "all": { "count": 16536, "ev_pct": 4.6125, "win_rate": 0.9368, "profit_factor": 27.9852 }, "train": { "count": 9918, "ev_pct": 4.7163, "win_rate": 0.9389, "profit_factor": 34.1885 }, "valid": { "count": 4035, "ev_pct": 4.1748, "win_rate": 0.94, "profit_factor": 19.066 }, "holdout": { "count": 2583, "ev_pct": 4.8977, "win_rate": 0.9237, "profit_factor": 27.1049 } }, "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": 6593, "ev_pct": 2.4183, "win_rate": 0.8288, "profit_factor": 5.121 }, "train": { "count": 3057, "ev_pct": 2.9951, "win_rate": 0.8394, "profit_factor": 8.0097 }, "valid": { "count": 2120, "ev_pct": 2.1911, "win_rate": 0.8396, "profit_factor": 4.6181 }, "holdout": { "count": 1416, "ev_pct": 1.5133, "win_rate": 0.7895, "profit_factor": 2.6755 } }, "pass_valid": true, "pass_holdout": true } ], "strict_pass": true, "holdout_pass": true, "rejected_count": 2, "gt_overlap": { "buy": { "gt_count": 318, "matched": 273, "recall": 0.8585 }, "sell": { "gt_count": 157, "matched": 140, "recall": 0.8917 } }, "valid_bars_approx": 44353, "all_rule_summaries": [ { "rule_id": "buy_compound_top3", "side": "buy", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20698250741759133 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0002639734376405, "hi": 0.2055391802948894 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -196.53481289151543, "hi": -118.19602423726946 } ], "valid_fire_rate": 0.0647, "metrics": { "all": { "count": 11568, "ev_pct": 5.389, "win_rate": 0.7159, "profit_factor": 3.53 }, "train": { "count": 7328, "ev_pct": 4.8912, "win_rate": 0.7201, "profit_factor": 3.5447 }, "valid": { "count": 2871, "ev_pct": 6.8916, "win_rate": 0.7402, "profit_factor": 3.6933 }, "holdout": { "count": 1369, "ev_pct": 4.9023, "win_rate": 0.6421, "profit_factor": 3.0916 } }, "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.021172207503886126, "hi": 0.16409846055318933 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.04926406505452075, "hi": 0.17056205475779587 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -176.08366788851922, "hi": -133.4800557108608 } ], "valid_fire_rate": 0.0149, "metrics": { "all": { "count": 2461, "ev_pct": 5.4605, "win_rate": 0.7017, "profit_factor": 3.3918 }, "train": { "count": 1552, "ev_pct": 4.5999, "win_rate": 0.6907, "profit_factor": 3.1874 }, "valid": { "count": 661, "ev_pct": 6.8095, "win_rate": 0.7262, "profit_factor": 3.4851 }, "holdout": { "count": 248, "ev_pct": 7.2513, "win_rate": 0.7056, "profit_factor": 4.3089 } }, "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.021172207503886126, "hi": 0.16409846055318933 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8588208478908868 } ], "valid_fire_rate": 0.1136, "metrics": { "all": { "count": 19150, "ev_pct": 5.4936, "win_rate": 0.7173, "profit_factor": 3.7049 }, "train": { "count": 11702, "ev_pct": 5.0822, "win_rate": 0.7174, "profit_factor": 3.7529 }, "valid": { "count": 5040, "ev_pct": 6.6694, "win_rate": 0.7427, "profit_factor": 3.6894 }, "holdout": { "count": 2408, "ev_pct": 5.0317, "win_rate": 0.664, "profit_factor": 3.5291 } }, "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.02225009472391165, "hi": 0.24829322108487767 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0002639734376405, "hi": 0.2055391802948894 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20698250741759133 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2400835423107455 }, { "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 }, { "col": "w1_ga_three_black_crows", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0228, "metrics": { "all": { "count": 4248, "ev_pct": 5.486, "win_rate": 0.7363, "profit_factor": 4.3732 }, "train": { "count": 2758, "ev_pct": 4.9175, "win_rate": 0.7208, "profit_factor": 3.8415 }, "valid": { "count": 1012, "ev_pct": 7.9951, "win_rate": 0.8261, "profit_factor": 8.5158 }, "holdout": { "count": 478, "ev_pct": 3.4543, "win_rate": 0.636, "profit_factor": 2.5588 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.7941295136276819, "hi": 1.0 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7821369534082708, "hi": 0.9843377974456614 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 111.04253803255844, "hi": 180.08898611506828 } ], "valid_fire_rate": 0.053, "metrics": { "all": { "count": 9903, "ev_pct": 4.81, "win_rate": 0.9456, "profit_factor": 32.2148 }, "train": { "count": 5923, "ev_pct": 4.8106, "win_rate": 0.9534, "profit_factor": 41.5226 }, "valid": { "count": 2350, "ev_pct": 4.4023, "win_rate": 0.9413, "profit_factor": 19.4534 }, "holdout": { "count": 1630, "ev_pct": 5.3955, "win_rate": 0.9233, "profit_factor": 34.54 } }, "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.8370267885275882, "hi": 0.9796418765981115 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8252236664366895, "hi": 0.9364576511584775 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 119.31363996378025, "hi": 158.95227481534286 } ], "valid_fire_rate": 0.0141, "metrics": { "all": { "count": 2563, "ev_pct": 4.9479, "win_rate": 0.9462, "profit_factor": 41.0043 }, "train": { "count": 1450, "ev_pct": 4.75, "win_rate": 0.9524, "profit_factor": 43.2686 }, "valid": { "count": 624, "ev_pct": 4.7054, "win_rate": 0.9487, "profit_factor": 31.7944 }, "holdout": { "count": 489, "ev_pct": 5.844, "win_rate": 0.9243, "profit_factor": 49.6781 } }, "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.8370267885275882, "hi": 0.9796418765981115 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.14589043491619427 } ], "valid_fire_rate": 0.091, "metrics": { "all": { "count": 16536, "ev_pct": 4.6125, "win_rate": 0.9368, "profit_factor": 27.9852 }, "train": { "count": 9918, "ev_pct": 4.7163, "win_rate": 0.9389, "profit_factor": 34.1885 }, "valid": { "count": 4035, "ev_pct": 4.1748, "win_rate": 0.94, "profit_factor": 19.066 }, "holdout": { "count": 2583, "ev_pct": 4.8977, "win_rate": 0.9237, "profit_factor": 27.1049 } }, "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.6750785337434262, "hi": 0.9593012516978001 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7821369534082708, "hi": 0.9843377974456614 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.7941295136276819, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8206164588850927, "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 }, { "col": "w1_ga_three_black_crows", "op": "eq_int", "value": 0 } ], "valid_fire_rate": 0.0151, "metrics": { "all": { "count": 3480, "ev_pct": 7.5844, "win_rate": 1.0, "profit_factor": 26393.624 }, "train": { "count": 2056, "ev_pct": 7.5064, "win_rate": 1.0, "profit_factor": 15433.2445 }, "valid": { "count": 670, "ev_pct": 7.2347, "win_rate": 1.0, "profit_factor": 4847.2609 }, "holdout": { "count": 754, "ev_pct": 8.1076, "win_rate": 1.0, "profit_factor": 6113.1186 } }, "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.0114, "metrics": { "all": { "count": 1506, "ev_pct": 6.2247, "win_rate": 0.739, "profit_factor": 4.859 }, "train": { "count": 669, "ev_pct": 6.3469, "win_rate": 0.7668, "profit_factor": 5.3425 }, "valid": { "count": 507, "ev_pct": 7.4598, "win_rate": 0.7535, "profit_factor": 4.552 }, "holdout": { "count": 330, "ev_pct": 4.0791, "win_rate": 0.6606, "profit_factor": 4.4814 } }, "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": 6593, "ev_pct": 2.4183, "win_rate": 0.8288, "profit_factor": 5.121 }, "train": { "count": 3057, "ev_pct": 2.9951, "win_rate": 0.8394, "profit_factor": 8.0097 }, "valid": { "count": 2120, "ev_pct": 2.1911, "win_rate": 0.8396, "profit_factor": 4.6181 }, "holdout": { "count": 1416, "ev_pct": 1.5133, "win_rate": 0.7895, "profit_factor": 2.6755 } }, "pass_valid": true, "pass_holdout": true } ], "note": "" }