Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1189

 

Veuillez me conseiller sur ce que je dois faire avec le robot. Le test s'interrompt dans n'importe quel terminal chez n'importe quel courtier trois mois avant la fin du test. Le robot n'a pas d'arrêts, mais le test s'arrête.....

Fatigué de....


 
Stanislav Korotky:

Comment ouvrir un compte de démonstration MT4 sur MetaQuotes Demo ? Avant, cela fonctionnait sans problème, maintenant, sur la dernière page de la boîte de dialogue, il est indiqué : Enregistrement, Patientez un peu, s'il vous plaît, et dans cet état, il reste inactif indéfiniment, les champs avec le login et le mot de passe restent vides. Aucun message dans le journal. J'ai essayé les comptes "démo" et "réel" et différents types de comptes.

UPD : J'ai essayé la démo d'un courtier - même chose.

Vérifié, sur le serveur Metacquot aussi, pas de nouvelle démo enregistrée, sur roboforex sans problèmes nouvelle démo enregistrée


Mihail Matkovskij:

Il montre l'erreur 4401.

Vérifiez l'erreur dans l'aide.

et ce n'est pas un appel de fonction spécifique, c'est la file d'attente, l'échange, l'erreur va dans une autre zone - le graphique n'est pas prêt, alors vous avez lancé la construction de l'histoire et quand vous l'appelez à nouveau, l'histoire peut déjà être prête, tout comme elle peut ne pas l'être


dans les indicateurs, l'accès à l'historique est asynchrone, si l'historique n'est pas prêt, une erreur est renvoyée et l'historique est préparé, Sleep() ne fonctionne pas dans les indicateurs, donc si vous obtenez une erreur, au prochain tick, relisez l'historique, recherchez les indicateurs "multisymbol" ou "multiperiod" dans kodobase et regardez comment l'historique est lu à partir d'un TF ou d'un symbole différent, les principes sont les mêmes.

 
Stanislav Korotky:

Comment ouvrir un compte de démonstration MT4 sur MetaQuotes Demo ? Avant, cela fonctionnait sans problème, maintenant, sur la dernière page de la boîte de dialogue, il est indiqué : Enregistrement, Patientez un peu, s'il vous plaît, et dans cet état, il reste inactif indéfiniment, les champs avec le login et le mot de passe restent vides. Aucun message dans le journal. J'ai essayé les comptes "démo" et "réel" et différents types de comptes.

UPD J'ai essayé la démo d'un courtier - même chose.

Fermeture du serveur de démonstration MetaQuotes

MetaQuotes Software Corp.

4 mars 2009

Le 5 avril 2009, le serveur "demo.metaquotes.net" sera fermé. Cependant, le centre d'histoire avec l'histoire minute continuera son travail.

Depuis ce jour, notre entreprise refuse d'utiliser le serveur de démonstration. Actuellement, le nombre de sociétés utilisant la plateforme MetaTrader 4 est si élevé que nous ne voyons pas la nécessité de maintenir notre propre serveur.

 
Igor Makanu:

rechercher l'erreur dans l'aide

et il ne s'agit pas d'un appel de fonction particulier, mais de l'ordre, de l'échange, l'erreur ira à un autre endroit - le graphique n'est pas prêt, alors vous avez commencé à construire l'historique et quand vous l'appelez à nouveau, l'historique peut être déjà prêt, tout comme il n'est pas prêt du tout

Mais pourquoi l'historique n'est pas prêt avec iBars(symbol, timeframe), alors qu'il est tout à fait normal avec iBars(Symbol(), Period()) ? Et cela ne se produit que lorsque le terminal est redémarré, pas toujours. Et les variables symbole, timeframe sont initialisées correctement, dans la section initialisation (je l'ai vérifié moi-même).

Essayez de presser mon exemple: https://c.mql5.com/3/324/Test.mq5.

Séquence d'actions :

1. lancez le fichier compilé sur le graphique. Les messages que vous recevez sont :

