Phase C/dry-run·미사용 모듈·재생성 HTML을 제거하고, 운영 체결을 sim_causal_hybrid와 동일한 hybrid 로직으로 통합한다. Co-authored-by: Cursor <cursoragent@cursor.com>
433 lines
9.6 KiB
JSON
433 lines
9.6 KiB
JSON
{
|
|
"source": "/Users/xavis/workspace/ncue/DeepCoin/docs/03_analysis/general_analysis_trades.csv",
|
|
"profile_json": "/Users/xavis/workspace/ncue/DeepCoin/docs/03_analysis/gt_mtf_profile.json",
|
|
"calibration_json": "/Users/xavis/workspace/ncue/DeepCoin/docs/03_analysis/gt_calibration_report.json",
|
|
"buy_profile_features": [
|
|
"m3_bb_pos",
|
|
"m3_ga_cci_20",
|
|
"m3_ga_keltner_pos",
|
|
"m3_ga_mfi_14",
|
|
"m3_ga_donchian_pos",
|
|
"m3_RSI",
|
|
"m5_bb_pos",
|
|
"m5_ga_cci_20",
|
|
"m5_ga_keltner_pos",
|
|
"m5_ga_mfi_14",
|
|
"m5_ga_donchian_pos",
|
|
"m5_RSI",
|
|
"m10_bb_pos",
|
|
"m10_ga_cci_20",
|
|
"m10_ga_ha_bull",
|
|
"m10_ga_donchian_pos",
|
|
"m10_ga_keltner_pos",
|
|
"m10_stoch_k",
|
|
"m15_bb_pos",
|
|
"m15_ga_cci_20",
|
|
"m15_ga_ha_bull",
|
|
"m15_ga_keltner_pos",
|
|
"m15_ga_donchian_pos",
|
|
"m15_stoch_k",
|
|
"m30_ga_ha_bull",
|
|
"m30_bb_pos",
|
|
"m30_ga_cci_20",
|
|
"m30_ga_williams_overbought",
|
|
"m30_ga_donchian_pos",
|
|
"m30_ga_keltner_pos",
|
|
"m60_ga_ha_bull",
|
|
"m60_bb_pos",
|
|
"m60_ga_williams_overbought",
|
|
"m60_ga_cci_20",
|
|
"m60_ga_cci_overbought",
|
|
"m60_ga_keltner_pos",
|
|
"m240_ga_ha_bull",
|
|
"m240_ga_ha_trend_up",
|
|
"m240_ga_chart_ha_trend",
|
|
"m240_ga_cci_20",
|
|
"m240_bb_pos",
|
|
"m240_ga_keltner_pos",
|
|
"d1_ga_ha_bull",
|
|
"d1_ga_cci_20",
|
|
"d1_ga_cci_oversold",
|
|
"d1_bb_pos",
|
|
"d1_ga_cci_overbought",
|
|
"d1_ga_ha_trend_up",
|
|
"w1_ga_three_black_crows",
|
|
"w1_ga_pattern_wedge_rising"
|
|
],
|
|
"sell_profile_features": [
|
|
"m3_bb_pos",
|
|
"m3_ga_cci_20",
|
|
"m3_ga_keltner_pos",
|
|
"m3_ga_mfi_14",
|
|
"m3_ga_donchian_pos",
|
|
"m3_RSI",
|
|
"m5_bb_pos",
|
|
"m5_ga_cci_20",
|
|
"m5_ga_keltner_pos",
|
|
"m5_ga_mfi_14",
|
|
"m5_ga_donchian_pos",
|
|
"m5_RSI",
|
|
"m10_bb_pos",
|
|
"m10_ga_cci_20",
|
|
"m10_ga_ha_bull",
|
|
"m10_ga_donchian_pos",
|
|
"m10_ga_keltner_pos",
|
|
"m10_stoch_k",
|
|
"m15_bb_pos",
|
|
"m15_ga_cci_20",
|
|
"m15_ga_ha_bull",
|
|
"m15_ga_keltner_pos",
|
|
"m15_ga_donchian_pos",
|
|
"m15_stoch_k",
|
|
"m30_ga_ha_bull",
|
|
"m30_bb_pos",
|
|
"m30_ga_cci_20",
|
|
"m30_ga_williams_overbought",
|
|
"m30_ga_donchian_pos",
|
|
"m30_ga_keltner_pos",
|
|
"m60_ga_ha_bull",
|
|
"m60_bb_pos",
|
|
"m60_ga_williams_overbought",
|
|
"m60_ga_cci_20",
|
|
"m60_ga_cci_overbought",
|
|
"m60_ga_keltner_pos",
|
|
"m240_ga_ha_bull",
|
|
"m240_ga_ha_trend_up",
|
|
"m240_ga_chart_ha_trend",
|
|
"m240_ga_cci_20",
|
|
"m240_bb_pos",
|
|
"m240_ga_keltner_pos",
|
|
"d1_ga_ha_bull",
|
|
"d1_ga_cci_20",
|
|
"d1_ga_cci_oversold",
|
|
"d1_bb_pos",
|
|
"d1_ga_cci_overbought",
|
|
"d1_ga_ha_trend_up",
|
|
"w1_ga_three_black_crows",
|
|
"w1_ga_pattern_wedge_rising"
|
|
],
|
|
"buy_gt_count": 318,
|
|
"sell_gt_count": 158,
|
|
"rule_count": 12,
|
|
"rules": [
|
|
{
|
|
"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
|
|
}
|
|
],
|
|
"profile_cols": [
|
|
"m10_bb_pos",
|
|
"m5_bb_pos",
|
|
"m10_ga_cci_20"
|
|
]
|
|
},
|
|
{
|
|
"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
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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
|
|
}
|
|
],
|
|
"profile_cols": [
|
|
"m10_bb_pos",
|
|
"m5_bb_pos",
|
|
"m10_ga_cci_20"
|
|
]
|
|
},
|
|
{
|
|
"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
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"rule_id": "gt_model_buy_zigzag_bb",
|
|
"side": "buy",
|
|
"kind": "gt_model",
|
|
"logic": "and",
|
|
"conditions": [
|
|
{
|
|
"col": "gt_buy_signal",
|
|
"op": "eq_int",
|
|
"value": 1
|
|
}
|
|
],
|
|
"gt_spec": "trough_zigzag + bb_pos <= GT_BUY_BB_MAX"
|
|
},
|
|
{
|
|
"rule_id": "gt_model_buy_trough_local",
|
|
"side": "buy",
|
|
"kind": "gt_model",
|
|
"logic": "and",
|
|
"conditions": [
|
|
{
|
|
"col": "gt_trough_local",
|
|
"op": "eq_int",
|
|
"value": 1
|
|
},
|
|
{
|
|
"col": "bb_pos",
|
|
"op": "lte",
|
|
"value": 0.45
|
|
}
|
|
],
|
|
"gt_spec": "local trough + bb filter"
|
|
},
|
|
{
|
|
"rule_id": "gt_model_sell_zigzag_peak",
|
|
"side": "sell",
|
|
"kind": "gt_model",
|
|
"logic": "and",
|
|
"conditions": [
|
|
{
|
|
"col": "gt_sell_signal",
|
|
"op": "eq_int",
|
|
"value": 1
|
|
}
|
|
],
|
|
"gt_spec": "major swing peak (ZigZag)"
|
|
},
|
|
{
|
|
"rule_id": "gt_model_sell_peak_local",
|
|
"side": "sell",
|
|
"kind": "gt_model",
|
|
"logic": "and",
|
|
"conditions": [
|
|
{
|
|
"col": "gt_peak_local",
|
|
"op": "eq_int",
|
|
"value": 1
|
|
}
|
|
],
|
|
"gt_spec": "local high extremum"
|
|
}
|
|
]
|
|
} |