Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1172

 
Evgeny Dyuka:

O fórum é enorme e não há nenhum tópico sobre a utilização de redes neurais no comércio. Isso é estranho. Ou existe em algum lugar?

Ou será que não há ninguém a tratar disso?

https://www.mql5.com/ru/search#!keyword=%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D1%81%D0%B5%D1%82%D0%B8&module=mql5_module_articles

Поиск - MQL5.community
Поиск - MQL5.community
  • www.mql5.com
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
 

Alexei, por favor acrescente como amigo, precisa de o contactar no PM

 
Olá Caros Peritos. Funções tais como SymbolInfoDouble(symb,SYMBOL_BID) ou PositionsTotal() têm algum efeito no atraso (ping para o servidor), ou estes dados são retirados do terminal? E o que é melhorusar PositionGetDouble(POSITION_PRICE_OPEN) ou dados da estrutura MqlTradeResult?
 
Como passar parâmetros da função OnCalculate(const datetime &time[]) para outra função por referência, eles escrevem que uma variável constante não pode ser passada como referência?
 

Qual é o problema com a matriz bidimensional?

Código de script de teste simples:

double ARtst[5][6];
double sss=0.0;

void OnStart()
{
   for(int nn=0; nn<5; nn++) {
      for(int mm=0; mm<6; mm++) {
         ARtst[nn][mm] = 1.0 + 1.0*nn*mm;
      }
   }

   for(int nn=0; nn<5; nn++) {
      testproc(nn,sss,ARtst);
   }
}

void testproc(int ii, double& sum, double& ARR[][])
{  int kk;

   kk = ArrayRange(ARR,1);
   sum = 0.0;
   for(int nn=0; nn<kk; nn++) sum = sum + ARR[ii][nn];

   return;
}

Dá dois erros ao mesmo tempo:

1. "[" - valor de índice inválido, apontando para ARR de matriz bidimensional na definição do procedimento testproc.

2. "ARtst" - conversão de parâmetros não permitida, apontando para a matriz ARtst na definição do procedimento testproc.

Não há problema com a matriz unidimensional.

 
VANDER:
Como passar parâmetros de OnCalculate(const datetime &time[]) para outra função por referência, dizem que uma variável constante não pode ser passada como referência
void другая_функция(const datetime &time[], const int rates_total) 
{
 Print(time[rates_total-1]);
}
// Вызов функции из OnCalculate

другая_функция(time, rates_total);
 
Yurixx:

Qual é o problema com a matriz bidimensional?

Código de script de teste simples:

Dá dois erros ao mesmo tempo:

1. "[" - valor de índice inválido, apontando para ARR de matriz bidimensional na definição do procedimento testproc.

2. "ARtst" - conversão de parâmetros não permitida, apontando para a matriz ARtst na definição do procedimento testproc.

Não há problemas com a matriz unidimensional.

Não compreendi completamente o código, mas deveria ser assim:

void testproc(int ii, double& sum, double& ARR[][6])
 
Alexey Viktorov:

Não compreendi bem o código, mas deveria ser assim:

Exactamente! Muito obrigado.

Ainda se está a lidar com as diferenças entre MT5 e MT4 antes do fim. )))

 
Yurixx:

Exactamente! Muito obrigado.

Ainda se está a lidar com as diferenças entre MT5 e MT4 antes do fim. )))

Em mql5, trabalhar com arrays não é de todo diferente do mql4.

 
Alexey Viktorov:

Em mql5 trabalhar com arrays não é de todo diferente do mql4.

A meu ver, é diferente.

Em MT4 a declaração de matrizes multidimensionais nos procedimentos não exigia a especificação explícita da dimensionalidade em nenhuma das dimensões.

Razão: