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 135
![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
Bom dia, se não for muito difícil, por favor, avise um novato:
1) Como declarar um array de tamanho igual ao valor de alguma variável? (se i=7 declarar array duplo Muss[7] e assim por diante);
2) Por que uma matriz em uma função definida pelo usuário é considerada declarada e utilizada adequadamente se a condição é sempre falsa?
enquanto (falso){
Alerta("aaaaaaaaaaaa" );
Buf_max estático duplo [9000000];
Buf_min duplo estático [9000000];}
3) Existe uma diferença na função do usuário e, em geral, entre apenas uma matriz e uma matriz estática?
Bom dia, se não for muito difícil, por favor, avise um novato:
1) Como declarar um array de tamanho igual ao valor de alguma variável? (Se i=7 declarar array duplo Muss[7] e assim por diante);
...
1) ArrayResize()
tal coisa:
se você chamar MarketInfo(Symbol(),MODE_TRADEALLOWED), ele retorna - 1=comércio permitido.
Mas se você pairar sobre o símbolo na visão geral do mercado, a ponta de ferramenta com texto - Trade: Close aparecerá.
qual é o truque aqui?
realmente não me deixa negociar, mas por que MODE_TRADEALLOWED retorna um valor errado?
Quantas vezes você executou o indicador? Parece várias vezes (a ciclicidade é perceptível em seus resultados).
Adicionar mais uma impressão ao deinit com algum "separador", definir a condição de entrada ou refazê-la no script para que não seja executada mais de uma vez, então ficará mais clara.
Grande idéia))
Eu o simplifiquei, assim:
O início no diário de bordo é assim:
Não há sequer nenhum ciclo. Não há ordem. A produção não é nada consistente.
Grande idéia))
Eu o simplifiquei, assim:
O início no diário de bordo é assim:
Não há sequer nenhum ciclo. Não há ordem. A produção não é nada consistente.
Você tornou as coisas um pouco mais complicadas, na fase de teste tudo pode ser feito em 1-2 linhas, dependendo da variante. É possível fazer tudo na Inite. A ordem de saída não foi estipulada.
Você tornou as coisas um pouco mais complicadas, na fase de verificação tudo pode ser feito em 1-2 linhas, dependendo da variante. É possível fazer tudo na Inite. A ordem de saída não foi estipulada.
Você pretende introduzir uma bandeira para que os loops sejam executados uma vez e pronto? Eu não paro de executar... É assim que funciona:
No entanto, em essência, o código deve funcionar como no INITA, de uma vez por todas. Então a variável booleana Status_run será imediatamente definida como falsa e a condição se não for executada novamente... Mas meu tronco não fica sem saída por algum motivo.
Você pretende introduzir uma bandeira para que os loops sejam executados uma vez e pronto? Eu não paro de correr... É assim que funciona:
Embora em essência, o código deve funcionar como no INITE, uma vez e pronto. Então a variável booleana Status_run será imediatamente definida como falsa e a condição se não for executada novamente... Mas eu não fico sem saída no tronco por alguma razão.
Você afirmou que os loops deram resultados errados e eu lhe ofereci uma maneira de testá-los. Se funcionar como você precisa, então você deve seguir seu algoritmo, e se não, você deve mudá-lo durante a verificação.
PS "Status_run" deve ser criado antes de começar(), é uma variável global.
Gurus, uma palavra de conselho. Eu defino a variável bool Flag=true; para começar,
Eu abro um acordo
se ( condição)
{
Opn_S = verdadeiro;
Bandeira=falso;
}
Há uma pergunta sobre a bandeira, se a bandeira retornafalsa quando aberta e há esta bandeira na condição de aberta. Por quanto tempo a verdade ou o falso é passado para a bandeira, ela é zerada no dia seguinte?
Gurus, uma palavra de conselho. Eu defino variável bool=verdadeiro; para começar,
Eu abro um acordo
se ( condição)
{
Opn_S = verdadeiro;
Bandeira=falso;
}
Há uma pergunta sobre a bandeira, se a bandeira retornafalsa quando aberta e há esta bandeira na condição de aberta. Por quanto tempo a verdade ou o falso é passado para a bandeira, ela será zerada no dia seguinte?
Não, a cada novo tick o valor de A bandeira será verdadeira . https://book.mql4.com/ru/variables/types
Ou declarar a variável globalmente - por exemplo, no início de um programa, fora de todas as funções.
Ou fazer a variável estática - bandeira estática bool=verdadeira; .
Não, a cada novo tick o valor de A bandeira será verdadeira . https://book.mql4.com/ru/variables/types
Ou declarar a variável globalmente - no início do programa, fora de todas as funções.
Ou fazer a variável estática - bandeira estática bool=verdadeira; .