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

 
EVGENII SHELIPOV #:

Bonjour !!!!

Veuillez m'aider à modifier une fonction qui calcule uniquement les pertes des ordres non rentables dans une grille d'ordres.

Nous devons modifier la fonction qui calcule uniquement la taille minimale du lot à partir de chaque ordre dans le réseau d'ordres. Lot min=0.01

Merci !!!!

Décrivez plus clairement ce que vous voulez
 
Pouvez-vous me dire comment gérer l'ordre des plans (premier plan, arrière-plan) des objets graphiques ? Par exemple, j'ai un petit champ d'information carré avec un graphique en dessous et une ligne de tendance qui grimpe sur le champ lui-même, et une étiquette qui se cache sous le champ.
 
Ivan Butko #:
Pouvez-vous me dire comment gérer la séquence des plans (avant-plan, arrière-plan) des objets graphiques ? Par exemple, j'ai un petit champ d'information carré avec un graphique en dessous, et une ligne de tendance grimpe sur le champ lui-même, et une étiquette est cachée sous le champ.
  1. Définir OBJPROP_TIMEFRAMES à OBJ_NO_PERIODS
  2. Définissez le paramètre d'objet OBJPROP_TIMEFRAMES à OBJ_ALL_PERIODS.
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Видимость объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Видимость объектов
  • www.mql5.com
Видимость объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin #:
  1. Définir OBJPROP_TIMEFRAMES comme OBJ_NO_PERIODS
  2. Définissez le paramètre OBJPROP_TIMEFRAMES à OBJ_ALL_PERIODS.

Artyom, je n'ai probablement pas bien compris, j'ai peut-être posé la question de travers :

Il existe trois(quatre, cinq...) objets fabriqués par l'homme (ObjectCreate). Le premier se cache derrière le troisième, le deuxième est au premier plan,... Comment mettre l'un d'eux au premier plan, le second au second plan, le troisième à l'arrière-plan. Ainsi, le premier objet est toujours visible, le second est toujours visible, mais pas derrière le premier. Le troisième objet est également toujours visible, mais pas derrière le premier et le deuxième. C'est une sorte d'alternance de plans.
Je n'ai pas bien compris le TF.

 
Ivan Butko #:

Artyom, je n'ai probablement pas bien compris, j'ai peut-être mal posé la question :

Il existe trois (quatre, cinq...) objets fabriqués par l'homme (ObjectCreate). Le premier se cache derrière le troisième, le deuxième est au premier plan,... Comment mettre l'un d'eux au premier plan, le second au second plan, le troisième à l'arrière-plan. Ainsi, le premier objet est toujours visible, le second est toujours visible, mais pas derrière le premier. Le troisième objet est également toujours visible, mais pas derrière le premier et le deuxième. Une sorte de plan alternatif.
Je n'ai pas tout à fait compris le TF.

Faites à tour de rôle ce qui est décrit ci-dessus pour chacun de vos objets. L'alternance affectera la mise en page. La toute dernière à laquelle cette action sera appliquée sera la plus haute.

