Erreurs, bugs, questions - page 1089

 
MoneyJinn:

Il s'agissait de l'initialisation complète standard de l'indicateur, qui est effectuée lors de son premier démarrage et est réalisée via Oninit().

Parfois, lorsque l'historique est mis à jour, etc.

Personne n'a jamais pensé que l'initialisation répétée de l'indicateur par Oninit() entraînerait l'arrêt de la réponse des tableaux.

On vous a déjà proposé de montrer le code source ici, pour au moins comprendre quel est le problème.

Deux lignes de code (bien que le code source) ne permettent pas de déterminer le problème.

 
MoneyJinn:

Il s'agissait de l'initialisation complète standard de l'indicateur, qui est effectuée lors de son premier démarrage et est réalisée via Oninit().

Parfois, lorsque vous mettez à jour l'historique, etc.

Ce n'est pas nécessaire.

Il suffit de relier par erreur, puis d'espérer sauvegarder les données dans la mémoire tampon et de les adresser jusqu'à ce que l'indicateur soit recalculé. C'est la raison pour laquelle vous obtenez une erreur légitime en accédant à des données inexistantes au mauvais index.

 
Renat:

Il n'y a pas besoin de ça.

C'est juste qu'il faut refaire la liaison en cas d'erreur, puis espérer sauvegarder les données dans le tampon et y accéder jusqu'à ce que le recalcul de l'indicateur arrive. C'est pourquoi vous obtenez une erreur de logique en accédant à des données inexistantes dans le mauvais index.

J'initialise délibérément avec la mise à zéro du tampon, donc je ne compte pas sur la sauvegarde des données en principe.

Le problème, c'est qu'après avoir été lié à nouveau, le tableau ne se remplit pas et c'est lorsque j'essaie d'écrire que l'erreur spécifiée apparaît.

Si c'est la norme, alors bien...

 

Le tampon est vide jusqu'à ce que la demande de recalcul de l'indicateur arrive.

Et si vous le réinitialisez/le liez de force, vous n'avez le droit d'accéder à aucun de ses éléments avant d'arriver au gestionnaire d'indicateurs OnCalculate.

 
Sur la page Modules de signaux de trading en russe, dans la colonne "Type de signal", il est indiqué "Pour l'achat" et "Pour la vente", ou plus correctement "Pour...". Très probablement une traduction littérale de l'anglais avec "For...".
 

Bonjour !

Aidez-moi à trier l'activité du terminal.

Jeme suis inscrit pour un signal, le terminal a fonctionné pendant un certain temps - il a ouvert et fermé des ordres. Ensuite, le compte a été bloqué avec le commentaire "pour une charge élevée du serveur". Le support technique a indiqué que mon terminal générait de nombreuses requêtes au serveur (ouverture, fermeture, modification, etc.). Je peux voir dans les journaux que metatrader essaie de synchroniser son état une fois toutes les deux minutes et que rien d'autre ne se produit.

Existe-t-il un moyen de suivre le nombre de requêtes du metatrader vers le serveur afin de ne pas bloquer l'ensemble du compte ?

 

Dites-moi, l'utilisation de drapeaux et de variables statiques est-elle fiable lorsqu'on utilise un serveur vps ?

Parfois, dans des conditions d'EA complexes, il est nécessaire d'utiliser jusqu'à dix drapeaux ou plus, sans compter les variables statiques.

Pour réinitialiser tous les drapeaux et les variables statiques, serait-il suffisant de supprimer l'EA du graphique ?

Que se passe-t-il si le serveur est redémarré ? Les drapeaux et les variables statiques sont-ils conservés ?

4. si le serveur s'arrête soudainement, les drapeaux et les variables stat se réinitialisent-ils lorsque le serveur est remis en marche ?

Les questions concernent le MQL4 et le MQL5.

 
forexman77:

Dites-moi, l'utilisation de drapeaux et de variables statiques est-elle fiable lorsqu'on utilise un serveur vps ?

Parfois, dans des conditions d'EA complexes, il est nécessaire d'utiliser jusqu'à dix drapeaux ou plus, sans compter les variables statiques.

Pour réinitialiser tous les drapeaux et les variables statiques, serait-il suffisant de supprimer l'EA du graphique ?

Que se passe-t-il si le serveur est redémarré ? Les drapeaux et les variables statiques sont-ils conservés ?

4. si le serveur s'arrête soudainement, les drapeaux et les variables stat se réinitialisent-ils lorsque le serveur est remis en marche ?

Ces questions sont liées à MQL4 et MQL5.

1. Peu importe que vous ayez un VPS ou votre propre PC, l'essentiel est que MQL4/5 fonctionne.

2. Oui.

3. pas de sauvegarde.

4. Oui, ils le feront.

Si vous voulez que les drapeaux soient sauvegardés, écrivez leurs valeurs dans un fichier et lisez-les ensuite. Essayez de supprimer les fonctions de trading du conseiller expert, laissez celles qui définissent des drapeaux, affichez-les dans le commentaire, écrivez leurs valeurs, rechargez MT4/5 et voyez ce qui se passe.

 
paladin800:

1. Oui, peu importe qu'il s'agisse d'un VPS ou de votre propre ordinateur, du moment que MT4/5 fonctionne.

2. Oui.

3. pas de sauvegarde.

4. Oui, ils le feront.

Si vous souhaitez que les drapeaux soient sauvegardés, écrivez leurs valeurs dans un fichier et lisez-les ensuite. Essayez de supprimer les fonctions de trading du conseiller expert, laissez celles qui définissent des drapeaux, écrivez leurs valeurs dans le commentaire, rechargez MT4/5 et voyez ce qui se passe.

Excellente solution pour l'écriture dans le fichier!

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5
 

La question est plus une question de curiosité : "Pourquoi les membres de l'énumération ENUM_TIMEFRAMES ont-ils ces valeurs particulières ? D'où vient le numéro16385 en passant de la M30 à la H1 ?"

enum ENUM_TIMEFRAMES       
{                          
PERIOD_CURRENT = 0,        
PERIOD_M1 = 1,             
PERIOD_M2 = 2,             
PERIOD_M3 = 3,             
PERIOD_M4 = 4,             
PERIOD_M5 = 5,             
PERIOD_M6 = 6,             
PERIOD_M10 = 10,           
PERIOD_M12 = 12,           
PERIOD_M15 = 15,           
PERIOD_M20 = 20,           
PERIOD_M30 = 30,           
PERIOD_H1 = 16385,  //???       
PERIOD_H2 = 16386,         
PERIOD_H3 = 16387,         
PERIOD_H4 = 16388,         
PERIOD_H6 = 16390,         
PERIOD_H8 = 16392,         
PERIOD_H12 = 16396,        
PERIOD_D1 = 16408,         
PERIOD_W1 = 32769,         
PERIOD_MN1 = 49153         
}; 

Merci d'avance pour la ou les réponses ! !!

Raison: