Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Merci pour votre aide dans les tests ! Mise à jour de MTTester.mqh.
Merci beaucoup pour la bibliothèque
Cet Expert Advisor appuie sur le bouton Start toutes les trois secondes, s'il n'est pas Stop. J'ai réussi à appuyer sur ce bouton - true, sinon - false.
Situation normale.
J'ai appuyé sur Start - le calcul a commencé.
Cette action prend ~125 ms.
Ce n'est pas rare.
Appuyer sur Start - soit le calcul instantané est lancé, soit le testeur signale qu'il ne peut pas effectuer le calcul (par exemple FromDate >= ToDate).
Cette action prend environ une seconde. La bibliothèque émet un avertissement, mais renvoie un message indiquant que le bouton a été enfoncé.
Situation rare.
Le bouton Start n'est pas enfoncé. Ce problème ne peut être résolu qu'en redémarrant le terminal.
Je n'ai pas d'historique de cette situation. Il faut moins de 10 secondes pour identifier une telle situation. Il y aura une alerte comme celle-ci.
Retourne false - le bouton n'a pas été pressé.
C'est une situation rare.
Le bouton Start n'est pas enfoncé. Ce problème ne peut être résolu qu'en redémarrant le terminal.
Une machine WinServer distante effectuait continuellement des centaines de passes simples sans aucun échec.
Dès que je me suis connecté (RDP) à cette machine, le bouton Démarrer a cessé de cliquer. Le remède, comme toujours, est de redémarrer le terminal.
Il semble que ce comportement soit lié à des connexions similaires à la machine. Vous pouvez vous connecter via RDP des dizaines de fois et tout fonctionne bien. Mais certaines connexions deviennent fatales pour le testeur.
Ceux qui rencontrent le bogue de démarrage doivent faire attention à la relation entre la connexion à la machine et le bouton Démarrer.
ZY Coïncidence ou non, WinServer a proposé de vérifier ses mises à jour lors de cette connexion à la machine.
Bonne bibliothèque.
Est-il possible de spécifier le fichier *.set contenant les paramètres à passer par programme pour le test ?
Par défaut, seuls les mêmes paramètres sont utilisés, ce qui n'est pas très pratique.
Est-il possible de spécifier le fichier *.set contenant les paramètres à transmettre par programme pour le test ?
Exemple.
Merci.
Est-il préférable de transmettre les paramètres sur une seule ligne, les lignes étant séparées par le caractère \n.
ou un tableau de lignes comme dans l'exemple ?
Et est-il possible de modifier dans
la méthode statique Run de la classe MTTester
static bool Run( const string ExpertName = NULL,
const string Symb = NULL,
const ENUM_TIMEFRAMES period = PERIOD_CURRENT,
const datetime iBeginTime = 0,
const datetime iEndTime = 0 )
ajouter une chaîne de paramètres (ou un tableau de chaînes) qui spécifie les paramètres *.set EA ?
Merci.
Est-il préférable de transmettre les paramètres sur une seule ligne, les lignes étant séparées par le caractère \N ?
ou un tableau de lignes comme dans l'exemple ?
GetSettings est CTRL+C dans Tester.
SetSettings est CTRL+V dans Tester.
Voyez avec quelles données CTRL+C/V fonctionne.
Et s'il est possible de les modifier dans
la méthode statique Run de la classe MTTester
Je n'utilise pas cette méthode. Elle reste dans l'histoire.
L'exemple montre toutes les méthodes MTTESTER qui sont nécessaires.
Est-il possible de spécifier le fichier *.set contenant les paramètres à transmettre par programme pour le test ?
Validate fonctionne avec les fichiers ini complets du testeur et une version réduite - les fichiers set du testeur.
Si vous avez besoin d'exécuter un grand nombre de fichiers ini/set, Validate le fait d'emblée. Utilisation.
Validate fonctionne avec les fichiers ini de Tester et une version simplifiée - set-files for Tester.
Si vous avez besoin d'exécuter un grand nombre de fichiers ini/set-files, Validate le fait d'emblée. Utilisation.
Merci.
J'ai trouvé une solution dans ce commentaire où le fichier set est chargé dans le format requis comme un tableau de chaînes.
https://www.mql5.com/ru/forum/318305/page34#comment_51842356
J'ai également remplacé
typedef bool (*INITDEINIT)( void ) ;
pointeur des appels de rappel à l'initialisation et à la désinitialisation de chaque exécution
à l'interface
interface InitDeInit {
bool RunInit() ;
bool RunDeInit() ;
} ;
qui est implémentée dans l'héritier
d'une classe similaire à la structure SETTINGS
et donc dans la méthode RunInit().
Je charge le fichier de configuration de l'outil requis.
typedef bool (*INITDEINIT)( void ) ; - ce pointeur ne permet pas de savoir quel outil est en train de s'initialiser/désinitialiser, il est donc préférable d'utiliser un pointeur sur l'interface, les pointeurs sur les méthodes n'étant pas encore supportés par MQL.
Avec cette approche, il n'est pas nécessaire de modifier la méthode MTTester::Run.