Erreurs, bugs, questions - page 1041

 

Qui compte les croix, le serveur MQ ou sont-elles diffusées ?

Le GBPAUD GBPCAD GBPNZD CADJPY est absent de la majorité. Quelqu'un en a besoin ?

 
Silent:

GBPAUD GBPCAD GBPNZD CADJPY. Quelqu'un en veut un ?

+GBPAUD serait bien.
 

Voici le code :

int sizeNum=215;
double ly=sizeNum/100000;
Print(ly);

Je voudrais voir une valeur de 0.00215

Mais j'obtiens 0.0

Que dois-je faire avec ça ?

La première valeur, c'est-à-dire 215, je ne la fais pas doubler, car je l'arrondis à un nombre entier. Ou même si je l'arrondis aux entiers, dois-je quand même donner à ce nombre le type double ?

 
cat7:

Voici le code :

Je voudrais voir une valeur de 0.00215

Mais j'obtiens 0.0

Que dois-je faire avec ça ?

La première valeur, c'est-à-dire 215, je n'en fais pas un double, car je l'arrondis à un entier.

double sizeNum=215;
double ly=sizeNum/100000;
Print(ly);

или

int sizeNum=215;
double ly=(double)sizeNum/100000;
Print(ly);
 
zfs:
La deuxième version du code me convient mieux, merci. Je n'y aurais pas pensé moi-même ))))
 

Est-il possible d'obtenir des valeurs d'optimisation intermédiaires dans la fonction OnTester ?

(si oui){Par exemple;}

 
JJerboa:

Est-il possible d'obtenir des valeurs d'optimisation intermédiaires dans la fonction OnTester ?

(si oui){Par exemple;}

OnTester n'est appelé qu'après l'exécution d'un test.

Si les agents sont locaux, ils peuvent écrire des fichiers dans le dossier partagé de tous les terminaux, puis OnTester peut organiser la lecture des résultats d'un autre en même temps que l'écriture de ses propres résultats.

Si les agents sont exécutés sur un ou plusieurs autres ordinateurs, c'est-à-dire des agents distants et/ou des agents en nuage, vous ne pouvez pas obtenir d'informations de ces agents "étrangers" dans OnTester.

Mais. Il est possible d'envoyer des trames de données au terminal client pendant l'optimisation. Ces données peuvent être traitées dans la fonction OnTesterPass au fur et à mesure de leur arrivée. Essayez

 

Dans l'article anglais Trade Operations in MQL5 - It's Easy, j'ai trouvé à un endroit un texte écrit en russe :

 

Le code qui provoque l'erreur.

//+------------------------------------------------------------------+
//| Структура массива |
//+------------------------------------------------------------------+
 struct arrTimePrice
  {
   datetime          time;
   double            price;

  }

//+------------------------------------------------------------------+
//| Функция |
//+------------------------------------------------------------------+

void someFunc (arrTimePrice & xyArr[])   // !!! здесь происходит ошибка
  {
      //--- что-то делаем
  }

//+------------------------------------------------------------------+
//| Сам скрипт |
//+------------------------------------------------------------------+

void OnStart()

  {

      // создаем массив

      arrTimePrice someArr [];

      ArrayResize(someArr, 10);

      ... далее заполнили массив...

      ...и передаем его в функцию...

      someFunc (someArr);

  }

Et ensuite, comment puis-je passer un tableau si mon type arrTimePrice provoque une erreur lorsqu'il est passé à la fonction ?

 
cat7:

Le code qui cause l'erreur.


Et puis comment puis-je passer un tableau si mon type arrTimePrice provoque une erreur lorsqu'il est passé à une fonction ?

J'ai besoin d'un point-virgule après avoir déclaré la structure:

//+------------------------------------------------------------------+
//| Структура массива |
//+------------------------------------------------------------------+
 struct arrTimePrice
  {
   datetime          time;
   double            price;

  };

//+------------------------------------------------------------------+
//| Функция |
//+------------------------------------------------------------------+

void someFunc (arrTimePrice & xyArr[])   // !!! здесь происходит ошибка
  {
      //--- что-то делаем
  }

//+------------------------------------------------------------------+
//| Сам скрипт |
//+------------------------------------------------------------------+

void OnStart()

  {

      // создаем массив

      arrTimePrice someArr [];

      ArrayResize(someArr, 10);

     // ... далее заполнили массив...

     // ...и передаем его в функцию...

      someFunc (someArr);

  }
Sous cette forme, votre modèle se compile assez bien. (Et ça marche.)
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5