Une fois que vous avez déterminé que tout objet graphique qui devrait se trouver sous vos objets est apparu sur le graphique, faites alternativement un masquage-affichage pour chacun de vos objets (comme je l'ai écrit ci-dessus). Cette action fait apparaître l'objet au premier plan du graphique. Le premier objet auquel cette action a été appliquée sera en bas (mais au-dessus de tout autre objet graphique dessiné sur le graphique après la création de vos objets), le deuxième sera au-dessus du premier, le troisième sera au-dessus du premier et du deuxième, et ainsi de suite. Tous les objets qui ont été cachés seront au-dessus du reste des objets graphiques.

En d'autres termes, l'ordre dans lequel les objets à cacher sont appliqués à vos objets fixe leur ordre les uns au-dessus des autres. Mais ils apparaîtront tous au-dessus de tout le reste sur le graphique.

La logique est la suivante :

Si un objet graphique qui ne devrait pas chevaucher vos objets apparaît sur le graphique, vous effectuez un masquage-affichage pour chacun de vos objets dans l'ordre dans lequel ils devraient apparaître visuellement (le premier tout en bas, le dernier tout en haut). Après avoir caché/affiché tous vos objets, faites ChartRedraw().
C'est important : ne redessinez le graphique qu'une fois que tous vos objets ont été cachés/affichés, afin qu'il n'y ait pas de scintillement sur le graphique.

 
Artyom Trishkin #:

À tour de rôle, faites ce qui est décrit ci-dessus pour chacune de vos propriétés. La rotation aura une incidence sur le positionnement. L'objet le plus récent auquel cette action est appliquée sera le plus haut.

Une fois que vous avez déterminé que tout objet graphique qui devrait se trouver sous vos objets est apparu sur le graphique, faites alternativement un masquage-affichage pour chacun de vos objets (comme je l'ai écrit ci-dessus). Cette action fait apparaître l'objet au premier plan du graphique. Le premier objet auquel cette action a été appliquée sera en bas (mais au-dessus de tout autre objet graphique dessiné sur le graphique après la création de vos objets), le deuxième sera au-dessus du premier, le troisième sera au-dessus du premier et du deuxième, et ainsi de suite. Tous les objets qui ont été cachés seront au-dessus du reste des objets graphiques.

En d'autres termes, l'ordre dans lequel les objets à cacher sont appliqués à vos objets fixe leur ordre les uns au-dessus des autres. Mais ils apparaîtront tous au-dessus de tout le reste sur le graphique.

La logique est la suivante :

Si un objet graphique qui ne devrait pas chevaucher vos objets apparaît sur le graphique, vous effectuez un masquage-affichage pour chacun de vos objets dans l'ordre dans lequel ils devraient apparaître visuellement (le premier tout en bas, le dernier tout en haut). Après avoir caché/affiché tous vos objets, faites ChartRedraw().
C'est important : ne redessinez le graphique qu'une fois que tous vos objets ont été cachés/affichés, afin qu'il n'y ait pas de scintillement sur le graphique.

Ahhhh, merci beaucoup ! Maintenant je comprends. Superbe
 
S'il vous plaît, une dernière chose : je suis passé d'un moniteur 2k à un ordinateur portable 1080 et tout le texte est devenu gros et se chevauchait. Pouvez-vous m'indiquer comment résoudre ce problème ?
 
Ivan Butko #:
Une dernière chose : j'ai passé d'un moniteur 2k à un ordinateur portable 1080 et tout le texte est devenu trop gros et se chevauchait. Veuillez me conseiller sur la façon de résoudre ce problème.

C'est plus compliqué que ça. Vous devez utiliser des ressources pour produire des graphiques. Lire TextSetFont() - il s'agit de la taille de la police en pixels logiques.

En conséquence TextOut() - sur la sortie de texte de la ressource. Vous pouvez trouver tout cela dans les liens de la documentation.

Документация по MQL5: Графические объекты / TextSetFont
Документация по MQL5: Графические объекты / TextSetFont
  • www.mql5.com
TextSetFont - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin #:

C'est plus compliqué que ça. Vous devez utiliser des ressources pour produire des graphiques. Lire TextSetFont() - il s'agit de la taille de la police en pixels logiques.

En conséquence TextOut() - sur la sortie de texte de la ressource. Et tout cela - via les liens dans la documentation.

Je l'ai eu ! Merci beaucoup.

 
Ivan Butko #:
S'il vous plaît, une dernière chose : je suis passé d'un moniteur 2k à un ordinateur portable 1080 et tout le texte est devenu gros et se chevauchait. Veuillez me conseiller sur la façon de résoudre ce problème.
Outils Windows. La configuration des graphiques, avec de grandes et petites polices de caractères, doit également être adaptée.