Erreurs, bugs, questions - page 2300

Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Deuxième lien
Au fait, le serveur est en panne :
Service indisponible.
Erreur HTTP 503. Le service est indisponible.
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.
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 :
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.
Merci, cher compatriote, que Dieu vous donne des karma plus)
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 ?
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" ?
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.
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 !
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 !