Erreurs, bugs, questions - page 2300

 
Andrey Khatimlianskii:

Deuxième lien

Au fait, le serveur est en panne :

Service indisponible.


Erreur HTTP 503. Le service est indisponible.

 
Andrey Khatimlianskii:

Deuxième lien

Andrey, bonjour. Votre lien mène au moteur de recherche de MQL5.com. Je vous serais très reconnaissant de bien vouloir préciser ce que vous voulez dire.

 
SuhanovDM94:

Andrey, bonjour. Votre lien mène au moteur de recherche de MQL5.com. Je vous serais très reconnaissant si vous pouviez préciser ce que vous voulez dire.

Je voulais dire utiliser le moteur de recherche :


 
Nikolai Semko:

Je demande l'aide de personnes compétentes pour comprendre le problème des pointeurs vers les instances de classe. Je ne le comprends pas.

Voici un exemple de script :

En l'exécutant, nous avons, comme prévu :


si une instance d'une classe est déclarée comme :

puis sur l'exécution, nous avons :

c'est-à-dire que le destructeur n'est même pas lancé et que la mémoire n'est donc pas libérée.


Mais si une instance d'une classe est déclarée comme :

le constructeur est lancé deux fois, le destructeur - une fois, mais la mémoire n'est pas libérée et nous avons le type de pointeur d'objetPOINTER_AUTOMATIC, alors qu'il devait êtrePOINTER_DYNAMIC


Comment faire en sorte que le destructeur s'exécute et supprime toujours correctement ?

Quel gâchis.

 
TheXpert Toutes les combinaisons sont prises en charge par le modèle, donc pour 9 paramètres, il faut 10 surcharges de fonctions.

Merci, cher compatriote, que Dieu vous donne des karma plus)

 
Andrey Khatimlianskii:

Je voulais dire utiliser le moteur de recherche :


Ce guide semble avoir ce dont vous avez besoin. Je vais continuer à creuser dans cette direction. Merci !

 

A partir d'une EA qui fonctionne, veuillez expliquer ce qui ne va pas ?

Attacher les numéros aux sommets du ZigZag

La sortie des données et leur liaison au graphique (par coordonnée de prix "de référence" Low) se fait comme suit :

1) les variables nécessaires sont définies

extern string font_name = "Arial" ; extern int font_size = 8 ; extern color HighColor=Orange, LowColor=PaleGreen ;

int kBtT,DtT ; //nombre de barres, longueur de la tendance actuelle et bool tvT,tnT ; //tendance actuelle ascendante/descendante

2) fonction

void ORT(int n, double Y1, string l, color c) {

string Obj = TimeToStr(Time[n], TIME_DATE|TIME_MINUTES) ;

ObjectCreate (Obj, OBJ_TEXT, 0, Time[n], Y1 ;)

ObjectSetText(Obj, l, font_size, font_name) ;

ObjectSet(Obj, OBJPROP_COLOR, c) ; }

3) après la commande

if(tvT) ORT(kBtT,Low[kBtT],DtT,LowColor) ; else ORT(kBtT,High[kBtT]+6*_Point,DtT,HighColor) ;

Sur le graphique de toute paire de devises avec l'indicateur ZigZag installé, ses sommets et ses creux sont affichés avec les valeurs correspondantes.

Cependant, par la suite, les valeurs des BAS ZigZag restent inchangées, mais lorsque la taille de la fenêtre change, elles commencent à se décaler de quelques pixels vers le haut ou vers le bas pour une raison quelconque.

Quelle en est la raison et que peut-on faire pour résoudre ce "problème" ?

 
aleger:

A partir d'une EA qui fonctionne, veuillez expliquer ce qui ne va pas ?

La sortie des données et leur liaison au graphique (par coordonnée de prix "de référence" Low) se fait comme suit :

1) les variables nécessaires sont définies

extern string font_name = "Arial" ; extern int font_size = 8 ; extern color HighColor=Orange, LowColor=PaleGreen ;

