Você está na página 1de 20

Códigos para Regra de

Execução de Estratégias
Revisão 2.0

Os códigos contidos neste documento foram desenvolvidos para


utilização na plataforma Profit Chart com intuito de auxiliar traders
objetivos na verificação de eficiência de estratégias operacionais através
de realização de back tests.

Ao realizar o seu back test, tenha em mente que não é só a taxa de


acerto de um sistema operacional que importa, mas também o payoff,
drawdown, e mesmo o número de sinais dentro do período amostral.

A comparação de sistemas ou de resultados por ativos dentro de


um mesmo sistema deve ser feito através da expectativa matemática
obtida no estudo, excluindo-se a questão financeira com o seguinte
calculo: EM = (TxAc * PYo) – (TxEr)

Onde:

TxAc = Taxa de acerto

PYo = Payoff

TxEr = Taxa de Erro

https://traderobjetivo.com.br/
Setup Ligeirinho

Video: https://youtu.be/WicZ7_O6yJw

Indicador: Bandas de Bollinger

Indicador: Índice de força Relativa (parâmetro 02 períodos)

Período gráfico: 60m

Metodologia de entrada: Compra-se no momento em que o primeiro


candle fecha abaixo da banda inferior de Bollinger.

Saída: Fechamento do candle seguinte à entrada.

Inicio
Se (IsBought) então
Inicio
Se (Fechamento > 0) então
SellToCoverAtMarket;
Fim
Senão
Inicio
Se (Fechamento < bollingerBands(2.00,20,0)|1|) então
BuyAtMarket;
Fim;
Fim;

https://traderobjetivo.com.br/
Setup Cruzamento de médias

Video: https://youtu.be/-0i1uJbNgBg

A entrada do sistema acontece quando o candle fecha causando o


cruzamento da média rápida para cima da média lenta.

A saída ocorre no candle que descruza as médias.


Pode ser adaptado o periodo das médias conforme preferência do trader.

Código para Profit Chart:


// Cruzamento de Médias
parâmetro
MediaRapida(9);
MediaLenta(21);
var
sMedRapida : Real;
sMedLenta : Real;
sPrevMedRapida : Real;
sPrevMedLenta : Real;
begin
// Armazena os valores das médias em variáveis de apoio
sMedRapida := Media(MediaRapida, Fechamento);
sMedLenta := Media(MediaLenta, Fechamento);
sPrevMedRapida := sMedRapida[1];
sPrevMedLenta := sMedLenta[1];

se (IsBought) então
se (sPrevMedRapida > sPrevMedLenta) e (sMedRapida < sMedLenta)
então
selltocoveratmarket;

se (sPrevMedRapida < sPrevMedLenta) e (sMedRapida > sMedLenta)


então
inicio
BuyToCoverAtMarket;
BuyAtMarket;
fim ;
end;

https://traderobjetivo.com.br/
Setup Trap de compra

Video: https://youtu.be/nAh3kvDnTFQ

Quando um candle tem sua mínima menor que a LOY (low of yesterday,
ou mínima do dia anterior) terá o trap acionado caso rompa a máxima no
candle seguinte.

Entrada: violação da máxima do candle “trap”

Stop: Mínima do candle

Alvo: 100% do risco

Código para Profit Chart:


var
stopLoss: Float;
alvo: Float;

Inicio
Se (IsBought) então
Inicio
SellToCoverStop(alvo, alvo);
SellToCoverStop(stopLoss, stopLoss);

se (time >= 1645) então


SellToCoverAtMarket;
Fim
Senão
Inicio
Se (time <= 1400) e (Minima <= PriorCote(3)) e (maxima > PriorCote(3))
e (minima <= lowd(0)) então
BuyStop(maxima+0.01,maxima+0.01);
stopLoss:= minima-0.01 ;
alvo:= maxima+(maxima - minima);

fim;
Fim;

https://traderobjetivo.com.br/
Setup HiLo

Video: https://youtu.be/q8ACQR_UBfw

A entrada do sistema acontece (neste exemplo, apenas na ponta


compradora) quando o preço fecha acima do hilo superior.

A saída ocorre no candle que fecha abaixo do hilo inferior.

Pode ser adaptado o periodo do hilo e tempo grafico de acordo com as


preferências do trader.

Código para Profit Chart:

INPUT
periodo(7);
inicio
inicio
//COMPRA
Se (fechamento > HiloActivator(periodo)) e (buyposition = 0) entao
BuyatMarket;
Fim;

//SAIDAS
inicio
Se (BuyPosition=1) então
Se (fechamento < HiloActivator(periodo)) então
SellToCoverAtMarket;

Fim;
fim;

https://traderobjetivo.com.br/
Setup com CANAL DE KELTNER

video: https://youtu.be/Di5QVqnpWMg

Canal de Keltner é um indicador de análise tecnica que identifica o preço


típcio do papel.

Calculo: (maxima + mínima + fechamento) / 3

Esse calculo é aplicado ao longo do periodo e identifica uma linha média


central, que depois é somada com 2 desvios padrões pra uma linha
superior e outra inferior, formando um canal.

Este setup preconiza comprar o fechamento do candle que fecha a baixo


da linha inferior, e encerrar posição no candle que fechar acima a linha
inferior.

Código para Profit Chart:

Inicio
Se (IsBought) então
Inicio
Se (fechamento > KELTNERCH(2.01,20,1)|1|) então
SellToCoverAtMarket;
Fim
Senão
Inicio
Se (fechamento < KELTNERCH(2.01,20,1)|1|) então
BuyAtMarket;
Fim;
Fim;

https://traderobjetivo.com.br/
Setup TELE SENA

Indicador: Índice de força Relativa (parâmetro 02 períodos)

Período gráfico: 60m

Metodologia de entrada: Quando candle fechar com IFR2 abaixo de 15 e


estiver acima da média móvel aritmética de 20 períodos, configura-se o
gatilho de compra para a abertura do candle seguinte.

Saída: O alvo é móvel, estando posicionado alguns centavos abaixo da


máxima dos dois candles anteriores ao atual.

Stop será realizado no tempo, no fechamento da sétima barra após a


entrada na operação.

Código para Profit Chart:

var
vprice: Float;
barraCompra : integer;
Inicio
Se (IsBought) então
Inicio
Se (CurrentBar > barraCompra+7) então
SellShortAtMarket
Senão
SellToCoverStop(Highest(high, 2),Highest(high, 2));
Fim
Senão
Inicio
Se (RSI(2,0) <= 15) e (Fechamento > Media(20,Close)) então
BuyAtMarket;
barraCompra := CurrentBar;
Fim;
Fim;

https://traderobjetivo.com.br/
Setup FFFD – FECHOU FORA, FECHOU DENTRO

Video: https://youtu.be/A1fRXptSa3A

Indicador: Bandas de boillinger (parâmetro 20 períodos com 02 desvios


padrões)

Período gráfico: Diário

Ponta: Compradora (o setup pode ser utilizado também para vendas)

Descrição: Quando o preço fecha abaixo da banda inferior, envia-se


ordem de compra à mercado, e quando fecha acima da banda inferior,
envia-se ordem de venda (fechando operação) à mercado.

Código para Profit Chart:

Inicio
Se (IsBought) então
Inicio
Se (Fechamento > bollingerBands(2.00,20,0)|1|) então
SellToCoverAtMarket;
Fim
Senão
Inicio
Se (Fechamento < bollingerBands(2.00,20,0)|1|) então
BuyAtMarket;
Fim;
Fim;

https://traderobjetivo.com.br/
IFR4 – Larry Connors

Setup sugerido pelo amigo VendiVicci

Video: https://youtu.be/UgqciseltpA

Condição de entrada: IFR4 <30

Condição de saída: IFR4 >55

Stop: no fechamento da sétima barra

Código para Profit Chart:


var
dtCompra : integer;
Inicio
Se (IsBought) então
Inicio
Se (date > dtCompra+7) então
SellShortAtMarket
Senão
se (RSI(4,0) > 55) então
SellToCoverAtMarket ;
fim
Senão
Inicio
Se (RSI(4,0) < 30) então
BuyAtMarket;
dtCompra := date;
Fim;
Fim;

https://traderobjetivo.com.br/
Setup SAUDADE DE CASA

Video: https://youtu.be/LDyGWUzjXoQ

Periodo gráfico: 30m

Indicador: Banda de Boillinger (20 períodos com 2 desvios padrão)

Método de entrada: Quando o ativo abre fora das bandas de boillinger


(neste exemplo, abaixo da banda inferior), e no candle seguinte rompe a
máxima do primeiro candle.

Alvo: 1x o risco (busque por alvos maiores e compare rentabilidade)

Stop: Mínima do primeiro candle.

Código para Profit Chart:

Var
Stop: Float;
alvo: float;
Inicio
Se (IsBought) então
Inicio
SellToCoverStop (alvo,alvo);
SellToCoverStop (stop,stop);
se (time[1]>1600) então
SellToCoverAtMarket;
Fim
Senão
Inicio
Se (time[1]>1700) e (time<=0935) e (abertura <
BollingerBands(2.00,20,0)|1|) então
Buystop(maxima,maxima);
Stop := (minima) ;
alvo := (maxima - minima)+maxima;
Fim;
Fim;

https://traderobjetivo.com.br/
Setup IFR2 - Larry Connors

Video: https://youtu.be/jPNsSq23-7E

Metodo de entrada: Candle que fecha com o IFR2 abaixo de 25;

Saída: Máxima dos dois candles prévios;

Stop: Sétima barra após a compra.

Código para back test no profit:

var
barraCompra : integer;
Inicio
Se (IsBought) então
Inicio
//saída da operação na regra 2 ultimas máximas
se (abertura > (Highest(high, 2)[1])) então
SellToCoverStop(abertura,abertura);

Se (maxima >= (Highest(high, 2)[1])) então


SellToCoverStop(Highest(high, 2)[1],Highest(high, 2)[1]);

//Stop no tempo
Se (CurrentBar-7 = barraCompra) então
SellToCoverAtMarket;

Fim
Senão
Inicio
Se (RSI(2,0) <= 25) então
BuyAtMarket;
barraCompra := CurrentBar;
Fim;
Fim;

https://traderobjetivo.com.br/
Setup ESTOCÁSTICO LENTO

Video: https://youtu.be/DwMIPgnWIO8

Período: Gráfico diário

Indicador: Estocástico lento (2 períodos)

Método de entrada: Candle que fechar com estocástico lento abaixo de


20

Método de saída: Candle que fechar com estocástico lento acima de 80

Código para back test no Profit Chart

var
vprice: Float;
dtCompra : integer;
Inicio
Se (IsBought) então
Inicio
Se (Date > dtCompra+7) então
SellShortAtMarket
senão
se (SlowStochastic(2) >= 80) então
SellShortAtMarket;

Fim

Senão
Inicio
Se (SlowStochastic(2) <= 20) então
BuyAtMarket;
dtCompra := Date;

Fim;
Fim;

https://traderobjetivo.com.br/
Setup MÁXIMAS E MÍNIMAS

Video: https://youtu.be/ZfqF_auRnFs

Gráfico: Diário

Método de entrada: Mínima dos dois candles prévios

Método de saída: Máxima dos dois candles prévios

Código para back test (Profit Chart):

Inicio
Se (IsBought) então
Inicio

SellToCoverStop(Highest(high, 2)[1],Highest(high, 2)[1]);

Fim
Senão
Inicio
Se (fechamento[1] > media(20,close)) então
BuyStop(Lowest(Low,2)[1],Lowest(low,2)[1]);

Fim;
Fim;

https://traderobjetivo.com.br/
Setup 9.1 - Larry Williams

Método de entrada: Gatilho de entrada na máxima do candle que virar a


mme9 pra cima;

Método de Saída: Permanecer no trade enquanto a mme9 estiver


acendente.

Stop: Mínima do candle gatilho.

Video: https://youtu.be/TkI_1hW771c

Código para back test (Profit Chart):

Inicio
Se (IsBought) então
Inicio
Se (MediaExp(9,Close) < MediaExp(9,Close)[1]) então
SellToCoverStop(minima,minima);
Fim
Senão
Inicio
Se (MediaExp(9,Close) > MediaExp(9,Close)[1]) e (MediaExp(9,Close)[1]
< MediaExp(9,Close)[2]) então
BuyStop(maxima,maxima);
Fim;
Fim;

https://traderobjetivo.com.br/
Setup 9.2 e 9.3 - Larry Williams

Método de entrada: Gatilho de entrada na máxima do candle que corrigir


na mme9 com segundo fechamento menor que candle de referência;

Método de Saída: Permanecer no trade enquanto a mme9 estiver


acendente.

Stop: Mínima do candle gatilho.

Video: https://youtu.be/L1fFwm0-tQw

Código para back test no ProfitChart


var
barraCompra : integer;
stopOriginal : float;
Inicio
Se (IsBought) então
inicio
selltocoverstop (stopOriginal,stopOriginal);
Se (MediaExp(9,Close) < MediaExp(9,Close)[1]) entao
selltocoverstop (minima,minima);
fim
senão
inicio
Se (MediaExp(9,Close) > MediaExp(9,Close)[1]) e (Fechamento[1] <
Fechamento[2]) e (Fechamento < Fechamento[2]) então
BuyStop(maxima,maxima);
barraCompra :=Currentbar;
stopOriginal := (lowest(low,3));

Se (MediaExp(9,Close) > MediaExp(9,Close)[1]) e (Fechamento <


minima[1]) então
BuyStop(maxima,maxima);
barraCompra :=Currentbar;
stopOriginal := (lowest(low,3));
fim ;
Fim;

https://traderobjetivo.com.br/
Setup 123 de compra

Setup que visa localizar fundos dentro de tendência de alta, com alvo e
stop definidos.

Video: https://youtu.be/IPMYjR9ael8

Código para back test:

var
vprice: Float;
barraCompra : integer;
stopLoss: Float;
alvo: Float;

Inicio
Se (IsBought) então
Inicio
SellToCoverStop(alvo, alvo);
SellToCoverStop(stopLoss, stopLoss);

Fim

Senão

Inicio
Se (Minima[1] < Minima[2]) e (Minima > Minima[1]) e (Media(3,Close) >
(Media(20,Close))) e (Media(20,Close) > Media(50,Close)) então
BuyStop(maxima,maxima);
//parametros de stop e alvo
stopLoss:= minima;
alvo:= (maxima-minima)*2 + maxima;

Fim;
Fim;

https://traderobjetivo.com.br/
SETUP do RAMBO

TEMPO GRAFICO: 15m

Indicadores: IRF2 e Média Móvel Aritmética 5 períodos

Método de entrada: Quando um candle fechar com o IFR2 abaixo de 5,


entra-se comprando no candle seguinte.

Método de saída: Quando o primeiro candle fechar acima da média móvel


aritmética de 05 períodos, encerra-se a operação.

Video: https://youtu.be/R2zgVfJgT_s

Código para ProfitChart:


var
vprice: Float;
barraCompra : integer;
stopLoss: Float;
pCompra: Float;
Inicio
Se (IsBought) então
Inicio

SellToCoverStop (stopLoss,stopLoss) ;
Se (Fechamento > BOLLINGERBANDS(2.00,20,0)|1|) então
SellToCoverAtMarket;
Fim
// compras
Senão
Inicio
Se (Fechamento < BOLLINGERBANDS(2.00,20,0)|1|) e (rsi(2,0)<=15)
então
BuyAtMarket;
barraCompra := CurrentBar;
pCompra:= fechamento;
stopLoss:= (pCompra * 0.98);
Fim;
Fim;

https://traderobjetivo.com.br/
SETUP MÉDIAS 3 - Larry Williams

Período gráfico: Diário

Indicadores utilizados:

 Média móvel aritmética de 3 períodos dos valores de mínimas;


 Média móvel aritmética de 3 períodos dos valores de máximas;
 Média móvel aritmética de 20 períodos dos valores de fechamento;

Metodologia de entrada: Quando o candle fechar abaixo da mma 3


mínimas executa-se a compra.

Saída: A saída (venda) será no primeiro candle que fechar acima da mma 3
máximas.

Filtro: A mma 20 é usada como filtro, que desconsidera qualquer entrada


quando os preços estiverem em regiões abaixo dessa média.

Código para Profit Chart:

Inicio
Se (IsBought) então
Inicio
Se (Fechamento >= Media(3,High)) então
SellToCoverAtMarket;

Se ((media(20,close)<media(20,close[1])))entao
SellToCoverstop(minima,minima);
Fim

Senão
Inicio
Se (media(20,close)>media(20,close[1])) e (Fechamento <=
Media(3,Low)) então
BuyAtMarket;
Fim;
Fim;

https://traderobjetivo.com.br/
Setup Inside Bar

Video: https://youtu.be/LREDaiH4nhI

Back Test em excel: https://youtu.be/sI0sTjVlxAA

Gráfico: Diário

Tipo de sistema: Seguidor de tendência

Filtros: Preço acima da mma20 acendente, e mma20 maior que mma50.


Inside bar é determinado por um candle que tem sua máxima menor que
a máxima do candle anterior, e sua mínima maior que o candle anterior.
No rompimento da máxima deste candle, busca-se alvo de 200% o
tamanho do candle, com o stop em sua mínima.

Código para Profit Chart:

var
pCompra: Float;
stopLoss: Float;
alvo: Float;
begin
If (IsBought) then
begin
SellToCoverStop(alvo, alvo);
SellToCoverStop(stopLoss, stopLoss);
End
Else //Denifição tendencia + compra
begin
if ((HIGH < HIGH[1]) and (LOW > LOW[1]) and (Media(3,Close) >
(Media(20,Close))) and (Media(20,Close) > Media(50,Close))) then
BuyStop(maxima,maxima);
//parametros de stop e alvo
pCompra:= maxima;
stopLoss:= minima ;
alvo:= (pCompra-minima)*2 + pcompra;
end ;
end;

https://traderobjetivo.com.br/
Setup SEMANA 8

Video: https://youtu.be/2VhgvX7OYCk

Gráfico: Semanal

Tipo de sistema: Seguidor de tendência

Método de entrada: Violação da máxima do candle anterior

Alvo: Fixo de 8% acima do preço de entrada

Stop: Móvel, sempre na mínima da semana anterior.

Código para Profit Chart:

Var
alvo: float;

Inicio
Se (IsBought) então
Inicio
SellToCoverStop (alvo,alvo);
SellToCoverStop (minima[1],minima[1]);

Fim
Senão
Inicio

Buystop(maxima[1]+0.01,maxima[1]+0.01);
alvo := maxima[1]*1.08;

Fim;
Fim;

https://traderobjetivo.com.br/

Você também pode gostar