Você está na página 1de 5

//Indicador de Padrões de Candles para o Profitchart.

Const

razaoPavioCorpoMartelo = 3;

tamanhoTick = 5;

var

pavioSuperior : Real;

pavioInferior : Real;

tamanhoCorpo : Real;

tamanhoCorpoAnterior: Real;

Inicio

tamanhoCorpo := Fechamento-Abertura;

tamanhoCorpoAnterior := Fechamento[1]-Abertura[1];

//Engolfo de Alta

Se(BuyPosition=0) Entao

Inicio

//Engolfo Total de Alta

Se((tamanhoCorpoAnterior<0) e (tamanhoCorpo>0) e (Fechamento > Abertura[1]) e


(Abertura < Fechamento[1]) e (Maxima[1]<Maxima) e (Minima[1]>Minima)) Entao

Inicio

PaintBar(clAzul);

Fim

//Engolfo de Alta

Senao Se((tamanhoCorpoAnterior<0) e (tamanhoCorpo>0) e (Fechamento >= Abertura[1])


e (Abertura <= Fechamento[1])) Entao

Inicio

PaintBar(clVerde);

Fim;

Fim;
//Engolfo de Baixa

Se(BuyPosition=0) Entao

Inicio

//Engolfo Total de Baixa

Se((tamanhoCorpoAnterior>0) e (tamanhoCorpo<0) e (Abertura > Fechamento[1]) e


(Fechamento < Abertura[1]) e (Maxima > Maxima[1]) e (Minima < Minima[1])) Entao

Inicio

PaintBar(clAmarelo);

Fim

//Engolfo de Baixa

Senao Se((tamanhoCorpoAnterior>0) e (tamanhoCorpo<0) e (Abertura >= Fechamento[1])


e (Fechamento <= Abertura[1])) Entao

Inicio

PaintBar(clVermelho);

Fim;

Fim;

//Harami de Alta

Se(BuyPosition=0) Entao

Inicio

//Harami Total de Alta

Se ((tamanhoCorpoAnterior<0) e (tamanhoCorpo>0) e (Fechamento < Abertura[1]) e


(Abertura > Fechamento[1]) e (Maxima[1] > Maxima) e (Minima[1] < Minima)) Entao

Inicio

PaintBar(clAzul);

Fim

//Harami de Alta

Senao Se ((tamanhoCorpoAnterior<0) e (tamanhoCorpo>0) e (Fechamento <= Abertura[1])


e (Abertura >= Fechamento[1])) Entao

Inicio

PaintBar(clVerde);

Fim;
Fim;

//Harami de Baixa

Se(BuyPosition=0) Entao

Inicio

//Harami Total de Baixa

Se ((tamanhoCorpoAnterior>0) e (tamanhoCorpo<0) e (Abertura < Fechamento[1]) e


(Fechamento > Abertura[1]) e (Maxima[1] > Maxima) e (Minima[1] < Minima)) Entao

Inicio

PaintBar(clAmarelo);

Fim

//Harami de Baixa

Senao Se ((tamanhoCorpoAnterior>0) e (tamanhoCorpo<0) e (Abertura <= Fechamento[1])


e (Fechamento >= Abertura[1])) Entao

Inicio

PaintBar(clVermelho);

Fim;

Fim;

//Piercing Line

Se(BuyPosition=0) Entao

Inicio

Se ((tamanhoCorpoAnterior<0) e (tamanhoCorpo>0) e (Abertura < Fechamento[1]) e


(Fechamento < Abertura[1]) e (Fechamento > (Abertura[1] + Fechamento[1]) / 2)) Then

PaintBar(clVerde);

Fim;

//Piercing Invertido

Se(BuyPosition=0) Entao

Inicio

Se ((tamanhoCorpoAnterior>0) e (tamanhoCorpo<0) e (Fechamento < Abertura[1]) e


(Abertura < Fechamento[1]) e (Abertura > (Abertura[1] + Fechamento[1]) / 2)) Entao
PaintBar(clVermelho);

Fim;

//Nuvem Negra

Se(BuyPosition=0) Entao

Inicio

Se ((tamanhoCorpoAnterior>0) e (tamanhoCorpo<0) e (Abertura > Fechamento[1]) e


(Fechamento > Abertura[1]) e (Fechamento < (Abertura[1] + Fechamento[1]) / 2)) Entao

PaintBar(clVermelho);

Fim;

//Nuvem Negra Invertida

Se(BuyPosition=0) Entao

Inicio

Se ((tamanhoCorpoAnterior<0) e (tamanhoCorpo>0) e (Fechamento > Abertura[1]) e


(Abertura > Fechamento[1]) e (Abertura[1] > (Abertura + Fechamento) / 2)) Entao

PaintBar(clVerde);

Fim;

//Martelos de Baixa E Alta

Se(BuyPosition=0) Entao

Inicio

Se(tamanhoCorpo>=0) Entao

Inicio

pavioSuperior := Maxima - Fechamento;

pavioInferior := Abertura - Minima;

Fim

Senao

Inicio

pavioSuperior := Maxima - Abertura;

pavioInferior := Fechamento - Minima;


Fim;

Se (Abs(tamanhoCorpo)>0) Entao

Se ((pavioSuperior>pavioInferior) e
((pavioSuperior/Abs(tamanhoCorpo))>=razaoPavioCorpoMartelo) e
(pavioInferior<=tamanhoTick)) Entao

Inicio

PaintBar(clVermelho); //Baixa

Fim

Senao Se(pavioSuperior<pavioInferior) e
((pavioInferior/abs(tamanhoCorpo))>=razaoPavioCorpoMartelo) e
(pavioSuperior<=tamanhoTick) Entao

Inicio

PaintBar(clVerde); //Alta

Fim;

Fim;

Fim;

Você também pode gostar