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

 
Aleksey Vyazmikin:

A quoi sert-il, en termes de points intermédiaires entre les barres, purement esthétiques ?

Je n'ai pas besoin de points intermédiaires, seulement de points sur les barres.

Aleksey Vyazmikin:

Je créerais un tampon (pour le haut et le bas du canal) pour chaque barre, où je placerais les extrema de tous les cercles sur la barre, la fenêtre de test, à en juger par la figure, serait de 10 barres maximum et ensuite je créerais cet indicateur, bien sûr, les dernières barres peuvent surdessiner.

Comment dessiner ces extrema de tous les cercles sur une barre ?

 
Pouvez-vous tracer une ligne du bas vers le haut et fixer un point où elle heurte le premier objet qu'elle rencontre ?

 
multiplicator:

On n'a pas besoin de points intermédiaires, juste de points sur la barre.

Mais comment dois-je définir les extrema de tous les cercles de la barre ?

Vous devez traduire les cercles en pixels, apparemment... et ensuite c'est juste une question de technique.

Bien sûr, on peut se tordre et passer en revue tous les objets de la barre à la recherche du point maximum/minimum, pourquoi pas.

 
multiplicator:

Je dois maintenant tracer 2 lignes rouges le long du bord supérieur des ellipses et le long du bord inférieur des ellipses (comme je l'ai montré dans l'image).



Quelqu'un sait-il comment faire ?

Etude CCanvas

 
Aleksey Vyazmikin:

Nous devons convertir les cercles en pixels.

est-ce possible ?

Aleksey Vyazmikin:

Bien sûr, on peut se tordre, et passer en revue tous les objets de la barre à la recherche du point maximum/minimum, pourquoi pas.

est-il possible de rechercher tous les objets qui tombent sur la barre ?
Le problème ici est que les cercles des barres voisines peuvent entrer dans cette barre et qu'ils peuvent former des sommets/minimums.



Peut-être devrions-nous construire des cercles à partir de petites lignes, comme recommandé ici. Il y aura alors tous les points.
 
Artyom Trishkin:

Etude CCanvas

Est-il possible de définir les coordonnées de l'intersection de la ligne avec un objet graphique ? (comme ici )
 
multiplicator:

Est-ce possible ?

Pouvez-vous passer en revue tous les objets qui tombent sur cette barre ?
Le fait est que les cercles des barres voisines peuvent entrer dans cette barre et qu'ils peuvent former des maxima/minima.



Je vais peut-être devoir construire des cercles à partir de petites lignes, comme cela est recommandé.

Il est possible de convertir en pixels, je ne vois pas d'obstacles, mais je ne l'ai pas fait moi-même.

Je me disais que si votre largeur est toujours un multiple du temps des barres adjacentes, alors la variante que j'ai suggérée à l'origine devrait fonctionner. Peut-être que je ne comprends pas quelque chose, mais j'ai toutes les données, parce que vous avez construit des cercles vous-même. Il faudra peut-être calculer par le biais d'une proportion, en présentant le temps comme une fraction du rayon.

 

La classe CTrade possède deux méthodes PositionOpen et Buy, qui se dupliquent l'une l'autre, mais aucune d'entre elles ne possède de paramètre de slippage.

Pourquoi est-ce fait de cette manière ? D'après ce que j'ai compris, ce paramètre ne peut être utilisé que par OrderSend, ou existe-t-il une variante plus simple ?

 
psyman:

La classe CTrade possède deux méthodes PositionOpen et Buy, qui se dupliquent l'une l'autre, mais aucune d'entre elles ne possède de paramètre de slippage.

Pourquoi est-ce fait de cette manière ? D'après ce que j'ai compris, ce paramètre ne peut être utilisé que par OrderSend, ou existe-t-il une variante plus simple ?

Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetDeviationInPoints
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetDeviationInPoints
  • www.mql5.com
Стандартная библиотека / Торговые классы / CTrade / SetDeviationInPoints - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
psyman:

La classe CTrade possède deux méthodes PositionOpen et Buy, qui se dupliquent l'une l'autre, mais aucune d'entre elles ne possède de paramètre de slippage.

Pourquoi est-ce fait de cette façon ? D'après ce que je comprends, ce paramètre ne peut être utilisé que par OrderSend ou il existe une variante plus simple ?

Il semble qu'avant d'envoyer une demande de transaction, vous définissez le slippage nécessaire dans l'instance de classe. Ou en une seule fois lors de l'initialisation de l'EA - si vous n'avez pas l'intention de modifier la valeur du slippage autorisé de temps en temps. Si vous voulez le modifier avant d'envoyer la demande ou après avoir reçu l'erreur, vous définissez un nouveau glissement avec la méthode de cette classe.

Pourquoi le faire si... Eh bien, vous pouvez deviner beaucoup de choses ici. Par exemple, vous déclarez plusieurs instances de CTrade et il y a une instance différente pour chaque personnage. Bien sûr, il peut arriver que chaque symbole définisse sa propre taille de glissement autorisé - après avoir créé une instance, vous définirez la taille de glissement requise pour chaque symbole. Cela sera suffisant dans la plupart des cas.