Erreurs, bugs, questions - page 82

 
gumgum:

Je fais un test de 2010.01.01 à aujourd'hui. J'ai sorti la date de la toute première barre 2009.01.02.

Comment puis-je faire en sorte que la première barre disponible soit par exemple 2006.01.02 ?

2006.01.02, pourquoi pas 2010.01.01 ?

Et que savons-nous de la sérialité des tableaux ?

 
Interesting:

2006.01.02, pourquoi pas 2010.01.01 ?

Et que savons-nous de la sérialisation des tableaux ?

Je veux m'assurer que lors des tests, les données historiques sont suffisantes. Comment cela peut-il être fait ?

Peut-on permettre dans le code de négocier à partir d'une certaine date et de choisir une période de test plus longue, mais autrement ?

 
gumgum:

Je veux m'assurer que lors des tests, il y a suffisamment de données historiques. Comment cela peut-il être fait ?

Puis-je permettre dans le code de trader à partir d'une certaine date et choisir une période de test plus longue, mais autrement ?


Lors de l'initialisation, vérifiez si l'historique est disponible sur le serveur et sur votre propre serveur. Si l'historique doit être chargé, faites-le immédiatement (dans le bloc d'initialisation)...

Et la sérialité (son absence) dans la question donnée montrera d'où compter la barre 0...

 

Chers collègues et développeurs de langues, pourriez-vous expliquer la situation suivante ?

Il y a deux structures (senior et junior), le constructeur de senior est appelé par start(),

Le constructeur de la structure junior est appelé par le constructeur de la structure senior.

Comment passer une variable de la structure senior au constructeur de la structure junior ? ?????????

struct Ml
  {
   int               a;
   int               b;
   void Ml()
     {
      if(f)a=1; else a=2; // ?????????????????????????????      
      if(F)b=2; else b=3; // ?????????????????????????????        
     };
   void ~Ml(){};
   void m(){};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct St
  {
   bool              f;  // ?????????????????????
   bool              F;  // ?????????????????????
   Ml               x[];
   void St(){f=true; F=false; ArrayResize(x,1); x[0].m();};  // ?????????????????????
   void ~St(){};
   int          mult(int i){ArrayResize(x,i+1);return(x[i].a*x[0].b);};
   int           add(int i){ArrayResize(x,i+1);return(x[i].a+x[0].b);};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   St x[];
   ArrayResize(x,2);

   int Mult=x[1].mult(10);
   int Add=x[1].add(10);

   Print("x[1].mult(10)=",x[1].mult(10),"  x[1].add(10)=",x[1].add(10));
  }
//+------------------------------------------------------------------+
 
Interesting:

Lors de l'initialisation, vérifiez si l'historique est disponible sur le serveur et sur votre propre serveur. Si vous devez charger l'historique, faites-le immédiatement (dans le bloc d'initialisation)...

Et la sérialité (son absence) dans cette question montrera d'où compter la barre 0...

vérifier https://www.mql5.com/ru/docs/series/seriesinfointeger comme ça ? Comment charger (mettre le nez dans la bonne direction) ?
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
  • www.mql5.com
Доступ к таймсериям и индикаторам / SeriesInfoInteger - Документация по MQL5
 
gumgum:

Je veux m'assurer que lors des tests, il y a suffisamment de données historiques. Comment cela peut-il être fait ?

Puis-je permettre dans le code de trader à partir d'une certaine date et choisir une période de test plus longue, mais autrement ?

1. le testeur assure le chargement d'au moins 100 barres de la période testée avant la date de début du test.

2 Le testeur charge l'historique depuis au moins le début de l'année précédente à partir de la date de début du test.

Si vous choisissez une période mensuelle, vous disposerez de 8 ans d'historique. Si vous sélectionnez une période hebdomadaire, vous obtiendrez 2 ans. Il suffit de ne pas utiliser l'horizon temporel actuel lors de l'analyse des signaux, mais de spécifier explicitement l'horizon temporel dont vous avez besoin.

 
stringo:

1 Le testeur s'assure qu'au moins 100 barres de la période testée sont chargées avant la date de début du test.

2 Le testeur chargera l'historique depuis au moins le début de l'année précédente à partir de la date de début du test.

Si vous choisissez une période mensuelle, vous disposerez de 8 ans d'historique. Si vous sélectionnez une période hebdomadaire, vous obtiendrez 2 ans. Il suffit de ne pas utiliser l'horizon temporel actuel lors de l'analyse des signaux, mais de spécifier explicitement l'horizon temporel dont vous avez besoin.

dites-le comme ça :

En attente de.... Je suis toujours à 3,3 %, ce qui n'est pas négligeable :

 
Urain:

Chers collègues et développeurs de langues, pourriez-vous expliquer la situation suivante ?

il y a deux structures (senior et junior), le constructeur de senior est appelé par start(),

Le constructeur de la structure junior est appelé par le constructeur de la structure senior.

