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 1072

 
Boa tarde, pergunta de 5 kopeck)))) Você pode me dizer o que significa o sinal "&" ao passar para uma função? Exemplo: int determineSection_D1(int & askSection_D1,int & bidSection_D1) ? Obrigado.
 
rabanik:    Bom ... por um níquel ... o que isso significa ... "&" aopassar para uma função?

Clique com o botão esquerdo na imagem para ampliar ou clique com o botão direito e salvar

O MetaEditor tem ajuda para a linguagem MQL-4. Faz sentido ler toda a ajuda ou pelo menos passar por ela

 

Boa tarde.

Fiz um botão na tela e quero anexar a ele uma abertura Offline Chart. Que função posso usar para especificar o caminho para a carta off-line desejada?

 
Boa tarde, como podemos fazer a atualização do gráfico automaticamente a cada 10 segundos para que você não tenha que pressionar o botão "Atualizar" toda vez?
 
zert: atualizando o diagrama
OnTimer() // Em temporizador JanelaRedraw(); // Rastrear novamente a janela
 
LRA:
OnTimer() // Em temporizador JanelaRedraw(); // Rastrear novamente a janela
Eu não entendo onde escrever tudo isso, você pode me mostrar em uma captura de tela?
 
zert:   onde escrever
inserir no EA que você está usando. Se não houver, você precisa escrever um. Por que um novo apelido?
 
LRA:

Clique com o botão esquerdo na foto para ampliar ou clique com o botão direito e salvar

O MetaEditor tem ajuda para a linguagem MQL-4. Faz sentido ler tudo isso, ou pelo menos olhar através dele

Obrigado pela resposta. Não entendo isso até o fim. Por exemplo, eu tenho a função SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0) com parâmetros. Além disso, se eu, por exemplo, em código, tentar me referir a ele em qualquer condição, recebo erro "parâmetro passado como referência, variável".

Por favor, aconselhe o que fazer? Obrigado.

 
rabanik:    se você for a .... erro "parâmetro passado como referência, variável".

Se o parâmetro é sem & transferido por valor, o que é mais confiável. O parâmetro real é copiado e uma cópia é passada para a função. As mudanças feitas no parâmetro dentro da função permanecem dentro da função. O parâmetro real no local da chamada de função permanece inalterado. E não importa para a função se uma constante ou variável é passada para ela, porque em qualquer caso somente uma cópia do parâmetro atinge a função. Isto é feito para aumentar a confiabilidade, para proteger as variáveis contra mudanças acidentais dentro de uma função.

Ao passar o parâmetro por referência, o & símbolo é especificado, e isto significa que a referência, o endereço da própria variável, é passado para a função. E a função pode mudar esta variável e estas mudanças afetarão o valor da variável dentro da função que chamou esta função. Bem, para que uma função altere o valor de um parâmetro, ela deve ser uma variável, o Tradutor provavelmente escreveu: parâmetro passado como referência, variável esperada = parâmetro por referência deve ser uma variável

Em caso de dúvida novamente, eu tenho a função SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0) em vez disso, é melhor escrever como a função foi chamada. Parece que você passa um número como o primeiro parâmetro, o que não faz sentido. Neste parâmetro, sua função tenta devolver o número sob o qual o pedido foi colocado no banco de dados do corretor. Claramente, esta deve ser uma variável. Em caso de dúvida, dê uma olhada na função. E a função é VERDADEIRA para mudar o número que está sendo passado, quer uma variável naquele lugar.

 

Não seria mais fácil de entender a partir de um exemplo?

void OnStart()
{
 int a = 5;
 int b = 7;
 int c = f(a, b);
 Print("a = ", a, ": b = ", b": c = ", c);
}

int f(int k, int n)
{
 k += 2;
 return(k+n);
}

//результат a = 5: b = 7: с = 14

A outra opção

void OnStart()
{
 int a = 5;
 int b = 7;
 int c = f(a, b);
 Print("a = ", a, ": b = ", b": c = ", c);
}

int f(int &k, int n)
{
 k += 2;
 return(k+n);
}

//результат a = 7: b = 7: с = 14

esta é a diferença.

Razão: