Student Wyckoff · Elliott Wave

Blog and practice

Averages, MACD, AO and EWO: reproducible wave checks

Teaching tables and diagrams with explicit inputs, formulas, seeds, local conditions and limits when checking Elliott wave hypotheses.

Student Wyckoff editorial team

Published: (UTC+3)

Русский · English · Deutsch · Español · Français · Italiano · 繁體中文 · 日本語 · 한국어

This lab connects indicators to a wave hypothesis through explicit calculations. Every example price, volume and parameter is invented. A positive indicator condition describes a local state; it does not establish an entire Elliott count or measure a probability of profit.

Invented inputs and calculation rules

The table contains completed bars. t is an ordinal index; O/H/L/C mean open/high/low/close and V is invented volume from one source, not an entire-market total. Dataset A has a preceding bar t=−1 with C=99, H=100, L=98. Windows include the current bar unless explicitly stated otherwise.

SMA_n is the mean of the latest n values. EMA_n uses α=2/(n+1) and RMA_n uses α=1/n; both recursions y_t=αx_t+(1−α)y_(t−1) start with the mean of the first n available values. Intermediate values are not rounded; tables display up to six decimals. “—” means insufficient history or an undefined value, not zero. Missing inputs are not replaced with zero. Short teaching periods are not recommended settings; the seeds and zero policies are declared here, without a claim of parity with every platform.

DatasettOHLCV
A099.51019910010
A1101.510310110212
A2100.51021001018
A3103.510510310415
A4102.51041021039
A5105.510710510620
A6103.510510310411
A7106.510810610718
A8104.510610410514
A9107.510910710822
A10103.510510310416
B099.51019910010
B1101.9103.4101.4102.411
B299.3100.898.899.812
B3101.7103.2101.2102.213
B499.1100.698.699.614
B5101.510310110215
B6103.9105.4103.4104.416
B7101.3102.8100.8101.810
B8103.7105.2103.2104.211
B9101.1102.6100.6101.612
B10103.510510310413
B11105.9107.4105.4106.414
B12103.3104.8102.8103.815
B13105.7107.2105.2106.216
B14103.1104.6102.6103.610
B15105.510710510611
B16107.9109.4107.4108.412
B17105.3106.8104.8105.813
B18107.7109.2107.2108.214
B19105.1106.6104.6105.615
B20107.510910710816
B21109.9111.4109.4110.410
B22107.3108.8106.8107.811
B23109.7111.2109.2110.212
B24107.1108.6106.6107.613
B25109.511110911014
B26111.9113.4111.4112.415
B27109.3110.8108.8109.816
B28111.7113.2111.2112.210
B29109.1110.6108.6109.611
B30111.511311111212
B31113.9115.4113.4114.413
B32111.3112.8110.8111.814
B33113.7115.2113.2114.215
B34111.1112.6110.6111.616
B35113.511511311410
B36115.9117.4115.4116.411
B37113.3114.8112.8113.812
B38115.7117.2115.2116.213
B39113.1114.6112.6113.614

Can an early undefined indicator value be replaced by zero and counted as a negative signal?

No. A missing full window and a calculated zero are different states; freeze the warm-up policy in advance.

SMA: the mean of a declared window

Three closes have equal weights; the oldest leaves as the window advances. Formula and worked calculation: SMA3_t=(C_t+C_(t−1)+C_(t−2))/3. t2: (100+102+101)/3=101. t7: (106+104+107)/3=105.666667.

The first full window is t2; earlier values are undefined. SMA3_seed in the EMA table is a rolling three-bar reference, not a new EMA seed on every bar.

Local research predicate: t7: C>SMA3. C>SMA3 holds at t7, but the line reacts to prices that have already occurred. Comparison with a lagging mean cannot choose between two otherwise valid wave counts.

SMA: the mean of a declared windowSMA: the mean of a declared windowPrice C99.04102.346667105.653333108.96CValue100.32102.662222105.004444107.346667SMA30246810t
Original calculation on invented completed bars; warm-up gaps are not connected. Price and indicator use separate panels and scales.
tCSMA3
0100—
1102—
2101101
3104102.333333
4103102.666667
5106104.333333
6104104.333333
7107105.666667
8105105.333333
9108106.666667
10104105.666667

Reproduce the highlighted calculation and evaluate the local predicate. Does the result establish the entire wave count?

107>105.666667. No. It is the result of the stated calculation on invented data, not proof of a wave structure or profit.

EMA: a recursion with a declared seed

EMA3 uses α=1/2; its first value is SMA3 at t2, followed by recursive EMA updates. Formula and worked calculation: EMA3_t=0.5C_t+0.5EMA3_(t−1). EMA3_2=101; EMA3_6=104.1875; EMA3_7=0.5×107+0.5×104.1875=105.59375.

Seeding with the first close would produce a different short history. Freeze C as source, α and the SMA seed before comparing platforms; do not backfill warm-up values.

Local research predicate: t7: C>EMA3. C>EMA3 at t7 describes price position, not proof of a third wave. Faster response than an SMA does not make EMA an independent source of evidence.

EMA: a recursion with a declared seedEMA: a recursion with a declared seedPrice C99.04102.346667105.653333108.96CValue100.322187102.656875104.991563107.32625EMA30246810t
Original calculation on invented completed bars; warm-up gaps are not connected. Price and indicator use separate panels and scales.
tCSMA3(C)EMA3
0100——
1102——
2101101101
3104102.333333102.5
4103102.666667102.75
5106104.333333104.375
6104104.333333104.1875
7107105.666667105.59375
8105105.333333105.296875
9108106.666667106.648438
10104105.666667105.324219

Reproduce the highlighted calculation and evaluate the local predicate. Does the result establish the entire wave count?

107>105.59375. No. It is the result of the stated calculation on invented data, not proof of a wave structure or profit.

MACD: line, signal and histogram

The teaching version is EMA3−EMA5 with an EMA2 signal; the histogram is line minus signal. Formula and worked calculation: M=EMA3(C)−EMA5(C); S=EMA2(M); h=M−S. t7: M=105.59375−104.7037037037=0.890046; S=0.833333; h=0.056713.

EMA3 starts at t2; EMA5 and M at t4. The signal is seeded with the mean of M4 and M5 at t5. No histogram exists before t5. Other average types or seeds change values.

Local research predicate: t7: h>0. h>0 means M>S, not necessarily M>0 or a crossing on that particular bar. Both inequalities hold at t7; they cannot be counted as two independent confirmations.

MACD: line, signal and histogramMACD: line, signal and histogramPrice C99.04102.346667105.653333108.96CValue-0.3653770.1538890.6731551.192421MACDS_EMA2h=M−S0246810t
Original calculation on invented completed bars; warm-up gaps are not connected. Price and indicator use separate panels and scales.
tCEMA3EMA5MACDS_EMA2h=M−S
0100—————
1102—————
2101101————
3104102.5————
4103102.751020.75——
5106104.375103.3333331.0416670.8958330.145833
6104104.1875103.5555560.6319440.719907-0.087963
7107105.59375104.7037040.8900460.8333330.056713
8105105.296875104.8024690.4944060.607382-0.112976
9108106.648438105.8683130.7801250.7225440.057581
10104105.324219105.2455420.0786770.293299-0.214622

Reproduce the highlighted calculation and evaluate the local predicate. Does the result establish the entire wave count?

0.8900462962962963−0.8333333333333334=0.056712962962963>0. No. It is the result of the stated calculation on invented data, not proof of a wave structure or profit.

Awesome Oscillator: complete windows of 5 and 34

This uses separate dataset B with 40 bars; HL2 is the midpoint of H and L. Formula and worked calculation: HL2=(H+L)/2; AO=SMA5(HL2)−SMA34(HL2). t39: 114.8−109=5.8.

SMA34 first exists at t33. Earlier rows remain “—” rather than using a shortened mean. No signal line has been added to this definition.

