Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1051
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
Eu não entendo onde está a resposta. Refiro-me a isto: "A função integra a verificação do estado da bandeira de parada do Expert Advisor a cada 0,1 segundo"? Em caso afirmativo, como esta bandeira pode ser retirada?
Não, se você tivesse lido até o fim, veria a resposta para a res...
Nota
A função Sleep() não pode ser chamada a partir de indicadores personalizados, pois os indicadores são executados na rosca de interface e não devem retardá-la. A função tem uma verificação incorporada do status da bandeira de parada do especialista a cada 0,1 segundo. A função Sleep() no testador de estratégia não causa nenhum atraso.
Comece colando isto no final do indicador. Uma vez que você vê a marca na tela, descubra como colocar o que você quer nela. Aqui você recebe conselhos, mas tem que fazê-lo você mesmo.
int Número=25;
if(H===H1&&H1===H2)
{if(J == true) {ObjectCreate(PatternText[shift],
OBJ_TEXT, 0, Tempo[turno1], Alto[turno1] + Alcance*5);
ObjectSetText(PatternText[shift], "pattern", 10, "Arial", Vermelho);
downArrow[shift1] = High[shift1] + Range*0,5;}if(setalert == 0 && Alert == true) {pattern = "padrão";setalert = 1;}}}
if(ObjectFind(0, "Texto")<0) // verificar etiqueta de saída
{
ObjectCreate("Texto", OBJ_LABEL, 0, 0, 0, 0); // criação
ObjectSet("Texto", OBJPROP_CORNER, 1); // canto superior direito
ObjectSet("Texto", OBJPROP_XDISTANCE, 10); //X
ObjectSet("Texto", OBJPROP_YDISTANCE, 10); //Y
}
ObjectSetText("Texto", string(número), 14, "Arial", Preto); // Saída para etiqueta
}
retorno(0);
}
A questão é muito mais fácil de resolver.
StringLen("tickEURUSD")
É certamente mais fácil com ela.... Talvez estivesse faltando na época, ou se tenha perdido... Está definitivamente faltando no meu TurboPascal preferido. Eu costumava fazer multiplicação de logaritmos.
Por um tempo depois de mudar para o mql4 atualizado, houve um erro na documentação. Clicando no MathLog10 abriu a ajuda do MathLog
Escrevi para Servicedesk sobre isso, mas eles consertaram metade e deixaram a outra metade...
log(10) realmente não é 1, mas o fato de que o mql não tem um logaritmo decimal me surpreende...
O que é então? https://docs.mql4.com/ru/math/mathlog10 embora haja um erro no texto.
A questão é muito mais fácil de resolver.
Responderei logo desde o último post.
O que são logaritmos que eu entendo, não entendi para que serve naquele código, mas depois da correspondência de você e daquele camarada eu entendi que é para casas decimais, certo?
Não poderia ser feito de qualquer outra forma? Por que isto em código(int) ? Por que seu caminho é melhor do que a linha que eu forneci ?))
muito obrigado)
Responderei logo desde o último post.
Eu entendo o que são logaritmos, não entendi por que nesse código, mas depois de sua e daquela correspondência do camarada eu entendi que é para determinar o número de casas decimais, certo?
Não poderia ser feito de qualquer outra forma? Por que eu preciso dele em código(int) ? Por que seu caminho é melhor do que a linha que eu forneci ?))
muito obrigado)
Sim, para determinar o número de casas decimais. Isto é necessário para normalizar o valor do lote se o lote for definido por alguma fórmula e o resultado pode ter mais casas decimais do que o permitido. Em alguns casos, você pode simplesmente colocar um duque, mas depois pode encontrar um erro, então é melhor defini-lo de forma programática.
Há outra maneira de fazer isso. Há duas maneiras de resolver este problema. Uma é converter número em string, definir o comprimento da string, encontrar índice de caractere de ponto e a diferença entre o comprimento da string e o índice de caractere de ponto será avaliada como parte fracionária do número. E no fórum mql5, você pode encontrar várias variantes, algumas mais finas, outras mais fáceis.
Aqui está mais uma variante.
Esta função define o número de casas decimais de absolutamente qualquer número.
O algoritmo é escandalosamente simples, devemos considerar quantas vezes o resíduo da divisão por 1 será maior que zero.
Eu não disse que meu caminho é melhor. Cada programador escreve da maneira como vê a solução do problema.
Um número do tipo duplo, mesmo que não tenha dígitos significativos na parte fracionada tem a forma, por exemplo, 2,0, o que não é totalmente correto, e para obter um inteiro normal é convertido implicitamente em int tipo.
Nota
A função Sleep() não pode ser chamada a partir de indicadores personalizados, pois os indicadores são executados na rosca de interface e não devem retardá-la. A função tem uma verificação incorporada do estado da bandeira de parada do especialista a cada 0,1 segundo. A função Sleep() no testador de estratégia não causa nenhum atraso.
Todos são tão inteligentes que é assustador olhar para eles. Escrevi que o deslize foi ignorado no Testador de Estratégia (que é claro), mas todas as posições estão abertas como eu especifiquei. Mas no talão de demonstração não funciona, e a posição é aberta apenas uma, e esta se fecha imediatamente. Este é o problema que não posso resolver.