[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 16

 
Chiripaha:

J'ai lié le texte au prix de la ligne + 3*Point (c'est-à-dire que je l'ai mis légèrement plus haut), mais malgré cela, lorsque je change la taille du graphique (fenêtre), le texte est maintenant au-dessus de la ligne, maintenant en dessous, maintenant au niveau de la ligne (il saute)... Pourquoi cela se produit-il ? - Je suis en train de donner les coordonnées exactes du prix. Comment le résoudre ?

J'ai regardé et essayé comment les autres le font, mais l'effet y est similaire. Je veux comprendre comment on se débarrasse de ce "rebond". Et surtout, pourquoi il apparaît, puisque les coordonnées sont difficiles : le prix et le temps.

Le texte est saisi dans la description de l'objet et le graphique est autorisé à afficher les descriptions d'objets (une des façons).
 
Usual_Trader:


vous formalisez un peu le souhait. Exactement quand la fermeture d'une commande spécifique ?

Si non, alors très simplement :

au début du programme

int previous_total_orders=0 ;

sur le corps du programme :

à l'ouverture d'une nouvelle commande

commandes précédentes++ ;

vérifier :

si (prevous_orders>OrdersTotal()) CloseAllTrades(Sym) ; //cette fonction peut être n'importe quel code qui ferme tous les ordres pour un symbole donné.

Si c'est le dernier ordre ouvert qui est fermé, alors

au début du programme, déclarer la variable Last_ticket

lorsque l'ordre Last_ticket=OrderSend..... est ouvert.

vérifier :

if(OrderSelect(OrderSelect(Last_ticket,SELECT_BY_TICKET, int pool=MODE_TRADES)!=true)CloseAllTrades(Sym);

J'ai essayé mais cela ne fonctionne pas lors de la saisie if(OrderSelect(OrderSelect(Last_ticket,SELECT_BY_TICKET, int pool=MODE_TRADES)!=true)CloseAllTrades(Sym);

une erreur apparaît :

')' - parenthèse droite non équilibrée , '!=' - initialisation attendue , 'true' - virgule ou point-virgule attendu , 'Sym' - variable non définie , 'pool' - variable déjà définie .

'Sym' - variable non définie - j'ai supprimé cette valeur en la remplaçant par lasttype==OP_SELL , le reste je ne le sais pas




 
Frostr:

J'ai essayé, mais cela ne fonctionne pas lors de l'entrée if(OrderSelect(OrderSelect(Last_ticket,SELECT_BY_TICKET, int pool=MODE_TRADES)!=true)CloseAllTrades(Sym);

une erreur apparaît :

')' - parenthèse droite non équilibrée , '!=' - initialisation attendue , 'true' - virgule ou point-virgule attendu , 'Sym' - variable non définie , 'pool' - variable déjà définie .

Sym' - variable non définie - j'ai supprimé cette valeur et l'ai remplacée par lasttype==OP_SELL , le reste, je ne le connais pas.




N'avez-vous pas remarqué que je n'ai pas écrit ceci comme un code tout fait, mais comme une idée ? ))

désolé, j'ai tapéOrderSelect deux fois

if(OrderSelect(Last_ticket,SELECT_BY_TICKET, int pool=MODE_TRADES)!=true)CloseAllTrades(Sym);

La fonctionCloseAllTrades(Sym) est purement ma fonction, regardez dans la fonction de Kim V., il y a probablement une fonction similaire qui ferme toutes les transactions pour cette paire. Vous devez déclarer la variable Sym sous la forme d'une chaîne Sym=EURUSD ; (il s'agit d'une variante possible de la paire).

 
Chiripaha:

J'ai lié le texte au prix de la ligne + 3*Point (c'est-à-dire que je l'ai mis légèrement plus haut), mais malgré cela, lorsque je change la taille du graphique (fenêtre), le texte est maintenant au-dessus de la ligne, maintenant en dessous, maintenant au niveau de la ligne (il saute)... Pourquoi cela se produit-il ? - Je suis en train de donner les coordonnées exactes du prix. Comment le résoudre ?

J'ai regardé et essayé comment les autres le font, mais l'effet y est similaire. Je veux comprendre comment on se débarrasse de ce "rebond". Et surtout, pourquoi semble-t-il puisque les coordonnées sont dures : prix et temps ?


Cela s'explique par le fait que les différentes échéances ont des échelles de graphique différentes et queles3*Pointsont des dimensions différentes en pixels. Pour que la distance soit toujours la même, vous devez sélectionnerla distance souhaitée en pixels etcalculer le nombre de points qu'elle représentera pourchaque période à l'aide des fonctionsObjectGet( ) et ObjectSet(). avec l'identifiant OBJPROP_XDISTANCE, et définir l'angle de liaison du texte en bas pour que le texte soit toujours au-dessus de la ligne, et en haut en bas.
 

Où puis-je télécharger des citations normales ?

L'archive des citations est téléchargée par morceaux pour une raison quelconque.

 
Bon après-midi. Pouvez-vous expliquer comment organiser la "multi-modularité" ? Je veux que les grandes fonctions soient dans des fichiers séparés.
 
Nekseron:
Bon après-midi. Pouvez-vous expliquer comment organiser la "multi-modularité" ? Je veux que les grandes fonctions se trouvent dans des fichiers séparés.


  • Une bibliothèque
    est un ensemble de fonctions utilisateur conçu pour stocker et distribuer des blocs de programmes utilisateur fréquemment utilisés. Les bibliothèques ne peuvent pas être gérées de manière autonome.
    Il est recommandé de stocker les bibliothèques dans leterminal_directory\experts\libraries.

  • Lefichier inclus est le texte source de blocs de programmes utilisateurs couramment utilisés. Ces fichiers peuvent être inclus dans les conseillers experts, les scripts, les indicateurs personnalisés et les bibliothèques au moment de la compilation. L'utilisation de fichiers d'inclusion est préférable à l'utilisation de bibliothèques en raison des frais généraux supplémentaires lors de l'appel de fonctions de bibliothèque. Il est recommandé de stocker les fichiers d'inclusion dans le répertoire terminal\experts\include.

 
Nekseron:
Bon après-midi. Pouvez-vous expliquer comment organiser la "multi-modularité" ? Je veux que les grandes fonctions se trouvent dans des fichiers séparés.
À titre d'exemple, vous pouvez voir comment cette EA, ou celle-ci, par exemple, est organisée.
 

Bonjour, Quelqu'un peut-il s'il vous plaît conseiller quel site où vous pouvez emprunter une petite quantité de WMZ avec un certificat officiel, j'ai besoin d'un urgent 3 WMZ et aller mettre, maintenant je ne peux pas (((

 
rigonich:

En effet, les différentes échéances ont des échelles de graphique différentes, et les3*Pointsont doncdes tailles de pixel différentes. Pour que la distance soit toujours la même, vous devez sélectionnerla distance souhaitée en pixels etcompter le nombre de points pourchaque période à l'aide des fonctionsObjectGet() et ObjectSet(). avec l'identificateur OBJPROP_XDISTANCE, et définir l'angle de liaison du texte en bas pour que le texte soit toujours au-dessus de la ligne, et en haut en bas.
Merci beaucoup, Vitaly ! Je vais faire quelques expériences. Je pense que la variante avec un angle d'attaque devrait aider. C'est juste que je ne sais pas encore comment m'y prendre, mais je sais maintenant plus clairement avec quoi expérimenter. Merci encore !
Raison: