[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 228
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
Tudo depende se esta variável está disponível para todas as funções da EA (bem... não todas, mas algumas com certeza). Então, a variável é global.
Se for usado apenas em uma função, então é local.
A questão é como "em que água colocar as flores, simples ou adocicada" ... Enquanto você adivinhava, as flores se tornaram uma vassoura. :))
:о)
Eu meio que descobri essas regras, mas na prática minhas ordens não funcionaram, então enquanto eu estava procurando o problema, tentei muitas variantes e movi variáveis para global, como estática, mas tudo funcionou, apesar de eu ter uma função. Embora eu ainda não tenha certeza se essa foi a razão. Estou confuso e decidi perguntar aqui. Você não disse nada sobre variáveis estáticas. Talvez devêssemos fazê-los assim? Não entendo, quando você reentrar na partida (em um tick, por exemplo) as variáveis são reiniciadas? E a estática não? Em caso afirmativo, meus carrapatos se tornam zero?
PS Damn, comecei a programar de perto, estou escrevendo um grail....., se houver grama.... suficiente, parece que agora sou um cliente habitual aqui :))
Se sua corretora tiver spreads flutuantes, então é melhor usar a auto-determinação do tamanho do spread na função Start da EA e definir o slippage em três spreads, por exemplo. Então o escorregamento se transformará dinamicamente.
Tente fazer o escorregamento depender primeiro da volatilidade. Em um mercado calmo será mínimo, em um mercado rápido se espalhará mais.
Quando se trabalha com H1 será difícil calcular a volatilidade de uma única vela, é preciso pensar em como calculá-la.
:о)
Esta teoria eu meio que entendi, mas na prática minhas ordens não funcionaram e enquanto procurava o problema, tentei muitas variantes e movi variáveis para global como estáticas, mas tudo funcionou, embora a função seja a mesma. Embora eu ainda não tenha certeza se essa foi a razão. Estou confuso e decidi perguntar aqui. Você não disse nada sobre variáveis estáticas. Talvez devêssemos fazê-los assim? Não entendo, quando você reentrar na partida (em um tick, por exemplo) as variáveis são reiniciadas? E a estática não? Em caso afirmativo, meus carrapatos se tornam zero?
PS Damn, comecei a programar de perto, estou escrevendo o grail....., se a grama for suficiente...., ao que parece, sou um cliente habitual aqui agora :))
Uma variável local é uma variável declarada dentro de qualquer função. O escopo das variáveis locais é o corpo da função na qual a variável é declarada. Uma variável local pode ser inicializada com uma constante ou uma expressão, correspondente ao seu tipo.
Uma variável global é uma variável declarada fora de todas as funções. O escopo das variáveis globais é o programa inteiro. Uma variável global não é localizada em nenhum nível. Uma variável global só pode ser inicializada por uma constante correspondente a seu tipo (mas não por uma expressão). As variáveis globais são inicializadasapenas uma vez antes da execução de funções especiais.
Se o controle em um programa está dentro de uma função, os valores das variáveis locais declaradas em outra função não estão disponíveis. O valor de qualquer variável global está disponível a partir de qualquer função especial e de usuário.
Variável estáticaEm nível físico, as variáveis locais são representadas na área de memória temporária da respectiva função. Há uma maneira de localizar uma variável declarada dentro de uma função na memória permanente do programa. Para fazer isso, ao declarar uma variável, o modificador estático deve ser especificado antes do tipo de variável:
As variáveis estáticas são inicializadas apenas uma vez. Cada variável estática pode ser inicializada com uma constante correspondente ao seu tipo (ao contrário de uma variável local simples, que pode ser inicializada com qualquer expressão). Se não houver uma inicialização explícita, uma variável estática é inicializada com zero. As variáveis estáticas são armazenadas em uma área permanente da memória do programa eseus valores não são perdidos quando a função é encerrada. Ao mesmo tempo, as variáveis estáticas têm uma limitação inerente às variáveis locais - o escopo de uma variável estática continua sendo a função dentro da qual esta variável é declarada, ao contrário das variáveis globais cujos valores são acessíveis de qualquer lugar do programa.https://book.mql4.com/ru/variables/types
É tudo muito claro. Acontece que se inventamos uma variável estática, cujos valores não são perdidos na saída da função, então todas as outras variáveis perdem seus valores em cada tick? (se START for chamado a cada tique)
As variáveis locais são reinicializadas a cada tick.
Não se preocupe - use global para armazenar ingressos e esqueça. Ou fazer uma matriz (contabilidade de pedidos). Todas as arrays são estáticas por padrão.
Receio que quando se trabalha em H1 será difícil calcular a volatilidade para uma única vela, precisamos pensar em como calculá-la.
Olá a todos!
Você pode me ajudar com esta pergunta?
Estou tentando obter o valor exato de abertura(Abertura[i]) ou fechamento(Fechamento[i]) do par de moedas EURUSD com valor de cinco dígitos depois de zero, mas em resposta eu sempre recebo valor arredondado!