Neo traderBot

Neo traderBot

Você sabia?

Um backtesting adequado deve buscar simular situações práticas do mercado (slippage, custo de operação, etc...)

leaf leftleaf right
Notifications
Clear all

[Solucionado] Alinhamento de medias preço entre medias

2 Posts
2 Usuários
0 Reactions
131 Visualizações
(@thiago)
Membro ativo
Registrou: 2 anos atrás
Posts: 4
Iniciador do tópico  

Fala mestre sou eu de novo rsrs
Fiz uma estratégia para seleção de ativos em tendencia > "Screening"

não quero que quando o preço estiver entre as medias apareça no Screening > em anexo print e abaixo código 

TCOMPRA:= Basicamente é assim quando o preço estiver acima das medias 535,45,30,22 e 13 períodos esta em uma tendencia de alta, não quero que pegue se estiver no médio dessas medias.

Na tendencia de baixa ao contrario no caso

 

 

var
mm13,mm22,mm30,mm45,mm535 : real;
TCOMPRA, TVENDA,TA,TB : Booleano;

begin
//Declarando iniciando variavel
mm13 := MediaExp(13,close);
mm22 := MediaExp(22,close);
mm30 := MediaExp(30,close);
mm45 := MediaExp(45,close);
mm535 := MediaExp(535,close);

TCOMPRA:= (((FECHAMENTO[0] > FECHAMENTO[1] ) and( MINIMA[0] > MINIMA[1])))
and (((FECHAMENTO[0] > mm535) and (mm13 > mm22)) and (mm30 > mm45));

TVENDA:= (((FECHAMENTO[0] < FECHAMENTO[1] ) and( MINIMA[0] < MINIMA[1]))
and (((FECHAMENTO[0] < mm535) and (mm13 < mm22)) and (mm30 < mm45)));

begin
if ( TVENDA ) or (TCOMPRA) then
begin
PaintBar(clAmarelo);
//Alert(clAmarelo);
select;
end;

setPlotStyle(2,psSolid);
Plot(mm13);
Plot2(mm22);
Plot3(mm30);
Plot4(mm45);
Plot5(mm535);

end;
end;

 

 


   
Citar
(@admin)
Membro Admin
Registrou: 2 anos atrás
Posts: 216
 

E aí, @thiago! Tudo bem?

A ajuste é bem simples...basta incluir condições a mais aí nos seus sinais de compra e venda.

Fiz o ajuste considerando que você queira que as médias estejam alinhadas, ou seja, em uma alta a mm13 > mm22 > mm30 > mm45 > mm535 E Fechamento > mm13.

O raciocínio é análogo na tendência de baixa e mantive a sua condição em relação à mínima do Candle.

Espero que lhe ajude aí!

Grande abs!

 

var
mm13,mm22,mm30,mm45,mm535 : real;
TCOMPRA, TVENDA,TA,TB : Booleano;

begin
//Declarando iniciando variavel
mm13 := MediaExp(13,close);
mm22 := MediaExp(22,close);
mm30 := MediaExp(30,close);
mm45 := MediaExp(45,close);
mm535 := MediaExp(535,close);

TCOMPRA := (FECHAMENTO[0] > FECHAMENTO[1]) 
       and (MINIMA[0] > MINIMA[1])
       and (mm13 > mm22)
       and (mm22 > mm30)
       and (mm30 > mm45)
       and (mm45 > mm535)
       and (Fechamento > mm13);

TVENDA := (FECHAMENTO[0] < FECHAMENTO[1])
      and (MINIMA[0] < MINIMA[1])
      and (mm13 < mm22)
      and (mm22 < mm30)
      and (mm30 < mm45)
      and (mm45 < mm535)
      and (Fechamento < mm13);

begin
if ( TVENDA ) or (TCOMPRA) then
begin
PaintBar(clAmarelo);
//Alert(clAmarelo);
select;
end;

setPlotStyle(2,psSolid);
Plot(mm13);
Plot2(mm22);
Plot3(mm30);
Plot4(mm45);
Plot5(mm535);

end;
end;

 


   
ReplyCitar