-
Notifications
You must be signed in to change notification settings - Fork 1
/
swing_trade_1D.src
75 lines (37 loc) · 1.36 KB
/
swing_trade_1D.src
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function isBearish(clopen:float; clclose:float) :Boolean;
BEGIN
Result:= clopen > clclose;
END;
function isBullish(clopen:float; clclose:float) :Boolean;
BEGIN
Result:= clopen < clclose;
END;
function isEngulfed:Boolean;
BEGIN
Result:= (ABS(Maxima - Minima) > ABS(Maxima[1] - Minima[1])) e
(Fechamento > Abertura[1]) e
(Abertura < Fechamento[1]);
END;
function isHammerLike:Boolean;
BEGIN
IF ((Abertura < Fechamento)) THEN
Result:= ((Minima < Minima[1]) e (ABS(Fechamento - Maxima) < (ABS(Abertura - Fechamento))) e (ABS(Abertura - Minima) > (ABS(Abertura - Fechamento) * 2)))
ELSE IF ((Abertura > Fechamento) e (Fechamento = Minima)) THEN
Result:= ((Maxima < Maxima[1]) e (ABS(Fechamento - Minima) < (ABS(Abertura - Fechamento))) e (ABS(Abertura - Maxima) > (ABS(Abertura - Fechamento) * 2)))
ELSE
Result := false;
END;
BEGIN
IF (isBullish(Abertura, Fechamento)) THEN
PaintBar(clBlue)
ELSE IF (isBearish(Abertura, Fechamento)) THEN
PaintBar(clRed);
IF (isHammerLike) then
PaintBar(clFuchsia);
IF (C_Doji(22) = 1) then
PaintBar(clYellow);
IF ((isBearish(Abertura[1], Fechamento[1])) e
(isBullish(Abertura, Fechamento)) e
(isEngulfed)) then
PaintBar(clWhite);
END;