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 1052

 
rapid_minus:

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. Escrevi que o lapso foi ignorado no testador (que é claro), mas todas as posições estão abertas desde que eu as tenha especificado. 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.

Onde está seu código?

Talvez isto possa ajudar?

 
rapid_minus:

Como todos são inteligentes - apenas assustadores. Se você não sabe ler: escrevi que o deslize é ignorado no testador (que é claro), mas as posições estão todas abertas, como indicado. Mas no talão de demonstração não funciona, e a posição é aberta apenas uma, e esta se fecha imediatamente. Eu não posso resolver este problema.

Aparentemente esta não é a primeira vez que você foi rude, por isso ninguém responde. Embora você já tenha recebido uma resposta à sua segunda pergunta.

Mas você só poderia responder desta forma.

Rapid_minus:
É claro que a oferta envelheceu, mas eu esperava que este projeto permitisse abrir várias posições no bar atual com preços de abertura de oferta diferentes. E funciona bem no testador, mas na demonstração ele abre uma posição e a fecha imediatamente. como evitá-la não está claro.

O que você esperava? Nós oferecemos uma solução. Você deve lê-lo com atenção.

 
rapid_minus:
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);
Sleep(10000);
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);
Precisamos após cada Sleep(10000); RefreshRates(); Bid será atualizado e gingerbread será nosso
 
AlexeyVik:

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 das minhas variantes.

Esta função determina o número de casas decimais de absolutamente qualquer número.

O algoritmo é escandalosamente simples - considere quantas vezes o resíduo de divisão por 1 é maior que zero.

Eu não disse que meu caminho é melhor. Cada programador está escrevendo sua própria maneira de resolver o problema.

Um número do tipo duplo, mesmo que não tenha dígitos significativos na parte fracionária, parece 2,0, o que não é totalmente correto, e para obter um número inteiro normal é convertido implicitamente em int tipo.

Muito obrigado.

Mas por que (int) deveria ser colocado antes da expressão?

 
Igemon:

Muito obrigado.

Por que (int) é colocado na frente da expressão?

Leiaisto, é muito útil.
 
Obrigado, LRA! Como sempre nesta linha, a ajuda vem do lado errado das pistas. A maioria dos "gurus" locais não ajudam os recém-chegados, mas apenas admiram a si mesmos, embora em outros ramos eles mesmos estejam às vezes em assuntos simples. É por isso que eles são tão sensíveis quanto os calouros. Obrigado também ao artmedia70 pelo link. Isso me fez rir. E é lindo, um pequeno rosto no tablóide.
 
No momento, o indicador registra o gráfico de tiquetaque no gráfico off-line e, em seguida, a abertura do gráfico é manual.
Posso abrir um gráfico em um Expert Advisor a partir do Open Offline Chart por seu nome? Eu olhei para ChartOpen() mas ele não funciona pelo nome.
 
Igemon:       Por que (int) é colocado na frente da expressão?
Experimente com ele e experimente sem ele. Um especialista no assunto disse: Experiência = critério de verdade
 
Olá a todos... Você pode me dizer se existe uma função mql4 que cumpre a seguinte condição: se uma ordem abre, digamos comprar no sinal indicador... Depois, se houver um sinal de inversão, a compra é fechada e a venda é aberta ... etc... Ou aconselhar como registrá-lo em seu Expert Advisor ... Obrigado de antemão
 
boa tarde! você pode aconselhar uma pessoa analfabeta como expressar a vela como porcentagem?