[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 282

 

Cavalheiros, ensinem como levar um sinal dedivergência de um indicador(FX5_Divergence_V2.1.mq4) para um EA.

Os tampões 2 e 3 do indicador dão EMPTY_VALUE.

 
Alguém tem um coletor de carrapatos que salva o histórico de carrapatos da seguinte forma: hora de chegada do carrapato, asc, bid? a base de código só tem um coletor de carrapatos sem asc.
 
Sergey_Rogozin:

Cavalheiros, ensinem como levar um sinal dedivergência de um indicador(FX5_Divergence_V2.1.mq4) para um EA.

Os tampões 2 e 3 do indicador dão EMPTY_VALUE.

Fui eu que escrevi seu roteiro? Tem de tudo. Em vez da saída da mensagem Alert, escreva seu processamento. Você pode escrever oito em DoubleToString() em vez de seis casas decimais se sair zeros. Em qualquer caso, os sinais estão presentes e o roteiro os lê. Aplique alguma mente e esforço.
 
artmedia70:
Eu lhe escrevi um roteiro? Tem de tudo. Em vez de emitir uma mensagem com Alerta, escreva seu processamento. Você pode escrever oito em DoubleToString() em vez de seis casas decimais se sair zeros. Em qualquer caso, os sinais estão presentes e o roteiro os lê. Aplique alguma mente e esforço.
Que homem teimoso. Deixe-me explicar-lhe novamente com os dedos.
Os valores vazios dos amortecedores com flechas são preenchidos em vez de zeros com valores EMPTY_VALUE numericamente iguais a 2147483647. Onde há setas, os valores são diferentes, por exemplo, 0,000031.
Temos que filtrar programticamente os valores "vazios", pois eles se parecem com o número 2147483647 em comparação.
Por exemplo, eu o faço desta maneira e funciona. Quem é mais esperto, pode torná-lo mais bonito.

double buy=iCustom(NULL,0,"FX5_Divergence_V2.1",2,CountBar);
// отфильтровывает значения EMPTY_VALUE, заменяя их на 0 
if(buy==EMPTY_VALUE) buy=0.0;
// теперь значения buy могут быть либо 0, либо значением стрелки, например, 0,000032
 
granit77:
Que homem teimoso. Deixe-me explicar-lhe novamente com os dedos.
Valores vazios de amortecedores com setas são preenchidos em vez de zeros com valores EMPTY_VALUE numericamente iguais a 2147483647. Onde há setas, os valores são diferentes, por exemplo, 0,000031.
Temos que filtrar programticamente os valores "vazios", porque eles se parecem com o número 2147483647 em comparação.
Por exemplo, eu o faço desta maneira e funciona. Quem é mais esperto, pode torná-lo mais bonito.

Agora a pessoa escreverá que os amortecedores 2 e 3 produzem apenas zeros :))))

Cara, uma lógica tão simples: se o valor do buffer NÃO é igual a VAZIO_VALOR, significa que há uma seta nesta barra e, portanto, um sinal.
E como apresentar este valor vazio e com o que compará-lo é uma questão de gosto.

 
artmedia70:

Tudo aqui é uma confusão sangrenta...


Para a ilha!!! :)

Eu tenho os mesmos números (via Expert Advisor) mas a janela de Dados mostra EMPTY_VALUE! Existe alguma maneira de consertar isso?


 
granit77:
Homem teimoso. Deixe-me explicar-lhe novamente com os dedos.
Os valores vazios dos amortecedores com flechas são preenchidos com EMPTY_VALUE numericamente igual a 2147483647 em vez de zeros. Onde há setas, os valores são diferentes, por exemplo, 0,000031.
Temos que filtrar programticamente os valores "vazios", porque eles se parecem com o número 2147483647 em comparação.
Por exemplo, eu o faço desta maneira e funciona. Quem é mais esperto, pode torná-lo mais bonito.



entendido de forma aproximada.

 

Para a artmedia70.

Eu realmente não poderia usar o roteiro. Eu tentei fazer quase o mesmo que o granit77 ,mas também não funcionou.

Se(buy===EMPTY_VALUE) comprar=0,0 ; - o resultado é sempre "0". Tenho Alertas vindos do indicador, mas o Alerta anexado ao Conselheiro Especialista não está funcionando.

Ok, obrigado, vou continuar a "sofrer" ...)))

 
Sergey_Rogozin:

Para a artmedia70.

Eu realmente não poderia usar o roteiro. Eu tentei fazer quase o mesmo que o granit77 ,mas também não funcionou.

Se(buy===EMPTY_VALUE) comprar=0,0 ; - o resultado é sempre "0". Tenho Alertas vindos do indicador, mas o Alerta anexado ao Conselheiro Especialista não está funcionando.

Ok, obrigado, vou continuar a "sofrer" ...)))

você não é o único - agonizante, eu já estou fixando o indicador:))))
 
todem:

Eu tenho os mesmos números (via EA), mas a janela de Dados mostra VAZIO_VALOR! Existe alguma maneira de consertar isso?

Quando você imprime valores de buffer para a tela, o que você faz? De qualquer forma, são os dados numéricos que estão sendo emitidos. Se você quiser emitir uma string vazia, ou "Valor Vazio" ou "VAZIO_VALOR", produza-as como variáveis de string.
Isto é..:
val. de corda;
se(valor tampão===VALOR_EMPTY) val="EMPTY_VALUE";
Mas se(valor tampão!=EMPTY_VALUE) val=DoubleToString(valor tampão, 8);
e exibir o valor da variável val em vez do valor tampão.
Por exemplo: Comentário ("Valor = ", val);