Comment passer une variable de la structure senior au constructeur de la structure junior ? ?????????



Je pense qu'un exemple concret serait plus compréhensible :

Lorsqu'une nouvelle position apparaît, un nouvel objet est créé, qui comprend un tableau dynamique de pointeurs vers les transactions.

Puisque dans la situation initiale, la position n'a qu'une seule donne, ses données sont écrites dans la structure appropriée pendant l'initialisation de l'objet,

mais le constructeur de la structure reçoit le numéro de ticket de l'objet position.

Et il n'est pas clair comment passer ce ticket ?

Lors de la déclaration de la variable globale, il n'y a aucun problème,

la position est sélectionnée, le billet est rédigé et l'objet est construit,

La structure est conçue dans l'objet et tous reçoivent globalement le même ticket,

à la fois les transactions et les positions (parce que la transaction de première ouverture dans le ticket est égale à l'id de position),

mais lorsque vous essayez de supprimer la déclaration de ticket global, les problèmes commencent.

 
gumgum:

dites-le comme ça :

J'attends .... 3,3% du temps, pas d'entrée, pas de sortie :

Téléchargement de données ? Qu'y a-t-il dans le journal des tests?
 
stringo:
Chargement des données ? Qu'y a-t-il dans le journal des tests ?

Actuellement, 5,6 %.

2010.08.06 13:08:52 Core 1 EURUSD,Daily : l'historique commence à partir de 2001.01.01 00:00
2010.08.06 13:08:52 Core 1 EURUSD,Daily : le cache de l'historique est réservé pour une estimation de 2411 barres
2010.08.06 13:08:52 Core 1 EURUSD : contient 3208261 enregistrements M1 de données de début de 2001.01.01 00:01 à 2009.12.31 18:59
2010.08.06 13:05:58 para.06 13:05:58 Core 1 para=EURUSD
2010.08.06 13:05:58 Core 1 delta=0.10
2010.08.06 13:05:58 Core 1 fc=0.19
2010.08.06 13:05:58 Core 1 M=11
2010.08.06 13:05:58 Core 1 dis=0.11
2010.08.06 13:05:58 Core 1 EURUSD,Monthly : le test d'experts\slivarobot.ex5 du 2010.01.01 00:00 au 2010.03.31 00:00 a commencé avec les entrées :
2010.06.08.06 13:05:58 Core 1 EURUSD,Monthly : génération de ticks OHLC 1 minute
2010.08.06 13:05:58 Core 1 EURUSD,Monthly : l'historique commence depuis 2001.01.01 00:00
2010.08.06 13:05:58 Core 1 EURUSD,Monthly : cache de l'historique réservé pour environ 120 barres
2010.08.06 13:05:58 Core 1 EURUSD : contient 3208261 enregistrements M1 de données de début depuis 2001.01.01 00:01 à 2009.12.31 18:59
2010.08.06 13:03:13 Core 1 EURUSD : historique synchronisé du 1993.05.13 à 2010.08.05
2010.08.06 13:03:13 Core 1 EURUSD : chargement de 27 octets de données historiques à synchroniser
2010.08.06 13:03:11 Core 1 EURUSD : symbole synchronisé. 3304 octets d'informations sur les symboles reçus.
2010.08.06 13:03:11 Core 1 Performance : 31
2010.08.06 13:03:11 Core 1 39 Kb de données d'initialisation totales reçues
2010.08.06 13:03:11 Core 1 Initialisation réussie
2010.08.06 13:03:11 Core 1 Dépôt initial 10000.00 USD
2010.08.06 13:03:11 Core 1 Fichier expert ajouté : Libraries\BSCAI.ex5. 3277 octets chargés
2010.08.06 13:03:11 Core 1 Fichier expert ajouté : Libraries\PNNOCHL(slivarobot).ex5. 13083 octets chargés
2010.08.06 13:03:11 Core 1 Fichier expert ajouté : Experts\slivarobot.ex5. 3598 octets chargés
2010.08.06 13:03:11 Core 1 275 octets de symboles sélectionnés chargés
2010.08.06 13:03:11 Core 1 7178 octets de paramètres de test chargés
2010.08.06 13:03:11 Core 1 3780 octets d'informations de groupe chargés
2010.08.06 13:03:11 Core 1 3124 octets d'informations de compte chargés
2010.08.06 13:03:11 Core 1 Synchronisation commune terminée
2010.06.08.06 13:03:07 Tester EURUSD,Monthly : test de experts\slivarobot.ex5 du 2010.01.01 00:00 au 2010.03.31 00:00 à démarrer
2010.08.06 13:03:07 Core 1 Autorisé (agent build 302)
2010.08.06 13:03:07 Core 1 Connecté
2010.08.06 13:03:06 Core 1 Connexion à 127.0.0.1:3000
2010.08.06 13:03:06 Core 1 Processus d'agent démarré

Raison: