Erreurs, bugs, questions - page 208

 
Ashes:

Juste au-dessus, vous avez écrit :

C'était peut-être l'intention, mais... Faire une expérience sur le terrain (build 358).

Je supprime tous les symboles du dossier "C:³Program Files³MetaTrader 5³Bases³Alpari-Demo³history".

Je me connecte à Alpari-Demo (le terminal a 5 graphiques ouverts : EURUSD H1, EURCHF H1, USDJPY H1, GPBUSD H1+M1).

Quelques minutes plus tard, je peux voir l'image (l'historique est toujours en cours de téléchargement) :

Contenu du dossier C:\Program Files\MetaTrader 5\Bases\Alpari-Demo\history

Merci pour votre message. Nous allons nous en occuper.
 
Interesting:

...

Si je comprends bien, la taille des fichiers historiques se trouve dans le répertoire du terminal, qui est indiqué par l'emplacement du répertoire "de travail" - C:\Program Files\MetaTrader 5\Bases\Alpari-Demo\history\EURJPY

Le testeur a son propre dossier pour ces données - C:\Program Files\MetaTrader 5\tester\Agent(nombre d'agents)\bases\DC ou un autre courtier (serveur)\history\....

Quel est le problème alors ?

Le problème est le manque de volonté de lire attentivement le message original ;)

Il y a réellement 2 fichiers (2009, 2010) dans le dossier du testeur, mais au premier démarrage du testeur pour un symbole spécifique, l'historique complet est téléchargé (s'il n'a pas été téléchargé ou supprimé auparavant) dans le dossier "x:\Program Files\MetaTrader 5\Bases\...", et tant que ces informations ne sont pas complètement téléchargées, le test ne démarre pas.

Cela ne me dérange pas de dupliquer les données des bases MetaTrader 5 dans les bases MetaTrader 5, car je comprends qu'il s'agit d'un instantané de l'état des ticks pour garantir l'identité absolue des cotations pendant l'énumération de l'optimisation. Mais pourquoi télécharger des données qui ne sont absolument pas nécessaires pour le moment ?

 
Ashes:

Le problème est le manque de volonté de lire attentivement le message original ;)

Il y a réellement 2 fichiers (2009, 2010) dans le dossier du testeur, mais au premier lancement du testeur à un symbole spécifique, tout l'historique est téléchargé (s'il n'a pas été téléchargé ou supprimé avant) dans le dossier "x:\Program Files\MetaTrader 5\Bases\...", et tant qu'il ne remplit pas ces informations inutiles, le test ne démarre pas.

Cela ne me dérange pas de dupliquer les données des bases MetaTrader 5 dans les bases MetaTrader 5, car je comprends qu'il s'agit d'un instantané de l'état des ticks pour garantir l'identité absolue des cotations pendant l'énumération de l'optimisation. Mais pourquoi télécharger des données qui ne sont absolument pas nécessaires pour le moment ?

Je vais vérifier, peut-être que je me trompe vraiment et qu'il y a matière à réflexion.
 
Renat:
L'historique est téléchargé correctement - cela signifie qu'il y a eu une demande pour 2004. Et lors de l'utilisation du testeur, l'historique complet est définitivement et correctement téléchargé à la profondeur maximale - c'est une décision absolument correcte et consciente. Il suffit de regarder les exclamations "incompréhensibles" des utilisateurs de MT4 pour comprendre : si nous ne nous occupons pas de l'historique, les utilisateurs ne seront même pas capables de contrôler l'historique.

Relisez ma réponse, s'il vous plaît.

Nous ne nous contentons pas de télécharger et de revérifier tout l'historique. Si un testeur est utilisé, cela signifiera inévitablement (pas dans ce test, mais dans le prochain) un travail complet et inconditionnel avec toute l'histoire, indépendamment du fait que ce test particulier utilisera une petite période de l'histoire. Par conséquent, le terminal prépare à l'avance et revérifie complètement la profondeur et l'exactitude de l'historique complet du symbole souhaité. Bien entendu, seul l'intervalle d'historique nécessaire est transmis/synchronisé à un agent de test spécifique pour un test particulier.

Comme les traders ont tendance à ne pas tenir compte des règles de préparation correcte des conditions de test, le terminal essaie de préparer et de tester à nouveau l'environnement autant que possible. Dans MetaTrader 5, nous avons spécifiquement supprimé la limitation du volume et de la profondeur des données demandées, afin que les traders n'aient pas à télécharger et synchroniser manuellement les données.

Документация по MQL5: Получение рыночной информации / SymbolIsSynchronized
Документация по MQL5: Получение рыночной информации / SymbolIsSynchronized
  • www.mql5.com
Получение рыночной информации / SymbolIsSynchronized - Документация по MQL5
 
Interesting:

1. testeur de stratégie

Lors du test, le testeur ne charge qu'une paire spécifiée dans les paramètres du testeur. Si l'optimisation est effectuée pour tous les symboles, chaque symbole sera chargé séquentiellement.

Si le Conseiller Expert est multi-devises, les autres symboles doivent être chargés indépendamment.

L'idée est la suivante

а. Le testeur dispose de sa propre vue d'ensemble du marché, dans laquelle, initialement, seule la paire spécifiée dans les paramètres du testeur est définie.

б. Si nécessaire, d'autres paires peuvent être ajoutées à l'aperçu du marché du testeur à partir d'un EA, en utilisant Select.

в. Le testeur de stratégie synchronise les données avec le terminal, qui les synchronise à son tour avec le serveur de négociation (où le compte est ouvert).

Cela télécharge l'historique pour toute la période de test + un certain nombre d'informations antérieures à la date du test (si je ne me trompe pas, 1 an).

в. Si le conseiller expert (vous) n'est pas satisfait de la profondeur requise, l'historique doit être chargé indépendamment. Par exemple dans le bloc d'initialisation, après avoir vérifié l'historique et la synchronisation des données.

a. logiquement

b. c'est-à-dire que dans le cas général, il est IMPOSSIBLE de télécharger tout ce dont le Conseiller Expert a besoin pendant les tests (à moins de télécharger absolument tout).

c. c'est-à-dire qu'avant le début de l'EA dans le testeur, les paires correspondantes ne sont pas encore disponibles dans l'aperçu du marché du testeur (conformément au point a.)

c(2). la profondeur est correcte, je n'ai pas demandé plus.

Ainsi, il est plus logique (mais un peu plus compliqué) de télécharger les données selon b, c, c(2) lorsque nous accédons aux données dans le Conseiller Expert.

Je suggère d'ajouter #property tester_symbol pour remplir le tableau du point a (si l'idée est correctement décrite), avec la possibilité d'en définir plusieurs, comme #property description. Mais je reste convaincu qu'en l'absence de #property tester_symbol la pagination devrait se faire "comme sur des roulettes" (sauf pour le caractère de base), car leur NEED dépend uniquement de l'algorithme de l'EA lui-même.

Intéressant:

2. terminal

Ici, l'historique est formé de manière similaire (d'après ce que je comprends, selon les symboles indiqués dans la revue de marché du terminal, en tenant compte des graphiques ouverts). Lorsque vous commencez à travailler avec le terminal, un minimum nécessaire d'historique est formé pour les symboles avec lesquels vous travaillez (je ne me souviens pas du nombre exact de barres, mais il a été mentionné à plusieurs reprises sur le forum).

Si cette profondeur d'historique n'est pas pratique, les données doivent être chargées manuellement. Pour ce faire, passez au mois maximum (une des options recommandées) et, à l'aide de la barre de défilement gauche du graphique, chargez l'historique à la profondeur maximale.

Il serait également souhaitable de définir le nombre requis de barres sur le graphique dans les paramètres du terminal.

Il s'est avéré que dans ce cas, ce n'est pas le minimum nécessaire, mais toute l'histoire du symbole, avec laquelle nous travaillons.

Une observation (le build a changé de 360) : si nous modifions légèrement les conditions - ne pas supprimer tout le dossier historique après le téléchargement initial et y laisser l'année en cours, les années précédentes ne seront pas permutées automatiquement ! Jusqu'à ce que le testeur soit exécuté sur ce personnage.

 
Renat:

Relisez ma réponse, s'il vous plaît.

Ce n'est pas pour rien que nous téléchargeons et retestons toute l'histoire. Si un testeur est utilisé, cela signifie inévitablement (pas dans ce test, mais dans le suivant) un travail complet et inconditionnel avec toute l'histoire, indépendamment du fait que ce test particulier utilisera une petite période de l'histoire. Par conséquent, le terminal prépare à l'avance et revérifie complètement la profondeur et l'exactitude de l'historique complet du symbole souhaité. Bien entendu, seul l'intervalle d'historique nécessaire est transmis/synchronisé à un agent de test spécifique pour un test particulier.

Comme les traders ont tendance à ne pas tenir compte des règles de préparation correcte des conditions de test, le terminal essaie de préparer et de tester à nouveau l'environnement autant que possible. Dans MetaTrader 5, nous avons volontairement supprimé la limitation du volume et de la profondeur des données demandées, afin que les traders n'aient pas à télécharger et synchroniser manuellement les données.

C'est juste pour "avoir" ! Lors de la prochaine utilisation du testeur, l'historique pourrait être corrigé (surtout maintenant, alors qu'il présente de nombreuses failles dans différentes sociétés de courtage, de l'absence totale aux données tordues).

