Price swings code needed in mq4

scinvestor1

Newbie
Messages
2
Likes
0
Hello everyone.

I am using advanced charts with IGINDEX. Below there is a simple code which identifies price swings based on candle patterns. This method generally has a 50-50 chance of getting trades to profits or losses but it's value relies on the fact that it gets significant moves to either direction correctly, hence it results in a profit / loss ratio of approximatelly 4:1.

Specifically it looks at price action moves based on 3, 4 and 5 last candle patterns.
Should any expert in MQL programming is interested in give it a try, I would appreciate it if I could have the corresponding mq4 file.

This could be developped as EA or simple indicator. Ideally it can show buy sell signals on the chart.

Since I am new in this forum I hope my posting is appropriate. :)

Thanks Alot


ONCE S3 = 0
ONCE S4 = 0
ONCE S5 = 0

IF LOW[0] < LOW[1] AND LOW[1] > LOW[2] AND HIGH[0] < HIGH[1] AND HIGH[1] > HIGH[2] THEN
S3 = -1
ELSIF LOW[0] > LOW[1] AND LOW[1] < LOW[2] AND HIGH[0] > HIGH[1] AND HIGH[1] < HIGH[2] THEN
S3 = 1
ELSE
S3 = 0
ENDIF

IF LOW[0] < LOW[1] AND LOW[3] < LOW[1] AND HIGH[0] < HIGH[1] AND HIGH[3] < HIGH[1] AND HIGH[2] < HIGH[1] AND LOW[2] > LOW[1] THEN
S4 = -1
ELSIF LOW[0] < LOW[2] AND LOW[3] < LOW[2] AND HIGH[0] < HIGH[2] AND HIGH[3] < HIGH[2] AND HIGH[1] < HIGH[2] AND LOW[1] > LOW[2] THEN
S4 = -1
ELSIF LOW[0] > LOW[2] AND LOW[3] > LOW[2] AND HIGH[3] > HIGH[2] AND HIGH[0] > HIGH[2] AND HIGH[1] < HIGH[2] AND LOW[1] > LOW[2] THEN
S4 = 1
ELSIF LOW[0] > LOW[1] AND LOW[3] > LOW[1] AND HIGH[0] > HIGH[1] AND HIGH[3] > HIGH[1] AND HIGH[2] < HIGH[1] AND LOW[2] > LOW[1] THEN
S4 = 1
ELSIF LOW[0] < LOW[2] AND LOW[3] < LOW[2] AND HIGH[0] < MAX(HIGH[2],HIGH[1]) AND HIGH[3] < MAX(HIGH[2],HIGH[1]) AND LOW[1] = LOW[2] AND HIGH[0] < MAX(HIGH[1],HIGH[2]) THEN
S4 = -1
ELSIF LOW[0] > MIN(LOW[1],LOW[2]) AND LOW[3] > MIN(LOW[1],LOW[2]) AND HIGH[0] > HIGH[1] AND HIGH[3] > HIGH[1] AND HIGH[2] = HIGH[1] AND LOW[3] > MIN(LOW[1],LOW[2]) THEN
S4 = 1

ELSE
S4 = 0
ENDIF

IF LOW[0] < LOW[2] AND LOW[4] < LOW[2] AND HIGH[0] < HIGH[2] AND HIGH[4] < HIGH[2] AND HIGH[1] < HIGH[2] AND HIGH[3] < HIGH[2] AND LOW[1] > LOW[2] AND LOW[3] > LOW[2] THEN
S5 = -1
ELSIF HIGH[0] > HIGH[2] AND HIGH[4] > HIGH[2] AND LOW[0] > LOW[2] AND LOW[4] > LOW[2] AND LOW[1] > LOW[2] AND LOW[3] > LOW[2] AND HIGH[1] < HIGH[2] AND HIGH[3] < HIGH[2] THEN
S5 = 1
ELSIF HIGH[1] > HIGH[0] AND HIGH[1] > HIGH[4] AND LOW[1] > LOW[0] AND LOW[1] > LOW[4] AND HIGH[2] < HIGH[1] AND HIGH[3] < HIGH[1] AND LOW[3] > LOW[1] AND LOW[2] > LOW[1] THEN
S5 = -1
ELSIF HIGH[3] > HIGH[0] AND HIGH[3] > HIGH[4] AND LOW[3] > LOW[0] AND LOW[3] > LOW[4] AND HIGH[2] < HIGH[3] AND HIGH[1] < HIGH[3] AND LOW[1] > LOW[3] AND LOW[2] > LOW[3] THEN
S5 = -1
ELSIF LOW[1] < LOW[0] AND LOW[1] < LOW[4] AND HIGH[1] < HIGH[0] AND HIGH[1] < HIGH[4] AND HIGH[2] < HIGH[1] AND HIGH[3] < HIGH[1] AND LOW[2] > LOW[1] AND LOW[3] > LOW[1] THEN
S5 = 1
ELSIF LOW[3] < LOW[0] AND LOW[3] < LOW[4] AND HIGH[3] < HIGH[0] AND HIGH[3] < HIGH[4] AND HIGH[2] < HIGH[3] AND HIGH[1] < HIGH[3] AND LOW[2] > LOW[3] AND LOW[1] > LOW[3] THEN
S5 = 1
ELSE
S5 = 0
ENDIF

RETURN S3 AS "S3", S4 AS "S4", S5 AS "S5", S3+S4+S5 AS "S"
 
Top