Erreurs, bugs, questions - page 2223

 
fxsaber:

Dans les services, la fonctionnalité sera normale.

avec un peu de chance...

 

Le terminal (1874) cesse d'afficher (graphique ou requête) l'historique des barres du symbole personnalisé lorsqu'il passe à un autre serveur de trading. Après le redémarrage du terminal, l'historique est affiché. Dès que vous passez à nouveau à un autre serveur, la situation se répète.


L'historique des ticks ne souffre pas du changement de serveur de trading. Ce bogue n'y est pas présent.

 
template <typename T>
class CLASS
{
public:  
  T Func() { return(0); }
};

class CLASS2 : public CLASS<int>
{
public:
  CLASS2()
  {
    this.Func(); // ALT+G в ME не производит переход на int CLASS<int>:Func()
  }
};

Est-ce ainsi que le ME est censé se comporter ?

 

Erreur dans FileLoad. Si deux agents locaux avec l'indicateur FILE_COMMON tentent de lire des données via FileLoad, l'un des agents échoue.

Il est possible de définir les drapeaux appropriés dans FileOpen, mais pas dans FileLoad. Par conséquent, veuillez autoriser l'accès au fichier via FileLoad si l'autre FileLoad le lit.

 

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Pas pour les développeurs MT ! Par quoi remplacer INIT_PARAMETERS_INCORRECT ?

fxsaber, 2018.07.10 20:16

// Нужно компилировать (не запускать) советник, когда этот файл (с любым содержанием, хоть пустой) лежит в Песочнице.
// Иначе Тестер не будет видеть эти данные, даже если соответствующий файл с ними положить после компиляции на место.  
  #property tester_file __FILE__

Un bug ancien.

 

Est-il possible de garder tester_file en RAM pour éviter l'abus de disque dur/SSD ? Il y a des millions de passages et c'est horrible de compter le fichier autant de fois.


Un tel "disque RAM" rendrait beaucoup plus difficile le transfert non autorisé de données personnelles à des tiers.

 

Les nouveaux caches d'optimisation ne tiennent pas compte des modifications apportées aux fichiers tester_file et Common avant d'exécuter l'optimisation.

Voici un exemple d'un tel EA.

 
fxsaber:

Les nouveaux caches d'optimisation ne tiennent pas compte des modifications apportées aux fichiers tester_file et Common avant d'exécuter l'optimisation.

Voici un exemple d'un tel EA.

Les anciens ont-ils été pris en compte ou non ?

Rien n'a changé par rapport aux "anciens" caches d'optimisation.

Si vous glissez un fichier tester_file modifié avec la même heure de modification du fichier, le fichier sera considéré comme inchangé.

Les fichiers communs ne peuvent être contrôlés d'aucune manière (et ne l'ont jamais été), car on ne sait pas lesquels vous utilisez dans votre conseiller expert.

 
Slava:

Si vous glissez un fichier tester_file modifié avec la même heure de modification du fichier, le fichier sera supposé ne pas avoir été modifié.

Le temps de modification mis à jour n'a aucun effet sur le résultat. Conseiller expert

// Нужно компилировать (не запускать) советник, когда этот файл (с любым содержанием, хоть пустой) лежит в Песочнице.
// Иначе Тестер не будет видеть эти данные, даже если соответствующий файл с ними положить после компиляции на место.  
#property tester_file __FILE__ 

sinput int NumPass = 10;

#define  TOSTRING(A) #A

void SetArray( int &Array[], const int Amount )
{
  MathSrand((int)TimeLocal());
  
  for (int i = ArrayResize(Array, Amount) - 1; i >= 0; i--)
    Array[i] = MathRand() * Amount / SHORT_MAX + 1; // Случайное положительное число
}

void OnTesterInit()
{    
  ParameterSetRange(TOSTRING(NumPass), true, 0, 0, 1, NumPass - 1); // Задали Оптимизатору количество проходов = NumPass    
  
  int Array[];
  
  SetArray(Array, NumPass);      
  FileSave(__FILE__, Array);
  
  ArrayPrint(Array);  
}

void OnTesterDeinit()
{
  ChartClose(); // Закрыли чарт Frame-выполнения советника
}

double OnTester()
{
  int Array[];
  
  return((FileLoad(__FILE__, Array) != -1) ? Array[NumPass]: 0);
}


Résultat de deux passages consécutifs


Marqué en rouge, le deuxième passage correspond exactement aux valeurs du premier passage, pas du deuxième (deuxième ligne).


Le journal le confirme

Tester  set "Custom max" as optimization criterion for mathematical calculations
Tester  input parameter 'NumPass' set to: enable=true, value=0, start=0, step=1, stop=9
Tester  cache file 'tester\cache\X2.30.480532BA71563CA64BC267378A0185DD.opt' contains 10 records
Tester  Experts\fxsaber\X2.ex5 math calculations test means no history and no symbol info for EURGBP
Tester  complete optimization started
Tester  optimization already processed, total passes 10
Tester  reading of 10 result records from cache...
Tester  1 blocks of results read from cache in 0 ms
Statistics      optimization done in 0 minutes 00 seconds


Si je réinitialise le cache (recompilation), la première exécution se passe bien, mais pas les suivantes.

 
fxsaber:

Le temps de modification mis à jour n'a aucun effet sur le résultat. EA

Oui. Merci. J'ai trouvé quel était le problème.

Il y aura un correctif dans un futur proche. Cependant, les fichiers utilisés à partir du dossier commun ne peuvent toujours pas être contrôlés. Seulement les fichiers spécifiés dans #property tester_file

Raison: