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 1109
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
A questão é relevante, por exemplo, para um sistema de treinamento. Para obter a distribuição, instale o MT4 em um pen drive. Ou copiar a pasta do terminal em um pen drive. Então esta pasta pode ser copiada para qualquer número de computadores a qualquer número de vezes. Tal distribuição é útil para fins de backup, backup, restauração... É melhor ligar o terminal com /portátil, caso contrário ele criará pastas inúteis inconvenientes em seu computador. Esta questão é abordada com mais detalhes em outro tópico no link a seguir
Como configurá-lo?
O instalador que eu descarrego não instala nada da Internet.
Quando inicio o instalador, aparece uma janela mostrando um indicador de download de arquivo.
Então outra janela aparece
O instalador exige que eu especifique as configurações de proxy, que eu não tenho.
Quando inicio o instalador, aparece uma janela mostrando um indicador de download de arquivo.
Então outra janela aparece
O instalador exige que eu especifique as configurações de proxy, que eu não tenho.
Olá. Será que a seguinte entrada estará correta? A função quando chamada deve apagar todas as ordens pendentes.
Olá. Será que a seguinte entrada estará correta? A função deve apagar todas as ordens pendentes quando chamadas.
Não, é claro que não. Devemos especificar o bilhete, não o número do pedido no laço:OrderDelete(OrderTicket(),clrNONE);
E a condição é suficiente:if(type>1).
Eu também recomendo que você imprima o código de erro com mais freqüência - isso ajuda.
Oh, sim, as funções do tipo "vazio" não devem retornar nada, não precisamos retornar() na execução normal, somente quando a saída prematura da função é proporcionada por qualquer condição.
Olá. Será que a seguinte entrada estará correta? A função quando chamada deve apagar todas as ordens pendentes.
Tenha em mente que ainda existem tipos de pedidos não documentados com tipo=6 e com tipo=7 respectivamente para operações sobre saldo e sobre crédito em conta.
Em vez de i<=OrdensTotal(),i<OrdensTotal() seria melhor, sem chamar OrderSelect desnecessariamente
E o laço deve ser passado do final para o início, caso contrário, se a matriz de pedidos tiver tempo de ser atualizada depois que o i-ésimo elemento nele for removido, o antigo i+1º elemento no i-ésimo lugar será pulado. É melhor começar do final.
Se considerarmos que os desenvolvedores não garantem nenhuma ordem na matriz de ordens, não podemos realmente garantir que a seqüência de ordens na matriz deles permanecerá a mesma após a exclusão de uma delas. Isto seria bastante confiável. Fazemos loop através do loop até que a ordem pendente seja detectada. O loop é encerrado. Eliminar a ordem que encontramos. Esperamos que o Sleep (100) atualize o conjunto de pedidos. Depois voltamos ao loop para encontrar a ordem pendente, mas com uma nova matriz de ordens. Realizamos uma busca completa, mas não retomando o ciclo anterior. E temos que fazer isso em triplicata (loop para encontrar, apagar uma ordem, esperar que a matriz seja atualizada) até que a ordem pendente não possa ser encontrada.
Não, é claro que não. O bilhete deve ser especificado, não o número do pedido no laço:OrderDelete(OrderTicket(),clrNONE);
E a condição é suficiente:if(type>1).
Eu também recomendo que você imprima o código de erro com mais freqüência - isso ajuda.
Oh, sim, as funções do tipo "vazio" não devem retornar nada, não precisamos retornar() na execução normal, somente quando a saída prematura da função é proporcionada por qualquer condição.
Obrigado!
Observe que ainda existem tipos de pedidos não documentados com tipo=6 e com tipo=7 respectivamente para transações sobre saldo e sobre crédito em conta.
Em vez de i<=OrdensTotal(),i<OrdensTotal() seria melhor, sem chamar OrderSelect desnecessariamente
E o laço deve ser passado do final para o início, caso contrário, se a matriz de pedidos tiver tempo de ser atualizada depois que o i-ésimo elemento nele for removido, o antigo i+1º elemento no i-ésimo lugar será pulado. É melhor começar do final.
Se considerarmos que os desenvolvedores não garantem nenhuma ordem na matriz de ordens, não podemos realmente garantir que a seqüência de ordens na matriz deles permanecerá a mesma após a exclusão de uma delas. Isto seria bastante confiável. Fazemos loop através do loop até que a ordem pendente seja detectada. O loop é encerrado. Eliminar a ordem que encontramos. Esperamos que o Sleep (100) atualize o conjunto de pedidos. Depois voltamos ao loop para encontrar a ordem pendente, mas com uma nova matriz de ordens. Realizamos uma busca completa, mas não retomando o ciclo anterior. E temos que fazer isso em triplicata (loop para encontrar, apagar uma ordem, esperar que a matriz seja atualizada) até que a ordem pendente não possa ser encontrada.
Isto é, para(OrdensTotal()-1,i=0,i--) e no final do loop, dormir e quebrar?