Padrão de Candle Estrela Cadente

 

Oi, estou com dificuldade para definir a lógica para ativar o trade de venda, para descrever o padrão de candle Estrela Cadente. Ao compilar não dá erro, mas se coloco o Expert para executar, ele não aciona o trade.


// LÓGICA PARA ATIVAR VENDA 1

    bool venda_estrela_cadente_candlevermelho1 = preco[2].close > preco[2].open && 

                                                                             preco[1].close > preco[1].open && 

                                                                             preco[0].close < preco[0].open && 

                                                                            (preco[0].high - preco[0].open) > (preco[0].open - preco[0].close)*3 &&

                                                                            IndVolume[0] > IndVolume[1]; 

Alguém sabe onde está o erro dessa lógica?

 
jcfil:

Oi, estou com dificuldade para definir a lógica para ativar o trade de venda, para descrever o padrão de candle Estrela Cadente. Ao compilar não dá erro, mas se coloco o Expert para executar, ele não aciona o trade.


// LÓGICA PARA ATIVAR VENDA 1

    bool venda_estrela_cadente_candlevermelho1 = preco[2].close > preco[2].open && 

                                                                             preco[1].close > preco[1].open && 

                                                                             preco[0].close < preco[0].open && 

                                                                            (preco[0].high - preco[0].open) > (preco[0].open - preco[0].close)*3 &&

                                                                            IndVolume[0] > IndVolume[1]; 

Alguém sabe onde está o erro dessa lógica?

Sem Código completo, como é que você achar que iremos analisar sua pergunta???

Ponha-se no nosso lugar...

Pelo Amor de Deus, né?

 
jcfil:

Oi, estou com dificuldade para definir a lógica para ativar o trade de venda, para descrever o padrão de candle Estrela Cadente. Ao compilar não dá erro, mas se coloco o Expert para executar, ele não aciona o trade.


// LÓGICA PARA ATIVAR VENDA 1

    bool venda_estrela_cadente_candlevermelho1 = preco[2].close > preco[2].open && 

                                                                             preco[1].close > preco[1].open && 

                                                                             preco[0].close < preco[0].open && 

                                                                            (preco[0].high - preco[0].open) > (preco[0].open - preco[0].close)*3 &&

                                                                            IndVolume[0] > IndVolume[1]; 

Alguém sabe onde está o erro dessa lógica?

Não sei se o problema é esse, mas o código que você mandou a sua função está sem retorno.


Eu tenho uma função com o padrão MARTELO e MARTELO INVERTIDO (estrela cadente). Tenta usar e ver se irá funcionar no seu, pois eu testei no meu e funcionou certinho.

bool CandleMartelo(ENUM_TIMEFRAMES TempoVela = PERIOD_CURRENT, int ArrayVela = 1)
{
  
  double a = iHigh(_Symbol, TempoVela, ArrayVela); // MAXIMA
  double b;                                        // ABERTURA
  double c;                                        // FECHAMENTO
  double d = iLow(_Symbol, TempoVela, ArrayVela);  // MINIMA
  
  
  
  if(iOpen(_Symbol, TempoVela, ArrayVela) > iClose(_Symbol, TempoVela, ArrayVela))
  {
    //  MARTELO INVERTIDO
    b = iOpen(_Symbol, TempoVela, ArrayVela);
    c = iClose(_Symbol, TempoVela, ArrayVela);
  }
  
  else
  {
    // MARTELO
    b = iClose(_Symbol, TempoVela, ArrayVela);
    c = iOpen(_Symbol, TempoVela, ArrayVela);
  }
  
  
  // PADRÃO MARTELO
  if( ((c-d) > ((b-c)*2)) && ( (a==b) || (a-b) < ((b-c)/2) ) )
    {return(true);}
   
     
  
  // PADRÃO MARTELO INVERTIDO (ESTRELA CADENTE)
  else if( ((a-b) > ((b-c)*2)) && ((c==d) || (c-d) < ((b-c)/2)  ) )
    {return(true);}
   
   else{return(false);}
 


return(false);
}
 
Rafael Magalhães #:

Não sei se o problema é esse, mas o código que você mandou a sua função está sem retorno.


Eu tenho uma função com o padrão MARTELO e MARTELO INVERTIDO (estrela cadente). Tenta usar e ver se irá funcionar no seu, pois eu testei no meu e funcionou certinho.

Obrigado Rafael, foi muito proveitosa a sua informação
Razão: