[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 424
![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
Olá a todos! Estou mexendo no código há dias, mas sem sorte! A condição não funciona. À variável Z é sempre atribuído o último valor, neste caso, ela equivale a Z=1. O que eu preciso consertar para que as condições funcionem? Quem pode ajudar?
X = MathFloor(PriceTarget);
Y = (PriceTarget - X);
{
se (0 < Y <= 0,03125)
{Z = 0.03125;}
se (0,03126 < Y <= 0,0625)
{Z = 0.0625;}
se (0,0625 < Y <= 0,09375)
{Z = 0.09375;}
se (0,09375 < Y <= 0,125)
{Z = 0.125;}
se (0,125 < Y <= 0,15625)
{Z = 0.15625;}
se (0,15625 < Y <= 0,1875)
{Z = 0.1875;}
se (0,1875 < Y <= 0,21875)
{Z = 0.21875;}
se (0,21875 < Y <= 0,25)
{Z = 0.25;}
se (0,25 < Y <= 0,28125)
{Z = 0.28125;}
se (0,28125 < Y <= 0,3125)
{Z = 0.3125;}
se (0,3125 < Y <= 0,34375)
{Z = 0.34375;}
se (0,34375 < Y <= 0,375)
{Z = 0.375;}
se (0,375 < Y <= 0,40625)
{Z = 0.40625;}
se (0,40625 < Y <= 0,4375)
{Z = 0.4375;}
se (0,4375 < Y <= 0,46875)
{Z = 0.46875;}
se (0,46875 < Y <= 0,5)
{Z = 0.5;}
se (0,5 < Y <= 0,53125)
{Z = 0.53125;}
se (0,53125 < Y <= 0,5625)
{Z = 0.5625;}
se (0,5625 < Y <= 0,59375)
{Z = 0.59375;}
se (0,59375 < Y <= 0,625)
{Z = 0.625;}
se (0,625 < Y <= 0,65625)
{Z = 0.65625;}
se (0,65625 < Y <= 0,6875)
{Z = 0.6875;}
se (0,6875 < Y <= 0,71875)
{Z = 0.71875;}
se (0,71875 < Y <= 0,75)
{Z = 0.75;}
se (0,75 < Y <= 0,78125)
{Z = 0.78125;}
se (0,78125 < Y <= 0,8125)
{Z = 0.8125;}
se (0,8125 < Y <= 0,84375)
{Z = 0.84375;}
se (0,84375 < Y <= 0,875)
{Z = 0.875;}
se (0,875 < Y <= 0,90625)
{Z = 0.90625;}
se (0,90625 < Y <= 0,9375)
{Z = 0.9375;}
se (0,9375 < Y <= 0,96875)
{Z = 0.96875;}
se (0,96875 < Y <= 1)
{Z = 1;}
}
W = X + Z;
Olá a todos! Há dias que estou mexendo com o código, mas sem sucesso! A condição não funciona. A variável Z é sempre atribuída ao último valor, neste caso, é igual a Z=1. O que eu preciso consertar para que as condições funcionem? Alguém pode me ajudar?
Tente isto
transferido de
tente assim.
works!!!! obrigado de verdade!!! especialmente pela rapidez!
works!!!! obrigado de verdade!!! especialmente pela rapidez!
Em algum lugar como este:
Tenho duas perguntas sobre variáveis globais.
Pergunta 1: está escrito que eles são armazenados no disco rígido. O tempo de acesso a eles é tão longo quanto ao ler dados de um arquivo ou tão rápido quanto ao ler uma variável comum?
Pergunta 2: Diz que as variáveis globais só podem ser do tipo duplo, mas e se eu quiser armazenar dados de outros tipos, por exemplo, int ou string?
1. Não posso reclamar sobre a velocidade.
2. Onde está escrito? todos os tipos podem ser globais.
"Não reclamar" não é realmente um conceito matemático.
Está escrito aqui:
"Não reclamar" não é realmente um conceito matemático.
Está escrito aqui:
Ela diz que a variável global é salva no disco rígido e armazenada por um certo tempo. Enquanto o programa (terminal, indicador, Expert Advisor) estiver em execução, todas as variáveis são armazenadas na RAM, ou seja, o valor de G.P. só será lido do disco quando o programa for lançado pela primeira vez.
Obrigado pela informação. E quanto à segunda pergunta?
Obrigado pela informação. E quanto à segunda pergunta?
Eu realmente não entendo a segunda pergunta.
É melhor você lê-lo aqui.
Eu realmente não entendo a segunda pergunta.
Você pode querer lê-lo aqui
Qualquer variável é perdida quando você sai do programa (reinicie seu computador, etc.). Exceto para variáveis globais, porque elas são armazenadas no disco rígido. Mas eles só podem ser do tipo duplo. O que fazer, se for necessário armazenar variáveis de outros tipos (int ou string, por exemplo)? O que não está claro aqui?
Qualquer variável será perdida ao sair do programa (reiniciar o computador, etc.). Exceto para variáveis globais, porque elas são armazenadas no disco rígido. Mas eles só podem ser do tipo duplo. O que fazer, se for necessário armazenar variáveis de outros tipos (int ou string, por exemplo)? O que não está claro aqui?
Existem variáveis globais do nível atual do programa e variáveis globais do nível do terminal. Os primeiros são reinicializados na desinicialização, os segundos não. Você está falando claramente sobre este último.
É claro que seria difícil, por exemplo, esconder um array como o dobro de 100 itens em tais variáveis. É melhor não usá-los de forma alguma para tais fins.
Utilize um arquivo para armazenar dados de qualquer tipo. Não há limitações aí. E este método é usado por todos em todos os momentos.