{"id":526,"date":"2026-08-10T14:47:53","date_gmt":"2026-08-10T14:47:53","guid":{"rendered":"https:\/\/www.stockmaster.in\/universe\/?p=526"},"modified":"2026-08-10T14:49:16","modified_gmt":"2026-08-10T14:49:16","slug":"support-resistance-game","status":"publish","type":"post","link":"https:\/\/www.stockmaster.in\/universe\/support-resistance-game\/","title":{"rendered":"Support &#038; Resistance Game"},"content":{"rendered":"<div id=\"sm-sr-detective\">\r\n\r\n<style>\r\n#sm-sr-detective{\r\n--p:#6d3df5;\r\n--dark:#171329;\r\n--bg:#f5f3fb;\r\n--green:#16a34a;\r\n--red:#dc2626;\r\n--blue:#2563eb;\r\nfont-family:Arial,sans-serif;\r\nmax-width:1150px;\r\nmargin:20px auto;\r\ncolor:#171329\r\n}\r\n#sm-sr-detective *{box-sizing:border-box}\r\n.sr-head{\r\nbackground:linear-gradient(135deg,#21133f,#7042ef);\r\ncolor:#fff;padding:22px;border-radius:20px 20px 0 0\r\n}\r\n.sr-title{font-size:29px;font-weight:900}\r\n.sr-sub{font-size:13px;opacity:.85;margin-top:5px}\r\n.sr-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px}\r\n.sr-stat{background:rgba(255,255,255,.12);padding:11px;border-radius:11px}\r\n.sr-label{font-size:10px;opacity:.75}\r\n.sr-value{font-size:18px;font-weight:900;margin-top:4px}\r\n.sr-body{background:var(--bg);padding:15px}\r\n.sr-case{\r\nbackground:#fff;border-left:6px solid var(--p);padding:15px;\r\nborder-radius:11px;margin-bottom:15px;\r\nbox-shadow:0 3px 12px rgba(0,0,0,.06)\r\n}\r\n.sr-case-title{font-size:20px;font-weight:900}\r\n.sr-case-text{font-size:13px;color:#555;line-height:1.6;margin-top:5px}\r\n.sr-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:15px}\r\n.sr-card{\r\nbackground:#fff;border-radius:15px;padding:16px;\r\nbox-shadow:0 3px 12px rgba(0,0,0,.06)\r\n}\r\n.sr-card h3{margin:0 0 12px;font-size:18px}\r\n.sr-chart{\r\nbackground:#11101b;border-radius:12px;padding:8px\r\n}\r\n#sr-chart{width:100%;height:390px;display:block}\r\n.sr-info{display:flex;justify-content:space-between;color:#ddd;font-size:11px;padding:7px 4px}\r\n.sr-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}\r\n.sr-control{\r\nborder:0;padding:10px;border-radius:8px;\r\nbackground:#eeeaf9;font-weight:800;cursor:pointer\r\n}\r\n.sr-clues{display:grid;gap:9px}\r\n.sr-clue{\r\nbackground:#f7f5fc;border:1px solid #e5e0f1;\r\nborder-radius:10px;padding:12px;cursor:pointer\r\n}\r\n.sr-icon{font-size:24px}\r\n.sr-clue-title{font-weight:900;margin-top:4px}\r\n.sr-clue-text{\r\ndisplay:none;font-size:12px;line-height:1.6;color:#555;\r\nmargin-top:7px;padding-top:7px;border-top:1px solid #ddd\r\n}\r\n.sr-rule{\r\nmargin-top:12px;background:#f0ebff;padding:12px;\r\nborder-radius:10px;font-size:12px;line-height:1.6\r\n}\r\n.sr-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}\r\n.sr-btn{\r\nborder:0;padding:14px 8px;border-radius:9px;\r\ncolor:#fff;font-weight:900;cursor:pointer\r\n}\r\n.sr-buy{background:var(--green)}\r\n.sr-sell{background:var(--red)}\r\n.sr-wait{background:var(--blue)}\r\n.sr-reveal{background:var(--p);width:100%;margin-top:10px}\r\n.sr-result{\r\ndisplay:none;background:#fff;border:2px solid var(--p);\r\npadding:18px;border-radius:15px;margin-top:15px\r\n}\r\n.sr-result-title{font-size:22px;font-weight:900}\r\n.sr-result-text{font-size:13px;line-height:1.7;margin-top:8px;white-space:pre-line}\r\n.sr-answer{\r\nmargin-top:12px;padding:12px;background:#fff7df;\r\nborder-radius:10px;font-size:13px;font-weight:700\r\n}\r\n.sr-points{font-size:28px;font-weight:900;margin-top:10px}\r\n.sr-next{\r\nwidth:100%;border:0;padding:13px;margin-top:12px;\r\nborder-radius:9px;background:var(--dark);color:#fff;\r\nfont-weight:900;cursor:pointer\r\n}\r\n.sr-progress{height:8px;background:#e8e4f1;border-radius:20px;margin-top:12px;overflow:hidden}\r\n.sr-progress-fill{height:100%;width:0;background:var(--p);transition:.3s}\r\n.sr-note{margin-top:15px;font-size:11px;color:#777;line-height:1.6}\r\n@media(max-width:850px){\r\n.sr-stats{grid-template-columns:repeat(2,1fr)}\r\n.sr-grid{grid-template-columns:1fr}\r\n}\r\n@media(max-width:550px){\r\n.sr-title{font-size:23px}\r\n#sr-chart{height:300px}\r\n.sr-actions{grid-template-columns:1fr}\r\n.sr-controls{grid-template-columns:repeat(2,1fr)}\r\n}\r\n<\/style>\r\n\r\n<div class=\"sr-head\">\r\n<div class=\"sr-title\">\ud83e\uddf1 Support & Resistance Detective<\/div>\r\n<div class=\"sr-sub\">Find the level \u2022 Study the reaction \u2022 Solve the market mystery<\/div>\r\n\r\n<div class=\"sr-stats\">\r\n<div class=\"sr-stat\"><div class=\"sr-label\">DETECTIVE SCORE<\/div><div class=\"sr-value\" id=\"sr-score\">0<\/div><\/div>\r\n<div class=\"sr-stat\"><div class=\"sr-label\">CASES SOLVED<\/div><div class=\"sr-value\" id=\"sr-cases\">0<\/div><\/div>\r\n<div class=\"sr-stat\"><div class=\"sr-label\">ACCURACY<\/div><div class=\"sr-value\" id=\"sr-accuracy\">0%<\/div><\/div>\r\n<div class=\"sr-stat\"><div class=\"sr-label\">RANK<\/div><div class=\"sr-value\" id=\"sr-rank\">Rookie<\/div><\/div>\r\n<div class=\"sr-stat\"><div class=\"sr-label\">CASE<\/div><div class=\"sr-value\" id=\"sr-number\">1 \/ 10<\/div><\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n<div class=\"sr-body\">\r\n\r\n<div class=\"sr-case\">\r\n<div class=\"sr-case-title\" id=\"sr-case-title\"><\/div>\r\n<div class=\"sr-case-text\" id=\"sr-case-text\"><\/div>\r\n<div class=\"sr-progress\"><div class=\"sr-progress-fill\" id=\"sr-progress\"><\/div><\/div>\r\n<\/div>\r\n\r\n<div class=\"sr-grid\">\r\n\r\n<div class=\"sr-card\">\r\n<h3>\ud83d\udcca Market Investigation<\/h3>\r\n\r\n<div class=\"sr-chart\">\r\n<canvas id=\"sr-chart\"><\/canvas>\r\n<div class=\"sr-info\">\r\n<span id=\"sr-ohlc\">Hover over a candle<\/span>\r\n<span>SIMULATED<\/span>\r\n<\/div>\r\n<\/div>\r\n\r\n<div class=\"sr-controls\">\r\n<button class=\"sr-control\" id=\"sr-zoom-in\">\uff0b Zoom<\/button>\r\n<button class=\"sr-control\" id=\"sr-zoom-out\">\u2212 Zoom<\/button>\r\n<button class=\"sr-control\" id=\"sr-level\">\ud83e\uddf1 Show Level<\/button>\r\n<button class=\"sr-control\" id=\"sr-reset\">\u21bb Reset<\/button>\r\n<\/div>\r\n<\/div>\r\n\r\n<div class=\"sr-card\">\r\n<h3>\ud83d\udd0e Evidence Room<\/h3>\r\n\r\n<div class=\"sr-clues\">\r\n\r\n<div class=\"sr-clue\" data-key=\"level\">\r\n<div class=\"sr-icon\">\ud83e\uddf1<\/div>\r\n<div class=\"sr-clue-title\">Key Level<\/div>\r\n<div class=\"sr-clue-text\"><\/div>\r\n<\/div>\r\n\r\n<div class=\"sr-clue\" data-key=\"tests\">\r\n<div class=\"sr-icon\">\ud83d\udd01<\/div>\r\n<div class=\"sr-clue-title\">Previous Tests<\/div>\r\n<div class=\"sr-clue-text\"><\/div>\r\n<\/div>\r\n\r\n<div class=\"sr-clue\" data-key=\"reaction\">\r\n<div class=\"sr-icon\">\u21a9\ufe0f<\/div>\r\n<div class=\"sr-clue-title\">Price Reaction<\/div>\r\n<div class=\"sr-clue-text\"><\/div>\r\n<\/div>\r\n\r\n<div class=\"sr-clue\" data-key=\"volume\">\r\n<div class=\"sr-icon\">\ud83d\udcca<\/div>\r\n<div class=\"sr-clue-title\">Volume<\/div>\r\n<div class=\"sr-clue-text\"><\/div>\r\n<\/div>\r\n\r\n<div class=\"sr-clue\" data-key=\"break\">\r\n<div class=\"sr-icon\">\ud83d\udca5<\/div>\r\n<div class=\"sr-clue-title\">Breakout Clue<\/div>\r\n<div class=\"sr-clue-text\"><\/div>\r\n<\/div>\r\n\r\n<div class=\"sr-clue\" data-key=\"risk\">\r\n<div class=\"sr-icon\">\u26a0\ufe0f<\/div>\r\n<div class=\"sr-clue-title\">Risk<\/div>\r\n<div class=\"sr-clue-text\"><\/div>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<div class=\"sr-rule\">\r\n<strong>\ud83d\udd75\ufe0f Detective Rule<\/strong><br>\r\nSupport and resistance are zones, not always exact prices.\r\nLook for repeated reactions, volume and confirmation before\r\ntreating a level as significant.\r\n<\/div>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<div class=\"sr-card\" style=\"margin-top:15px\">\r\n<h3>\ud83c\udfaf What Would You Do?<\/h3>\r\n\r\n<div style=\"font-size:13px;color:#666;margin-bottom:10px\">\r\nChoose the strongest simulated decision.\r\n<\/div>\r\n\r\n<div class=\"sr-actions\">\r\n<button class=\"sr-btn sr-buy\" data-action=\"BUY\">\ud83d\udfe2 BUY<\/button>\r\n<button class=\"sr-btn sr-sell\" data-action=\"SELL\">\ud83d\udd34 SELL<\/button>\r\n<button class=\"sr-btn sr-wait\" data-action=\"WAIT\">\ud83d\udd35 WAIT<\/button>\r\n<\/div>\r\n\r\n<button class=\"sr-btn sr-reveal\" id=\"sr-reveal\">\r\n\u23e9 Reveal What Happened\r\n<\/button>\r\n<\/div>\r\n\r\n<div class=\"sr-result\" id=\"sr-result\">\r\n<div class=\"sr-result-title\" id=\"sr-result-title\"><\/div>\r\n<div class=\"sr-result-text\" id=\"sr-result-text\"><\/div>\r\n<div class=\"sr-answer\" id=\"sr-answer\"><\/div>\r\n<div class=\"sr-points\" id=\"sr-points\"><\/div>\r\n\r\n<button class=\"sr-next\" id=\"sr-next\">\r\n\u27a1\ufe0f Next Investigation\r\n<\/button>\r\n<\/div>\r\n\r\n<div class=\"sr-note\">\r\n<strong>Game disclaimer:<\/strong>\r\nSupport & Resistance Detective uses fictional simulated market data.\r\nSupport and resistance analysis is educational and does not guarantee\r\nfuture price movements. This game is for learning and entertainment,\r\nnot investment advice.\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n\r\n\"use strict\";\r\n\r\nconst cases=[\r\n\r\n{\r\ntitle:\"Case #001 \u2014 The Wall That Held\",\r\ntext:\"Price has fallen several times toward the same area and repeatedly bounced. Buyers may be defending the zone.\",\r\ntype:\"Support\",\r\ncorrect:\"BUY\",\r\nlevel:\"A strong support zone has formed around the repeated lows.\",\r\ntests:\"Price has tested the area several times without a sustained breakdown.\",\r\nreaction:\"Each test produced a meaningful bounce.\",\r\nvolume:\"Buying volume increases during the latest rejection.\",\r\nbreak:\"A bullish reaction from support provides the immediate clue.\",\r\nrisk:\"A high-volume breakdown below support would invalidate the setup.\",\r\nmove:8.4\r\n},\r\n\r\n{\r\ntitle:\"Case #002 \u2014 The Ceiling\",\r\ntext:\"Price has rallied several times but repeatedly fails near the same upper zone.\",\r\ntype:\"Resistance\",\r\ncorrect:\"SELL\",\r\nlevel:\"A resistance zone has developed near the repeated highs.\",\r\ntests:\"Multiple rallies have failed near the same area.\",\r\nreaction:\"Sellers repeatedly appear near resistance.\",\r\nvolume:\"Selling activity increases around the latest rejection.\",\r\nbreak:\"A failure to break resistance supports the bearish scenario.\",\r\nrisk:\"A strong high-volume breakout can invalidate the setup.\",\r\nmove:-7.6\r\n},\r\n\r\n{\r\ntitle:\"Case #003 \u2014 Resistance Becomes Support\",\r\ntext:\"Price finally breaks above a major resistance zone and then returns to test it from above.\",\r\ntype:\"Role Reversal\",\r\ncorrect:\"BUY\",\r\nlevel:\"The old resistance is now acting as potential support.\",\r\ntests:\"Price previously struggled below this zone.\",\r\nreaction:\"The retest holds above the former resistance.\",\r\nvolume:\"Breakout volume was strong and retest volume is lower.\",\r\nbreak:\"A bullish reaction from the retest supports continuation.\",\r\nrisk:\"A close back below the old resistance weakens the setup.\",\r\nmove:9.7\r\n},\r\n\r\n{\r\ntitle:\"Case #004 \u2014 Support Becomes Resistance\",\r\ntext:\"Price breaks below a major support zone and later rallies back toward the same level.\",\r\ntype:\"Role Reversal\",\r\ncorrect:\"SELL\",\r\nlevel:\"The former support is now acting as resistance.\",\r\ntests:\"Price previously bounced from this area.\",\r\nreaction:\"The recovery stalls at the former support.\",\r\nvolume:\"Selling volume increases during rejection.\",\r\nbreak:\"A renewed move lower strengthens the bearish setup.\",\r\nrisk:\"A strong reclaim above the zone can invalidate the idea.\",\r\nmove:-8.9\r\n},\r\n\r\n{\r\ntitle:\"Case #005 \u2014 The False Breakout\",\r\ntext:\"Price suddenly pushes above resistance, attracting breakout buyers, but quickly falls back below the level.\",\r\ntype:\"False Breakout\",\r\ncorrect:\"SELL\",\r\nlevel:\"Resistance remains important despite the temporary breakout.\",\r\ntests:\"The zone has rejected price multiple times.\",\r\nreaction:\"Price fails to remain above resistance.\",\r\nvolume:\"Opening breakout volume is high, followed by heavy selling.\",\r\nbreak:\"The return below resistance is the key warning.\",\r\nrisk:\"A second breakout with strong confirmation could invalidate the setup.\",\r\nmove:-9.8\r\n},\r\n\r\n{\r\ntitle:\"Case #006 \u2014 The False Breakdown\",\r\ntext:\"Price falls below support but quickly recovers and closes back above the zone.\",\r\ntype:\"False Breakdown\",\r\ncorrect:\"BUY\",\r\nlevel:\"Support remains valid after the failed breakdown.\",\r\ntests:\"The support zone has attracted buyers several times.\",\r\nreaction:\"Price strongly rejects lower levels.\",\r\nvolume:\"Selling volume spikes but buyers absorb the move.\",\r\nbreak:\"Recovery above support is the bullish clue.\",\r\nrisk:\"Another breakdown below the zone could invalidate the setup.\",\r\nmove:10.2\r\n},\r\n\r\n{\r\ntitle:\"Case #007 \u2014 Weak Resistance\",\r\ntext:\"Price reaches resistance, but the level has only been tested once and the current trend is extremely strong.\",\r\ntype:\"Weak Resistance\",\r\ncorrect:\"WAIT\",\r\nlevel:\"Resistance exists but has limited historical evidence.\",\r\ntests:\"There has been only one meaningful previous rejection.\",\r\nreaction:\"Buyers continue to approach the zone aggressively.\",\r\nvolume:\"Volume remains elevated.\",\r\nbreak:\"A confirmed breakout would provide stronger evidence.\",\r\nrisk:\"Selling simply because price reaches resistance may be premature.\",\r\nmove:6.5\r\n},\r\n\r\n{\r\ntitle:\"Case #008 \u2014 Strong Support\",\r\ntext:\"A long-term support area has produced several major reversals over time.\",\r\ntype:\"Strong Support\",\r\ncorrect:\"BUY\",\r\nlevel:\"The zone has multiple historical reactions.\",\r\ntests:\"Price has respected the area repeatedly.\",\r\nreaction:\"The latest decline is again rejected.\",\r\nvolume:\"Buying volume increases near the zone.\",\r\nbreak:\"A strong bounce confirms buyer interest.\",\r\nrisk:\"A decisive breakdown could trigger a larger decline.\",\r\nmove:11.1\r\n},\r\n\r\n{\r\ntitle:\"Case #009 \u2014 Breakout Confirmation\",\r\ntext:\"Price has spent weeks below resistance before finally closing above it with a major increase in volume.\",\r\ntype:\"Breakout\",\r\ncorrect:\"BUY\",\r\nlevel:\"The resistance zone has been clearly overcome.\",\r\ntests:\"Price repeatedly failed below the same resistance.\",\r\nreaction:\"The latest move closes decisively above the zone.\",\r\nvolume:\"Breakout volume is significantly above average.\",\r\nbreak:\"High-volume acceptance above resistance is the key confirmation.\",\r\nrisk:\"A rapid return below the breakout level would create a failed breakout.\",\r\nmove:13.4\r\n},\r\n\r\n{\r\ntitle:\"Case #010 \u2014 The Decision Zone\",\r\ntext:\"Price is sitting directly between well-defined support and resistance. There is no confirmed breakout or breakdown.\",\r\ntype:\"Range\",\r\ncorrect:\"WAIT\",\r\nlevel:\"Both support and resistance are clearly visible.\",\r\ntests:\"Price has repeatedly moved between the two boundaries.\",\r\nreaction:\"Neither buyers nor sellers have established control.\",\r\nvolume:\"Volume remains average.\",\r\nbreak:\"A decisive move outside the range is needed.\",\r\nrisk:\"Trading in the middle of the range offers poor confirmation.\",\r\nmove:3.1\r\n}\r\n\r\n];\r\n\r\nlet state={\r\nindex:0,\r\nscore:0,\r\nsolved:0,\r\ncorrect:0,\r\nrevealed:false,\r\ndecision:null,\r\nlevelShown:false\r\n};\r\n\r\nconst canvas=document.getElementById(\"sr-chart\");\r\nconst ctx=canvas.getContext(\"2d\");\r\n\r\nlet data=[];\r\nlet future=[];\r\nlet visible=38;\r\n\r\nfunction resize(){\r\nlet r=canvas.getBoundingClientRect();\r\ncanvas.width=r.width*2;\r\ncanvas.height=r.height*2;\r\ndraw();\r\n}\r\n\r\nfunction generate(c){\r\n\r\ndata=[];\r\nfuture=[];\r\n\r\nlet price=100;\r\n\r\nfor(let i=0;i<38;i++){\r\n\r\nlet open=price;\r\nlet move=(Math.random()-.5)*3;\r\nlet close=open+move;\r\n\r\ndata.push({\r\nopen:open,\r\nhigh:Math.max(open,close)+Math.random()*2,\r\nlow:Math.min(open,close)-Math.random()*2,\r\nclose:close,\r\nvolume:100+Math.random()*90\r\n});\r\n\r\nprice=close;\r\n}\r\n\r\nlet level=100;\r\n\r\nif(c.type===\"Resistance\" ||\r\nc.type===\"False Breakout\" ||\r\nc.type===\"Weak Resistance\"){\r\nlevel=112;\r\n}\r\n\r\nif(c.type===\"Support\" ||\r\nc.type===\"False Breakdown\" ||\r\nc.type===\"Strong Support\"){\r\nlevel=88;\r\n}\r\n\r\nif(c.type===\"Role Reversal\"){\r\nlevel=c.correct===\"BUY\"?105:95;\r\n}\r\n\r\nif(c.type===\"Breakout\"){\r\nlevel=108;\r\n}\r\n\r\nif(c.type===\"Range\"){\r\nlevel=110;\r\n}\r\n\r\nlet base=level;\r\n\r\nfor(let i=26;i<38;i++){\r\n\r\nlet c2=data[i];\r\n\r\nif(\r\nc.type===\"Support\" ||\r\nc.type===\"Strong Support\" ||\r\nc.type===\"False Breakdown\"\r\n){\r\n\r\nc2.low=level-2-Math.random()*2;\r\nc2.close=level+Math.random()*7;\r\nc2.open=c2.close-2;\r\n}\r\n\r\nif(\r\nc.type===\"Resistance\" ||\r\nc.type===\"False Breakout\" ||\r\nc.type===\"Weak Resistance\"\r\n){\r\n\r\nc2.high=level+2+Math.random()*2;\r\nc2.close=level-Math.random()*7;\r\nc2.open=c2.close+2;\r\n}\r\n\r\nif(c.type===\"Breakout\"){\r\n\r\nc2.close=level-5+i*.7;\r\nc2.open=c2.close-1;\r\nc2.high=c2.close+2;\r\nc2.low=c2.open-1;\r\nc2.volume=220;\r\n}\r\n\r\nif(c.type===\"Range\"){\r\n\r\nc2.close=95+Math.random()*20;\r\nc2.open=c2.close+(Math.random()-.5)*3;\r\nc2.high=112;\r\nc2.low=88;\r\n}\r\n\r\nif(c.type===\"Role Reversal\"){\r\n\r\nif(c.correct===\"BUY\"){\r\nc2.low=level-1;\r\nc2.close=level+3+Math.random()*3;\r\n}else{\r\nc2.high=level+1;\r\nc2.close=level-3-Math.random()*3;\r\n}\r\n\r\n}\r\n\r\n}\r\n\r\nlet previous=data[data.length-1].close;\r\nlet dir=c.move>=0?1:-1;\r\n\r\nfor(let i=0;i<8;i++){\r\n\r\nlet open=previous;\r\nlet close=open+dir*(1.8+Math.random()*2.5);\r\n\r\nfuture.push({\r\nopen:open,\r\nclose:close,\r\nhigh:Math.max(open,close)+1.4,\r\nlow:Math.min(open,close)-1.4,\r\nvolume:140+Math.random()*70\r\n});\r\n\r\nprevious=close;\r\n}\r\n\r\nvisible=38;\r\n\r\n}\r\n\r\nfunction draw(){\r\n\r\nlet w=canvas.width;\r\nlet h=canvas.height;\r\n\r\nctx.clearRect(0,0,w,h);\r\n\r\nctx.strokeStyle=\"#292532\";\r\nctx.lineWidth=1;\r\n\r\nfor(let y=40;y<h;y+=50){\r\nctx.beginPath();\r\nctx.moveTo(0,y);\r\nctx.lineTo(w,y);\r\nctx.stroke();\r\n}\r\n\r\nlet arr=state.revealed?data.concat(future):data.slice(0,visible);\r\n\r\nlet max=Math.max(...arr.map(x=>x.high))+3;\r\nlet min=Math.min(...arr.map(x=>x.low))-3;\r\nlet range=max-min;\r\n\r\nlet cw=Math.max(5,(w\/arr.length)*.55);\r\n\r\narr.forEach((c,i)=>{\r\n\r\nlet x=(i+.5)*(w\/arr.length);\r\n\r\nlet oy=h-((c.open-min)\/range)*(h-35)-15;\r\nlet cy=h-((c.close-min)\/range)*(h-35)-15;\r\nlet hy=h-((c.high-min)\/range)*(h-35)-15;\r\nlet ly=h-((c.low-min)\/range)*(h-35)-15;\r\n\r\nlet bull=c.close>=c.open;\r\n\r\nctx.strokeStyle=bull?\"#22c55e\":\"#ef4444\";\r\nctx.fillStyle=bull?\"#22c55e\":\"#ef4444\";\r\nctx.lineWidth=2;\r\n\r\nctx.beginPath();\r\nctx.moveTo(x,hy);\r\nctx.lineTo(x,ly);\r\nctx.stroke();\r\n\r\nctx.fillRect(\r\nx-cw\/2,\r\nMath.min(oy,cy),\r\ncw,\r\nMath.max(2,Math.abs(cy-oy))\r\n);\r\n\r\n});\r\n\r\nif(state.levelShown){\r\n\r\nlet c=cases[state.index];\r\nlet level=100;\r\n\r\nif(c.type===\"Resistance\"||c.type===\"False Breakout\"||c.type===\"Weak Resistance\")level=112;\r\nif(c.type===\"Support\"||c.type===\"False Breakdown\"||c.type===\"Strong Support\")level=88;\r\nif(c.type===\"Role Reversal\")level=c.correct===\"BUY\"?105:95;\r\nif(c.type===\"Breakout\")level=108;\r\nif(c.type===\"Range\")level=110;\r\n\r\nlet y=h-((level-min)\/range)*(h-35)-15;\r\n\r\nctx.strokeStyle=\"#f59e0b\";\r\nctx.lineWidth=3;\r\nctx.setLineDash([10,7]);\r\n\r\nctx.beginPath();\r\nctx.moveTo(0,y);\r\nctx.lineTo(w,y);\r\nctx.stroke();\r\n\r\nctx.setLineDash([]);\r\n\r\nctx.fillStyle=\"#f59e0b\";\r\nctx.font=\"bold 24px Arial\";\r\nctx.fillText(\"KEY LEVEL\",15,y-8);\r\n}\r\n\r\n}\r\n\r\nfunction clues(){\r\n\r\nlet c=cases[state.index];\r\n\r\nlet vals={\r\nlevel:c.level,\r\ntests:c.tests,\r\nreaction:c.reaction,\r\nvolume:c.volume,\r\nbreak:c.break,\r\nrisk:c.risk\r\n};\r\n\r\ndocument.querySelectorAll(\".sr-clue\").forEach(el=>{\r\nel.querySelector(\".sr-clue-text\").textContent=vals[el.dataset.key];\r\nel.querySelector(\".sr-clue-text\").style.display=\"none\";\r\n});\r\n\r\n}\r\n\r\nfunction load(){\r\n\r\nlet c=cases[state.index];\r\n\r\nstate.revealed=false;\r\nstate.decision=null;\r\nstate.levelShown=false;\r\n\r\ndocument.getElementById(\"sr-case-title\").textContent=c.title;\r\ndocument.getElementById(\"sr-case-text\").textContent=c.text;\r\n\r\ndocument.getElementById(\"sr-number\").textContent=\r\n(state.index+1)+\" \/ \"+cases.length;\r\n\r\ndocument.getElementById(\"sr-progress\").style.width=\r\n(state.index\/cases.length*100)+\"%\";\r\n\r\ndocument.getElementById(\"sr-result\").style.display=\"none\";\r\n\r\ndocument.getElementById(\"sr-reveal\").textContent=\r\n\"\u23e9 Reveal What Happened\";\r\n\r\ngenerate(c);\r\nclues();\r\ndraw();\r\n}\r\n\r\nfunction decide(action){\r\n\r\nif(state.decision)return;\r\n\r\nstate.decision=action;\r\n\r\nlet c=cases[state.index];\r\n\r\nlet points=action===c.correct?100:20;\r\n\r\nif(action===c.correct)state.correct++;\r\n\r\nstate.solved++;\r\nstate.score+=points;\r\n\r\ndocument.getElementById(\"sr-score\").textContent=state.score;\r\ndocument.getElementById(\"sr-cases\").textContent=state.solved;\r\n\r\ndocument.getElementById(\"sr-accuracy\").textContent=\r\nMath.round(state.correct\/state.solved*100)+\"%\";\r\n\r\nlet rank=\"Rookie\";\r\n\r\nif(state.score>=800)rank=\"Level Master\";\r\nelse if(state.score>=500)rank=\"Market Detective\";\r\nelse if(state.score>=250)rank=\"Chart Analyst\";\r\n\r\ndocument.getElementById(\"sr-rank\").textContent=rank;\r\n\r\nlet title=\r\naction===c.correct\r\n?\"\ud83c\udfaf Excellent Investigation!\"\r\n:\"\ud83d\udd75\ufe0f The Evidence Suggested Something Else\";\r\n\r\nlet text=\r\naction===c.correct\r\n?\"You correctly interpreted the support\/resistance evidence.\\n\\n\"+\r\n\"The case type was \"+c.type+\".\\n\\n\"+\r\n\"The simulated move was \"+(c.move>=0?\"+\":\"\")+c.move+\"%.\"\r\n:\r\n\"Your decision was not the strongest interpretation of the evidence.\\n\\n\"+\r\n\"The case type was \"+c.type+\".\\n\\n\"+\r\n\"The simulated move was \"+(c.move>=0?\"+\":\"\")+c.move+\"%.\";\r\n\r\ndocument.getElementById(\"sr-result-title\").textContent=title;\r\ndocument.getElementById(\"sr-result-text\").textContent=text;\r\n\r\ndocument.getElementById(\"sr-answer\").textContent=\r\n\"\ud83e\uddf1 Case: \"+c.type+\" | Best Game Decision: \"+c.correct;\r\n\r\ndocument.getElementById(\"sr-points\").textContent=\r\n\"+\"+points+\" Detective Points\";\r\n\r\ndocument.getElementById(\"sr-result\").style.display=\"block\";\r\n}\r\n\r\nfunction reveal(){\r\n\r\nif(state.revealed)return;\r\n\r\nstate.revealed=true;\r\ndraw();\r\n\r\ndocument.getElementById(\"sr-reveal\").textContent=\r\n\"\u2705 Market Reaction Revealed\";\r\n}\r\n\r\ndocument.querySelectorAll(\".sr-clue\").forEach(el=>{\r\nel.addEventListener(\"click\",function(){\r\n\r\nlet box=this.querySelector(\".sr-clue-text\");\r\n\r\nbox.style.display=\r\nbox.style.display===\"block\"?\"none\":\"block\";\r\n\r\n});\r\n});\r\n\r\ndocument.querySelectorAll(\"[data-action]\").forEach(btn=>{\r\nbtn.addEventListener(\"click\",function(){\r\ndecide(this.dataset.action);\r\n});\r\n});\r\n\r\ndocument.getElementById(\"sr-reveal\")\r\n.addEventListener(\"click\",reveal);\r\n\r\ndocument.getElementById(\"sr-level\")\r\n.addEventListener(\"click\",function(){\r\n\r\nstate.levelShown=!state.levelShown;\r\ndraw();\r\n\r\n});\r\n\r\ndocument.getElementById(\"sr-reset\")\r\n.addEventListener(\"click\",function(){\r\nstate.levelShown=false;\r\nstate.revealed=false;\r\ndraw();\r\n});\r\n\r\ndocument.getElementById(\"sr-zoom-in\")\r\n.addEventListener(\"click\",function(){\r\nvisible=Math.max(22,visible-5);\r\ndraw();\r\n});\r\n\r\ndocument.getElementById(\"sr-zoom-out\")\r\n.addEventListener(\"click\",function(){\r\nvisible=Math.min(38,visible+5);\r\ndraw();\r\n});\r\n\r\ndocument.getElementById(\"sr-next\")\r\n.addEventListener(\"click\",function(){\r\n\r\nstate.index++;\r\n\r\nif(state.index>=cases.length){\r\n\r\nstate.index=0;\r\n\r\nalert(\r\n\"\ud83c\udfc6 Support & Resistance Detective Complete!\\n\\n\"+\r\n\"Score: \"+state.score+\r\n\"\\nAccuracy: \"+\r\nMath.round(state.correct\/state.solved*100)+\"%\"\r\n);\r\n\r\n}\r\n\r\nload();\r\n\r\n});\r\n\r\ncanvas.addEventListener(\"mousemove\",function(e){\r\n\r\nlet r=canvas.getBoundingClientRect();\r\n\r\nlet x=(e.clientX-r.left)*(canvas.width\/r.width);\r\n\r\nlet arr=state.revealed?data.concat(future):data.slice(0,visible);\r\n\r\nlet index=Math.floor(x\/(canvas.width\/arr.length));\r\n\r\nif(index<0||index>=arr.length)return;\r\n\r\nlet c=arr[index];\r\n\r\ndocument.getElementById(\"sr-ohlc\").textContent=\r\n\"O \"+c.open.toFixed(2)+\r\n\" H \"+c.high.toFixed(2)+\r\n\" L \"+c.low.toFixed(2)+\r\n\" C \"+c.close.toFixed(2);\r\n\r\n});\r\n\r\nwindow.addEventListener(\"resize\",resize);\r\n\r\nload();\r\n\r\nsetTimeout(resize,100);\r\n\r\n})();\r\n<\/script>\r\n\r\n<\/div>\n<h1>\ud83e\uddf1 Support &amp; Resistance Detective \u2013 Interactive Technical Analysis Game<\/h1>\n<p style=\"text-align: justify;\">Welcome to <strong>Support &amp; Resistance Detective Game<\/strong>, an interactive <a href=\"https:\/\/www.stockmaster.in\/universe\/category\/stock-market-games\/technical-analysis-games\/\">technical analysis game<\/a> from <a href=\"https:\/\/www.stockmaster.in\/universe\/\">StockMaster Universe<\/a> where you investigate important price levels and discover how buyers and sellers react around support and resistance zones.<\/p>\n<p style=\"text-align: justify;\">Instead of answering traditional quiz questions, you become a market detective. Each case presents a simulated stock chart containing an important price area. Your mission is to investigate the chart, identify the key level and determine whether the market is showing support, resistance, breakout, breakdown or a possible false move.<\/p>\n<p style=\"text-align: justify;\">During each investigation, you can examine <strong>previous price tests, price reactions, trading volume, breakout clues and potential risks<\/strong>. You then make a simulated <strong>BUY, SELL or WAIT<\/strong> decision before revealing what happens next.<\/p>\n<p style=\"text-align: justify;\">The game covers important support and resistance concepts, including <strong>support zones, resistance zones, strong and weak levels, resistance becoming support, support becoming resistance, breakouts, breakdowns, false breakouts, false breakdowns and range-bound markets<\/strong>.<\/p>\n<p style=\"text-align: justify;\">Support and resistance are among the most important concepts in technical analysis. However, real markets rarely respect a level as an exact single price. Strong areas can behave more like zones where buying and selling pressure repeatedly changes. This game helps you practise recognising those areas and understanding the behaviour of price around them.<\/p>\n<p style=\"text-align: justify;\">As you solve cases, you earn <strong>Detective Points<\/strong>, improve your accuracy and progress through different ranks. The simulated charts allow you to experiment with decisions without risking real money.<\/p>\n<p style=\"text-align: justify;\">Whether you are a beginner learning technical analysis or an experienced market learner practising price-action concepts, Support &amp; Resistance Detective provides an engaging way to study market structure through gameplay.<\/p>\n<p style=\"text-align: justify;\">Investigate the level. Watch the reaction. Check the volume. Wait for confirmation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83e\uddf1 Support &amp; Resistance Detective \u2013 Interactive Technical Analysis Game Welcome to Support &amp; Resistance Detective Game, an interactive technical [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"elementor_theme","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[77],"tags":[],"class_list":["post-526","post","type-post","status-publish","format-standard","hentry","category-technical-analysis-games"],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"StockMaster Universe","author_link":"https:\/\/www.stockmaster.in\/universe\/author\/unistockadmin\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/www.stockmaster.in\/universe\/category\/stock-market-games\/technical-analysis-games\/\" rel=\"category tag\">Technical Analysis Games<\/a>","rttpg_excerpt":"\ud83e\uddf1 Support &amp; Resistance Detective \u2013 Interactive Technical Analysis Game Welcome to Support &amp; Resistance Detective Game, an interactive technical [&hellip;]","_links":{"self":[{"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/posts\/526","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/comments?post=526"}],"version-history":[{"count":0,"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/posts\/526\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/media?parent=526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/categories?post=526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/tags?post=526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}