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é?
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); }
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.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
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?