Conseguindo a Cor do Candle

 

Boa Noite,

 Estou utilizando dois indicadores de terceiros, um que me repassa um valor, e outro que pinta o candle quando deve ser feito a entrada, a situação é que tanto para compra quanto para venda  o valor é maior que 2.5 o que diferencia a compra de venda é a cor do candle, como posso conseguir a cor do mesmo?

//Variaveis
   double _raficolor[],
          _rafi[];

int OnInit()
  {
//Indicadores de Terceiros
   RAFIColorIndicador = iCustom(NULL,0,"RafiColorCandle",1);
   RAFIIndicador = iCustom(NULL,0,"Rafi");
}

void OnTick()
  {
//---
  
if(CopyBuffer(RAFIIndicador,0,0,1,_rafi) < 0){Print("Erro ao receber dados o RAFI =",GetLastError());}
if(CopyBuffer(RAFIColorIndicador,0,0,1,_raficolor) < 0){Print("Erro ao receber dados o RAFI =",GetLastError());}

}

 Este é o código que tenho até o presente momento, sendo que o rafi é o indicador que mostra um valor, ou seja, sempre que passar de 2.5 o RafiColorCandle pinta o candle de vermelho, caso seja venda ou verde caso seja compra.

 A ideia aqui é:

  • Rafi estiver maior que 2.5 e a cor do candle for vermelho (por meio do RafiColorCandle), realiza entrada de venda.
  • Rafi estiver maior que 2.5 e a cor do candle for verde (por meio do RafiColorCandle), realiza entrada de compra.
Em relação a saber o valor do Rafi consegui, e no teste fiz somente Print(_rafi[0]);

Se tiverem outra sugestão fico agradecido também.

 Atenciosamente

Felippe Juliano 

 
Felippe Juliano da silva:

Boa Noite,

 Estou utilizando dois indicadores de terceiros, um que me repassa um valor, e outro que pinta o candle quando deve ser feito a entrada, a situação é que tanto para compra quanto para venda  o valor é maior que 2.5 o que diferencia a compra de venda é a cor do candle, como posso conseguir a cor do mesmo?

 Este é o código que tenho até o presente momento, sendo que o rafi é o indicador que mostra um valor, ou seja, sempre que passar de 2.5 o RafiColorCandle pinta o candle de vermelho, caso seja venda ou verde caso seja compra.

 A ideia aqui é:

  • Rafi estiver maior que 2.5 e a cor do candle for vermelho (por meio do RafiColorCandle), realiza entrada de venda.
  • Rafi estiver maior que 2.5 e a cor do candle for verde (por meio do RafiColorCandle), realiza entrada de compra.
Em relação a saber o valor do Rafi consegui, e no teste fiz somente Print(_rafi[0]);

Se tiverem outra sugestão fico agradecido também.

 Atenciosamente

Felippe Juliano 

Olá Felippe Juliano da silva,

Geralmente um indicador possui internamente um buffer apenas para carregar a informação da cor do candle.

Para fazer o que você quer, seria interessante mapear esse buffer para que o mesmo possa ser utilizado.

Um outra alternativa seria perguntar para o próprio desenvolvedor.

Abraços,
Malacarne 

 
Rodrigo Malacarne:

Olá Felippe Juliano da silva,

Geralmente um indicador possui internamente um buffer apenas para carregar a informação da cor do candle.

Para fazer o que você quer, seria interessante mapear esse buffer para que o mesmo possa ser utilizado.

Um outra alternativa seria perguntar para o próprio desenvolvedor.

Abraços,
Malacarne 

Olá Felippe!

Conseguiu chegar numa solução para isso? Estou começando na programação em mql5 e também estou tentando usar o raficolorcandle, mas ainda não consegui nem ler corretamente kkk. Se puder dar uma luz, agradeço.


Abraço

 
Geziel MC:

Olá Felippe!

Conseguiu chegar numa solução para isso? Estou começando na programação em mql5 e também estou tentando usar o raficolorcandle, mas ainda não consegui nem ler corretamente kkk. Se puder dar uma luz, agradeço.


Abraço

O indicador Rafi que vocês estão usando é Open-source ? Se for, tem que procurar o buffer correspondente a cor dentro dele, ou caso o buffer não existir tem que ser implementado.


Caso não for open-source, a única forma, seria saber talvez através da documentação, a posição do buffer que demarca a cor do candle ou entrando em contado com o desenvolvedor para obter tal informação.


Agora, se por acaso a fórmula matemática do RAFI seja de domínio público, talvez fosse interessante escrever o indicador do zero, já incluindo no novo código o buffer correspondente a coloração do candle.