Caractéristiques du langage mql5, subtilités et techniques - page 34

 
Alexey Kozitsyn:
Comment obtenir autrement les données du bon symbole/TF ? CopyBuffer ne fonctionne qu'avec des poignées.

C'est ainsi que cela fonctionne dans MT4 :

//+------------------------------------------------------------------+
double GetDataAO(string symbol_name, int timeframe, int shift) {
   return(iAO(symbol_name,timeframe,shift));
}
//+------------------------------------------------------------------+

Les données que vous envoyez à la fonction sont celles que vous obtenez. Immédiatement, sans créer 21 poignées du même indicateur.


 
Artyom Trishkin:

C'est ainsi que cela fonctionne dans MT4 :

Les données que vous envoyez à la fonction sont celles que vous obtenez. Immédiatement, sans créer au préalable 21 handles du même indicateur.

Je sais comment recevoir des données de MT4. Vous pouvez résister à la façon de le faire dans MT5, mais cela ne changera pas.
 
Alexey Kozitsyn:
Je sais comment recevoir des données de MT4. Vous pouvez résister à la façon de le faire dans MT5, mais cela ne changera pas.

Je ne résiste pas, et je n'essaie pas de changer. Je veux obtenir le même résultat sur MT5 que dans la vidéo, qui montre l'obtention de données à partir de n'importe quel traf sur MT4 sans délai visible.

Comment ?

En exécutant l'indicateur, je collecte toutes les données sur tous les courants dans des tableaux et je les lis ensuite en fonction de l'indice ? Mais la mémoire n'est pas caoutchouteuse.

Pour demander à un moment donné les données sur une barre du prix requis - mais il dit qu'il n'y a pas de données et que dois-je faire pour les avoir ?

Vous comprenez ? Je ne critique pas MT5, je veux comprendre et obtenir un résultat aussi bon que MT4.

 
Artyom Trishkin:

Je ne résiste pas, et je n'essaie pas de changer. Je veux obtenir le même résultat sur MT5 que dans la vidéo, qui montre l'obtention de données à partir de n'importe quel traf sur MT4 sans délai visible.

Comment ?

En exécutant l'indicateur, je collecte toutes les données sur tous les courants dans des tableaux et je les lis ensuite en fonction de l'indice ? Mais la mémoire n'est pas caoutchouteuse.

Demander à un moment donné les données sur une barre du prix requis - mais l'indicateur dit qu'il n'y a pas de données, et que faire pour leur disponibilité ?

Vous comprenez ? Je ne critique pas MT5, je veux comprendre et obtenir un résultat aussi bon que MT4.

Si vous voulez éviter les retards, lancez la minuterie toutes les 60-90 secondes pour le symbole/TF requis afin de garder les données à jour. Bien que... Je ne suis pas sûr que cette méthode fonctionne pour les données d'indicateurs provenant de symboles ou de fonds étrangers. Il faut l'essayer.
 

28 caractères par 6 TF = 168 poignées (MA). Démarrage en 8 secondes, mise à jour toutes les 4 secondes sans aucun problème.

Mais dans le testeur, hélas, un tuyau

 
Alexey Kozitsyn:
Vous ne voulez pas de délais - le minuteur doit démarrer toutes les 60-90 secondes pour le symbole/TF désiré afin de garder les données à jour.
Que faire au premier lancement ? Sur la vidéo, il n'y a aucun retard lors de l'exécution de l'indicateur. Sur MT5, tout se bloque sans aucun signe de vie lorsque l'indicateur démarre. Si l'utilisateur attend, il verra les données être dessinées. Mais ils peuvent décider que l'indicateur ne fonctionne pas. Message au graphique avec un grand écran - "Attendez, je suis en train de télécharger des données sur l'échelle de temps 21" ? Béquille.
 
Alexander Puzanov:

28 caractères par 6 TF = 168 poignées (MA). Démarrage en 8 secondes, mise à jour toutes les 4 secondes sans aucun problème.

Mais dans le testeur, hélas, un tuyau.

Faites-le fonctionner sur un symbole qui n'a jamais été utilisé et pour lequel vous n'avez tout simplement aucune donnée.

Et, oui, c'est bien que vous ayez obtenu un résultat - c'est ce que je veux atteindre. Je recueille mes opinions sur la façon de l'améliorer.

 
Artyom Trishkin:
Que faire lors du premier lancement ? Il n'y a aucun retard dans le lancement de l'indicateur sur la vidéo. Tout est suspendu sur MT5 sans aucun signe de vie au démarrage de l'indicateur. Si l'utilisateur attend, il verra les données être dessinées. Mais ils peuvent décider que l'indicateur ne fonctionne pas. Message au graphique avec un grand écran - "Attendez, je suis en train de télécharger des données sur l'échelle de temps 21" ? Béquille.

Si l'utilisateur est si impatient, qu'il achète un fer à repasser plus rapidement, mais pour le reste d'entre nous, un comportement normal et raisonnable s'impose :

1. Définissez un nombre adéquat de barres dans la fenêtre et dans l'historique ;

2. Pour les calculs sérieux, l'utilisateur est informé que tout va bien, qu'il doit simplement attendre. Vous pouvez créer un indicateur d'ajout d'historique.

 
Alexey Kozitsyn:

Si l'utilisateur est si impatient, qu'il achète un fer à repasser plus rapidement, mais pour le reste d'entre nous, un comportement normal et raisonnable s'impose :

1. Définissez un nombre adéquat de barres dans la fenêtre et dans l'historique ;

2. Pour les calculs sérieux, l'utilisateur est informé que tout va bien, qu'il doit simplement attendre. Pour des raisons esthétiques, vous pouvez créer un indicateur de sous-pistage de l'historique.

J'ai défini 5000 barres d'historique à la fois dans MT4 et MT5. Lorsque j'utilise MT4, je bénéficie d'un démarrage instantané, alors que MT5 doit attendre environ 20 à 30 secondes. Et cela en supposant que le symbole EURUSD répété est utilisé pour les tests - il y a un historique dans les deux terminaux.

Il n'est pas nécessaire d'informer de toutes les manières possibles un utilisateur "impatient" qu'il doit attendre. Vous voulez éviter les retards déraisonnables lors du lancement et le changement des délais actuels.

C'est pourquoi je m'intéresse aux moyens possibles de résoudre ce problème. Pour l'instant. Ensuite, je vais les expérimenter - ce qui va vraiment marcher.

 
Artyom Trishkin:

J'ai défini 5000 barres d'historique à la fois dans MT4 et MT5. Mon MT4 indique un démarrage instantané, tandis que le MT5 indique une période d'attente de 20 à 30 secondes. Et ce, en supposant que le symbole EURUSD répété soit utilisé pour les tests - il existe un historique dans les deux terminaux.

Il n'est pas nécessaire de dire à un utilisateur "impatient" d'attendre. Il est nécessaire d'éviter les retards déraisonnables lors du lancement et de la modification du calendrier.

C'est pourquoi je m'intéresse aux moyens possibles de résoudre ce problème. Pour l'instant. Je les expérimenterai plus tard - ce qui se passe vraiment.

20-30 secondes !? .... Omg... Je pense que vous avez fait quelque chose de mal... Mes indicateurs de tic-tac comptent beaucoup plus vite. Quelques-uns à la fois sur un tableau.