Charts, Trends & Dow Theory
Level: 3 — Production (from-scratch derivations, code-from-memory, explain-out-loud) Time limit: 45 minutes Total marks: 60
Instructions: Show all reasoning. Where code is asked, write it from memory; minor syntax slips are tolerated if logic is correct. Use for any math.
Question 1 — OHLC & Candlestick Reconstruction (10 marks)
You are given the following daily OHLC data for a stock:
| Day | Open | High | Low | Close |
|---|---|---|---|---|
| 1 | 100 | 108 | 98 | 106 |
| 2 | 106 | 110 | 104 | 105 |
| 3 | 105 | 107 | 96 | 98 |
(a) For each day, state the candle body size, upper wick length, lower wick length, and whether it is bullish or bearish. (6 marks)
(b) Explain out loud (in words) what a long lower wick on Day 3 would signify about intraday buyer/seller behaviour — Day 3 has a low of 96. (2 marks)
(c) Convert Day 1's candle into what a line chart and a bar chart would each display/emphasize for that day. (2 marks)
Question 2 — Higher Highs / Higher Lows Trend Logic (10 marks)
Given this sequence of swing points (in order):
(a) Label each point as a swing High (H) or swing Low (L), assuming they alternate starting with a High. (2 marks)
(b) Apply the higher-highs / higher-lows logic to classify the trend across the sequence. State the exact point at which the uptrend structure breaks, and justify with the HH/HL rule. (5 marks)
(c) Define, from scratch, the structural condition that distinguishes an uptrend, a downtrend, and a range. (3 marks)
Question 3 — Trendline & Channel Derivation (12 marks)
An uptrend has two confirmed swing lows at points and .
(a) Derive the equation of the support trendline in slope-intercept form . Show the slope calculation. (4 marks)
(b) A parallel channel line (resistance) passes through a swing high at . Derive its equation. (4 marks)
(c) Predict the support and resistance price levels at , and compute the channel width. (4 marks)
Question 4 — Log vs Linear Scale Derivation (10 marks)
A stock rises from 20, then from 40.
(a) Compute the absolute change and the percentage change for each leg. (3 marks)
(b) Explain from scratch why, on a logarithmic price scale, these two legs appear as equal vertical distances, whereas on a linear scale the second leg appears twice as tall. Support with a log identity. (4 marks)
(c) State which scale you would choose for analyzing a multi-year trend of a high-growth stock, and why. (3 marks)
Question 5 — Dow Theory & Volume Confirmation (10 marks)
(a) List and briefly explain four of the six tenets of Dow Theory. (4 marks)
(b) Distinguish the primary, secondary, and minor trends, including typical duration and the Dow analogy for each. (4 marks)
(c) Explain the role of volume confirmation: during a healthy uptrend, how should volume behave on advances vs. declines? (2 marks)
Question 6 — Multi-Timeframe Analysis (from memory pseudocode) (8 marks)
(a) Write, from memory, pseudocode or Python-style logic for a function trend_direction(highs, lows) that returns "up", "down", or "range" based on whether the last two swing highs AND last two swing lows are both rising, both falling, or mixed. (5 marks)
(b) Explain the top-down principle of multi-timeframe analysis: why a trader checks the higher timeframe before the lower one. (3 marks)
Answer keyMark scheme & solutions
Question 1 (10 marks)
(a) Body = ; upper wick = ; lower wick = . (6 marks — 2 per day)
- Day 1: Body ; upper ; lower ; Close>Open ⇒ bullish.
- Day 2: Body ; upper ; lower ; Close<Open ⇒ bearish.
- Day 3: Body ; upper ; lower ... wait: lower ; Close<Open ⇒ bearish.
(0.5 per correct value.)
(b) A long lower wick means price sold off intraday (down to 96) but buyers stepped in and pushed price back up before close — signals rejection of lower prices / potential buying support. (2 marks)
(c) Line chart plots only the Close = 106 (single point connected to neighbours). Bar chart shows the full range: high tick 108, low tick 98, left tick = open 100, right tick = close 106. (2 marks: 1 each)
Question 2 (10 marks)
(a) Alternating from High: . (2 marks)
(b) Highs: . Lows: .
- : higher highs ✓; : higher lows ✓ — uptrend intact through point 6.
- Break: at the 7th point () the high fails to exceed prior high (lower high), AND the 8th point () is a lower low than prior low . The uptrend structure breaks at the lower high of 116 → confirmed by lower low of 108. (5 marks: 2 for HH/HL tracking, 3 for identifying/justifying the break)
(c) (3 marks)
- Uptrend: successive HH and HL.
- Downtrend: successive LH and LL.
- Range: highs and lows oscillate roughly horizontally (no consistent HH/HL or LH/LL).
Question 3 (12 marks)
(a) Slope . Intercept: . Support: . (4 marks)
(b) Parallel ⇒ same slope . Through : . Resistance: . (4 marks)
(c) At : support ; resistance . Channel width (constant, since parallel). (4 marks)
Question 4 (10 marks)
(a) Leg 1: absolute +\10+100%+$20+100%$. (3 marks)
(b) On a log scale, vertical position . Distance of a move , which depends only on the ratio. Both legs have ratio , so each ⇒ equal heights. On a linear scale height ; leg 2 = 20 vs leg 1 = 10, hence twice as tall. (4 marks)
(c) Logarithmic scale — equal percentage moves get equal visual weight, so long-term compounding growth and trend consistency are represented fairly; a linear scale would exaggerate later moves and compress early ones. (3 marks)
Question 5 (10 marks)
(a) Any four (1 each): (1) The averages discount everything. (2) The market has three trends (primary/secondary/minor). (3) Primary trends have three phases (accumulation, public participation, distribution). (4) The averages must confirm each other. (5) Volume must confirm the trend. (6) A trend is assumed in effect until a clear reversal signal.
(b) (4 marks)
- Primary: major trend, months to years — the "tide."
- Secondary: corrective moves against primary, weeks to months — the "waves."
- Minor: short-term noise, days — the "ripples."
(c) In a healthy uptrend, volume should expand on up moves (advances) and contract on pullbacks (declines), confirming buyer commitment; the opposite (rising volume on declines) warns of weakness. (2 marks)
Question 6 (8 marks)
(a) (5 marks)
def trend_direction(highs, lows):
h1, h2 = highs[-2], highs[-1]
l1, l2 = lows[-2], lows[-1]
if h2 > h1 and l2 > l1:
return "up"
elif h2 < h1 and l2 < l1:
return "down"
else:
return "range"(3 marks logic, 2 marks correct up/down/range mapping.)
(b) Top-down: the higher timeframe defines the dominant/primary trend and key S/R; trading in its direction on the lower timeframe gives higher-probability entries. Checking it first prevents taking counter-trend trades that look valid only on a small timeframe. (3 marks)
[
{"claim":"Day1 body=6, upper=2, lower=2, bullish","code":"O,H,L,C=100,108,98,106; body=abs(C-O); up=H-max(O,C); lo=min(O,C)-L; result=(body==6 and up==2 and lo==2 and C>O)"},
{"claim":"Day3 body=7, lower wick=2, bearish","code":"O,H,L,C=105,107,96,98; body=abs(C-O); lo=min(O,C)-L; result=(body==7 and lo==2 and C<O)"},
{"claim":"Support trendline P=3t+94","code":"m=(112-100)/(6-2); b=100-m*2; result=(m==3 and b==94)"},
{"claim":"Resistance P=3t+106 and channel width 12 at t=10","code":"m=3; b=118-m*4; sup=3*10+94; res=m*10+b; result=(b==106 and sup==124 and res==136 and res-sup==12)"},
{"claim":"Both legs are 100% moves with ratio 2","code":"from sympy import log; r1=(20-10)/10; r2=(40-20)/20; result=(r1==1 and r2==1 and log(2)==log(20)-log(10) and log(2)==log(40)-log(20))"}
]