[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 1033

 
Entendi)))) Fora para ler! ))))
 
fergios:
Não estou jogando fora meu código, estou levando algum baixado! O que também não funciona!

Aqui está um que funciona, conferido.

Em algumas dtCs, abrimos um comércio somente depois da modificação (estabelecimento de paradas e takeaways).

 
costy_:

Aqui está um que funciona, conferido.

Em algumas dc's, primeiro se abre um comércio, só depois se modifica (definir trilhas de parada).


Esqueci de acrescentar a biblioteca

 
fergios: Bem, eu não vou jogar fora meu código, vou levar algum baixado! O que também não funciona!
mas... esta (ligeiramente modificada) é utilizada no Campeonato de Ttauso - embora só tome o 5º lugar... mas isso é devido à falta de modificação de lotes...
 
Vinin:


A biblioteca esqueceu de acrescentar

Oops, sem ele.
Arquivos anexados:
botp1ma.mq4  8 kb
 
De qualquer forma, obrigado pessoal, se eu não consegui descobrir que estava funcionando, vocês deveriam ler isso duas vezes)
 
e ObjetosTotal() são os objetos de todos os gráficos ou o gráfico atual?
 
eddy:
e ObjetosTotal() são objetos de todos os gráficos ou do atual?

Atual.

ObjetosTotal Retorna o número total de objetos do tipo especificado no gráfico.

Confira https://book.mql4.com/ru/functions/objects https://docs.mql4.com/ru/objects/ObjectsTotal

O idioma mcule4 está vinculado a uma janela, a atual.

 
Roman.:


Este loop serve para manter a modificação da ordem ffs (se a modificação da ordem no mercado real falhar na primeira tentativa (acontece) e o possível erro não é crítico: por exemplo, 136 - sem preço - esperar por um novo tick), ou seja, este loop mantém o controle até que a ordem previamente selecionada seja modificada ou até que um erro crítico seja recebido - tudo isso pode acontecer dentro de vários tick ou mesmo segundos (dezenas de segundos).ou seja, se um critério comercial para abrir uma ordem foi acionado neste momento, a ordem não será aberta, pois o controle é mantido pela função de modificação de todas as ordens selecionadas até que ela termine, após o que, se a condição de abertura da próxima ordem no Expert Advisor ainda estiver ativa, a próxima ordem tentará ser aberta no próximo tick - este é apenas um exemplo... "Se a operação comercial for bem sucedida, então o operador de quebra no bloco 6-7 encerra a execução do loop while que provoca a terminação da atual iteração do loop for (e a próxima iteração começa a processar a próxima ordem) - todo este tempo a função mantém o controle até que a última ordem a ser modificada seja executada. Se a operação comercial não for bem sucedida, os erros são tratados. Se o erro não for crítico, a tentativa de repetir a operação comercial é repetida. Se o erro for estimado como crítico, o controle é transferido para fora do loop de modificação para processar a próxima ordem (no loop for), após o que outras funções de Expert Advisor são executadas.

Acho que expliquei isso de uma forma um pouco descuidada, mas é compreensível. :-)))


Obrigado, isso esclarece o que está acontecendo ali.
 
costy_:

Em scripts e Expert Advisors, é possível manter o loop inacabado por um longo tempo sem medo de diminuir a velocidade da interface.

Isto é, em indicador enquanto (verdadeiro) será pendurado, porque Dormir não funciona.

Olhe o roteiro abaixo para ver mais claramente


Obrigado!