Erros, bugs, perguntas - página 2317

 
Evgeniytre:

não guardado ((

Estou a poupar:


 
Saudações a todos. Na verdade, quando corro alguns guiões, o terminal dá-me este erro "216655cordasrestantes". A pesquisa não descreve realmente este problema. Segundo sei, pode ser devido à perda de memória. Anexei uma versão simplificada do guião que estou a utilizar. A ideia do guião é que ele deve pegar nos dados do(s) ficheiro(s) (file FileWithDATA.txt), convertê-los de acordo com certas condições e escrevê-los no ficheiro final. Esta opção converte os números 1 e 2 para 3 e 7 respectivamente, mas produz um erro.
Arquivos anexados:
ForTest.mq5  7 kb
FileWithDATA.txt  635 kb
 

Como eliminar uma encomenda pendente sobre um futuro expirado?

Há três ordens encalhadas.

Quando tento apagá-lo responde - o comércio é desactivado.

 
fxsaber:

Decidi escrever inteiramente o meu próprio código, em vez de editar o de outra pessoa.

Parece estar em pé de igualdade. As primeiras iterações são muito diferentes uma da outra. Depois alinha-se.

string é um array, e arrays, variáveis do tipo estrutura e objectos de classe são sempre passados por referência.

 

No exemplo, o fio é passado sem referência.

 
fxsaber:

No exemplo, a corda é passada sem referência.

Verifiquei-o, por isso sim, o fio é um tipo simples e pode ser passado por valor, mesmo que também seja uma matriz. Parece)
 

Olá caros programadores de MT, quero reportar um erro no algoritmo de cálculo do Sharpe Ratio. O anexo contém um relatório do Sr.Aleksey Vyazmikin onde SR=0,29 no entanto, de acordo com os meus cálculos, é cerca de 3,7-3,8 (dependendo se PnL zero é considerado). Penso que o erro está na falta do factor de escala para o desvio padrão (sqrt(comprimento)) porque o retorno médio não depende do comprimento da série, converge e o RMS aumenta como sqrt(comprimento)

C++

double SharpRatio(vector<double> pnl)

{

double avret = 0;

for (int i = 0; i < pnl.size(); ++i) avret += pnl[i];

avret /= pnl.size();


double var = 0;

for (int i = 0; i < pnl.size(); ++i) var += pow(pnl[i] - avret, 2);

var = sqrt(var / pnl.size()) / sqrt(pnl.size());


return  avret / var;

}

 
O aviso aqui está correcto?
class CLASSNAME {};

void ChangePointer( const CLASSNAME* &Pointer ) { Pointer = NULL; } // Если const убрать, то предупреждения не будет

void OnStart()
{
  CLASSNAME* Pointers[1]; // = {0};
  
  ChangePointer(Pointers[0]); // possible use of uninitialized variable 'Pointers'
}
 

Olá.

Na versão MT5: 5,00 construir 1932 x64 datado de 29.10.2018 fugas de memória quando se trabalha com matrizes dinâmicas.

class Test
{
public:
  Test(){}
};

void OnStart()
{
  Test t[];
  ArrayResize(t, 10);
}

O ArrayFree não ajuda neste caso, mas o ArrayResize(t, 0) limpa tudo.

 

No modo de optimização"Computação Matemática" os agentes recebem 1 trabalho cada um, tanto local como remoto, o que resulta em não trabalhar rapidamente - o custo de espera, suponho.

Construir 1940.

Acrescentado: Após acelerar os cálculos no código, são emitidas 2 ou 3 tarefas, o que, claro, já é bom.
Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Большую часть времени современные компьютеры простаивают и не используют всех возможностей процессора. Мы предлагаем задействовать их с пользой. Вы можете сдавать мощности вашего компьютера другим участникам нашей сети для выполнения разнообразных...