.gitignore에서 docs 하위 제외 규칙을 제거하고 최신 HTML·CSV·JSON 리포트를 원격에 공유한다. Co-authored-by: Cursor <cursoragent@cursor.com>
2451 lines
55 KiB
JSON
2451 lines
55 KiB
JSON
{
|
|
"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": ""
|
|
} |