object_text aide un d?butant
Page 1 sur 2 12 DerniéreDerniére
Résultats de 1 é 10 sur 12

Sujet : object_text aide un d?butant

  1. #1
    Est-ce que quelqu'un pourrait jeter un peu de lumi?re ? ce sujet?
    Ce qui suit met le texte Opn: sur l'?cran de la barre actuelle dans MT4

    Mais ce dont j'ai besoin, c'est que le texte soit au Barreau de 9 heures tous les jours.

    Je ne peux pas trouver quoi faire ? la place de CurrentTime pour y arriver.
    Ou peut-?tre il y a une meilleure m?thode.
    Merci d'avance pour votre aide.

    datetime CurrentTime;
    {
    ObjectCreate (AtOpen, OBJ_TEXT, 0,0,0);
    ObjectMove (AtOpen, 0, CurrentTime, High [1]);
    ObjectSetText (AtOpen, Opn:, 10, Calibri, clrWhite);
    }

  2. #2

    Citation Envoy? par ;
    Est-ce que quelqu'un pourrait jeter un peu de lumi?re ? ce sujet? Ce qui suit met le texte Opn: sur l'?cran de la barre actuelle dans MT4 Mais ce dont j'ai besoin, c'est que le texte soit sur la barre des 9 heures tous les jours. Je ne peux pas trouver quoi faire ? la place de CurrentTime pour y arriver. Ou peut-?tre il y a une meilleure m?thode. Merci d'avance pour votre aide. datetime CurrentTime; {ObjectCreate (AtOpen, OBJ_TEXT, 0,0,0); ObjectMove (AtOpen, 0, CurrentTime, High [1]); ObjectSetText (AtOpen, Opn:, 10, Calibri, clrWhite); }
    Chaque objet de graphique doit avoir un nom unique. Voici un exemple de script que vous pouvez ex?cuter dans le d?bogueur pour parcourir ce qui se passe. Note: J'utilise la classe de biblioth?que std
    https://www.mql5.com/en/docs/standar...hartobjecttextpour le rendre plus facile .. Code ins?r? #property strict #include lt; ChartObjects \ ChartObjectsTxtControls.mqhgt; void OnStart () {int object_count = 0; pour (int i = Bars-1; igt; = 0; i--) {if (HeureHeure (Heure # 91; i # 93 == 9 HeureMinute (Heure # 91; i # 93 == 0) {string nom_objet = __nom_objet __ cha?ne ( objet_count); CChartObjectText text; if (text.Create (0, nom_objet, 0, Time # 91; i # 93;, High # 91; i # 93; 10 * _Point)) {text.Anchor (ANCHOR_LEFT); texte.Angle (90); text.Description (lt; ----- OPEN ----- lt; lt; text.Color (clrDarkOrange); text.Font (Consolas); text.FontSize (9); text.Detach (); }}}}

  3. #3
    Merci beaucoup Nicholishen. Je vais travailler ? travers le script comme vous le sugg?rez. Votre aide est tr?s appr?ci?e.

  4. #4

    Citation Envoy? par ;
    Merci beaucoup Nicholishen. Je vais travailler ? travers le script comme vous le sugg?rez. Votre aide est tr?s appr?ci?e.
    Salut teabreak, as-tu fait des progr?s? Apprendre ? coder en vaut la peine. Nicholishen, merci beaucoup pour les exemples OOP ici et ailleurs (Continuez ? venir!). J'y ai plong? un peu et appris quelques choses utiles. Questions pour teabreak ? consid?rer: Q: Voulez-vous seulement 1 marqueur sur la carte, pour la derni?re barre correspondante? Ou plusieurs marqueurs, comme le fait Nicholishen? (L'exemple de Nicholishen le fait plus tard, votre tentative est la premi?re, parce que vous avez utilis? un seul nom d'objet, AtOpen_Text). Q: Quelle p?riode de graphiques? lt; = H1, ou, voulez-vous qu'une barre H4 affiche la fl?che? (Celui qui inclut le temps de 9 heures). (Il est pr?f?rable de calculer l'heure de d?but de la barre contenant le MarkAtTime, puis de travailler sur toutes les cartes TF de M1 ? H4 pour ce marqueur quotidien). Q: QUAND voulez-vous l'afficher? Toujours ? 9h chaque jour? Ou ? l'heure de d?but de barre qui inclut l'heure de 9 heures? (Je suppose que le premier est le meilleur). Q: Lorsque la barre 9 heures la plus r?cente appara?t, vous l'affichez initialement au prix de la barre pr?c?dente Haute [1]. N'est-il pas pr?f?rable de l'ajuster si High [0] actuel d?passe High [1]? (Sinon, il sera au-dessus du bar 9h00). Et, une suggestion: Quoi que vous d?cidiez, le meilleur code devrait faire ce qu'il fait juste une fois, et ne pas r?p?ter la m?me chose encore et encore. (Cette exigence rend le code plus difficile ? ?crire mais en vaut la peine). L'exemple rapide de Nicholishen court chaque tick et chaque barre, ainsi il est inefficace (mais il sait absolument cela, ainsi je ne critique pas!). Dans son code, le point de d?part Bars-1 de la boucle for pourrait ?tre une limite: extern int MaxBars = 0;/0 = illimit? int limite = MathMin (Bars, Bars-prev_calculated);/O? prev_calculated est dans le plus r?cent style de codage utilisant OnCalculate () {... return (prev_calculated); } if (limite == Bars) limit--;/Emp?che le tableau hors plage si (MaxBarsgt; 0) limite = MathMin (limite, MaxBars);/pour (int i = limite; igt; = 0; i--) {...} Premi?re fois, limite = Bars-1 (ou, est MaxBars). Apr?s cela, c'est habituellement 0 jusqu'? ce qu'une nouvelle barre arrive, alors c'est 1 pour une seule tique. Remarque, il peut ?tre difficile de traiter avec juste i == 1 ou i == 0. Parfois, j'?cris un bloc de code unique juste pour i == 0, juste pour g?rer le contexte d'une nouvelle barre contre la r?p?tition de la m?me barre en cours encore et encore. (En ce qui concerne les limites, je viens de d?couvrir un bug dans l'un de mes propres programmes intensifs CPU o? je pensais utiliser la limite (principalement 1 ou 0) mais je le r?initialisais accidentellement ? Bars-1 ? chaque tick, et c'?tait incroyablement lent ? cause de et surcharg? mon processeur avec un tas de calculs inutiles. AFFICHAGE DE TEXTE ROTATIF MT4 BUG: Quel que soit le code OOP ou le code de style C normal, Fyi, un probl?me que vous avez d?couvert est qu'un objet OBJ_TEXT ? 90 degr?s a un probl?me d? ? un bogue avec MetaTrader4 (b1090). J'ai observ? cela quand le prix montait plus haut, ainsi le texte marquerait tout en haut du tableau. Le texte pivot? ? 90 degr?s dispara?t compl?tement si une partie du texte est hors-?cran au-dessus ou au-dessous! Au lieu de cela, changez-le ? 270 degr?set ?a marche plut?t bien. Ce texte vertical peut dispara?tre en chevauchant les bords gauchedroit du graphique, mais cela est tr?s rare, ? condition d'utiliser Chart Shift (Cela cr?e un espace vide ? droite de la derni?re barre, je pr?f?re quand m?me) . Le bug est trivial ? reproduire: Dessinez manuellement n'importe quel texte avec une Description raisonnablement longue. Dans l'onglet Param?tres pour les propri?t?s de l'objet, changez Angle en degr?s ? 90.0. Faites simplement glisser le texte vers le haut ou vers le bas jusqu'? ce qu'une partie touche les limites sup?rieures ou inf?rieures, et le texte dispara?tra compl?tement. Faites-en 270 et cela fonctionne beaucoup mieux pour le hautbas. Faites-le 115 et il dispara?t pour les quatre bords! Faites-en 315 et cela fonctionne pour les quatre bords. J'ai signal? le bug ? MetaQuotes. Nous verrons combien de temps cela leur prendra pour le r?parer. Pour cette raison, c'est une bonne id?e de cr?er (aussi) une fl?che avec le texte ? 270. Les fl?ches juste au-dessus du prix devraient toujours ?tre visibles, m?me lorsque le prix atteint un nouveau sommet. De cette fa?on, si le texte dispara?t en raison d'un chevauchement avec un bord, vous aurez toujours une marque sur le graphique.

  5. #5
    Hey pips4life Tout d'abord, merci beaucoup d'avoir pris le temps de r?pondre. C'est tr?s g?n?reux de votre part d'aider un d?butant. Plut?t que d'apprendre le code tout au long, mon approche jusqu'? ici a ?t? d'en avoir assez de compr?hension juste pour r?aliser mes id?es de trading. Ces id?es pour moi sont limit?es donc en th?orie, l'apprentissage de quelques proc?dures de base sp?cifiques devrait suffire. Bref, je consid?re g?n?ralement que le code n'est pas la chose m?me, mais la chose qui vous m?ne ? la chose, comme on dit. En esp?rant finalement apprendre MQL plus compl?tement par cette voie. Pour cette raison, j'ai trouv? votre message extr?mement utile et le Q que vous avez soulev? le plus pertinent, et en continuant ? adapter le code ? mon trading, plut?t que d'apprendre le code pour effectuer n'importe quel type de trading, si vous voyez ce que je veux dire. : Je veux ne placer qu'un seul marqueur de texte sur le graphique ? 9 heures et ? 17 heures. A: Dans un cadre de temps seulement. R: ?? la fin des bars 9 et 1700. A: Un tr?s bon point! Je vous remercie. J'ai vraiment besoin que le texte soit au plus haut des 9 et 1700 bars quand ils ferment. Je suis enti?rement d'accord, je veux que ces deux ?v?nements de texte se produisent une seule fois. En ce moment je fais tout sous la fonction OnTick () void ainsi ma r?ponse instinctive ? ceci serait d'employer une variable pour contr?ler la session de jours ainsi tous les ?v?nements peuvent courir seulement entre 9 ? 1700, et une autre variable pour commander les ?v?nements de texte, de sorte que chaque variable soit incr?ment?e de 0 ? 1 lorsque leurs ?v?nements respectifs se produisent pour la premi?re fois, ?tant remis ? z?ro ? 1700, pr?t pour le jour suivant. En plus de cela, je travaille maintenant sur votre exemple de boucle for qui sugg?re une solution beaucoup plus compl?te. Heureusement, je ne souhaite pas faire pivoter le texte, mais je vous remercie de votre attention. Je ne trouve pas que MQL soit le compilateurIDE le plus facile ? utiliser, donc rien de plus d?courageant qu'un bug syst?me. Je suis tout ? fait d'accord avec vous, l'apprentissage du code en vaut la peine. L'aide vous-m?me et Nicholishen donner est inestimable pour les gens qui commencent comme moi et je suppose que cela peut aussi aider les plus exp?riment?s ? v?rifier quelques notions de base en m?me temps. Le bouton F1 est bien, mais ne tarde pas pour un d?butant ? s'enliser avec la conversation technique l?-bas. Encore une fois merci beaucoup ? tous deux pour l'aide.

  6. #6
    1 pi?ce (s) jointe (s)
    Citation Envoy? par ;
    {quote}, merci beaucoup pour les exemples de la POO ici et ailleurs (continuez!)
    Eh bien, puisque vous avez demand? voici un test pour un projet sur lequel je travaille pour cr?er des profils de graphiques ? partir d'?tudesobjets graphiques qui sauvegardentchargent tous les ?tats dans des fichiers au lieu de pirater les mod?les. Cet exemple pr?sente des mod?les de conception plus avanc?s et constitue un bon exemple d'h?ritage, de polymorphisme et de gestion des d?penes circulaires. La meilleure fa?on de plonger est de d?finir un point de rupture sur OnInit et de le franchir ...
    https://www.sundytrading.com/attachm...5583912874.rar

  7. #7
    1 pi?ce (s) jointe (s)
    Citation Envoy? par ;
    Hey pips4life Tout d'abord, merci beaucoup d'avoir pris le temps de r?pondre. C'est tr?s g?n?reux de votre part d'aider un d?butant. Plut?t que d'apprendre le code tout au long, mon approche jusqu'? ici a ?t? d'en avoir assez de compr?hension juste pour r?aliser mes id?es de trading. Ces id?es pour moi sont limit?es donc en th?orie, l'apprentissage de quelques proc?dures de base sp?cifiques devrait suffire. Bref, je consid?re g?n?ralement que le code n'est pas la chose m?me, mais la chose qui vous m?ne ? la chose, comme on dit. En esp?rant finalement apprendre MQL plus en d?tail par cette voie ....
    Cela devrait faire l'affaire.
    https://www.sundytrading.com/attachm...6180098658.mq4

  8. #8
    wow je vous remercie pour votre code Nicholishen. Une telle aide Reckon je devrais ?tre capable de comprendre pourquoicomment les processus et les fonctions fonctionnent, mais pas capable de trouver la description du r?le que le lt; et le gt; jouer dans votre ligne #include lt; ChartObjects \ ChartObjectsTxtControls.mqhgt; S'il vous pla?t pourriez-vous expliquer.

  9. #9

    Citation Envoy? par ;
    wow je vous remercie pour votre code. Une telle aide Reckon je devrais ?tre capable de comprendre pourquoicomment les processus et les fonctions fonctionnent, mais pas capable de trouver la description du r?le que le lt; et le gt; jouer dans votre ligne #include lt; ChartObjects \ ChartObjectsTxtControls.mqhgt; S'il vous pla?t pourriez-vous expliquer.
    Consid?rez la directive include comme un m?canisme de copier-coller. Il dit litt?ralement au compilateur d'aller chercher ce fichier et de coller son contenu ? cet endroit pr?cis. Si l'include utilise des crochets, alors il acc?de aux fichiers ? partir d'un chemin absolu (r?pertoire include), et avec MQL ce sera toujours le dossier MQL \ Include. Donc, si vous voulez voir le code, vous devez aller dans le dossier include et ouvrir le sous-dossier et le fichier pour voir les d?finitions. Vous pouvez ?galement inclure des fichiers en utilisant des guillemets qui indiquent au compilateur de localiser le fichier dans le chemin relatif.
    http://en.cppreference.com/w/cpp/preprocessor/include

  10. #10
    J'ai oubli? d'ajouter que la fa?on la plus simple d'apprendre du code d'autres peuples est d'utiliser le d?bogueur int?gr?.
    https://www.metatrader5.com/en/metae...elopment/debugQu'est-ce que vous voulez faire est de d?finir un point de rupture ? OnInit, par exemple, et utilisez le bouton step-into et suivez le programme tout au long. Si le programme utilise des fichiers de biblioth?que, le d?bogueur ouvre automatiquement ces fichiers et vous am?ne ? la ligne de code en cours d'ex?cution. Vid?o ins?r?e

Régles des messages

  • Vous ne pouvez pas cr?er de sujets
  • Vous ne pouvez pas r?pondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas ?diter vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Désactivé
  • Le code HTML est Désactivé
Le site d'sundytrading utilise des cookies
Le site d'sundytrading utilise des cookies pour vous assurer la meilleure expérience sur notre site ; certains sont déjà effectifs. Vous pouvez consulter plus de détails sur leurs usages ici. Veuillez cliquer sur le bouton à droite pour accepter nos cookies. Si vous continuez à utiliser le site internet d???sundytrading, nous considérerons que vous acceptez nos cookies.