MultiCharts Easter Sale has jumped in! Up to 50% off Explore offers
+1 888 340 6572 GET STARTED

Elliott Wave System

Article/Author: Futures Magazine, 04/1996

Download: elliotwv.ela

File Includes:
Signal - Elliott Wave System
Function - ElliottTrend
Function - ElliottWaveOsc
Function - Wave345Elliott

Category: Strategy > Elliot Wave System

Description:

Signal Elliott Wave System ELA 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
EXITLONG NEXT BAR AT OPEN;


Function ElliottTrend ELA 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;


Function ElliottWaveOsc ELA 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;


Function Wave345Elliott ELA 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;