{"id":535,"date":"2026-08-10T15:06:40","date_gmt":"2026-08-10T15:06:40","guid":{"rendered":"https:\/\/www.stockmaster.in\/universe\/?p=535"},"modified":"2026-08-10T15:07:38","modified_gmt":"2026-08-10T15:07:38","slug":"momentum-oscillator-games","status":"publish","type":"post","link":"https:\/\/www.stockmaster.in\/universe\/momentum-oscillator-games\/","title":{"rendered":"Momentum &#038; Oscillator Games"},"content":{"rendered":"<div id=\"sm-momentum-detective\">\r\n\r\n<style>\r\n#sm-momentum-detective{\r\n--purple:#6d3df5;\r\n--dark:#171329;\r\n--bg:#f5f3fb;\r\n--green:#16a34a;\r\n--red:#dc2626;\r\n--blue:#2563eb;\r\n--orange:#f59e0b;\r\nfont-family:Arial,Helvetica,sans-serif;\r\nmax-width:1150px;\r\nmargin:20px auto;\r\ncolor:#171329;\r\n}\r\n#sm-momentum-detective *{box-sizing:border-box}\r\n.md-head{\r\nbackground:linear-gradient(135deg,#21133f,#7042ef);\r\ncolor:#fff;padding:22px;\r\nborder-radius:20px 20px 0 0\r\n}\r\n.md-title{font-size:29px;font-weight:900}\r\n.md-sub{font-size:13px;opacity:.85;margin-top:5px}\r\n.md-stats{\r\ndisplay:grid;grid-template-columns:repeat(5,1fr);\r\ngap:10px;margin-top:18px\r\n}\r\n.md-stat{\r\nbackground:rgba(255,255,255,.12);\r\npadding:11px;border-radius:11px\r\n}\r\n.md-label{font-size:10px;opacity:.75}\r\n.md-value{font-size:18px;font-weight:900;margin-top:4px}\r\n.md-body{background:var(--bg);padding:15px}\r\n.md-case{\r\nbackground:#fff;border-left:6px solid var(--purple);\r\npadding:15px;border-radius:11px;margin-bottom:15px;\r\nbox-shadow:0 3px 12px rgba(0,0,0,.06)\r\n}\r\n.md-case-title{font-size:20px;font-weight:900}\r\n.md-case-text{\r\nfont-size:13px;color:#555;line-height:1.6;margin-top:5px\r\n}\r\n.md-grid{\r\ndisplay:grid;grid-template-columns:1.4fr .9fr;gap:15px\r\n}\r\n.md-card{\r\nbackground:#fff;border-radius:15px;padding:16px;\r\nbox-shadow:0 3px 12px rgba(0,0,0,.06)\r\n}\r\n.md-card h3{margin:0 0 12px;font-size:18px}\r\n.md-chart{\r\nbackground:#11101b;border-radius:12px;padding:8px\r\n}\r\n#md-canvas{\r\nwidth:100%;height:390px;display:block\r\n}\r\n.md-chart-info{\r\ndisplay:flex;justify-content:space-between;\r\ncolor:#ddd;font-size:11px;padding:7px 4px 2px\r\n}\r\n.md-controls{\r\ndisplay:grid;grid-template-columns:repeat(3,1fr);\r\ngap:7px;margin-top:10px\r\n}\r\n.md-control{\r\nborder:0;padding:10px;border-radius:8px;\r\nbackground:#eeeaf9;font-weight:800;cursor:pointer\r\n}\r\n.md-indicator{\r\nbackground:#f7f5fc;border:1px solid #e5e0f1;\r\nborder-radius:10px;padding:12px;margin-bottom:9px\r\n}\r\n.md-indicator-name{font-weight:900}\r\n.md-indicator-value{\r\nfont-size:22px;font-weight:900;margin-top:4px\r\n}\r\n.md-indicator-text{\r\nfont-size:12px;color:#666;line-height:1.5;margin-top:5px\r\n}\r\n.md-zone{\r\nmargin-top:12px;padding:12px;background:#f0ebff;\r\nborder-radius:10px;font-size:12px;line-height:1.6\r\n}\r\n.md-actions{\r\ndisplay:grid;grid-template-columns:repeat(3,1fr);gap:9px\r\n}\r\n.md-btn{\r\nborder:0;padding:14px 8px;border-radius:9px;\r\ncolor:#fff;font-weight:900;cursor:pointer\r\n}\r\n.md-buy{background:var(--green)}\r\n.md-sell{background:var(--red)}\r\n.md-wait{background:var(--blue)}\r\n.md-reveal{\r\nbackground:var(--purple);width:100%;margin-top:10px\r\n}\r\n.md-result{\r\ndisplay:none;background:#fff;border:2px solid var(--purple);\r\npadding:18px;border-radius:15px;margin-top:15px\r\n}\r\n.md-result-title{font-size:22px;font-weight:900}\r\n.md-result-text{\r\nfont-size:13px;line-height:1.7;margin-top:8px;\r\nwhite-space:pre-line\r\n}\r\n.md-answer{\r\nmargin-top:12px;padding:12px;background:#fff7df;\r\nborder-radius:10px;font-size:13px;font-weight:700\r\n}\r\n.md-points{font-size:28px;font-weight:900;margin-top:10px}\r\n.md-next{\r\nwidth:100%;border:0;padding:13px;margin-top:12px;\r\nborder-radius:9px;background:var(--dark);\r\ncolor:#fff;font-weight:900;cursor:pointer\r\n}\r\n.md-progress{\r\nheight:8px;background:#e8e4f1;border-radius:20px;\r\nmargin-top:12px;overflow:hidden\r\n}\r\n.md-progress-fill{\r\nheight:100%;width:0;background:var(--purple);transition:.3s\r\n}\r\n.md-note{\r\nmargin-top:15px;font-size:11px;color:#777;line-height:1.6\r\n}\r\n@media(max-width:850px){\r\n.md-stats{grid-template-columns:repeat(2,1fr)}\r\n.md-grid{grid-template-columns:1fr}\r\n}\r\n@media(max-width:550px){\r\n.md-title{font-size:23px}\r\n#md-canvas{height:300px}\r\n.md-actions{grid-template-columns:1fr}\r\n.md-controls{grid-template-columns:1fr}\r\n}\r\n<\/style>\r\n\r\n<div class=\"md-head\">\r\n\r\n<div class=\"md-title\">\u26a1 Momentum & Oscillator Detective<\/div>\r\n\r\n<div class=\"md-sub\">\r\nFollow momentum \u2022 Detect divergence \u2022 Investigate RSI, MACD & Stochastic\r\n<\/div>\r\n\r\n<div class=\"md-stats\">\r\n\r\n<div class=\"md-stat\">\r\n<div class=\"md-label\">DETECTIVE SCORE<\/div>\r\n<div class=\"md-value\" id=\"md-score\">0<\/div>\r\n<\/div>\r\n\r\n<div class=\"md-stat\">\r\n<div class=\"md-label\">CASES SOLVED<\/div>\r\n<div class=\"md-value\" id=\"md-cases\">0<\/div>\r\n<\/div>\r\n\r\n<div class=\"md-stat\">\r\n<div class=\"md-label\">ACCURACY<\/div>\r\n<div class=\"md-value\" id=\"md-accuracy\">0%<\/div>\r\n<\/div>\r\n\r\n<div class=\"md-stat\">\r\n<div class=\"md-label\">RANK<\/div>\r\n<div class=\"md-value\" id=\"md-rank\">Rookie<\/div>\r\n<\/div>\r\n\r\n<div class=\"md-stat\">\r\n<div class=\"md-label\">CASE<\/div>\r\n<div class=\"md-value\" id=\"md-number\">1 \/ 10<\/div>\r\n<\/div>\r\n\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"md-body\">\r\n\r\n<div class=\"md-case\">\r\n\r\n<div class=\"md-case-title\" id=\"md-title\">\r\nCase #001 \u2014 RSI Oversold Mystery\r\n<\/div>\r\n\r\n<div class=\"md-case-text\" id=\"md-text\">\r\nThe stock has fallen sharply and RSI has entered an extreme zone.\r\nIs the selling pressure exhausted or is the downtrend still strong?\r\n<\/div>\r\n\r\n<div class=\"md-progress\">\r\n<div class=\"md-progress-fill\" id=\"md-progress\"><\/div>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"md-grid\">\r\n\r\n<div class=\"md-card\">\r\n\r\n<h3>\ud83d\udcca Momentum Investigation<\/h3>\r\n\r\n<div class=\"md-chart\">\r\n<canvas id=\"md-canvas\"><\/canvas>\r\n\r\n<div class=\"md-chart-info\">\r\n<span id=\"md-price\">Price: --<\/span>\r\n<span>SIMULATED<\/span>\r\n<\/div>\r\n<\/div>\r\n\r\n<div class=\"md-controls\">\r\n<button class=\"md-control\" id=\"md-price-btn\">\ud83d\udcc8 Price<\/button>\r\n<button class=\"md-control\" id=\"md-momentum-btn\">\u26a1 Momentum<\/button>\r\n<button class=\"md-control\" id=\"md-reset\">\u21bb Reset<\/button>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"md-card\">\r\n\r\n<h3>\ud83d\udd0e Indicator Evidence<\/h3>\r\n\r\n<div class=\"md-indicator\">\r\n\r\n<div class=\"md-indicator-name\">RSI<\/div>\r\n\r\n<div class=\"md-indicator-value\" id=\"md-rsi\">\r\n--\r\n<\/div>\r\n\r\n<div class=\"md-indicator-text\" id=\"md-rsi-text\"><\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"md-indicator\">\r\n\r\n<div class=\"md-indicator-name\">MACD<\/div>\r\n\r\n<div class=\"md-indicator-value\" id=\"md-macd\">\r\n--\r\n<\/div>\r\n\r\n<div class=\"md-indicator-text\" id=\"md-macd-text\"><\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"md-indicator\">\r\n\r\n<div class=\"md-indicator-name\">Stochastic<\/div>\r\n\r\n<div class=\"md-indicator-value\" id=\"md-stoch\">\r\n--\r\n<\/div>\r\n\r\n<div class=\"md-indicator-text\" id=\"md-stoch-text\"><\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"md-zone\">\r\n\r\n<strong>\ud83d\udd75\ufe0f Detective Rule<\/strong><br>\r\nAn oscillator can become extreme during a strong trend.\r\nAlways investigate trend direction, divergence and confirmation\r\nbefore assuming a reversal.\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"md-card\" style=\"margin-top:15px\">\r\n\r\n<h3>\ud83c\udfaf Your Momentum Decision<\/h3>\r\n\r\n<div style=\"font-size:13px;color:#666;margin-bottom:10px\">\r\nWhat does the combined momentum evidence suggest?\r\n<\/div>\r\n\r\n<div class=\"md-actions\">\r\n\r\n<button class=\"md-btn md-buy\" data-action=\"BUY\">\r\n\ud83d\udfe2 BUY\r\n<\/button>\r\n\r\n<button class=\"md-btn md-sell\" data-action=\"SELL\">\r\n\ud83d\udd34 SELL\r\n<\/button>\r\n\r\n<button class=\"md-btn md-wait\" data-action=\"WAIT\">\r\n\ud83d\udd35 WAIT\r\n<\/button>\r\n\r\n<\/div>\r\n\r\n<button class=\"md-btn md-reveal\" id=\"md-reveal\">\r\n\u23e9 Reveal Momentum Move\r\n<\/button>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"md-result\" id=\"md-result\">\r\n\r\n<div class=\"md-result-title\" id=\"md-result-title\">\r\nCase Solved\r\n<\/div>\r\n\r\n<div class=\"md-result-text\" id=\"md-result-text\"><\/div>\r\n\r\n<div class=\"md-answer\" id=\"md-answer\"><\/div>\r\n\r\n<div class=\"md-points\" id=\"md-points\"><\/div>\r\n\r\n<button class=\"md-next\" id=\"md-next\">\r\n\u27a1\ufe0f Next Investigation\r\n<\/button>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"md-note\">\r\n\r\n<strong>Game disclaimer:<\/strong>\r\nMomentum & Oscillator Detective uses fictional simulated market data.\r\nRSI, MACD, Stochastic and momentum indicators are educational\r\ntechnical-analysis tools and are not guaranteed trading signals.\r\nThis game is for education and entertainment only.\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\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 RSI Oversold Mystery\",\r\ntext:\"The stock has fallen sharply and RSI has entered an extreme zone. Is selling pressure exhausted or is the downtrend still strong?\",\r\nrsi:\"24 \u2014 Oversold\",\r\nmacd:\"Bearish \u2014 Momentum remains weak\",\r\nstoch:\"18 \u2014 Oversold\",\r\nrsiText:\"RSI is below the traditional 30 level.\",\r\nmacdText:\"MACD remains below its signal line.\",\r\nstochText:\"Stochastic is also in an oversold zone.\",\r\ncorrect:\"WAIT\",\r\nmove:2.8\r\n},\r\n\r\n{\r\ntitle:\"Case #002 \u2014 Bullish RSI Divergence\",\r\ntext:\"Price makes a new low, but RSI makes a higher low. Something appears to be changing beneath the surface.\",\r\nrsi:\"38 \u2197\",\r\nmacd:\"Improving\",\r\nstoch:\"42 \u2197\",\r\nrsiText:\"Price weakness is not being matched by RSI weakness.\",\r\nmacdText:\"MACD histogram is beginning to improve.\",\r\nstochText:\"Stochastic is turning upward.\",\r\ncorrect:\"BUY\",\r\nmove:9.6\r\n},\r\n\r\n{\r\ntitle:\"Case #003 \u2014 Bearish RSI Divergence\",\r\ntext:\"Price reaches a new high while RSI forms a lower high. Is momentum failing?\",\r\nrsi:\"66 \u2198\",\r\nmacd:\"Weakening\",\r\nstoch:\"71 \u2198\",\r\nrsiText:\"Momentum is weaker despite the higher price.\",\r\nmacdText:\"MACD momentum is losing strength.\",\r\nstochText:\"Stochastic is rolling over.\",\r\ncorrect:\"SELL\",\r\nmove:-8.7\r\n},\r\n\r\n{\r\ntitle:\"Case #004 \u2014 RSI Overbought Trap\",\r\ntext:\"RSI remains above 70 while price continues climbing strongly. Should an overbought reading automatically mean SELL?\",\r\nrsi:\"78 \u2014 Overbought\",\r\nmacd:\"Strong Bullish\",\r\nstoch:\"86 \u2014 Overbought\",\r\nrsiText:\"RSI is extremely high.\",\r\nmacdText:\"MACD confirms strong upward momentum.\",\r\nstochText:\"Stochastic is also overbought.\",\r\ncorrect:\"WAIT\",\r\nmove:7.4\r\n},\r\n\r\n{\r\ntitle:\"Case #005 \u2014 MACD Bullish Crossover\",\r\ntext:\"The MACD line crosses above its signal line after a prolonged decline.\",\r\nrsi:\"49 \u2014 Improving\",\r\nmacd:\"Bullish Crossover\",\r\nstoch:\"55 \u2197\",\r\nrsiText:\"RSI is recovering toward neutral territory.\",\r\nmacdText:\"MACD has crossed above the signal line.\",\r\nstochText:\"Stochastic is moving upward.\",\r\ncorrect:\"BUY\",\r\nmove:8.9\r\n},\r\n\r\n{\r\ntitle:\"Case #006 \u2014 MACD Bearish Crossover\",\r\ntext:\"After a strong rally, MACD crosses below its signal line and momentum begins to weaken.\",\r\nrsi:\"57 \u2198\",\r\nmacd:\"Bearish Crossover\",\r\nstoch:\"63 \u2198\",\r\nrsiText:\"RSI has started declining.\",\r\nmacdText:\"MACD has crossed below its signal line.\",\r\nstochText:\"Stochastic is turning lower.\",\r\ncorrect:\"SELL\",\r\nmove:-7.9\r\n},\r\n\r\n{\r\ntitle:\"Case #007 \u2014 Stochastic Reversal\",\r\ntext:\"Stochastic falls below 20 and then crosses upward while price approaches support.\",\r\nrsi:\"34 \u2197\",\r\nmacd:\"Improving\",\r\nstoch:\"17 \u2197\",\r\nrsiText:\"RSI is recovering from weak levels.\",\r\nmacdText:\"MACD downside momentum is fading.\",\r\nstochText:\"Stochastic is crossing upward from an oversold area.\",\r\ncorrect:\"BUY\",\r\nmove:7.2\r\n},\r\n\r\n{\r\ntitle:\"Case #008 \u2014 Stochastic Exhaustion\",\r\ntext:\"Stochastic reaches an extreme high and crosses downward while price tests resistance.\",\r\nrsi:\"68 \u2198\",\r\nmacd:\"Weakening\",\r\nstoch:\"88 \u2198\",\r\nrsiText:\"RSI is losing momentum.\",\r\nmacdText:\"MACD histogram is declining.\",\r\nstochText:\"Stochastic has turned down from an overbought area.\",\r\ncorrect:\"SELL\",\r\nmove:-7.1\r\n},\r\n\r\n{\r\ntitle:\"Case #009 \u2014 Momentum Breakout\",\r\ntext:\"Price breaks resistance while RSI, MACD and Stochastic all strengthen together.\",\r\nrsi:\"64 \u2197\",\r\nmacd:\"Strong Bullish\",\r\nstoch:\"79 \u2197\",\r\nrsiText:\"RSI is strong without yet reaching an extreme.\",\r\nmacdText:\"MACD confirms expanding momentum.\",\r\nstochText:\"Stochastic confirms the upward move.\",\r\ncorrect:\"BUY\",\r\nmove:12.5\r\n},\r\n\r\n{\r\ntitle:\"Case #010 \u2014 Conflicting Signals\",\r\ntext:\"RSI is improving, MACD is neutral and Stochastic is falling. The indicators disagree.\",\r\nrsi:\"54 \u2197\",\r\nmacd:\"Neutral\",\r\nstoch:\"62 \u2198\",\r\nrsiText:\"RSI shows mild improvement.\",\r\nmacdText:\"MACD provides no clear directional confirmation.\",\r\nstochText:\"Stochastic is weakening.\",\r\ncorrect:\"WAIT\",\r\nmove:1.9\r\n}\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\n};\r\n\r\nlet prices=[];\r\nlet future=[];\r\nlet mode=\"price\";\r\n\r\nconst canvas=document.getElementById(\"md-canvas\");\r\nconst ctx=canvas.getContext(\"2d\");\r\n\r\n\r\nfunction resize(){\r\n\r\nlet r=canvas.getBoundingClientRect();\r\n\r\ncanvas.width=r.width*2;\r\ncanvas.height=r.height*2;\r\n\r\ndraw();\r\n\r\n}\r\n\r\n\r\nfunction generate(){\r\n\r\nprices=[];\r\nfuture=[];\r\n\r\nlet c=cases[state.index];\r\n\r\nlet price=100;\r\n\r\nlet direction=\r\nc.correct===\"BUY\"?-.35:\r\nc.correct===\"SELL\"?.35:\r\n0;\r\n\r\nfor(let i=0;i<42;i++){\r\n\r\nlet move=direction+(Math.random()-.5)*2.5;\r\n\r\nprice+=move;\r\n\r\nprices.push(price);\r\n\r\n}\r\n\r\nlet last=price;\r\n\r\nlet dir=c.move>=0?1:-1;\r\n\r\nfor(let i=0;i<8;i++){\r\n\r\nlast+=dir*(1.5+Math.random()*2.5);\r\n\r\nfuture.push(last);\r\n\r\n}\r\n\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=30;y<h;y+=45){\r\n\r\nctx.beginPath();\r\nctx.moveTo(0,y);\r\nctx.lineTo(w,y);\r\nctx.stroke();\r\n\r\n}\r\n\r\nlet arr=state.revealed\r\n?prices.concat(future)\r\n:prices;\r\n\r\nif(mode===\"price\"){\r\n\r\nlet max=Math.max(...arr)+3;\r\nlet min=Math.min(...arr)-3;\r\n\r\nctx.strokeStyle=\"#22c55e\";\r\nctx.lineWidth=3;\r\n\r\nctx.beginPath();\r\n\r\narr.forEach((p,i)=>{\r\n\r\nlet x=i*(w\/(arr.length-1));\r\n\r\nlet y=h-20-((p-min)\/(max-min))*(h-45);\r\n\r\nif(i===0)ctx.moveTo(x,y);\r\nelse ctx.lineTo(x,y);\r\n\r\n});\r\n\r\nctx.stroke();\r\n\r\n}else{\r\n\r\nlet vals=[];\r\n\r\nfor(let i=0;i<arr.length;i++){\r\n\r\nlet v=\r\n50+\r\nMath.sin(i*.35)*25+\r\n(Math.random()-.5)*8;\r\n\r\nvals.push(v);\r\n\r\n}\r\n\r\nctx.strokeStyle=\"#a78bfa\";\r\nctx.lineWidth=3;\r\n\r\nctx.beginPath();\r\n\r\nvals.forEach((v,i)=>{\r\n\r\nlet x=i*(w\/(vals.length-1));\r\n\r\nlet y=h-20-(v\/100)*(h-40);\r\n\r\nif(i===0)ctx.moveTo(x,y);\r\nelse ctx.lineTo(x,y);\r\n\r\n});\r\n\r\nctx.stroke();\r\n\r\n\r\nctx.strokeStyle=\"#555\";\r\n\r\n[30,70].forEach(level=>{\r\n\r\nlet y=h-20-(level\/100)*(h-40);\r\n\r\nctx.setLineDash([6,5]);\r\n\r\nctx.beginPath();\r\nctx.moveTo(0,y);\r\nctx.lineTo(w,y);\r\nctx.stroke();\r\n\r\n});\r\n\r\nctx.setLineDash([]);\r\n\r\n}\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\n\r\ndocument.getElementById(\"md-title\").textContent=c.title;\r\ndocument.getElementById(\"md-text\").textContent=c.text;\r\n\r\ndocument.getElementById(\"md-number\").textContent=\r\n(state.index+1)+\" \/ \"+cases.length;\r\n\r\ndocument.getElementById(\"md-progress\").style.width=\r\n(state.index\/cases.length*100)+\"%\";\r\n\r\ndocument.getElementById(\"md-rsi\").textContent=c.rsi;\r\ndocument.getElementById(\"md-macd\").textContent=c.macd;\r\ndocument.getElementById(\"md-stoch\").textContent=c.stoch;\r\n\r\ndocument.getElementById(\"md-rsi-text\").textContent=c.rsiText;\r\ndocument.getElementById(\"md-macd-text\").textContent=c.macdText;\r\ndocument.getElementById(\"md-stoch-text\").textContent=c.stochText;\r\n\r\ndocument.getElementById(\"md-result\").style.display=\"none\";\r\n\r\ndocument.getElementById(\"md-reveal\").textContent=\r\n\"\u23e9 Reveal Momentum Move\";\r\n\r\ngenerate();\r\ndraw();\r\n\r\n}\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)\r\nstate.correct++;\r\n\r\nstate.solved++;\r\nstate.score+=points;\r\n\r\ndocument.getElementById(\"md-score\").textContent=state.score;\r\ndocument.getElementById(\"md-cases\").textContent=state.solved;\r\n\r\ndocument.getElementById(\"md-accuracy\").textContent=\r\nMath.round(state.correct\/state.solved*100)+\"%\";\r\n\r\n\r\nlet rank=\"Rookie\";\r\n\r\nif(state.score>=800)rank=\"Momentum Master\";\r\nelse if(state.score>=500)rank=\"Oscillator Detective\";\r\nelse if(state.score>=250)rank=\"Momentum Analyst\";\r\nelse if(state.score>=100)rank=\"Junior Detective\";\r\n\r\ndocument.getElementById(\"md-rank\").textContent=rank;\r\n\r\n\r\nlet title;\r\nlet text;\r\n\r\nif(action===c.correct){\r\n\r\ntitle=\"\u26a1 Excellent Momentum Reading!\";\r\n\r\ntext=\r\n\"You correctly interpreted the combined indicator evidence.\\n\\n\"+\r\n\"The strongest game decision was \"+c.correct+\".\\n\\n\"+\r\n\"The simulated follow-through was \"+\r\n(c.move>=0?\"+\":\"\")+c.move+\"%.\";\r\n\r\n}else{\r\n\r\ntitle=\"\ud83d\udd75\ufe0f The Momentum Evidence Suggested Another Path\";\r\n\r\ntext=\r\n\"The indicators did not support your chosen action as strongly as the alternative.\\n\\n\"+\r\n\"The strongest game decision was \"+c.correct+\".\\n\\n\"+\r\n\"The simulated follow-through was \"+\r\n(c.move>=0?\"+\":\"\")+c.move+\"%.\";\r\n\r\n}\r\n\r\ndocument.getElementById(\"md-result-title\").textContent=title;\r\ndocument.getElementById(\"md-result-text\").textContent=text;\r\n\r\ndocument.getElementById(\"md-answer\").textContent=\r\n\"\u26a1 Case: \"+c.title+\r\n\" | Best Game Decision: \"+c.correct;\r\n\r\ndocument.getElementById(\"md-points\").textContent=\r\n\"+\"+points+\" Detective Points\";\r\n\r\ndocument.getElementById(\"md-result\").style.display=\"block\";\r\n\r\n}\r\n\r\n\r\nfunction reveal(){\r\n\r\nif(state.revealed)return;\r\n\r\nstate.revealed=true;\r\n\r\ndraw();\r\n\r\ndocument.getElementById(\"md-reveal\").textContent=\r\n\"\u2705 Momentum Move Revealed\";\r\n\r\n}\r\n\r\n\r\ndocument.querySelectorAll(\"[data-action]\").forEach(btn=>{\r\n\r\nbtn.addEventListener(\"click\",function(){\r\n\r\ndecide(this.dataset.action);\r\n\r\n});\r\n\r\n});\r\n\r\n\r\ndocument.getElementById(\"md-reveal\")\r\n.addEventListener(\"click\",reveal);\r\n\r\n\r\ndocument.getElementById(\"md-price-btn\")\r\n.addEventListener(\"click\",function(){\r\n\r\nmode=\"price\";\r\ndraw();\r\n\r\n});\r\n\r\n\r\ndocument.getElementById(\"md-momentum-btn\")\r\n.addEventListener(\"click\",function(){\r\n\r\nmode=\"momentum\";\r\ndraw();\r\n\r\n});\r\n\r\n\r\ndocument.getElementById(\"md-reset\")\r\n.addEventListener(\"click\",function(){\r\n\r\nstate.revealed=false;\r\nmode=\"price\";\r\n\r\ndocument.getElementById(\"md-reveal\").textContent=\r\n\"\u23e9 Reveal Momentum Move\";\r\n\r\ngenerate();\r\ndraw();\r\n\r\n});\r\n\r\n\r\ndocument.getElementById(\"md-next\")\r\n.addEventListener(\"click\",function(){\r\n\r\nstate.index++;\r\n\r\nif(state.index>=cases.length){\r\n\r\nalert(\r\n\"\ud83c\udfc6 Momentum & Oscillator 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\nstate.index=0;\r\n\r\n}\r\n\r\nload();\r\n\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;\r\n\r\nlet index=Math.floor(\r\nx\/r.width*prices.length\r\n);\r\n\r\nif(index>=0 && index<prices.length){\r\n\r\ndocument.getElementById(\"md-price\").textContent=\r\n\"Price: \"+prices[index].toFixed(2);\r\n\r\n}\r\n\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>\ud83c\udfaf About the Game<\/h1>\n<p style=\"text-align: justify;\"><strong>Momentum &amp; Oscillator Detective<\/strong> is an interactive <a href=\"https:\/\/www.stockmaster.in\/universe\/category\/stock-market-games\/technical-analysis-games\/\">technical analysis game<\/a> where players investigate market momentum using popular indicators such as <strong>RSI, MACD and Stochastic Oscillator<\/strong>. Instead of answering traditional quiz questions, players examine a simulated price chart and combine indicator evidence to determine whether the market setup suggests <strong>BUY, SELL or WAIT<\/strong>.<\/p>\n<p style=\"text-align: justify;\">The game includes cases covering <strong>RSI overbought and oversold conditions, bullish and bearish divergence, MACD crossovers, Stochastic reversals, momentum breakouts and conflicting indicator signals<\/strong>.<\/p>\n<p style=\"text-align: justify;\">The important learning mechanic is that players are encouraged <strong>not to treat an indicator reading as an automatic trading signal<\/strong>. For example, an RSI reading above 70 does not necessarily mean a stock must fall. Strong trends can keep an oscillator overbought for extended periods. Players therefore need to consider multiple pieces of evidence before making their decision.<\/p>\n<p style=\"text-align: justify;\">Each investigation displays the relevant RSI, MACD and Stochastic readings. Players can switch between the simulated price chart and a momentum view, analyse the evidence, make their decision and then reveal the simulated market move.<\/p>\n<p style=\"text-align: justify;\">Correct decisions earn <strong>Detective Points<\/strong>, while accumulated points unlock higher detective ranks. This creates a progression system that encourages players to continue investigating new scenarios.<\/p>\n<p style=\"text-align: justify;\">The game is designed for beginners and learners who want to understand <strong>momentum indicators, oscillator signals, divergence and confirmation<\/strong> through an interactive experience rather than passive reading.<\/p>\n<p style=\"text-align: justify;\"><strong>Study the momentum. Find the divergence. Investigate the evidence. Can you become the Momentum Master?<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83c\udfaf About the Game Momentum &amp; Oscillator Detective is an interactive technical analysis game where players investigate market momentum using [&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-535","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":"\ud83c\udfaf About the Game Momentum &amp; Oscillator Detective is an interactive technical analysis game where players investigate market momentum using [&hellip;]","_links":{"self":[{"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/posts\/535","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=535"}],"version-history":[{"count":0,"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/posts\/535\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/media?parent=535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/categories?post=535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.stockmaster.in\/universe\/wp-json\/wp\/v2\/tags?post=535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}