Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1245
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
não, por exemplo, passar primeiro o caso 1, depois o caso 2, etc.
Os casos executam uma abertura de ordem
O pedido é aberto em mais de um lugar. Você tem que pensar exatamente como pensa neste código, e é difícil.
Há mais de uma abertura. Em tal código, você tem que pensar exatamente como pensa, e isso é difícil.
Se houver um loop dentro do EA OnTick que leve um tempo decente, ele será executado completamente ou a chegada de um novo tick interromperá tudo isso?
Eu também não entendo, no meu caso o loop é aberto e nem todas as ordens são abertas, algumas são abertas duas vezes e algumas são puladas, entendo que um novo tick aciona o início e o código suspende sua execução e começa a funcionar novamente
Entendo que um novo tique aciona um início e o código pausa sua execução e começa a ser executado novamente.
não invente isso.
leia a ajuda, está claramente escrito lá que se houver cálculos complexos na EA, o novo tick será pulado
em algum lugar no artigo sobre funções de tratamento de eventos ou talvez em operações comerciais ou em RefreshRates
procure por erro lógico em seu código
HH: switch() - caso não é usado para condições lógicas complexas, melhores combinações de if() - assim você obtém ramos lógicos mais inequívocos
não invente.
leia a ajuda, ela diz claramente que se houver cálculos complexos na EA, o novo tick será pulado
em algum lugar no artigo sobre funções de tratamento de eventos ou talvez em operações comerciais ou em RefreshRates
procure por erro lógico em seu código
SZY: switch() - caso não é usado para condições lógicas complexas, melhores combinações de if() else - assim são obtidos ramos lógicos mais inequívocos
sim, obrigado, já decidi escrever tudo também se-else
Por que você adicionou o interruptor aqui? É mais fácil obter a direção do negócio e o número de aberturas necessárias para a função e abrir tantas aberturas quantas forem especificadas no laço.
É por isso que eu digo que entender sua lógica está além da minha mente. Por que uma bagunça assim?
Por que você adicionou o interruptor aqui? É mais fácil obter a direção do negócio e o número de aberturas necessárias para a função e abrir tantas aberturas quantas forem especificadas no laço.
É por isso que eu digo que entender sua lógica está além da minha mente. Por que uma bagunça assim?
Bem, meu código acabou de aumentar de tamanho, e eu pensei que seria muito mais fácil.
Na verdade, se o caso pudesse ser chamado quantas vezes eu quisesse durante a execução de uma função, seria mais fácil e o código seria compacto.
Não preciso abrir negócios semelhantes em loop e eles são abertos para símbolos diferentes simultaneamente (tanto quanto possível) após a ocorrência de um sinal.
caso 1 - audusd buy
caso 5 - gbpusd buy
caso 9 - eurusd buy
etc.
No primeiro caso eu tenho uma folha com estojo e no segundo com análise, se interagissem, seriam 500 linhas.
A segunda variante implica prescrever uma abertura de ordem específica dentro da função com análise e o total de linhas seria de 1200+, o que eventualmente afetaria a velocidade de execução do programa
Você pode me ajudar, por favor! O Expert Advisor utiliza o indicador Envelopes com cálculo dinâmico de desvio. Mas quando é exibido no gráfico, ele mostra toda a dinâmica do desvio do indicador em todas as barras anteriores.
1. Existe uma maneira de fazer o indicador desenhar corretamente? Ou seja, ele desenharia o indicador com seu desvio somente em sua própria barra.
2. Como posso desativar o desenho do indicador em um Expert Advisor, deixando apenas seus cálculos? Quero habilitar a desativação do desenho do indicador em configurações especializadas )
Bem, no final meu código só cresceu em tamanho, enquanto eu pensava que seria mais simples.
De qualquer forma, se fosse possível chamar o caso quantas vezes eu quiser durante a execução de uma função, seria mais fácil e o código seria mais compacto.
Não preciso abrir negócios semelhantes em loop e eles são abertos para símbolos diferentes simultaneamente (tanto quanto possível) após a ocorrência de um sinal.
caso 1 - audusd buy
caso 5 - gbpusd buy
caso 9 - eurusd buy
etc.
No primeiro caso eu tenho uma folha com estojo e no segundo com análise, se interagissem, seriam 500 linhas.
A segunda variante implica prescrever uma abertura de ordem específica dentro da função com análise e o total de linhas seria de 1200+, o que acabaria por afetar a velocidade de execução do programa
Com o que você está digitando tantas linhas de código? Aqui está um dos meus últimos EA, ele trabalha com um conjunto de títulos em FORTS
Como muitos títulos serão listados nesta lista, tantos serão negociados. E esta EA com controle de dois prazos comerciais, com trailing e, é claro, com análise, apenas 326 linhas.
Se você quiser usar o interruptor, não é necessário adicionar abertura de posição em cada variante. É suficiente especificar o nome do símbolo, o tipo de operação comercial e o
Mas seria melhor, em minha opinião, embrulhar tudo isso em uma função definida pelo usuário.