Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 743

 
Ghabo:

C'est un fétiche.)

Voilà, ça devrait marcher.

Ou est-ce que je le mets au mauvais endroit?

Théoriquement oui, mais en pratique vous ne pouvez pas le laisser sortir du testeur. Il n'y a pas de contrôles d'erreurs.
rendez ce que vous avez supprimé, je ne l'ai pas ajouté pour rien ;)

 
Ilya Prozumentov:

Ici, le code pur pour le marqueur. S'exécute après le cours acheteur, même s'il est le même, même s'il défile dans le graphique, même après avoir changé de graphique. Passe derrière le réticule et se souvient du décalage défini de cette façon, en continuant à naviguer vers le Bid par la suite.

PS même j'ai déjà changé de hp récemment car tout commence à tomber en panne, certains sites nécessitent une mise à jour du navigateur et il ne peut plus être mis à jour sur hp,

La limitation de la RAM à 3,7 Go est également ennuyeuse.

xp n'a pas de support pour tester les hiboux sur tous les cœurs du CPU


J'ai en fait quatre marqueurs jusqu'à présent : l'offre, l'écart, la position du curseur et les bougies max et min sous le curseur :-)

Je voulais initialement faire la même chose avec les drapeaux, mais il y a une solution plus simple (c'est un morceau d'un ancien code, le nouveau n'est pas encore prêt)

   if(sparam =="16")
      {
      ObjectCreate(0, xlabel, OBJ_LABEL,0, 0, 0);
      ObjectSetInteger(0, xlabel, OBJPROP_XDISTANCE, width-120);
      ObjectSetString(0, xlabel, OBJPROP_TEXT, DoubleToString(xprice, _Digits-1));
      }
      
      //Print("Координаты щелчка мышки на графике: x = ",lparam,"  y = ",dparam, " sparam = ", sparam); 
      
   if(sparam =="0" && ymouse < 50)
       
        ObjectSetInteger(0, xlabel, OBJPROP_YDISTANCE, dparam+1);
         else
            ObjectSetInteger(0, xlabel, OBJPROP_YDISTANCE, dparam-20);
 
  
   if(sparam =="1")
      ObjectDelete(0,xlabel);

Cette marque apparaît lorsque je clique sur la roue, se déplace tant que spram==0 et est supprimée par LC.

Maintenant je veux apprendre comment calculer la taille des objets, j'ai essayé de le faire sur le marqueur

   Print("ysize = ", ObjectGetInteger(0,objname,OBJPROP_YSIZE,0));

J'obtiens des valeurs nulles pour x et y. A quoi est-il lié ?

=pourxp il n'y a pas de support pour tester les hiboux sur tous les cœurs du CPU

Je suis manuel, donc les exigences matérielles sont minimales, le navigateur Maxton est plus rapide que FF, Chrome et autres, ce qui me permet d'ouvrir des sites ignorant les certificats illisibles.

Dès que j'aurai plus de temps libre et que je gagnerai un peu d'argent, je passerai à XP :-)

 
psyman:

J'obtiens des valeurs nulles pour x et y. Qu'est-ce que ça a à voir ?

Peut-être que le marqueur n'est pas encore sur le graphique, au moment de la demande de sa taille.

Vous pouvez abandonner la création de toutes les étiquettes dans OnInit(), vous n'aurez pas à réfléchir si elles sont présentes ou non, et ensuite vous pouvez seulement les déplacer et changer le texte qui s'y trouve, la disparition peut se faire simplement en fixant des coordonnées en dehors de l'écran.

 
Ilya Prozumentov:

Peut-être que le marqueur ne figure pas encore sur la carte, au moment où vous demandez sa taille.

Vous pouvez déposer la création de tous les labels dans OnInit(), vous n'aurez pas à réfléchir s'ils sont là ou non, et ensuite vous pouvez seulement les déplacer et changer le texte qu'ils contiennent, la disparition peut être faite simplement en fixant des coordonnées en dehors de l'écran.

J'affiche les dimensions à la fin de la fonction que Taras a écrite après avoir déplacé le marqueur


   ObjectMove(0,objname,0,label_time,label_price);
   ChartRedraw();

   Print("ysize = ", ObjectGetInteger(0,objname,OBJPROP_YSIZE,0));
 

Comment afficher l'image créée dans le programme sur le graphique ?

J'ai pu l'enregistrer dans un fichier et le sortir plus tard en utilisant OBJ_BITMAP_LABEL.

ResourceCreate("Pict", src, 256, 256, 0, 0, 0, COLOR_FORMAT_ARGB_RAW);
ResourceSave("Pict", "Pic.bmp");
ObjectCreate("BMP",OBJ_BITMAP_LABEL, 0, 0, 0);
ObjectSetInteger(0, "BMP", OBJPROP_XSIZE, 256);
ObjectSetInteger(0, "BMP", OBJPROP_YSIZE, 256);
ObjectSetString(0, "BMP", OBJPROP_BMPFILE, 0, "\\Files\\Pic.bmp");
ObjectSetString(0, "BMP", OBJPROP_BMPFILE, 1, "\\Files\\Pic.bmp");

Est-il possible de sortir l'image sans utiliser de fichier ? Les canaux nommés peuvent-ils aider ici ?

 
Ilya Prozumentov:

Comment afficher l'image créée dans le programme sur le graphique ?

J'ai pu l'enregistrer dans un fichier et le sortir plus tard en utilisant OBJ_BITMAP_LABEL.

Est-il possible de sortir l'image sans utiliser de fichier ? Les canaux nommés peuvent-ils aider ici ?

 
psyman:

J'obtiens des valeurs nulles pour x et y. Qu'est-ce que ça a à voir ?

L'aide dit que vous ne pouvez que mesurer :

OBJPROP_YSIZE

Hauteur d'un objet sur l'axe Y en pixels. Elle est spécifiée pour les objets OBJ_LABEL (en lecture seule), OBJ_BUTTON, OBJ_CHART, OBJ_BITMAP, OBJ_BITMAP_LABEL, OBJ_EDIT, OBJ_RECTANGLE_LABEL.

int

 
Artyom Trishkin:

Le tableau a déjà été créé et rempli de données dans le programme en cours d'exécution, il ne reste plus qu'à le transférer àOBJ_BITMAP_LABEL d'une manière ou d'une autre.
Nous avons réussi à le faire par le biais d'un fichier, mais cela prend plus de temps et gaspille les ressources du disque dur.

 
Taras Slobodyanik:

l'aide dit que vous pouvez seulement mesurer

OBJPROP_YSIZE

Hauteur d'un objet sur l'axe Y en pixels. Spécifié pour OBJ_LABEL (en lecture seule), OBJ_BUTTON, OBJ_CHART, OBJ_BITMAP, OBJ_BITMAP_LABEL, OBJ_EDIT, OBJ_RECTANGLE_LABEL.

int

Qu'est-ce qu'il a fait ?(ObjectGetInteger)

 
Bonjour, j'ai lu un article quelque part sur mql4 ou 5 qui propose le cryptage des codes Expert Advisor avec leur service ..... Pouvez-vous me dire où lire à ce sujet et quel type de service ?
Raison: