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

Regra de Coloração de indicador

4 Posts
2 Usuários
0 Reactions
159 Visualizações
(@alexandre-ferreira-cardoso)
Membro eminente
Registrou: 2 anos atrás
Posts: 17
Iniciador do tópico  

Boa tarde.

Tenho um setup onde utilizo o indicador macd em uma janela separada e uma regra de coloração para os candles e outra para o indicador. Para os candles a coloração funciona perfeitamente quando mudo o período gráfico, mas para o indicador tenho que refazer a regra de coloração para cada configuração de médias longa, curta e sinal do macd. Tem como a regra se "adaptar"? Segue o código que estou utilizando:

input
ml(150);
mc(14);
s(81);
mme(14);

var
  valmacdh,valmacdl,valmme : float;
Inicio
  valmacdh := macd(ml,mc,s)|1|;
  valmacdl:= macd(ml,mc,s)|0|;
  valmme:=mediaexp(mme,valmacdh);
  Se (valmacdh > 0) e (valmacdh > valmme) então
    PaintBar(clLime)
  Senão Se (valmacdh < 0) e (valmacdh < valmme) então
    PaintBar(clVermelho)
  Senão paintbar(clWhite);
Fim;

   
Citar
(@alexandre-ferreira-cardoso)
Membro eminente
Registrou: 2 anos atrás
Posts: 17
Iniciador do tópico  

Consegui resolver criando um indicador baseado no macd e ao alterar os parâmetros a regra de coloração se adapta. Entretanto ao colocar o foco do mouse na janela do indicador aparecem uns traços na barra, que não interferem, mas me deixaram na dúvida se tem algo errado ou é se um bug. Segue o código e as telas. Alguma luz?

Parametro
  MediaLenta(150);
  MediaRapida(14);
  Sinal(81);
  pMediaComp(14);
  Dado(Fechamento);
  Coloracao(Verdadeiro);
var
  vMACD,vSinal,vHist,vMmeh : Real;
Inicio
  vMACD := MediaExp(MediaRapida,Dado) - MediaExp(MediaLenta,Dado);
  vSinal := MediaExp(Sinal,vMACD);
  vHist := vMACD - vSinal;
  vMmeh := MediaExp(pMediaComp,vHist);
  Plotn(1,vHist);
  Plotn(2,vMmeh);
  SetPlotType(1,1);
  SetPlotType(2,0);
  setplotcolor(2,clyellow);
  SetPlotWidth(1,2);
  SetPlotWidth(2,2);
  Se (Coloracao) entao
    inicio
      se (vHist >= 0) e (vHist >= vMmeH) entao
        setplotcolor(1,clLime)
      senao se (vHist < 0) e (vHist < vMmeH) entao
        setplotcolor(1,clRed)
      senao 
        setplotcolor(1,clWhite);
    fim;
Fim;

   
ReplyCitar
masker
(@masker)
Membro confiável
Registrou: 2 anos atrás
Posts: 41
 

@alexandre-ferreira-cardoso Aqui pra mim está normal, essas linhas pontilhadas não aparecem...


   
ReplyCitar
(@alexandre-ferreira-cardoso)
Membro eminente
Registrou: 2 anos atrás
Posts: 17
Iniciador do tópico  

@masker Fiz o teste no Profit Pro da XP e também não aparecem. No Profit Pro da BTG aparecem. Fui investigar e o motivo da diferença é a opção "Mostrar valores dos indicadores na posição do mouse". Acredito que no seu essa opção esteja desmarcada.

Entretanto, mesmo com essa opção ativada, os outros indicadores apenas exibem o valor na posição e não exibem essas linhas pontilhadas, apenas esse indicador está exibindo as mesmas, o que me leva a achar que tem algo errado com o meu código.


   
ReplyCitar