Elliott Wave System
From MultiCharts
Article/Author: Futures Magazine, 04/1996
Download: Elliott Wave System
ELLIOTTREND FUNCTION CODE
INPUTS: LEN(NUMERIC), TRIGGER(NUMERIC);
VARS: TREND(0), OSC(0);
OSC = ELLIOTTWAVEOSC;
IF OSC = HIGHEST(OSC, LEN) AND TREND = 0 THEN
TREND = 1;
IF OSC = LOWEST(OSC, LEN) AND TREND = 0 THEN
TREND = -1;
IF LOWEST(OSC, LEN) < 0 AND TREND = -1 AND OSC > -1 * TRIGGER * LOWEST(OSC, LEN) THEN
TREND = 1;
IF HIGHEST(OSC, LEN) > 0 AND TREND = 1 AND OSC < -1 * TRIGGER * HIGHEST(OSC, LEN) THEN
TREND = -1;
ELLIOTTTREND = TREND;
ELLIOTTWAVEOSC FUNCTION CODE
VARS: OSC535(0), PRICE(0);
PRICE = (H+L)/2;
IF AVERAGE(PRICE, 35) <> 0 THEN
OSC535 = AVERAGE(PRICE, 5) - AVERAGE(PRICE, 35);
ELLIOTTWAVEOSC = OSC535;
WAVE345ELLIOTT FUNCTION CODE
INPUTS: LEN(NUMERIC), TRIG(NUMERIC);
VARS: ET(0), PRICE(0), OSC(0), WAVE(0), HIOSC(-999), HIOSC2(-999), HIPRICE(-999), HIPRICE2(-999);
OSC = ELLIOTTWAVEOSC;
PRICE = (HIGH + LOW) / 2;
ET = ELLIOTTTREND(LEN, TRIG);
IF ET = 1 AND ET[1] = -1 AND OSC > 0 THEN BEGIN
HIOSC = OSC;
HIPRICE = PRICE;
WAVE = 3;
END;
IF WAVE = 3 AND HIOSC < OSC THEN
HIOSC = OSC;
IF WAVE = 3 AND OSC <= 0 AND ET = 1 THEN
WAVE = 4;
IF WAVE = 4 AND PRICE = HIGHEST(PRICE, 5) AND OSC >= 0 THEN BEGIN
WAVE = 5;
HIOSC2 = OSC;
HIPRICE2 = PRICE;
END;
IF WAVE = 5 AND HIOSC2 < OSC THEN
HIOSC2 = OSC;
IF WAVE = 5 AND HIPRICE2 < PRICE THEN
HIPRICE2 = PRICE;
IF HIOSC2 > HIOSC AND WAVE = 5 AND ET = 1 THEN BEGIN
WAVE = 3;
HIOSC = HIOSC2;
HIPRICE = HIPRICE2;
HIOSC2 = -999;
HIPRICE2 = -999;
END;
IF ET = -1 AND WAVE = 5 THEN BEGIN
WAVE = -3;
HIOSC = -999;
HIPRICE = -999;
HIOSC2 = -999;
HIPRICE2 = -999;
END;
WAVE345ELLIOTT = WAVE;
ELLIOTT WAVE SYSTEM STRATEGY CODE
INPUTS: LEN(80), TRIG(.7);
VARS: WAVCOUNT(0), OSC(0);
OSC = ELLIOTTWAVEOSC;
WAVCOUNT = WAVE345ELLIOTT(LEN, TRIG);
IF WAVCOUNT = 3 AND WAVCOUNT[1] <= 0 THEN
BUY NEXT BAR AT OPEN;
IF WAVCOUNT = 5 AND WAVCOUNT[1] = 4 THEN
BUY NEXT BAR AT OPEN;
IF WAVCOUNT = 3 AND WAVCOUNT[1] = 5 THEN
BUY NEXT BAR AT OPEN;
IF OSC < 0 THEN
SELL NEXT BAR AT OPEN;