{"schemaVersion":"1.0","type":"BacktestEvidence","id":"https://formiq.jp/evidence/support-resistance-settings/data.json","evidencePage":"https://formiq.jp/evidence/support-resistance-settings","language":"en","article":{"title":"Do Support and Resistance Lines Work? 5,184 Backtests","url":"https://formiq.jp/blog/support-resistance-settings","published":"2026-09-10","updated":"2026-09-10"},"author":{"name":"Yuichi Saiki","alternateName":"斉木勇一","url":"https://formiq.jp/about/yuichi-saiki"},"verified":"2026-09-10","question":"Does a horizontal line at a price that has already held work, and does a line with more touches hold better?","finding":"The touch count did not matter. Splitting the bounce signals by how many times the line had already held gives 50.13% for three touches, 49.24% for four and 50.10% for five or more on the 15-minute long side. Of the four settings that define what counts as a line, the touch count moved the median year least (357.9 pips for the bounce reading, against 1,000.9 for the tolerance band). Price sits inside a line's tolerance on 41.40% to 65.75% of bars, so being at a level is not a special state. The break reading wins 25.45% to 31.08% of its trades and left 58 of 108 settings profitable in both years on the hourly chart; the bounce wins 38.26% to 42.80% and left 19.","methodology":"The engine's srLevel condition confirms swing highs and lows, clusters prices within an ATR-multiple tolerance, and offers a cluster as a line once its touch count reaches a minimum. Two readings: bounce (reached the line and closed back on its own side) and break (closed through the line it was under). Swept: lookback 100, 200 and 400; swing strength 2, 3, 5 and 8; tolerance 0.25, 0.5 and 1.0 ATR; minimum touches 2, 3 and 4. 2 readings x 3 x 4 x 3 x 3 = 216 settings, on three timeframes, four windows and two spreads (0.3 pips and 0) = 5,184 runs. Two controls: the same test run at prices 1.5, 2 and 3 ATRs away from the line, and the same calculation on a series whose close-to-close changes were reshuffled. Every figure is checked in research/sr-verify.run.ts.","scope":["Instrument: USD/JPY","Period: 2024-01-01 to 2025-12-31, with 2025 also split in halves","Timeframes: 15-minute, 1-hour, 4-hour","Conditions: 2 readings x 108 definitions of a line"],"keyResults":[{"label":"Touch count against the bounce rate","value":"Three touches 50.13%, four 49.24%, five or more 50.10% on the 15-minute long side"},{"label":"Which of the four settings mattered least","value":"The touch count, moving the median year by 357.9 pips"},{"label":"Bars where price sits inside a line's tolerance","value":"41.40% to 65.75%"},{"label":"Settings profitable in both years","value":"Break 58 of 108 hourly; bounce 19 of 108"},{"label":"Win rates","value":"Break 25.45% to 31.08%, bounce 38.26% to 42.80%"},{"label":"Against a reshuffled series","value":"The real series won on hit rate in 5 of 6 cells"},{"label":"Engine fixes","value":"The condition had never taken a single trade, for two separate reasons"}],"limitations":["One pair over two years.","Fills at the close, a fixed spread and no slippage, so live results will differ.","The condition draws nothing on the chart; these are lines inside the backtester.","The offset control matches the distance at the moment of the signal but fires on 7.8% to 41.6% as many bars."]}