Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1272

 
Sysmart:

Não há alguém que possa lhe dizer?

Por que você colocou todo o código em uma foto? Você acha que alguém irá digitar novamente o código de uma foto e ajudá-lo?

Se você colar o código inteiro como um código em vez de uma imagem, então haverá muito mais pessoas dispostas a ajudar...

 
SanAlex:

qual é o seu problema? o que você quer tirar de sua função?

Talvez eu entenda, então podemos procurar uma solução juntos.

O senão é que a expressão produz = 0

numPosOr= 4;

numStepCount= 1;

iK = (numPosOr - numStepCount) / numPosOr;

Mas, logicamente, deveria ser assim,

no início, contamos entre parênteses:

(numPosOr - numStepCount)= 4-1 = 3

então de acordo com a fórmula:

3 / 4 = 0,75 - assim deve ser o resultado.

Por que conta = 0?

 
Sysmart:

O problema é que a expressão sai = 0

numPosOr= 4;

numStepCount= 1;

iK = (numPosOr - numStepCount) / numPosOr;

Mas, logicamente, deveria ser assim,

no início, contamos entre parênteses:

(numPosOr - numStepCount)= 4-1 = 3

então de acordo com a fórmula:

3 / 4 = 0,75 - assim deve ser o resultado.

Por que conta = 0?

Você ainda não mostrou os tipos de variáveis.
 
Sysmart:

O problema é que a expressão sai = 0

numPosOr= 4;

numStepCount= 1;

iK = (numPosOr - numStepCount) / numPosOr;

Mas, logicamente, deveria ser assim,

no início, contamos entre parênteses:

(numPosOr - numStepCount)= 4-1 = 3

então de acordo com a fórmula:

3 / 4 = 0,75 - assim deve ser o resultado.

Por que eu recebo = 0?

Você já foi escrito várias vezes, me dê o código inteiro, se você tem o tipo iK int, não há problema em obter 0 Que tipo é sua variável?

 
Sysmart:

O problema é que a expressão sai = 0

numPosOr= 4;

numStepCount= 1;

iK = (numPosOr - numStepCount) / numPosOr;

Mas, logicamente, deveria ser assim,

no início, contamos entre parênteses:

(numPosOr - numStepCount)= 4-1 = 3

então de acordo com a fórmula:

3 / 4 = 0,75 - assim deve ser o resultado.

Por que conta 0?

 double numPosOr = 4;

 double numStepCount = 1;

 double iK = (numPosOr - numStepCount) / numPosOr;


   Alert("iK = ",iK); //  =0.75

ou

 int numPosOr = 4;

 int numStepCount = 1;

 double iK = (double)(numPosOr - numStepCount) / numPosOr;


   Alert("iK = ",iK); //  =0.75
 
Sysmart:

O problema é que a expressão sai = 0

numPosOr= 4;

numStepCount= 1;

iK = (numPosOr - numStepCount) / numPosOr;

Mas, logicamente, deveria ser assim,

no início, contamos entre parênteses:

(numPosOr - numStepCount)= 4-1 = 3

então de acordo com a fórmula:

3 / 4 = 0,75 - assim deve ser o resultado.

Por que eu recebo = 0?

Aritmética complexa - quando não há uma compreensão física da mesma.

O que ou por que ele é necessário? pode estar em alguns lugares, precisa prescrever uma figura real, e então obter seu resultado final?

 

Bom dia a todos.
Recentemente comecei a aprender o mql5. Foi-me dito aqui que ao testar uma EA no MT5, as ordens de abertura e fechamento são feitas na história com spreads flutuantes históricos reais, que estavam naqueles momentos de negociação real.

Não existe tal coisa em mql4. Mas temos a função (int)MarketInfo("EURUSD",MODE_SPREAD) que retorna o valor de spread ao testar. Embora não tenha devolvido o valor real de spread, mas aquele que eu defini nos ajustes.
P
: Qual função pode ser usada para exibir o valor real do spread flutuante no testador quando uma EA está abrindo e fechando ordens?
Obrigado por sua ajuda.

Как протестировать торгового робота перед покупкой
Как протестировать торгового робота перед покупкой
  • www.mql5.com
Покупка торгового робота в MQL5 Маркете имеет одно большое преимущество перед всеми другими подобными предложениями -  вы можете устроить комплексную проверку предлагаемой автоматической системы прямо в терминале MetaTrader 5. Советник перед покупкой можно и нужно тщательно прогнать во всех неблагоприятных режимах во встроенном тестере торговых...
 
Olá a todos!

Estou dando meus primeiros passos na MQL5 e tropeçei em uma variável global.
Você pode me dizer como mudá-lo de dentro de um bloco?

Ou, se não for possível, como fazer "caixas de seleção" para a lógica da EA?
 

Feliz Dia do Economista a todos!

Não encontrei entre as funções padrão do MT4 para trabalho com matrizes - função que encontra a primeira linha vazia (ou valor) na matriz (ou com valor "0")

O que eu quero dizer:

Array [2] [7]

1-2

3-4

8-10

2-5

12-7

0-0

0-0

Preciso de uma função para determinar se o primeiro valor não preenchido/zero está na linha [5].

ArrayMinimum por alguma razão não consigo encontrar o mínimo "0".


A busca de matrizes é a única opção para esta tarefa no MT4.

Obrigado!

 
SanAlex:

Gostaria de perguntar aos especialistas - esse modelo para um especialista é correto ou é melhor organizar a lógica de outra forma?

Seria bom comentar no início das funções, o que elas fazem. É um pouco difícil de ler)

Razão: