{ "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": 1505, "ev_pct": 6.0624, "win_rate": 0.7316, "profit_factor": 4.7082 }, "train": { "count": 663, "ev_pct": 6.3311, "win_rate": 0.7647, "profit_factor": 5.2928 }, "valid": { "count": 498, "ev_pct": 7.3995, "win_rate": 0.749, "profit_factor": 4.4607 }, "holdout": { "count": 344, "ev_pct": 3.6088, "win_rate": 0.6424, "profit_factor": 3.9708 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_ga_cci_20", "op": "between", "lo": -165.63146997929448, "hi": -94.58417734722393 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0007919203113804, "hi": 0.20459180244412847 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20106701606099592 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2273660357984182 }, { "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.0218, "metrics": { "all": { "count": 3533, "ev_pct": 5.4986, "win_rate": 0.7107, "profit_factor": 3.9995 }, "train": { "count": 2225, "ev_pct": 5.2142, "win_rate": 0.7249, "profit_factor": 4.2574 }, "valid": { "count": 946, "ev_pct": 7.1321, "win_rate": 0.7368, "profit_factor": 4.0913 }, "holdout": { "count": 362, "ev_pct": 2.9777, "win_rate": 0.5552, "profit_factor": 2.4718 } }, "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.20106701606099592 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -196.75277202865237, "hi": -118.66969390129654 } ], "valid_fire_rate": 0.1045, "metrics": { "all": { "count": 17631, "ev_pct": 5.3063, "win_rate": 0.7157, "profit_factor": 3.5224 }, "train": { "count": 10865, "ev_pct": 4.9877, "win_rate": 0.7211, "profit_factor": 3.6198 }, "valid": { "count": 4532, "ev_pct": 6.8055, "win_rate": 0.7396, "profit_factor": 3.7237 }, "holdout": { "count": 2234, "ev_pct": 3.8147, "win_rate": 0.641, "profit_factor": 2.6773 } }, "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.020269805294580265, "hi": 0.1573047482613718 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8652920380018327 } ], "valid_fire_rate": 0.1092, "metrics": { "all": { "count": 17993, "ev_pct": 5.3294, "win_rate": 0.7119, "profit_factor": 3.5811 }, "train": { "count": 10999, "ev_pct": 5.002, "win_rate": 0.7131, "profit_factor": 3.6686 }, "valid": { "count": 4736, "ev_pct": 6.6962, "win_rate": 0.7435, "profit_factor": 3.6926 }, "holdout": { "count": 2258, "ev_pct": 4.0579, "win_rate": 0.6404, "profit_factor": 2.9259 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_ga_cci_20", "op": "between", "lo": 71.08020816708225, "hi": 152.0239279574577 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7812942210429725, "hi": 0.979827466617936 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.8052954063070535, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8266597207479214, "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.013, "metrics": { "all": { "count": 2938, "ev_pct": 7.2232, "win_rate": 1.0, "profit_factor": 21221.6254 }, "train": { "count": 1749, "ev_pct": 7.1667, "win_rate": 1.0, "profit_factor": 12534.5465 }, "valid": { "count": 565, "ev_pct": 7.4984, "win_rate": 1.0, "profit_factor": 4236.5917 }, "holdout": { "count": 624, "ev_pct": 7.1322, "win_rate": 1.0, "profit_factor": 4450.4872 } }, "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.8404304497544448, "hi": 0.9835509404754346 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 121.46178461863994, "hi": 162.4704293245592 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8255534770185807, "hi": 0.9360858121763327 } ], "valid_fire_rate": 0.0141, "metrics": { "all": { "count": 2547, "ev_pct": 4.8878, "win_rate": 0.9466, "profit_factor": 41.3078 }, "train": { "count": 1464, "ev_pct": 4.7871, "win_rate": 0.9522, "profit_factor": 46.3293 }, "valid": { "count": 611, "ev_pct": 4.853, "win_rate": 0.9509, "profit_factor": 33.2429 }, "holdout": { "count": 472, "ev_pct": 5.2451, "win_rate": 0.9237, "profit_factor": 40.7507 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8052954063070535, "hi": 1.0 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 111.65828056686297, "hi": 181.1790204647342 } ], "valid_fire_rate": 0.086, "metrics": { "all": { "count": 15799, "ev_pct": 4.6906, "win_rate": 0.946, "profit_factor": 30.8859 }, "train": { "count": 9523, "ev_pct": 4.8963, "win_rate": 0.9532, "profit_factor": 42.9901 }, "valid": { "count": 3729, "ev_pct": 4.3175, "win_rate": 0.9415, "profit_factor": 18.2386 }, "holdout": { "count": 2547, "ev_pct": 4.4673, "win_rate": 0.9258, "profit_factor": 27.1429 } }, "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.8404304497544448, "hi": 0.9835509404754346 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.1345186926688078 } ], "valid_fire_rate": 0.0886, "metrics": { "all": { "count": 16104, "ev_pct": 4.5385, "win_rate": 0.9352, "profit_factor": 27.3888 }, "train": { "count": 9739, "ev_pct": 4.7285, "win_rate": 0.9388, "profit_factor": 35.0533 }, "valid": { "count": 3842, "ev_pct": 4.1113, "win_rate": 0.9357, "profit_factor": 17.9674 }, "holdout": { "count": 2523, "ev_pct": 4.4557, "win_rate": 0.9203, "profit_factor": 24.1116 } }, "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.0479, "metrics": { "all": { "count": 6554, "ev_pct": 2.4084, "win_rate": 0.8282, "profit_factor": 5.0874 }, "train": { "count": 3026, "ev_pct": 3.0144, "win_rate": 0.8384, "profit_factor": 7.9844 }, "valid": { "count": 2077, "ev_pct": 2.0954, "win_rate": 0.8353, "profit_factor": 4.3894 }, "holdout": { "count": 1451, "ev_pct": 1.5928, "win_rate": 0.7967, "profit_factor": 2.8173 } }, "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.20106701606099592 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -196.75277202865237, "hi": -118.66969390129654 } ], "valid_fire_rate": 0.1045, "metrics": { "all": { "count": 17631, "ev_pct": 5.3063, "win_rate": 0.7157, "profit_factor": 3.5224 }, "train": { "count": 10865, "ev_pct": 4.9877, "win_rate": 0.7211, "profit_factor": 3.6198 }, "valid": { "count": 4532, "ev_pct": 6.8055, "win_rate": 0.7396, "profit_factor": 3.7237 }, "holdout": { "count": 2234, "ev_pct": 3.8147, "win_rate": 0.641, "profit_factor": 2.6773 } }, "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.020269805294580265, "hi": 0.1573047482613718 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -176.0610418573743, "hi": -134.25322440673844 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.04935035261803711, "hi": 0.1678449416858898 } ], "valid_fire_rate": 0.0143, "metrics": { "all": { "count": 2287, "ev_pct": 5.0966, "win_rate": 0.6891, "profit_factor": 3.1319 }, "train": { "count": 1446, "ev_pct": 4.3319, "win_rate": 0.6812, "profit_factor": 3.0046 }, "valid": { "count": 620, "ev_pct": 6.6782, "win_rate": 0.7226, "profit_factor": 3.3483 }, "holdout": { "count": 221, "ev_pct": 5.6633, "win_rate": 0.6471, "profit_factor": 3.1592 } }, "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.020269805294580265, "hi": 0.1573047482613718 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8652920380018327 } ], "valid_fire_rate": 0.1092, "metrics": { "all": { "count": 17993, "ev_pct": 5.3294, "win_rate": 0.7119, "profit_factor": 3.5811 }, "train": { "count": 10999, "ev_pct": 5.002, "win_rate": 0.7131, "profit_factor": 3.6686 }, "valid": { "count": 4736, "ev_pct": 6.6962, "win_rate": 0.7435, "profit_factor": 3.6926 }, "holdout": { "count": 2258, "ev_pct": 4.0579, "win_rate": 0.6404, "profit_factor": 2.9259 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_ga_cci_20", "op": "between", "lo": -165.63146997929448, "hi": -94.58417734722393 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0007919203113804, "hi": 0.20459180244412847 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20106701606099592 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2273660357984182 }, { "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.0218, "metrics": { "all": { "count": 3533, "ev_pct": 5.4986, "win_rate": 0.7107, "profit_factor": 3.9995 }, "train": { "count": 2225, "ev_pct": 5.2142, "win_rate": 0.7249, "profit_factor": 4.2574 }, "valid": { "count": 946, "ev_pct": 7.1321, "win_rate": 0.7368, "profit_factor": 4.0913 }, "holdout": { "count": 362, "ev_pct": 2.9777, "win_rate": 0.5552, "profit_factor": 2.4718 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8052954063070535, "hi": 1.0 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 111.65828056686297, "hi": 181.1790204647342 } ], "valid_fire_rate": 0.086, "metrics": { "all": { "count": 15799, "ev_pct": 4.6906, "win_rate": 0.946, "profit_factor": 30.8859 }, "train": { "count": 9523, "ev_pct": 4.8963, "win_rate": 0.9532, "profit_factor": 42.9901 }, "valid": { "count": 3729, "ev_pct": 4.3175, "win_rate": 0.9415, "profit_factor": 18.2386 }, "holdout": { "count": 2547, "ev_pct": 4.4673, "win_rate": 0.9258, "profit_factor": 27.1429 } }, "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.8404304497544448, "hi": 0.9835509404754346 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 121.46178461863994, "hi": 162.4704293245592 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8255534770185807, "hi": 0.9360858121763327 } ], "valid_fire_rate": 0.0141, "metrics": { "all": { "count": 2547, "ev_pct": 4.8878, "win_rate": 0.9466, "profit_factor": 41.3078 }, "train": { "count": 1464, "ev_pct": 4.7871, "win_rate": 0.9522, "profit_factor": 46.3293 }, "valid": { "count": 611, "ev_pct": 4.853, "win_rate": 0.9509, "profit_factor": 33.2429 }, "holdout": { "count": 472, "ev_pct": 5.2451, "win_rate": 0.9237, "profit_factor": 40.7507 } }, "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.8404304497544448, "hi": 0.9835509404754346 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.1345186926688078 } ], "valid_fire_rate": 0.0886, "metrics": { "all": { "count": 16104, "ev_pct": 4.5385, "win_rate": 0.9352, "profit_factor": 27.3888 }, "train": { "count": 9739, "ev_pct": 4.7285, "win_rate": 0.9388, "profit_factor": 35.0533 }, "valid": { "count": 3842, "ev_pct": 4.1113, "win_rate": 0.9357, "profit_factor": 17.9674 }, "holdout": { "count": 2523, "ev_pct": 4.4557, "win_rate": 0.9203, "profit_factor": 24.1116 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_ga_cci_20", "op": "between", "lo": 71.08020816708225, "hi": 152.0239279574577 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7812942210429725, "hi": 0.979827466617936 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.8052954063070535, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8266597207479214, "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.013, "metrics": { "all": { "count": 2938, "ev_pct": 7.2232, "win_rate": 1.0, "profit_factor": 21221.6254 }, "train": { "count": 1749, "ev_pct": 7.1667, "win_rate": 1.0, "profit_factor": 12534.5465 }, "valid": { "count": 565, "ev_pct": 7.4984, "win_rate": 1.0, "profit_factor": 4236.5917 }, "holdout": { "count": 624, "ev_pct": 7.1322, "win_rate": 1.0, "profit_factor": 4450.4872 } }, "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": 1505, "ev_pct": 6.0624, "win_rate": 0.7316, "profit_factor": 4.7082 }, "train": { "count": 663, "ev_pct": 6.3311, "win_rate": 0.7647, "profit_factor": 5.2928 }, "valid": { "count": 498, "ev_pct": 7.3995, "win_rate": 0.749, "profit_factor": 4.4607 }, "holdout": { "count": 344, "ev_pct": 3.6088, "win_rate": 0.6424, "profit_factor": 3.9708 } }, "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.0479, "metrics": { "all": { "count": 6554, "ev_pct": 2.4084, "win_rate": 0.8282, "profit_factor": 5.0874 }, "train": { "count": 3026, "ev_pct": 3.0144, "win_rate": 0.8384, "profit_factor": 7.9844 }, "valid": { "count": 2077, "ev_pct": 2.0954, "win_rate": 0.8353, "profit_factor": 4.3894 }, "holdout": { "count": 1451, "ev_pct": 1.5928, "win_rate": 0.7967, "profit_factor": 2.8173 } }, "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.020269805294580265, "hi": 0.1573047482613718 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -176.0610418573743, "hi": -134.25322440673844 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.04935035261803711, "hi": 0.1678449416858898 } ], "valid_fire_rate": 0.0143, "metrics": { "all": { "count": 2287, "ev_pct": 5.0966, "win_rate": 0.6891, "profit_factor": 3.1319 }, "train": { "count": 1446, "ev_pct": 4.3319, "win_rate": 0.6812, "profit_factor": 3.0046 }, "valid": { "count": 620, "ev_pct": 6.6782, "win_rate": 0.7226, "profit_factor": 3.3483 }, "holdout": { "count": 221, "ev_pct": 5.6633, "win_rate": 0.6471, "profit_factor": 3.1592 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_ga_cci_20", "op": "between", "lo": 71.08020816708225, "hi": 152.0239279574577 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7812942210429725, "hi": 0.979827466617936 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.8052954063070535, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8266597207479214, "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.013, "metrics": { "all": { "count": 2938, "ev_pct": 7.2232, "win_rate": 1.0, "profit_factor": 21221.6254 }, "train": { "count": 1749, "ev_pct": 7.1667, "win_rate": 1.0, "profit_factor": 12534.5465 }, "valid": { "count": 565, "ev_pct": 7.4984, "win_rate": 1.0, "profit_factor": 4236.5917 }, "holdout": { "count": 624, "ev_pct": 7.1322, "win_rate": 1.0, "profit_factor": 4450.4872 } }, "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": 1505, "ev_pct": 6.0624, "win_rate": 0.7316, "profit_factor": 4.7082 }, "train": { "count": 663, "ev_pct": 6.3311, "win_rate": 0.7647, "profit_factor": 5.2928 }, "valid": { "count": 498, "ev_pct": 7.3995, "win_rate": 0.749, "profit_factor": 4.4607 }, "holdout": { "count": 344, "ev_pct": 3.6088, "win_rate": 0.6424, "profit_factor": 3.9708 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_ga_cci_20", "op": "between", "lo": -165.63146997929448, "hi": -94.58417734722393 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0007919203113804, "hi": 0.20459180244412847 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20106701606099592 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2273660357984182 }, { "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.0218, "metrics": { "all": { "count": 3533, "ev_pct": 5.4986, "win_rate": 0.7107, "profit_factor": 3.9995 }, "train": { "count": 2225, "ev_pct": 5.2142, "win_rate": 0.7249, "profit_factor": 4.2574 }, "valid": { "count": 946, "ev_pct": 7.1321, "win_rate": 0.7368, "profit_factor": 4.0913 }, "holdout": { "count": 362, "ev_pct": 2.9777, "win_rate": 0.5552, "profit_factor": 2.4718 } }, "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.20106701606099592 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -196.75277202865237, "hi": -118.66969390129654 } ], "valid_fire_rate": 0.1045, "metrics": { "all": { "count": 17631, "ev_pct": 5.3063, "win_rate": 0.7157, "profit_factor": 3.5224 }, "train": { "count": 10865, "ev_pct": 4.9877, "win_rate": 0.7211, "profit_factor": 3.6198 }, "valid": { "count": 4532, "ev_pct": 6.8055, "win_rate": 0.7396, "profit_factor": 3.7237 }, "holdout": { "count": 2234, "ev_pct": 3.8147, "win_rate": 0.641, "profit_factor": 2.6773 } }, "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.020269805294580265, "hi": 0.1573047482613718 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8652920380018327 } ], "valid_fire_rate": 0.1092, "metrics": { "all": { "count": 17993, "ev_pct": 5.3294, "win_rate": 0.7119, "profit_factor": 3.5811 }, "train": { "count": 10999, "ev_pct": 5.002, "win_rate": 0.7131, "profit_factor": 3.6686 }, "valid": { "count": 4736, "ev_pct": 6.6962, "win_rate": 0.7435, "profit_factor": 3.6926 }, "holdout": { "count": 2258, "ev_pct": 4.0579, "win_rate": 0.6404, "profit_factor": 2.9259 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_ga_cci_20", "op": "between", "lo": 71.08020816708225, "hi": 152.0239279574577 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7812942210429725, "hi": 0.979827466617936 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.8052954063070535, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8266597207479214, "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.013, "metrics": { "all": { "count": 2938, "ev_pct": 7.2232, "win_rate": 1.0, "profit_factor": 21221.6254 }, "train": { "count": 1749, "ev_pct": 7.1667, "win_rate": 1.0, "profit_factor": 12534.5465 }, "valid": { "count": 565, "ev_pct": 7.4984, "win_rate": 1.0, "profit_factor": 4236.5917 }, "holdout": { "count": 624, "ev_pct": 7.1322, "win_rate": 1.0, "profit_factor": 4450.4872 } }, "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.8404304497544448, "hi": 0.9835509404754346 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 121.46178461863994, "hi": 162.4704293245592 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8255534770185807, "hi": 0.9360858121763327 } ], "valid_fire_rate": 0.0141, "metrics": { "all": { "count": 2547, "ev_pct": 4.8878, "win_rate": 0.9466, "profit_factor": 41.3078 }, "train": { "count": 1464, "ev_pct": 4.7871, "win_rate": 0.9522, "profit_factor": 46.3293 }, "valid": { "count": 611, "ev_pct": 4.853, "win_rate": 0.9509, "profit_factor": 33.2429 }, "holdout": { "count": 472, "ev_pct": 5.2451, "win_rate": 0.9237, "profit_factor": 40.7507 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8052954063070535, "hi": 1.0 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 111.65828056686297, "hi": 181.1790204647342 } ], "valid_fire_rate": 0.086, "metrics": { "all": { "count": 15799, "ev_pct": 4.6906, "win_rate": 0.946, "profit_factor": 30.8859 }, "train": { "count": 9523, "ev_pct": 4.8963, "win_rate": 0.9532, "profit_factor": 42.9901 }, "valid": { "count": 3729, "ev_pct": 4.3175, "win_rate": 0.9415, "profit_factor": 18.2386 }, "holdout": { "count": 2547, "ev_pct": 4.4673, "win_rate": 0.9258, "profit_factor": 27.1429 } }, "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.8404304497544448, "hi": 0.9835509404754346 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.1345186926688078 } ], "valid_fire_rate": 0.0886, "metrics": { "all": { "count": 16104, "ev_pct": 4.5385, "win_rate": 0.9352, "profit_factor": 27.3888 }, "train": { "count": 9739, "ev_pct": 4.7285, "win_rate": 0.9388, "profit_factor": 35.0533 }, "valid": { "count": 3842, "ev_pct": 4.1113, "win_rate": 0.9357, "profit_factor": 17.9674 }, "holdout": { "count": 2523, "ev_pct": 4.4557, "win_rate": 0.9203, "profit_factor": 24.1116 } }, "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.0479, "metrics": { "all": { "count": 6554, "ev_pct": 2.4084, "win_rate": 0.8282, "profit_factor": 5.0874 }, "train": { "count": 3026, "ev_pct": 3.0144, "win_rate": 0.8384, "profit_factor": 7.9844 }, "valid": { "count": 2077, "ev_pct": 2.0954, "win_rate": 0.8353, "profit_factor": 4.3894 }, "holdout": { "count": 1451, "ev_pct": 1.5928, "win_rate": 0.7967, "profit_factor": 2.8173 } }, "pass_valid": true, "pass_holdout": true } ], "strict_pass": true, "holdout_pass": true, "rejected_count": 2, "gt_overlap": { "buy": { "gt_count": 306, "matched": 266, "recall": 0.8693 }, "sell": { "gt_count": 150, "matched": 134, "recall": 0.8933 } }, "valid_bars_approx": 43351, "all_rule_summaries": [ { "rule_id": "buy_compound_top3", "side": "buy", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20106701606099592 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 0 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -196.75277202865237, "hi": -118.66969390129654 } ], "valid_fire_rate": 0.1045, "metrics": { "all": { "count": 17631, "ev_pct": 5.3063, "win_rate": 0.7157, "profit_factor": 3.5224 }, "train": { "count": 10865, "ev_pct": 4.9877, "win_rate": 0.7211, "profit_factor": 3.6198 }, "valid": { "count": 4532, "ev_pct": 6.8055, "win_rate": 0.7396, "profit_factor": 3.7237 }, "holdout": { "count": 2234, "ev_pct": 3.8147, "win_rate": 0.641, "profit_factor": 2.6773 } }, "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.020269805294580265, "hi": 0.1573047482613718 }, { "col": "m10_ga_cci_20", "op": "between", "lo": -176.0610418573743, "hi": -134.25322440673844 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.04935035261803711, "hi": 0.1678449416858898 } ], "valid_fire_rate": 0.0143, "metrics": { "all": { "count": 2287, "ev_pct": 5.0966, "win_rate": 0.6891, "profit_factor": 3.1319 }, "train": { "count": 1446, "ev_pct": 4.3319, "win_rate": 0.6812, "profit_factor": 3.0046 }, "valid": { "count": 620, "ev_pct": 6.6782, "win_rate": 0.7226, "profit_factor": 3.3483 }, "holdout": { "count": 221, "ev_pct": 5.6633, "win_rate": 0.6471, "profit_factor": 3.1592 } }, "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.020269805294580265, "hi": 0.1573047482613718 }, { "col": "m10_bb_pos", "op": "lte", "value": 0.8652920380018327 } ], "valid_fire_rate": 0.1092, "metrics": { "all": { "count": 17993, "ev_pct": 5.3294, "win_rate": 0.7119, "profit_factor": 3.5811 }, "train": { "count": 10999, "ev_pct": 5.002, "win_rate": 0.7131, "profit_factor": 3.6686 }, "valid": { "count": 4736, "ev_pct": 6.6962, "win_rate": 0.7435, "profit_factor": 3.6926 }, "holdout": { "count": 2258, "ev_pct": 4.0579, "win_rate": 0.6404, "profit_factor": 2.9259 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "buy_mtf_cross_all_tf", "side": "buy", "kind": "mtf_cross", "conditions": [ { "col": "m3_ga_cci_20", "op": "between", "lo": -165.63146997929448, "hi": -94.58417734722393 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.0007919203113804, "hi": 0.20459180244412847 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.0, "hi": 0.20106701606099592 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.0, "hi": 0.2273660357984182 }, { "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.0218, "metrics": { "all": { "count": 3533, "ev_pct": 5.4986, "win_rate": 0.7107, "profit_factor": 3.9995 }, "train": { "count": 2225, "ev_pct": 5.2142, "win_rate": 0.7249, "profit_factor": 4.2574 }, "valid": { "count": 946, "ev_pct": 7.1321, "win_rate": 0.7368, "profit_factor": 4.0913 }, "holdout": { "count": 362, "ev_pct": 2.9777, "win_rate": 0.5552, "profit_factor": 2.4718 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_compound_top3", "side": "sell", "kind": "compound", "conditions": [ { "col": "m10_bb_pos", "op": "between", "lo": 0.8052954063070535, "hi": 1.0 }, { "col": "m60_ga_ha_bull", "op": "eq_int", "value": 1 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 111.65828056686297, "hi": 181.1790204647342 } ], "valid_fire_rate": 0.086, "metrics": { "all": { "count": 15799, "ev_pct": 4.6906, "win_rate": 0.946, "profit_factor": 30.8859 }, "train": { "count": 9523, "ev_pct": 4.8963, "win_rate": 0.9532, "profit_factor": 42.9901 }, "valid": { "count": 3729, "ev_pct": 4.3175, "win_rate": 0.9415, "profit_factor": 18.2386 }, "holdout": { "count": 2547, "ev_pct": 4.4673, "win_rate": 0.9258, "profit_factor": 27.1429 } }, "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.8404304497544448, "hi": 0.9835509404754346 }, { "col": "m10_ga_cci_20", "op": "between", "lo": 121.46178461863994, "hi": 162.4704293245592 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.8255534770185807, "hi": 0.9360858121763327 } ], "valid_fire_rate": 0.0141, "metrics": { "all": { "count": 2547, "ev_pct": 4.8878, "win_rate": 0.9466, "profit_factor": 41.3078 }, "train": { "count": 1464, "ev_pct": 4.7871, "win_rate": 0.9522, "profit_factor": 46.3293 }, "valid": { "count": 611, "ev_pct": 4.853, "win_rate": 0.9509, "profit_factor": 33.2429 }, "holdout": { "count": 472, "ev_pct": 5.2451, "win_rate": 0.9237, "profit_factor": 40.7507 } }, "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.8404304497544448, "hi": 0.9835509404754346 }, { "col": "m10_bb_pos", "op": "gte", "value": 0.1345186926688078 } ], "valid_fire_rate": 0.0886, "metrics": { "all": { "count": 16104, "ev_pct": 4.5385, "win_rate": 0.9352, "profit_factor": 27.3888 }, "train": { "count": 9739, "ev_pct": 4.7285, "win_rate": 0.9388, "profit_factor": 35.0533 }, "valid": { "count": 3842, "ev_pct": 4.1113, "win_rate": 0.9357, "profit_factor": 17.9674 }, "holdout": { "count": 2523, "ev_pct": 4.4557, "win_rate": 0.9203, "profit_factor": 24.1116 } }, "pass_valid": true, "pass_holdout": true }, { "rule_id": "sell_mtf_cross_all_tf", "side": "sell", "kind": "mtf_cross", "conditions": [ { "col": "m3_ga_cci_20", "op": "between", "lo": 71.08020816708225, "hi": 152.0239279574577 }, { "col": "m5_bb_pos", "op": "between", "lo": 0.7812942210429725, "hi": 0.979827466617936 }, { "col": "m10_bb_pos", "op": "between", "lo": 0.8052954063070535, "hi": 1.0 }, { "col": "m15_bb_pos", "op": "between", "lo": 0.8266597207479214, "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.013, "metrics": { "all": { "count": 2938, "ev_pct": 7.2232, "win_rate": 1.0, "profit_factor": 21221.6254 }, "train": { "count": 1749, "ev_pct": 7.1667, "win_rate": 1.0, "profit_factor": 12534.5465 }, "valid": { "count": 565, "ev_pct": 7.4984, "win_rate": 1.0, "profit_factor": 4236.5917 }, "holdout": { "count": 624, "ev_pct": 7.1322, "win_rate": 1.0, "profit_factor": 4450.4872 } }, "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": 1505, "ev_pct": 6.0624, "win_rate": 0.7316, "profit_factor": 4.7082 }, "train": { "count": 663, "ev_pct": 6.3311, "win_rate": 0.7647, "profit_factor": 5.2928 }, "valid": { "count": 498, "ev_pct": 7.3995, "win_rate": 0.749, "profit_factor": 4.4607 }, "holdout": { "count": 344, "ev_pct": 3.6088, "win_rate": 0.6424, "profit_factor": 3.9708 } }, "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.0479, "metrics": { "all": { "count": 6554, "ev_pct": 2.4084, "win_rate": 0.8282, "profit_factor": 5.0874 }, "train": { "count": 3026, "ev_pct": 3.0144, "win_rate": 0.8384, "profit_factor": 7.9844 }, "valid": { "count": 2077, "ev_pct": 2.0954, "win_rate": 0.8353, "profit_factor": 4.3894 }, "holdout": { "count": 1451, "ev_pct": 1.5928, "win_rate": 0.7967, "profit_factor": 2.8173 } }, "pass_valid": true, "pass_holdout": true } ], "note": "" }