Erreurs, bugs, questions - page 2317

 
Salutations à tous. En fait, lorsque je lance certains scripts, le terminal me donne cette erreur "216655stringsleft". La recherche ne décrit pas vraiment ce problème. Si je comprends bien, cela peut être dû à une perte de mémoire. J'ai joint une version simplifiée du script que j'utilise. L'idée du script est qu'il doit prendre des données dans un ou plusieurs fichiers (fichier FileWithDATA.txt), les convertir selon certaines conditions et les écrire dans le fichier final. Cette option convertit les nombres 1 et 2 en 3 et 7 respectivement, mais produit une erreur.
Dossiers :
ForTest.mq5  7 kb
FileWithDATA.txt  635 kb
 

Comment supprimer un ordre en cours sur un contrat à terme expiré ?

Il y a trois commandes bloquées.

Lorsque j'essaie de le supprimer, il répond - le commerce est désactivé.

 
fxsaber:

J'ai décidé d'écrire entièrement mon propre code, plutôt que de modifier celui de quelqu'un d'autre.

Elle semble être sur un pied d'égalité. Les premières itérations sont très différentes les unes des autres. Puis il s'aligne.

La chaîne est un tableau, et les tableaux, les variables de type structure et les objets de classe sont toujours transmis par référence.

 

Dans l'exemple, la chaîne est passée sans référence.

 
fxsaber:

Dans l'exemple, la chaîne est passée sans référence.

J'ai vérifié, donc oui, string est un type simple et peut être passé par valeur, même si c'est aussi un tableau. Il semble)
 

Bonjour chers développeurs MT, Je souhaite signaler une erreur dans l'algorithme de calcul du ratio de Sharpe. La pièce jointe contient un rapport de M.Aleksey Vyazmikin où SR=0.29, mais d'après mes calculs, il est d'environ 3.7-3.8 (selon que l'on considère ou non un PnL nul). Je pense que l'erreur réside dans l'absence de facteur d'échelle pour l'écart-type (sqrt(longueur)) car le retour moyen ne dépend pas de la longueur de la série, il converge et le RMS augmente comme sqrt(longueur).

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;

}

 
Cet avertissement est-il correct ?
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'
}
 

Bonjour.

Dans MT5 Version : 5.00 build 1932 x64 du 29.10.2018 fuites de mémoire lors du travail avec des tableaux dynamiques.

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

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

ArrayFree n'aide pas dans ce cas, mais ArrayResize(t, 0) efface tout.

 

Dans le mode d'optimisation"Calcul mathématique", les agents reçoivent chacun une tâche, qu'elle soit locale ou distante, ce qui fait qu'ils ne travaillent pas rapidement - le coût de l'attente, je suppose.

Construire 1940.

Ajouté : Après avoir accéléré les calculs dans le code, 2 ou 3 tâches sont émises, ce qui bien sûr est déjà bien.
Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Большую часть времени современные компьютеры простаивают и не используют всех возможностей процессора. Мы предлагаем задействовать их с пользой. Вы можете сдавать мощности вашего компьютера другим участникам нашей сети для выполнения разнообразных...
 
pantural:

Bonjour chers développeurs MT, Je souhaite signaler une erreur dans l'algorithme de calcul du ratio de Sharpe. La pièce jointe contient un rapport de M.Aleksey Vyazmikin où SR=0.29, mais d'après mes calculs, il est d'environ 3.7-3.8 (selon que l'on considère ou non un PnL nul). Je pense que l'erreur réside dans l'absence de facteur d'échelle pour l'écart-type (sqrt(longueur)) car le retour moyen ne dépend pas de la longueur de la série, il converge et le RMS augmente comme sqrt(longueur).

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;

}

Quelles sont les données contenues dans le tableau pnl? Comment sont-ils calculés et à quoi comparez-vous votre version du calcul du ratio de Sharpe ?

2. Que signifie cette entrée ? Mettre en avant votre

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