{ "config": { "symbols": [ "XRPUSDT", "TRXUSDT", "DOGEUSDT" ], "start": null, "end": null, "initial_balance": 1000.0, "leverage": 10, "fee_pct": 0.04, "slippage_pct": 0.01, "use_ml": true, "ml_threshold": 0.55, "max_daily_loss_pct": 0.05, "max_positions": 3, "max_same_direction": 2, "margin_max_ratio": 0.5, "margin_min_ratio": 0.2, "margin_decay_rate": 0.0006, "atr_sl_mult": 1.5, "atr_tp_mult": 3.0, "min_notional": 5.0 }, "summary": { "total_trades": 15, "total_pnl": 198.4051, "return_pct": 19.84, "win_rate": 53.33, "avg_win": 32.5332, "avg_loss": -8.8372, "profit_factor": 4.21, "max_drawdown_pct": 2.24, "sharpe_ratio": 79.77, "total_fees": 18.8564, "close_reasons": { "TAKE_PROFIT": 7, "REVERSE_SIGNAL": 3, "STOP_LOSS": 5 } }, "trades": [ { "symbol": "XRPUSDT", "side": "SHORT", "entry_time": "2025-05-23 02:15:00+00:00", "exit_time": "2025-05-23 04:30:00+00:00", "entry_price": 2.470853, "exit_price": 2.438268, "quantity": 674.5, "sl": 2.487145, "tp": 2.438268, "gross_pnl": 21.978348, "entry_fee": 0.666636, "exit_fee": 0.657845, "net_pnl": 20.653867, "close_reason": "TAKE_PROFIT", "ml_proba": 0.5847, "indicators": { "rsi": 75.08406565689027, "macd_hist": 0.004905452274126379, "atr": 0.010861550575088958, "adx": 21.704459542796908 } }, { "symbol": "XRPUSDT", "side": "LONG", "entry_time": "2025-05-30 00:45:00+00:00", "exit_time": "2025-05-30 02:15:00+00:00", "entry_price": 2.155015, "exit_price": 2.207692, "quantity": 770.0, "sl": 2.128677, "tp": 2.207692, "gross_pnl": 40.56076, "entry_fee": 0.663745, "exit_fee": 0.679969, "net_pnl": 39.217046, "close_reason": "TAKE_PROFIT", "ml_proba": 0.7602, "indicators": { "rsi": 13.158390769693794, "macd_hist": -0.00797002840932291, "atr": 0.01755877038478085, "adx": 31.17699185815243 } }, { "symbol": "XRPUSDT", "side": "SHORT", "entry_time": "2025-06-14 04:15:00+00:00", "exit_time": "2025-06-14 08:15:00+00:00", "entry_price": 2.164584, "exit_price": 2.169417, "quantity": 757.7, "sl": 2.175701, "tp": 2.142349, "gross_pnl": -3.662267, "entry_fee": 0.656042, "exit_fee": 0.657507, "net_pnl": -4.975816, "close_reason": "REVERSE_SIGNAL", "ml_proba": 0.6115, "indicators": { "rsi": 69.92512937431012, "macd_hist": 0.0026939087409630215, "atr": 0.007411409293121909, "adx": 20.278562659091943 } }, { "symbol": "XRPUSDT", "side": "SHORT", "entry_time": "2025-08-14 12:30:00+00:00", "exit_time": "2025-08-14 21:30:00+00:00", "entry_price": 3.132487, "exit_price": 3.035326, "quantity": 524.6, "sl": 3.181067, "tp": 3.035326, "gross_pnl": 50.970515, "entry_fee": 0.657321, "exit_fee": 0.636933, "net_pnl": 49.676261, "close_reason": "TAKE_PROFIT", "ml_proba": 0.8857, "indicators": { "rsi": 20.976757311144258, "macd_hist": -0.0032317207367513617, "atr": 0.032386907216145205, "adx": 38.70665879423988 } }, { "symbol": "XRPUSDT", "side": "LONG", "entry_time": "2025-09-01 00:15:00+00:00", "exit_time": "2025-09-01 02:45:00+00:00", "entry_price": 2.750075, "exit_price": 2.73304, "quantity": 586.2, "sl": 2.73304, "tp": 2.784144, "gross_pnl": -9.985662, "entry_fee": 0.644838, "exit_fee": 0.640843, "net_pnl": -11.271343, "close_reason": "STOP_LOSS", "ml_proba": 0.5754, "indicators": { "rsi": 20.77769666120342, "macd_hist": -0.0054454742314916215, "atr": 0.01135637668410908, "adx": 32.97685850211662 } }, { "symbol": "XRPUSDT", "side": "LONG", "entry_time": "2025-10-05 19:00:00+00:00", "exit_time": "2025-10-06 02:45:00+00:00", "entry_price": 2.953995, "exit_price": 2.990353, "quantity": 548.6, "sl": 2.935817, "tp": 2.990353, "gross_pnl": 19.945579, "entry_fee": 0.648225, "exit_fee": 0.656203, "net_pnl": 18.641151, "close_reason": "TAKE_PROFIT", "ml_proba": 0.6037, "indicators": { "rsi": 22.68978567945751, "macd_hist": -0.003579814992577557, "atr": 0.012119078271027253, "adx": 40.35268005132035 } }, { "symbol": "XRPUSDT", "side": "SHORT", "entry_time": "2025-10-10 20:45:00+00:00", "exit_time": "2025-10-10 21:00:00+00:00", "entry_price": 2.49595, "exit_price": 2.373231, "quantity": 643.9, "sl": 2.55731, "tp": 2.373231, "gross_pnl": 79.019141, "entry_fee": 0.642857, "exit_fee": 0.611249, "net_pnl": 77.765034, "close_reason": "TAKE_PROFIT", "ml_proba": 0.8864, "indicators": { "rsi": 17.950089434981262, "macd_hist": -0.010381022790605134, "atr": 0.0409065283069771, "adx": 56.13982003832872 } }, { "symbol": "XRPUSDT", "side": "SHORT", "entry_time": "2025-10-14 16:15:00+00:00", "exit_time": "2025-10-15 02:15:00+00:00", "entry_price": 2.508449, "exit_price": 2.523552, "quantity": 612.4, "sl": 2.544104, "tp": 2.437139, "gross_pnl": -9.2492, "entry_fee": 0.61447, "exit_fee": 0.618169, "net_pnl": -10.481839, "close_reason": "REVERSE_SIGNAL", "ml_proba": 0.5683, "indicators": { "rsi": 68.85343626442496, "macd_hist": 0.010657476860447013, "atr": 0.023769893751947626, "adx": 39.4255156509299 } }, { "symbol": "XRPUSDT", "side": "SHORT", "entry_time": "2025-10-27 16:00:00+00:00", "exit_time": "2025-10-27 21:00:00+00:00", "entry_price": 2.674233, "exit_price": 2.623904, "quantity": 578.8, "sl": 2.699397, "tp": 2.623904, "gross_pnl": 29.129941, "entry_fee": 0.619138, "exit_fee": 0.607486, "net_pnl": 27.903316, "close_reason": "TAKE_PROFIT", "ml_proba": 0.5625, "indicators": { "rsi": 66.34709912155408, "macd_hist": 0.005634259928464551, "atr": 0.01677605457389115, "adx": 23.34205636197947 } }, { "symbol": "XRPUSDT", "side": "LONG", "entry_time": "2025-11-28 01:45:00+00:00", "exit_time": "2025-11-28 05:30:00+00:00", "entry_price": 2.171517, "exit_price": 2.200054, "quantity": 699.4, "sl": 2.157249, "tp": 2.200054, "gross_pnl": 19.958706, "entry_fee": 0.607504, "exit_fee": 0.615487, "net_pnl": 18.735716, "close_reason": "TAKE_PROFIT", "ml_proba": 0.6381, "indicators": { "rsi": 22.942287299402874, "macd_hist": -0.003478384036068617, "atr": 0.009512299239799599, "adx": 35.89384138114383 } }, { "symbol": "XRPUSDT", "side": "SHORT", "entry_time": "2025-12-19 13:15:00+00:00", "exit_time": "2025-12-19 15:15:00+00:00", "entry_price": 1.878712, "exit_price": 1.889911, "quantity": 796.9, "sl": 1.889911, "tp": 1.856315, "gross_pnl": -8.924064, "entry_fee": 0.598858, "exit_fee": 0.602428, "net_pnl": -10.12535, "close_reason": "STOP_LOSS", "ml_proba": 0.5945, "indicators": { "rsi": 68.16547032772114, "macd_hist": -4.5929936914913816e-05, "atr": 0.007465649526915487, "adx": 40.69667585881617 } }, { "symbol": "XRPUSDT", "side": "LONG", "entry_time": "2025-12-25 22:45:00+00:00", "exit_time": "2025-12-25 23:30:00+00:00", "entry_price": 1.844884, "exit_price": 1.836907, "quantity": 818.5, "sl": 1.836907, "tp": 1.86084, "gross_pnl": -6.529692, "entry_fee": 0.604015, "exit_fee": 0.601403, "net_pnl": -7.735111, "close_reason": "STOP_LOSS", "ml_proba": 0.6099, "indicators": { "rsi": 22.431779710524914, "macd_hist": -0.0022220637884117073, "atr": 0.005318421811566107, "adx": 20.682478174103885 } }, { "symbol": "XRPUSDT", "side": "SHORT", "entry_time": "2026-01-17 15:00:00+00:00", "exit_time": "2026-01-17 15:15:00+00:00", "entry_price": 2.074093, "exit_price": 2.080899, "quantity": 732.6, "sl": 2.080899, "tp": 2.06048, "gross_pnl": -4.986389, "entry_fee": 0.607792, "exit_fee": 0.609787, "net_pnl": -6.203967, "close_reason": "STOP_LOSS", "ml_proba": 0.594, "indicators": { "rsi": 69.16433708427633, "macd_hist": 0.0015812464458042678, "atr": 0.004537618137465387, "adx": 16.189151941493567 } }, { "symbol": "XRPUSDT", "side": "SHORT", "entry_time": "2026-01-30 01:30:00+00:00", "exit_time": "2026-01-30 02:15:00+00:00", "entry_price": 1.743626, "exit_price": 1.733473, "quantity": 875.8, "sl": 1.766432, "tp": 1.698012, "gross_pnl": 8.891376, "entry_fee": 0.610827, "exit_fee": 0.60727, "net_pnl": 7.673278, "close_reason": "REVERSE_SIGNAL", "ml_proba": 0.6829, "indicators": { "rsi": 19.89605260729724, "macd_hist": -0.003114826868995284, "atr": 0.015204543588406344, "adx": 20.39618087837 } }, { "symbol": "XRPUSDT", "side": "LONG", "entry_time": "2026-02-28 06:15:00+00:00", "exit_time": "2026-02-28 06:30:00+00:00", "entry_price": 1.331433, "exit_price": 1.322797, "quantity": 1141.2, "sl": 1.322797, "tp": 1.348705, "gross_pnl": -9.855576, "entry_fee": 0.607773, "exit_fee": 0.60383, "net_pnl": -11.067179, "close_reason": "STOP_LOSS", "ml_proba": 0.7416, "indicators": { "rsi": 22.07257216583472, "macd_hist": -0.0019878129960472814, "atr": 0.005757434514952236, "adx": 36.23941502849302 } } ], "validation": { "overall": "FAIL", "checks": [ { "name": "exit_after_entry", "passed": true, "level": "FAIL", "message": "모든 트레이드에서 청산 > 진입" }, { "name": "sl_tp_direction", "passed": true, "level": "FAIL", "message": "SL/TP 방향 정합" }, { "name": "no_overlap", "passed": true, "level": "FAIL", "message": "포지션 비중첩 확인" }, { "name": "positive_fees", "passed": true, "level": "FAIL", "message": "수수료 양수 확인" }, { "name": "no_negative_balance", "passed": true, "level": "FAIL", "message": "잔고 양수 유지" }, { "name": "win_rate_high", "passed": true, "level": "WARNING", "message": "승률 정상 (53.3%)" }, { "name": "win_rate_low", "passed": true, "level": "WARNING", "message": "승률 정상 (53.3%)" }, { "name": "mdd_nonzero", "passed": true, "level": "WARNING", "message": "MDD 정상 (2.2%)" }, { "name": "trade_frequency", "passed": false, "level": "WARNING", "message": "월 평균 1.6건 < 5건 — 신호 생성 부족" }, { "name": "profit_factor_high", "passed": true, "level": "WARNING", "message": "PF 정상 (4.21)" } ] } }