L'utilisateur ne comprend pas le bonheur qui lui est tombé dessus ! Ajoutez dans les paramètres la case à cocher "Je ne le veux pas, je ne le veux que lorsque l'utilisateur ou l'expert/script/indicateur le demande". Et "NE PAS vouloir de mises à jour automatiques forcées de MT5" également.

 
Ashes:

a. logiquement

b. c'est-à-dire qu'en général, il est IMPOSSIBLE de pomper tout ce dont l'EA aura besoin pendant les tests AVANT DE DÉMARRER (sauf si absolument tout est pompé).

c. c'est-à-dire qu'avant le début de l'EA dans le testeur, les paires correspondantes ne sont pas encore disponibles dans l'aperçu du marché du testeur (conformément au point a.)

c(2). la profondeur est correcte, je n'ai pas demandé plus.

Ainsi, il est plus logique (mais un peu plus compliqué) de télécharger les données selon b, c, c(2) lorsque nous accédons aux données dans le Conseiller Expert.

Je suggère d'ajouter #property tester_symbol pour remplir le tableau du point a (si l'idée est correctement décrite), avec la possibilité d'en définir plusieurs, comme #property description. Mais je reste convaincu qu'en l'absence de #property tester_symbol la pagination doit se faire "comme sur des roulettes" (sauf le caractère de base), car leur REALITE dépend uniquement de l'algorithme de l'EA lui-même.


Ces fonctions sont pratiques (et tout à fait suffisantes) pour former la liste des symboles dans le testeur

Obtenir des données sur le marché

Fonctions permettant d'obtenir des informations sur les conditions du marché.

La fonction

Action

SymbolesTotal

Renvoie le nombre de symboles disponibles (sélectionnés dans MarketWatch ou tous).

Nom du symbole

Renvoie le nom du symbole spécifié

SymbolSelect

Sélectionne un symbole dans MarketWatch ou supprime le symbole de la fenêtre.

 
"Utilisez-vous souvent le redimensionnement des tableaux ? Parfois, votre cerveau est en ébullition et vous ne savez pas pourquoi le message"Array out of range in..." s'affiche ? "Alors nous venons à vous !" :D

-Vérifier si ArrayResize() renvoie "-1" ?

Auparavant, un message du type "Mémoire insuffisante" s'affichait et le programme plantait, mais plus maintenant.

Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 

Construire 360. On dirait une erreur dans CTrade:

2010.10.04 18:59:00 CTrade::PositionOpen : achat instantané de 0.10 EURUSD à 1.36890 sl : 1.36390 tp : 1.37890 [effectué à 0.00000].

2010.10.05 09:43:00 CTrade::PositionModify : modifier l'achat de 0.00 EURUSD (sl : 1.36897, tp : 1.37861) [done]

 

Construire 360. Plusieurs fois dans le testeur, il y a eu des messages "l'agent du testeur a échoué".

GK 0 Tester 18:26:31 EURUSD : historique du téléchargement préliminaire commencé

CL 0 Tester 18:28:55 EURUSD : historique du téléchargement préliminaire terminé

GH 0 Core 2 18:28:59 processus d'agent démarré

HP 0 Core 2 18:29:00 connexion à 127.0.0.1:3000

OI 2 Tester 18:29:05 L'agent a échoué

LI 0 Core 2 18:29:05 connect closed

GN 0 Core 2 18:34:14 processus agent démarré

KJ 0 Core 2 18:34:14 se connectant à 127.0.0

.

1:3000

RJ 0 Core 2 18:34:15 connecté

OP 0 Core 2 18:34:15 autorisé (agent build 360)

NH 0 Testeur 18:34:15 EURUSD,M1 (Alpari-Demo) : test de experts\third.ex5 du 2010.10.04 00:00 au 2010.11

.

05 00:00:00 à démarrer

.

..

HQ 0 Core 2 19:27:47 processus agent démarré

II 0 Core 2 19:27:48 connexion à 127.0.0.1:3000

CP 2 Tester 19:27:53 agent testeur a échoué

HP 0 Core 2 19:27:53 connexion fermée

KI 0 Core 2 19:28:10 connexion à 127.0.0.1:3000

QL 0 Core 2 19:28:10 connecté

PN 0 Core 2 19:28:10 autorisé (agent build 360)

RJ 0 Tester 19:28:10 EURUSD,M1 (MetaQuotes-Demo) : test des experts\third_alptest2.ex5 du 2010.10.04 00:00 au 2010.11.05 00:00 à démarrer

MF 0 Core 2 19:28:11 synchronisation commune terminée

IM 0 Core 2 19:28:11 3124 octets d'info de compte

chargés

Raison: