Questions d'un "mannequin - page 188

 
Karlson:
Je ne l'ai pas encore essayé, mais je comprends l'idée de tout rassembler dans un seul fichier, alors peut-être que les développeurs peuvent indiquer une option - commentconnecter les données inchangées d'un dossier.
Et vous allez directement au CD avec cette suggestion : connecter les données immuables d'un dossier.
 

Bonjour !

Voici une fonction que j'ai écrite. Il calcule le rapport entre le taux de change actuel et le taux du début de l'année 2010.

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

Il fonctionne correctement si j'exécute un test pour les périodes 2011 ou antérieures, mais renvoie 0 si je teste pour 2012 :(

Veuillez m'indiquer quel est le problème.

Le conseiller expert fonctionne pendant 10 minutes, j'utilise le serveur et le compte du championnat 2012 pour les tests.

 
MegaVoin:

Bonjour !

Voici une fonction que j'ai écrite. Il calcule le rapport entre le taux de change actuel et le taux du début de l'année 2010.

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

Il fonctionne correctement si j'exécute un test pour les périodes 2011 ou antérieures, mais renvoie 0 si je teste pour 2012 :(

Veuillez m'indiquer quel est le problème.

Le conseiller expert fonctionne pendant 10 minutes, j'utilise le serveur et le compte du championnat 2012 pour les tests.

Mettez une impression de l'erreur - nous verrons.
 
Yedelkin:
Oui, je ne sais pas quelle est la logique du programme, mais la période de 10 min est indiquée un peu différemment.

Tout le reste fonctionne sur 10 minutes, comme ceci :

CopyHigh(_Symbol, _Period, 0, 2, MaxVal ) 

Seule cette fonction essaie de prendre les données du mois.

Et comment imprimer l'erreur ? Je comprends que CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) renvoie -1 au lieu de 1.

 
MegaVoin:

Et comment imprimer une erreur ? Je comprends que CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) renvoie -1 au lieu de 1. Mais pourquoi cela se produit-il, est-il possible d'afficher une erreur ?

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 
   double OtkrVal[1]; 
   datetime time=D'2010.01.01 00:00:00';
   ResetLastError();
   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) 
     {
      Print("error = ",_LastError);
      return(0);
     }
   return(Bid / OtkrVal[0]);
}
 
Yedelkin:
Mettez une impression de l'erreur - voyons voir.

erreur = 4401

Je ne trouve pas de décodage descodes d'erreur dans Metatrader...

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5
 
MegaVoin:

erreur = 4401

Je ne trouve pas de décodage descodes d'erreur dans Metatrader...

https://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения - Документация по MQL5
 
MegaVoin: erreur = 4401

OK, "Historique demandé non trouvé". C'est-à-dire que janvier 2010 ne se retrouve pas en 2012, n'est-ce pas ?

Et sur le compte de démonstration (pas dans le testeur), que montre-t-il ?

 
Yedelkin:

OK, "Historique demandé non trouvé". C'est-à-dire que janvier 2010 ne se retrouve pas en 2012, n'est-ce pas ?

Et sur le compte de démonstration (pas dans le testeur), que montre-t-il ?

Uh-huh, il n'est pas détecté.

J'ai créé un nouveau compte de démonstration (pas celui du championnat). Les lots supérieurs à 5 sont maintenant ignorés si je teste pour 2011, mais il y a la même erreur pour 2012.

Je suppose que je dois définir quelque part la quantité d'historique accessible avant la période de test. Et par défaut, il doit être de 2 ans... Seulement où il est configuré...

 
MegaVoin: Création d'un nouveau compte de démonstration (pas un compte de championnat). Les lots de plus de 5 sont maintenant ignorés lors des tests pour 2011, mais la même erreur persiste pour 2012.

Cette erreur se produit donc aussi sur un compte de démonstration(pas dans le testeur) ?

MegaVoin : Je suppose que je dois définir quelque part combien d'historique est disponible avant la période de test. Le réglage par défaut est probablement de 2 ans... Seulement là où il est placé...

Je préfère lire l'historique des tests dans la section "Test des stratégies commerciales".