Local research predicate: t39: AO5_34>0. AO>0 at t39 means the short average exceeds the long average, not an automatic wave-three label. Our symmetric artificial bars make HL2=C, so AO and EWO are especially dependent here.

Awesome Oscillator: complete windows of 5 and 34Awesome Oscillator: complete windows of 5 and 34Price C97.584104.528111.472118.416CValue5.7270595.7756865.8243145.872941AO5/340510152025303539t
Original calculation on invented completed bars; warm-up gaps are not connected. Price and indicator use separate panels and scales.
tCHL2SMA5(HL2)SMA34(HL2)AO5/34
0100100———
1102.4102.4———
299.899.8———
3102.2102.2———
499.699.6100.8——
5102102101.2——
6104.4104.4101.6——
7101.8101.8102——
8104.2104.2102.4——
9101.6101.6102.8——
10104104103.2——
11106.4106.4103.6——
12103.8103.8104——
13106.2106.2104.4——
14103.6103.6104.8——
15106106105.2——
16108.4108.4105.6——
17105.8105.8106——
18108.2108.2106.4——
19105.6105.6106.8——
20108108107.2——
21110.4110.4107.6——
22107.8107.8108——
23110.2110.2108.4——
24107.6107.6108.8——
25110110109.2——
26112.4112.4109.6——
27109.8109.8110——
28112.2112.2110.4——
29109.6109.6110.8——
30112112111.2——
31114.4114.4111.6——
32111.8111.8112——
33114.2114.2112.4106.6588245.741176
34111.6111.6112.81075.8
35114114113.2107.3411765.858824
36116.4116.4113.6107.8294125.770588
37113.8113.8114108.1705885.829412
38116.2116.2114.4108.6588245.741176
39113.6113.6114.81095.8

Reproduce the highlighted calculation and evaluate the local predicate. Does the result establish the entire wave count?

114.8−109=5.8>0. No. It is the result of the stated calculation on invented data, not proof of a wave structure or profit.

EWO: the selected 5/35 version

For reproducibility, EWO is defined as SMA5(C)−SMA35(C), with no normalization or extra signal. The name does not specify a unique implementation. Formula and worked calculation: EWO5_35=SMA5(C)−SMA35(C). B, t39: 114.8−108.8=6.

All 35 closes are required: the first value is at dataset B’s t34. An EMA, another source or a normalized version requires a separate calculation.

Local research predicate: t39: EWO5_35>0. A positive EWO neither numbers waves nor checks overlap rules. EWO=6 versus AO=5.8 here comes from windows 35 and 34, not two independent assessments of the market.

EWO: the selected 5/35 versionEWO: the selected 5/35 versionPrice C97.584104.528111.472118.416CValue55.6666676.3333337EWO5/350510152025303539t
Original calculation on invented completed bars; warm-up gaps are not connected. Price and indicator use separate panels and scales.
tCSMA5(C)SMA35(C)EWO5/35
0100———
1102.4———
299.8———
3102.2———
499.6100.8——
5102101.2——
6104.4101.6——
7101.8102——
8104.2102.4——
9101.6102.8——
10104103.2——
11106.4103.6——
12103.8104——
13106.2104.4——
14103.6104.8——
15106105.2——
16108.4105.6——
17105.8106——
18108.2106.4——
19105.6106.8——
20108107.2——
21110.4107.6——
22107.8108——
23110.2108.4——
24107.6108.8——
25110109.2——
26112.4109.6——
27109.8110——
28112.2110.4——
29109.6110.8——
30112111.2——
31114.4111.6——
32111.8112——
33114.2112.4——
34111.6112.8106.86
35114113.2107.26
36116.4113.6107.66
37113.81141086
38116.2114.4108.46
39113.6114.8108.86

Reproduce the highlighted calculation and evaluate the local predicate. Does the result establish the entire wave count?

114.8−108.8=6>0. No. It is the result of the stated calculation on invented data, not proof of a wave structure or profit.

MACD divergence: compare the line, not the histogram

Compare H at t5 and t7 with MACD3/5 at those same bars. Do not select indicator extremes from different timestamps. Formula and worked calculation: H5=107 < H7=108; MACD3/5_5=1.041667 > MACD3/5_7=0.890046; τ_avail=8.

The price-pivot rule requires one completed bar on each side, with pivot H strictly above both neighbors. Thus t5 is confirmed at t6, t7 at t8, and the pair is available only at t8. MACD3/5 uses the formula and seeds declared above.

Local research predicate: t8: H7>H5 ∧ MACD3/5_7<MACD3/5_5 ∧ τ_avail(p7)≤8. Price makes a higher high while MACD3/5 is lower: that is the declared bearish divergence. Yet later H9=109 and C9=108 move higher again. The observation promises no lasting reversal, proves no wave-five completion and permits no backdated entry at t7.

MACD divergence: compare the line, not the histogramMACD divergence: compare the line, not the histogramPrice H100.04103.346667106.653333109.96HValue-0.0368820.3611540.759191.157225MACDAvailable: t80246810t
Original calculation on invented completed bars; warm-up gaps are not connected. Price and indicator use separate panels and scales. The price-pivot rule requires one completed bar on each side, with pivot H strictly above both neighbors. Thus t5 is confirmed at t6, t7 at t8, and the pair is available only at t8. MACD3/5 uses the formula and seeds declared above.
tCHMACD
0100101—
1102103—
2101102—
3104105—
41031040.75
51061071.041667
61041050.631944
71071080.890046
81051060.494406
91081090.780125
101041050.078677

Reproduce the highlighted calculation and evaluate the local predicate. Does the result establish the entire wave count?

108>107; 1.041667>0.890046; τ_avail=8≠7; H9=109. No. It is the result of the stated calculation on invented data, not proof of a wave structure or profit.

A testable condition and a wave strategy

For a study, freeze the source, timeframe, parameters, formula, availability time and alternative wave count first. Each section gives a local predicate with a threshold chosen for arithmetic practice. Record both positive and negative outcomes at bar close without selecting settings after seeing the result. Check a structural wave-rule violation from price separately.

RSI, averages, MACD and other price transforms share overlapping inputs. Several agreeing lines are not independent votes and do not supply probabilities that can be multiplied. A strategy test needs a separate sample and a predeclared outcome; simulated trades also need execution and cost assumptions. This lab supplies no trading performance, accuracy rate or product features.

ValueLocal research predicate
SMA: the mean of a declared windowt7: C>SMA3
EMA: a recursion with a declared seedt7: C>EMA3
MACD: line, signal and histogramt7: h>0
Awesome Oscillator: complete windows of 5 and 34t39: AO5_34>0
EWO: the selected 5/35 versiont39: EWO5_35>0
MACD divergence: compare the line, not the histogramt8: H7>H5 ∧ MACD3/5_7<MACD3/5_5 ∧ τ_avail(p7)≤8

Three price transforms agree. Does that provide three independent confirmations and establish the count?

No. Shared inputs create dependence; local filters are checked separately from price rules, and usefulness needs another sample.

EWO: regular divergence and confirmation time

New invented dataset R contains 50 completed bars. The table supplies C; H=C+1 and L=C−1. EWO is specifically SMA5(C)−SMA35(C), using a full 35-bar history, not a universal oscillator definition. At price highs t 36/t 46, H rises 147→149 while EWO falls 17.571429→15.4. Compare oscillator readings at the price pivots, not independently chosen oscillator peaks.

Our high pivot needs one lower H on each side. Thus t 36 is known at close 37, t 46 at 47; divergence is available at 47. A conditional bearish scenario needs a new close below L47=144 by the end of 49. At 49 a new H=151 exceeds H46=149: the divergence did not guarantee reversal. Neither its presence nor absence establishes a wave number.

Ht36: 147t46: 149→EWOt36: 17.571429t46: 15.4→t46 → t47
Full inputs; calculations retain unrounded intermediate values.
tCHLRSI3MACD3/5EWO5/35
010010199———
1101102100———
2102103101100——
3103104102100——
41041051031001—
51051061041001—
61061071051001—
71071081061001—
81081091071001—
91091101081001—
101101111091001—
111111121101001—
121121131111001—
131131141121001—
141141151131001—
151151161141001—
161161171151001—
171171181161001—
181181191171001—
191191201181001—
201201211191001—
211211221201001—
221221231211001—
231231241221001—
241241251231001—
251251261241001—
261261271251001—
271271281261001—
281281291271001—
291291301281001—
301301311291001—
311311321301001—
321321331311001—
331331341321001—
34134135133100115
351401411391001.83333315.857143
361461471451002.80555617.571429
3714014113955.7377051.66203718.085714
3813914013850.1845020.83719118.257143
3914014113956.6613160.58937818.428571
4014114214063.734050.5752117.6
4114214314170.8659290.64128615.771429
4214314414277.5023440.72309715.342857
4314414514383.2317660.79651815.314286
4414514614487.8667020.85490515.285714
4514614714591.4229130.8985515.257143
4614814914795.4359851.09667315.4
4714514614446.4920790.47993614.857143
4814414514337.0035330.027713.971429
4915015114977.7931680.87233913.942857

Check availability

The second pivot becomes available only after the completed right-hand bar; structural validation is separate.

Hidden divergence: RSI, MACD and EWO compared

Independent invented dataset H has 56 completed bars with H_t=C_t+1 and L_t=C_t−1. After the supplied rise, local lows 42/52 give higher price lows 149→151 while all three oscillators decline. This is our selected hidden bullish condition, distinct from regular bullish divergence with a lower second price low.

RSI3 uses Wilder RMA alpha 1/3, previous C[-1]=99 and mean changes 0–2 as seeds. MACD is SMA-seeded EMA3−EMA5, not its histogram. EWO is close-SMA5−SMA35. These are teaching settings. The lows confirm at 43/53, so the condition is known only at 53. L55=145 rejects a local scenario requiring L42=149 to hold; hidden does not mean a reliable continuation signal.

Lt42: 149t52: 151→RSI3t42: 42.769666t52: 15.960488→MACD3/5t42: 0.888719t52: -2.015767→EWO5/35t42: 25.8t52: 15.114286→t52 → t53
Full inputs; calculations retain unrounded intermediate values.
tCHLRSI3MACD3/5EWO5/35
010010199———
1101102100———
2102103101100——
3103104102100——
41041051031001—
51051061041001—
61061071051001—
71071081061001—
81081091071001—
91091101081001—
101101111091001—
111111121101001—
121121131111001—
131131141121001—
141141151131001—
151151161141001—
161161171151001—
171171181161001—
181181191171001—
191191201181001—
201201211191001—
211211221201001—
221221231211001—
231231241221001—
241241251231001—
251251261241001—
261261271251001—
271271281261001—
281281291271001—
291291301281001—
301301311291001—
311311321301001—
321321331311001—
331331341321001—
34134135133100115
351381391371001.515.514286
361421431411002.08333316.542857
371461471451002.59722218.085714
381501511491003.00231520.142857
391541551531003.30362722.714286
401581591571003.52012625.2
4115415515365.1362982.33893826.228571
4215015114942.7696660.88871925.8
4315615715567.7140771.25719325.628571
4416216316180.4776162.17048525.714286
4516816916787.7448353.11316926.057143
4617417517392.1359383.90853528.257143
4716917016863.6349382.68890130.428571
4816416516343.4663511.00087330.571429
4915916015829.460462-0.56194828.685714
5015415515319.860956-1.82256424.771429
5115315415218.09237-2.10567519.514286
5215215315115.960488-2.01576715.114286
5315815915759.214005-0.64983612.771429
5416416516376.9833470.9137812.485714
5514614714526.003259-1.71731110.142857

Check availability

The second pivot becomes available only after the completed right-hand bar; structural validation is separate.

Sources and limits