2020.06.24 21:05:50.773 Loader::Loader symbole : EURUSD timeframe : PERIOD_H1

2020.06.24 21:05:50.773 Loader::Barres de chargement : 140433

2020.06.24 21:05:50.773 Loader::Erreur de chargement : 0

2020.06.24 21:05:50.773 Loader::Barres de chargeurs (2) : 140433

2. Terminez le terminal et redémarrez-le. Les messages du journal seront les suivants :

2020.06.24 21:07:34.963 Loader::Loader symbole : EURUSD timeframe : PERIOD_H1

2020.06.24 21:07:34.963 Loader::Barres de chargeurs : 0

2020.06.24 21:07:34.963 Loader::Loader Error : 4401

2020.06.24 21:07:34.964 Loader::Barres de chargeurs (2) : 140433

 
Mihail Matkovskij:

Mais pourquoi avec iBars(symbol, timeframe) l'histoire se révèle incomplète, alors qu'avec iBars(Symbol(), Period()) elle est tout à fait normale ? Et cela ne se produit que lorsque le terminal est redémarré, pas toujours. Et les variables symbol et timeframe sont initialisées correctement, dans la section d'initialisation (je l'ai vérifié moi-même).

une fois de plus... échangez ces 2 lignes et obtenez la lecture

je peux me tromper, mais je pense que ce sera comme je l'ai écrit ci-dessus - je ne peux pas/ne peux pas élaborer.

 
MakarFX:

@Artyom Trishkin

Êtes-vous un modérateur dans ce fil ?

Non seulement

 
Artyom Trishkin:

Non seulement cela

Comment puis-je savoir qui m'a banni hier ?
 
Mihail Matkovskij:

Mais pourquoi avec iBars(symbol, timeframe) l'histoire se révèle incomplète, alors qu'avec iBars(Symbol(), Period()) elle est tout à fait normale ? Et cela ne se produit que lorsque le terminal est redémarré, pas toujours. Et les variables symbole, timeframe sont initialisées correctement, dans la section initialisation (je l'ai vérifié moi-même).

Essayez de presser mon exemple: https://c.mql5.com/3/324/Test.mq5.

Séquence d'actions :

1. lancez le fichier compilé sur le graphique. Les messages que vous recevez quand vous faites ça :

2. Terminez le terminal et redémarrez-le. Les messages dans le journal seront les suivants :

Les données historiques sont mises à jour en deux minutes. Afin de les garder "chauds" à tout moment, il faut accéder à un symbole/période non indigène au moins une fois toutes les deux minutes.

La première fois que l'indicateur accède aux données historiques, s'il n'y a pas assez de données locales, le chargement des données est lancé et la fonction renvoie une erreur. Dans ce cas, vous devez quitter OnCalculate() avec le retour zéro - il n'y aura donc pas de données dans la variable prev_calculs au prochain tick - elle indique la quantité de données déjà calculées lors du précédent appel au gestionnaire OnCalculate(). Dès que suffisamment de données sont chargées, vous ne recevrez plus d'erreur d'accès aux données et vous pourrez continuer à travailler avec OnCalculate().

Une dernière chose : n'utilisez pas toutes les fonctions qui provoquent le chargement de données historiques à partir de l'indicateur - si vous essayez d'utiliser les données du symbole et de la période en cours, cela peut provoquer un crash. Utilisez les données rates_total pour obtenir le nombre de barres d'historique.

Tout cela a été dit de nombreuses fois sur le forum et affiché dans la documentation.

Je n'ai pas envie de le rechercher, mais je me souviens bien de l'endroit où j'ai décrit tout cela moi-même avec des liens vers des sources.

 
MakarFX:
Comment puis-je savoir qui m'a banni hier ?
Tu ne le fais pas.
 
Artyom Trishkin:
Pas du tout.

Dommage.

Cet homme bon à rien, par négligence, m'a banni sans raison.