mimilon:
Boa noite.
Estava tentando fazer o macd cruzar a linha de sinal e comprar mas não consegui... oque está errado? fiz um teste simples e nada acontece... alguem me ajuda?
Segue meu código:
Eu testei assim também : MAs não funcionou. mudei os numeros dos buffer e nada acontece... tem algum artigo que esplica oque vem nos buffer do macd? oque eu faço?
Olá mimilon,
Experimente trocar essas duas linhas de código
if(CopyBuffer(MACD_handle,0,0,100,BufMACDMainLine)) return; if(CopyBuffer(MACD_handle,1,0,100,BufMACDSignalLine)) return;
por essas
CopyBuffer(MACD_handle,0,0,100,BufMACDMainLine); CopyBuffer(MACD_handle,1,0,100,BufMACDSignalLine);
Abraços,
Malacarne
O retorno da função CopyBuffer não é booleano. A função retorna o número de valores copiados ou -1 como erro da tentativa. No seu caso, provavelmente a função está retornando 100. Daí, como variáveis booleanas são na verdade valores inteiros, sua comparação por meio do if sempre retorna TRUE quando comparada com 100, fazendo com que a função retorne o tick.
Para verificar o erro do retorno dos valores você pode usar if(CopyBuffer(...) == WRONG_NUMBER) ou if(CopyBuffer(...) != 100). Atente-se que no segundo caso, a variável pode retornar 99 que ainda sim o tick será retornado via sua função. Não necessariamente um retorno de 99 indica um erro em si, pois apenas expressa que os 100 valores demandados não puderam ser copiados.
Para verificar o erro do retorno dos valores você pode usar if(CopyBuffer(...) == WRONG_NUMBER) ou if(CopyBuffer(...) != 100). Atente-se que no segundo caso, a variável pode retornar 99 que ainda sim o tick será retornado via sua função. Não necessariamente um retorno de 99 indica um erro em si, pois apenas expressa que os 100 valores demandados não puderam ser copiados.

Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Boa noite.
Estava tentando fazer o macd cruzar a linha de sinal e comprar mas não consegui... oque está errado? fiz um teste simples e nada acontece... alguem me ajuda?
Segue meu código:
Eu testei assim também : MAs não funcionou. mudei os numeros dos buffer e nada acontece... tem algum artigo que esplica oque vem nos buffer do macd? oque eu faço?