int kBtT,DtT ; //nombre de barres, longueur de la tendance actuelle et bool tvT,tnT ; //tendance actuelle ascendante/descendante

2) fonction

void ORT(int n, double Y1, string l, color c) {

string Obj = TimeToStr(Time[n], TIME_DATE|TIME_MINUTES) ;

ObjectCreate (Obj, OBJ_TEXT, 0, Time[n], Y1 ;)

ObjectSetText(Obj, l, font_size, font_name) ;

ObjectSet(Obj, OBJPROP_COLOR, c) ; }

3) après la commande

if(tvT) ORT(kBtT,Low[kBtT],DtT,LowColor) ; else ORT(kBtT,High[kBtT]+6*_Point,DtT,HighColor) ;

Sur le graphique de n'importe quelle paire de devises avec l'indicateur ZigZag WBLE installé, ses sommets et ses creux ont été affichés avec les valeurs correspondantes.

Cependant, par la suite, les valeurs des BAS ZigZag restent inchangées, mais lors des changements de taille de la fenêtre, les TAGS ZigZag commencent à se décaler de quelques pixels vers le haut ou vers le bas pour une raison quelconque.

Quelle en est la raison et que peut-on faire pour résoudre ce "problème" ?

Pour un objet texte positionné sur High[], le point d'ancrage (propriété OBJPROP_ANCHOR) doit être défini sur ANCHOR_LOWER (point d'ancrage au centre du bas).

Pour un objet texte situé sur Low[], le point d'ancrage (propriété OBJPROP_ANCHOR) doit être défini sur ANCHOR_UPPER (point d'ancrage au centre supérieur).

Ou ANCHOR_CENTER pour les deux emplacements - point d'ancrage central.

Essayez-le.

 
Artyom Trishkin:

Pour un objet texte situé sur High[], le point d'ancrage (propriété OBJPROP_ANCHOR) doit être défini sur ANCHOR_LOWER (point d'ancrage au centre du bas).

Pour un objet texte situé sur Low[], le point d'ancrage (propriété OBJPROP_ANCHOR) doit être défini sur ANCHOR_UPPER (point d'ancrage au centre supérieur).

Ou ANCHOR_CENTER pour les deux emplacements, le point d'ancrage est centré.

Essayez.

Merci. Je commencerai tôt le matin (pour ne pas m'énerver ou faire trop de bruit maintenant). Passez une bonne nuit !

 
Artyom Trishkin:

Pour un objet texte situé sur High[], le point d'ancrage (propriété OBJPROP_ANCHOR) doit être défini sur ANCHOR_LOWER (point d'ancrage au centre du bas).

Pour un objet texte situé sur Low[], le point d'ancrage (propriété OBJPROP_ANCHOR) doit être défini sur ANCHOR_UPPER (point d'ancrage au centre supérieur).

Ou ANCHOR_CENTER pour les deux emplacements, le point d'ancrage est centré.

Essayez-le.

Mais cela nécessite la création de DEUX objets nommés, par exemple, Hi et Lo (les extrémités supérieure et inférieure d'un zigzag ou les extrémités supérieure et inférieure de la tendance locale actuelle à la hausse ou à la baisse) et de les lier tous les deux au graphique avec les valeurs correspondantes de ANCHOR_LOWER et ANCHOR_UPPER. Ne serait-il pas plus simple de lier (d'une manière ou d'une autre) le haut du zigzag - au bas précédemment "lié" ? C'est à peu près ce que j'ai fait, en ajoutant une ligne à la fonction précédente

ObjectSetInteger(0,Obj,OBJPROP_ANCHOR,ANCHOR_CENTER) ; et introduire une "correction de décalage" à la ligne de sortie if(tvT) ORT(kBtT,Low[kBtT]-2*_Point,DtT,LowClr) ; else ORT(kBtT,High[kBtT]+2*_Point,DtT,HighClr) ; //

Jusqu'à présent, cela semble fonctionner. Merci !

Raison: