Update param sweep results with S8_OB grid (27 combos)

S8_OB PASS: best params DISP_ATR=2.5, TP1=2.0, Window=40
(IS PF=1.39, OOS PF=1.59, Gen=1.382). S9_Filtered also PASS.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Brent Neale
2026-02-20 23:02:12 +10:00
parent ea5472b737
commit 23d8288fa3
+326 -307
View File
@@ -918,444 +918,463 @@
}
]
},
"S10_EUR_USD": {
"pair": "EUR_USD",
"combos_tested": 18,
"S8_OB": {
"pair": "GBP_USD",
"combos_tested": 27,
"best_params": {
"VWAP_SD_ENTRY": 2.5,
"MAX_ADX": 30,
"MAX_BARS": 6
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 40
},
"is_best_metrics": {
"trades": 11,
"wr": 63.6,
"pf": 2.87,
"sharpe": 5.84,
"pnl_pips": 29.8,
"expectancy": 2.71
"trades": 67,
"wr": 37.3,
"pf": 1.39,
"sharpe": 2.05,
"pnl_pips": 223.4,
"expectancy": 3.33
},
"oos_validation": {
"trades": 5,
"wr": 40.0,
"pf": 3.0,
"sharpe": 5.28,
"pnl_pips": 6.3,
"expectancy": 1.25
"trades": 17,
"wr": 52.9,
"pf": 1.59,
"sharpe": 2.96,
"pnl_pips": 89.6,
"expectancy": 5.27
},
"generalization_score": 0.712,
"verdict": "WARN",
"generalization_score": 1.382,
"verdict": "PASS",
"is_results_ranked": [
{
"rank": 1,
"params": {
"VWAP_SD_ENTRY": 2.5,
"MAX_ADX": 30,
"MAX_BARS": 6
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 40
},
"metrics": {
"trades": 11,
"wr": 63.6,
"pf": 2.87,
"sharpe": 5.84,
"pnl_pips": 29.8,
"expectancy": 2.71
"trades": 67,
"wr": 37.3,
"pf": 1.39,
"sharpe": 2.05,
"pnl_pips": 223.4,
"expectancy": 3.33
}
},
{
"rank": 2,
"params": {
"VWAP_SD_ENTRY": 2.5,
"MAX_ADX": 30,
"MAX_BARS": 8
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 30
},
"metrics": {
"trades": 11,
"wr": 63.6,
"pf": 2.75,
"sharpe": 5.98,
"pnl_pips": 31.8,
"expectancy": 2.89
"trades": 59,
"wr": 37.3,
"pf": 1.33,
"sharpe": 1.78,
"pnl_pips": 168.0,
"expectancy": 2.85
}
},
{
"rank": 3,
"params": {
"VWAP_SD_ENTRY": 1.5,
"MAX_ADX": 30,
"MAX_BARS": 6
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 1.5,
"OB_RETEST_WINDOW": 40
},
"metrics": {
"trades": 13,
"wr": 61.5,
"pf": 2.43,
"sharpe": 5.16,
"pnl_pips": 30.0,
"expectancy": 2.31
"trades": 64,
"wr": 42.2,
"pf": 1.3,
"sharpe": 1.61,
"pnl_pips": 143.9,
"expectancy": 2.25
}
},
{
"rank": 4,
"params": {
"VWAP_SD_ENTRY": 2.0,
"MAX_ADX": 30,
"MAX_BARS": 6
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 50
},
"metrics": {
"trades": 13,
"wr": 61.5,
"pf": 2.43,
"sharpe": 5.16,
"pnl_pips": 30.0,
"expectancy": 2.31
"trades": 69,
"wr": 36.2,
"pf": 1.26,
"sharpe": 1.44,
"pnl_pips": 163.8,
"expectancy": 2.37
}
},
{
"rank": 5,
"params": {
"VWAP_SD_ENTRY": 1.5,
"MAX_ADX": 30,
"MAX_BARS": 8
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 1.5,
"OB_RETEST_WINDOW": 30
},
"metrics": {
"trades": 13,
"wr": 53.8,
"pf": 1.67,
"sharpe": 3.17,
"pnl_pips": 20.1,
"expectancy": 1.55
"trades": 57,
"wr": 42.1,
"pf": 1.25,
"sharpe": 1.36,
"pnl_pips": 105.1,
"expectancy": 1.84
}
},
{
"rank": 6,
"params": {
"VWAP_SD_ENTRY": 2.0,
"MAX_ADX": 30,
"MAX_BARS": 8
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 1.5,
"OB_RETEST_WINDOW": 50
},
"metrics": {
"trades": 13,
"wr": 53.8,
"pf": 1.67,
"sharpe": 3.17,
"pnl_pips": 20.1,
"expectancy": 1.55
}
}
]
},
"S11_GBP_JPY": {
"pair": "GBP_JPY",
"combos_tested": 18,
"best_params": {
"MIN_ADX": 35,
"EMA_PROXIMITY_ATR": 0.3,
"TP_RR_MULT": 1.8
},
"is_best_metrics": {
"trades": 9,
"wr": 77.8,
"pf": 5.67,
"sharpe": 10.25,
"pnl_pips": 89.0,
"expectancy": 9.89
},
"oos_validation": {
"trades": 2,
"wr": 0.0,
"pf": 0.0,
"sharpe": -58.86,
"pnl_pips": -43.0,
"expectancy": -21.48
},
"generalization_score": 0.0,
"verdict": "FAIL",
"is_results_ranked": [
{
"rank": 1,
"params": {
"MIN_ADX": 35,
"EMA_PROXIMITY_ATR": 0.3,
"TP_RR_MULT": 1.8
},
"metrics": {
"trades": 9,
"wr": 77.8,
"pf": 5.67,
"sharpe": 10.25,
"pnl_pips": 89.0,
"expectancy": 9.89
}
},
{
"rank": 2,
"params": {
"MIN_ADX": 35,
"EMA_PROXIMITY_ATR": 0.3,
"TP_RR_MULT": 1.5
},
"metrics": {
"trades": 9,
"wr": 77.8,
"pf": 5.35,
"sharpe": 10.65,
"pnl_pips": 83.0,
"expectancy": 9.22
}
},
{
"rank": 3,
"params": {
"MIN_ADX": 35,
"EMA_PROXIMITY_ATR": 0.5,
"TP_RR_MULT": 1.8
},
"metrics": {
"trades": 11,
"wr": 63.6,
"pf": 4.14,
"sharpe": 8.03,
"pnl_pips": 82.0,
"expectancy": 7.45
}
},
{
"rank": 4,
"params": {
"MIN_ADX": 35,
"EMA_PROXIMITY_ATR": 0.5,
"TP_RR_MULT": 1.5
},
"metrics": {
"trades": 11,
"wr": 63.6,
"pf": 3.91,
"sharpe": 8.22,
"pnl_pips": 75.9,
"expectancy": 6.9
}
},
{
"rank": 5,
"params": {
"MIN_ADX": 35,
"EMA_PROXIMITY_ATR": 0.2,
"TP_RR_MULT": 1.5
},
"metrics": {
"trades": 5,
"wr": 80.0,
"pf": 2.83,
"sharpe": 6.74,
"pnl_pips": 29.8,
"expectancy": 5.95
}
},
{
"rank": 6,
"params": {
"MIN_ADX": 35,
"EMA_PROXIMITY_ATR": 0.2,
"TP_RR_MULT": 1.8
},
"metrics": {
"trades": 5,
"wr": 80.0,
"pf": 2.79,
"sharpe": 6.11,
"pnl_pips": 29.1,
"expectancy": 5.81
"trades": 66,
"wr": 42.4,
"pf": 1.22,
"sharpe": 1.23,
"pnl_pips": 114.6,
"expectancy": 1.74
}
},
{
"rank": 7,
"params": {
"MIN_ADX": 30,
"EMA_PROXIMITY_ATR": 0.5,
"TP_RR_MULT": 1.8
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 1.0,
"OB_RETEST_WINDOW": 40
},
"metrics": {
"trades": 16,
"wr": 56.2,
"pf": 1.68,
"sharpe": 3.33,
"pnl_pips": 55.8,
"expectancy": 3.49
"trades": 56,
"wr": 46.4,
"pf": 1.21,
"sharpe": 1.17,
"pnl_pips": 69.1,
"expectancy": 1.23
}
},
{
"rank": 8,
"params": {
"MIN_ADX": 30,
"EMA_PROXIMITY_ATR": 0.3,
"TP_RR_MULT": 1.8
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 1.0,
"OB_RETEST_WINDOW": 50
},
"metrics": {
"trades": 13,
"wr": 61.5,
"pf": 1.61,
"sharpe": 3.13,
"pnl_pips": 45.9,
"expectancy": 3.53
"trades": 58,
"wr": 46.6,
"pf": 1.1,
"sharpe": 0.58,
"pnl_pips": 36.5,
"expectancy": 0.63
}
},
{
"rank": 9,
"params": {
"MIN_ADX": 30,
"EMA_PROXIMITY_ATR": 0.5,
"TP_RR_MULT": 1.5
"DISPLACEMENT_ATR": 2.5,
"TP1_ATR_MULT": 1.0,
"OB_RETEST_WINDOW": 30
},
"metrics": {
"trades": 16,
"wr": 56.2,
"pf": 1.56,
"sharpe": 2.94,
"pnl_pips": 45.9,
"expectancy": 2.87
"trades": 50,
"wr": 44.0,
"pf": 1.06,
"sharpe": 0.34,
"pnl_pips": 17.4,
"expectancy": 0.35
}
},
{
"rank": 10,
"params": {
"MIN_ADX": 30,
"EMA_PROXIMITY_ATR": 0.3,
"TP_RR_MULT": 1.5
"DISPLACEMENT_ATR": 2.0,
"TP1_ATR_MULT": 1.0,
"OB_RETEST_WINDOW": 40
},
"metrics": {
"trades": 13,
"wr": 61.5,
"pf": 1.51,
"sharpe": 2.77,
"pnl_pips": 38.1,
"expectancy": 2.93
"trades": 107,
"wr": 46.7,
"pf": 1.02,
"sharpe": 0.15,
"pnl_pips": 16.4,
"expectancy": 0.15
}
},
{
"rank": 11,
"params": {
"MIN_ADX": 25,
"EMA_PROXIMITY_ATR": 0.3,
"TP_RR_MULT": 1.8
"DISPLACEMENT_ATR": 2.0,
"TP1_ATR_MULT": 1.5,
"OB_RETEST_WINDOW": 40
},
"metrics": {
"trades": 18,
"wr": 55.6,
"pf": 1.39,
"sharpe": 2.15,
"pnl_pips": 41.4,
"expectancy": 2.3
"trades": 129,
"wr": 41.9,
"pf": 0.93,
"sharpe": -0.44,
"pnl_pips": -74.3,
"expectancy": -0.58
}
},
{
"rank": 12,
"params": {
"MIN_ADX": 25,
"EMA_PROXIMITY_ATR": 0.5,
"TP_RR_MULT": 1.8
"DISPLACEMENT_ATR": 2.0,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 40
},
"metrics": {
"trades": 25,
"wr": 52.0,
"pf": 1.37,
"sharpe": 2.02,
"pnl_pips": 52.6,
"expectancy": 2.11
"trades": 132,
"wr": 35.6,
"pf": 0.92,
"sharpe": -0.54,
"pnl_pips": -113.7,
"expectancy": -0.86
}
},
{
"rank": 13,
"params": {
"MIN_ADX": 25,
"EMA_PROXIMITY_ATR": 0.3,
"TP_RR_MULT": 1.5
"DISPLACEMENT_ATR": 2.0,
"TP1_ATR_MULT": 1.0,
"OB_RETEST_WINDOW": 50
},
"metrics": {
"trades": 18,
"wr": 55.6,
"pf": 1.3,
"sharpe": 1.72,
"pnl_pips": 31.1,
"expectancy": 1.73
"trades": 112,
"wr": 45.5,
"pf": 0.9,
"sharpe": -0.64,
"pnl_pips": -76.3,
"expectancy": -0.68
}
},
{
"rank": 14,
"params": {
"MIN_ADX": 25,
"EMA_PROXIMITY_ATR": 0.5,
"TP_RR_MULT": 1.5
"DISPLACEMENT_ATR": 2.0,
"TP1_ATR_MULT": 1.5,
"OB_RETEST_WINDOW": 30
},
"metrics": {
"trades": 25,
"wr": 52.0,
"pf": 1.26,
"sharpe": 1.53,
"pnl_pips": 37.4,
"expectancy": 1.5
"trades": 116,
"wr": 40.5,
"pf": 0.88,
"sharpe": -0.79,
"pnl_pips": -117.3,
"expectancy": -1.01
}
},
{
"rank": 15,
"params": {
"MIN_ADX": 25,
"EMA_PROXIMITY_ATR": 0.2,
"TP_RR_MULT": 1.8
"DISPLACEMENT_ATR": 2.0,
"TP1_ATR_MULT": 1.5,
"OB_RETEST_WINDOW": 50
},
"metrics": {
"trades": 13,
"wr": 46.2,
"pf": 0.69,
"sharpe": -2.43,
"pnl_pips": -31.9,
"expectancy": -2.45
"trades": 135,
"wr": 41.5,
"pf": 0.87,
"sharpe": -0.89,
"pnl_pips": -158.0,
"expectancy": -1.17
}
},
{
"rank": 16,
"params": {
"MIN_ADX": 25,
"EMA_PROXIMITY_ATR": 0.2,
"TP_RR_MULT": 1.5
"DISPLACEMENT_ATR": 2.0,
"TP1_ATR_MULT": 1.0,
"OB_RETEST_WINDOW": 30
},
"metrics": {
"trades": 13,
"wr": 46.2,
"pf": 0.67,
"sharpe": -2.67,
"pnl_pips": -33.7,
"expectancy": -2.59
"trades": 95,
"wr": 43.2,
"pf": 0.87,
"sharpe": -0.89,
"pnl_pips": -85.9,
"expectancy": -0.9
}
},
{
"rank": 17,
"params": {
"MIN_ADX": 30,
"EMA_PROXIMITY_ATR": 0.2,
"TP_RR_MULT": 1.5
"DISPLACEMENT_ATR": 2.0,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 30
},
"metrics": {
"trades": 8,
"wr": 50.0,
"pf": 0.63,
"sharpe": -3.16,
"pnl_pips": -26.7,
"expectancy": -3.33
"trades": 119,
"wr": 34.5,
"pf": 0.86,
"sharpe": -0.93,
"pnl_pips": -174.8,
"expectancy": -1.47
}
},
{
"rank": 18,
"params": {
"MIN_ADX": 30,
"EMA_PROXIMITY_ATR": 0.2,
"TP_RR_MULT": 1.8
"DISPLACEMENT_ATR": 2.0,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 50
},
"metrics": {
"trades": 8,
"wr": 50.0,
"pf": 0.62,
"sharpe": -3.16,
"pnl_pips": -27.4,
"expectancy": -3.42
"trades": 139,
"wr": 34.5,
"pf": 0.83,
"sharpe": -1.13,
"pnl_pips": -250.2,
"expectancy": -1.8
}
},
{
"rank": 19,
"params": {
"DISPLACEMENT_ATR": 1.5,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 40
},
"metrics": {
"trades": 320,
"wr": 33.4,
"pf": 0.82,
"sharpe": -1.29,
"pnl_pips": -561.3,
"expectancy": -1.75
}
},
{
"rank": 20,
"params": {
"DISPLACEMENT_ATR": 1.5,
"TP1_ATR_MULT": 1.5,
"OB_RETEST_WINDOW": 40
},
"metrics": {
"trades": 319,
"wr": 38.9,
"pf": 0.8,
"sharpe": -1.47,
"pnl_pips": -535.9,
"expectancy": -1.68
}
},
{
"rank": 21,
"params": {
"DISPLACEMENT_ATR": 1.5,
"TP1_ATR_MULT": 1.5,
"OB_RETEST_WINDOW": 30
},
"metrics": {
"trades": 273,
"wr": 39.2,
"pf": 0.8,
"sharpe": -1.5,
"pnl_pips": -459.6,
"expectancy": -1.68
}
},
{
"rank": 22,
"params": {
"DISPLACEMENT_ATR": 1.5,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 30
},
"metrics": {
"trades": 273,
"wr": 33.3,
"pf": 0.8,
"sharpe": -1.4,
"pnl_pips": -517.0,
"expectancy": -1.89
}
},
{
"rank": 23,
"params": {
"DISPLACEMENT_ATR": 1.5,
"TP1_ATR_MULT": 1.0,
"OB_RETEST_WINDOW": 40
},
"metrics": {
"trades": 271,
"wr": 44.3,
"pf": 0.79,
"sharpe": -1.46,
"pnl_pips": -355.9,
"expectancy": -1.31
}
},
{
"rank": 24,
"params": {
"DISPLACEMENT_ATR": 1.5,
"TP1_ATR_MULT": 2.0,
"OB_RETEST_WINDOW": 50
},
"metrics": {
"trades": 329,
"wr": 33.4,
"pf": 0.78,
"sharpe": -1.62,
"pnl_pips": -724.8,
"expectancy": -2.2
}
},
{
"rank": 25,
"params": {
"DISPLACEMENT_ATR": 1.5,
"TP1_ATR_MULT": 1.0,
"OB_RETEST_WINDOW": 30
},
"metrics": {
"trades": 226,
"wr": 44.2,
"pf": 0.78,
"sharpe": -1.63,
"pnl_pips": -321.4,
"expectancy": -1.42
}
},
{
"rank": 26,
"params": {
"DISPLACEMENT_ATR": 1.5,
"TP1_ATR_MULT": 1.5,
"OB_RETEST_WINDOW": 50
},
"metrics": {
"trades": 327,
"wr": 39.1,
"pf": 0.77,
"sharpe": -1.69,
"pnl_pips": -633.6,
"expectancy": -1.94
}
},
{
"rank": 27,
"params": {
"DISPLACEMENT_ATR": 1.5,
"TP1_ATR_MULT": 1.0,
"OB_RETEST_WINDOW": 50
},
"metrics": {
"trades": 277,
"wr": 44.0,
"pf": 0.75,
"sharpe": -1.8,
"pnl_pips": -458.7,
"expectancy": -1.66
}
}
]