Questions d'un "mannequin - page 67

 
sergeev:

le nombre d'éléments est spécifié par une constante

si le nombre d'éléments n'est pas connu à l'avance, utilisez ArrayResize.

Ce sont les bases du c++

const int elements=4;
Si c'est le cas, ça n'a pas aidé.
 
x100intraday:
Si c'est le cas, ça n'a pas aidé.

#define  elements 4
 
sergeev:

Merci.
 

Bonjour.

Pouvez-vous me dire comment configurer une zone en surbrillance dans MetaTrader 5 pour pouvoir suivre les ordres en cours ?

Voir la capture d'écran ci-jointe.

Merci d'avance.

Dossiers :
uf2mcfxvni.JPG  285 kb
 
Dimm-ua:

Bonjour.

Pouvez-vous me dire comment configurer une zone en surbrillance dans MetaTrader 5 pour pouvoir suivre les ordres en cours ?

Voir la capture d'écran ci-jointe.

Merci d'avance.


La fenêtre "Boîte à outils", onglet "Commerce".
 
Karlson:
Fenêtre Outils.onglet Commerce.
Je dois être un parfait imbécile, mais il n'y a rien de tel
 
 
Karlson:

OK, merci beaucoup - c'est réglé
 

Question aux développeurs : l'inversion de position modifie-t-elle le temps d'ouverture d'une position? Si ce n'est pas le cas, comment obtenir le temps de retournement de la position ?

Il s'avère qu'une position ne peut être inversée qu'en deux demandes - pour fermer la position actuelle et en ouvrir une nouvelle dans la direction opposée, alors le temps d'ouverture de la position sera égal au temps d'inversion. Et si nous basculons d'une demande à l'autre, alors nous ne pouvons pas obtenir le temps de basculement de la position en utilisant la fonction PositionGetInteger... ?

 

Prenons l'exemple le plus simple d'un indicateur interne - Fractals : https://www.mql5.com/ru/code/viewcode/30/5540/fractals.mq5. Il y a de telles piles de code :

ExtUpperBuffer[i]=High[i];
ExtLowerBuffer[i]=Low[i];

Ces tampons sont dynamiques de type double.

En outre, il est nécessaire de stocker non seulement les données de prix - High et Low - mais également les HighTime et LowTime spécifiés des barres extrêmes (comme vous le savez, toutes les TF, à l'exception de M1, ont des valeurs de temps approximatives, j'ai donc dû calculer le temps exact pour moi-même afin de l'ajouter dans les tampons de temps pour une utilisation ultérieure). Captain Hindsight suggère que nous devons déclarer des tableaux appropriés de type datetime, puis les remplir de manière similaire :

ExtUpperTimeBuffer[i]=exactTime[0]; // правая часть - элемент массива, вычисленный заранее
ExtLowerTimeBuffer[i]=exactTime[0]; // правая часть - элемент массива, вычисленный заранее

et autre :

ExtUpperTimeBuffer[i]=EMPTY_VALUE;
ExtLowerTimeBuffer[i]=EMPTY_VALUE;

mais avant cela, allez à l'aide de datetime et découvrez :

"Constantes de date et d'heure... " et " ...peut être représenté par une chaîne littérale". En outre, nous ne pouvons pas associer les tableaux de ce type à des tampons indicateurs (et nous n'en avons pas besoin ?), nous ne pouvons pas appliquer SetIndexBuffer aux tableaux de ce type de données pour des raisons bien connues. Et nous ne le faisons pas. Nous y réfléchissons longuement et arrivons à la conclusion que tout va bien. Nous compilons le code résultant. Nous recevons un avertissement"troncature de la valeur constante" concernant les chaînes avec =EMPTY_VALUE(nous sommes tristes) et une erreur dans le rapport du conseiller expert : "Array out of range " concernant les mêmes chaînes (nous sommes tristes à la fin). Il semble queEMPTY_VALUE ne veuille pasentrer dans le type datetime , alors que la taille du tableau reste nulle. En remplaçantEMPTY_VALUE par 0, l'erreur disparaît mais la taille du tableau est toujours nulle. Uneautre chose est également étrange : les tailles des tampons ExtUpperBuffer et ExtLowerBuffer sont non nulles, ce qui signifie qu'ils sont remplis, mais que les fractales n'apparaissent pas. Pourquoi est-ce soudainement le cas ?

La principale question qui m'intéresse est la suivante : est-il possible de remplir les tampons de temps directement comme les tampons de prix (sans avoir recours à CopyTime et aux autres fonctions habituelles de copie dans un tableau) et comment, et si non, pourquoi ? Vraiment, dans ce but, je devrais créer une autre paire de tampons pour stocker les secondes à partir du début de 1970, mais avec un type autre que datetime, mais un double ou un long, par exemple, et aux moments nécessaires pour convertir par TimeToString au format de temps comme chaîne littérale?

P.S. : si vous êtes trop paresseux pour reproduire le code complet de Fractals.mq5, dites-moi simplement comment vous stockez les données spécifiques au temps calculé (sans appeler les handles des indicateurs intégrés et travailler avec eux) ?

Merci.