[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 20

 
Dimka-novitsek:
Ugh, pas "Smoothness", mais "Slowdown". En voici dix :

Voici un aperçu de la façon dont les manuels de stochastique comptent.

 

Chiripaha:

Le texte est lié à la ligne prix + 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 est similaire. Je veux comprendre comment on se débarrasse de ce "rebond". Et surtout, pourquoi semble-t-il que les coordonnées soient difficiles : prix et temps ?

TarasBY:

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

Comment le mettre en œuvre de manière programmatique ? J'ai cherché et cherché - je n'ai pas trouvé. Par les mains, cela fonctionne, mais quel genre de commandes devrait être....
 
Chiripaha:
Comment mettre cela en œuvre de manière programmatique ? J'ai cherché et fouillé partout, mais je n'ai rien trouvé. A la main, cela fonctionne, mais ce que les commandes devraient être....

bool ObjectSetText( string name, string text, int font_size, string font_name=NULL, color text_color=CLR_NONE)
Modification de la description de l'objet. Pour les objets OBJ_TEXT et OBJ_LABEL, cette description est affichée sur le graphique sous forme de chaîne de texte. En cas de succès, la fonction renvoie TRUE, sinon FALSE. Pour obtenir plus d'informations sur l'erreur, appelez GetLastError().
Les paramètres font_size, font_name et text_color ne sont utilisés que pour les objets OBJ_TEXT et OBJ_LABEL. Pour les autres types d' objets, ces paramètres sont ignorés.
Voir aussi ObjectDescription().
Paramètres :
nom- le nom de l'objet.
texte- Texte décrivant l'objet.
taille de la police- Taille de la police en points.
nom de la police- Nom de la police.
couleur_texte- Texte_couleur.
Exemple :
ObjectSetText("text_object", "Hello world !", 10, "Times New Roman", Green) ;
 
TarasBY:


Voir aussi ObjectDescription().

Woohoo... DESCRIPTION... : )))) J'ai cherché où c'est fait.... Merci beaucoup ! : )))

 
Chiripaha:

Woohoo... DESCRIPTION... : )))) Je me demandais où il était fait... .... Merci beaucoup ! : )))

ObjectDescription() ne fait que retourner une propriété (dans ce cas une description), MAIS ne la définit pas ! !!

 
TarasBY:

ObjectDescription() ne fait que retourner une propriété (dans ce cas une description), MAIS ne la définit pas ! !!

Oui... Tiens, je viens de le découvrir... Comment l'installez-vous ? : ((

Il y est reflété manuellement si vous le définissez dans la fenêtre des propriétés.

 
Chiripaha:

Oui... Tiens, je viens de le découvrir... Comment l'installez-vous ? : ((

Il est présent manuellement si vous le définissez dans la fenêtre des propriétés.

A qui je parle ? - https://forum.mql4.com/ru/52892/page20#732354
 
TarasBY:
Et à qui dois-je répondre ? - https://forum.mql4.com/ru/52892/page20#732354

: ))))))) Yay ! J'ai compris... - Maintenant, je l'ai expérimenté après le bashing. Je ne savais pas qu'on pouvait faire ça... : )) J'ai regardé comment les autres le font et je l'ai fait par analogie. Et il s'avère que cette fonction "..SetText" est indépendante. Je pensais que cela ne fonctionnerait qu'après la création de l'objet texte.

Encore une fois, merci beaucoup ! : ))) J'ai quand même appris quelque chose. : ))

 
rigonich:


Imprimez l'état des drapeaux séparément pour chaque condition. Cela est dû au fait que les conditions ne tiennent pas compte de l'état du deuxième drapeau.

P.S. Et il est plus pratique d'imprimerPrint("flag=",flag, "flagg=",flagg) pour éviter toute confusion ;


print("flag=",flag, "flagg=",flagg) ;

imprime flag=1 flagg=0 AS ORDER !

mais d'une manière ou d'une autre, le signal passe à CHAQUE TICK!

i.e. la condition if(Ma_1<Ma_2 && flag==0) le drapeau est ignoré FULL ! comment ça se fait ? le drapeau imprime flag=1 et passe immédiatement if(Ma_1<Ma_2 && flag==0) ->Sound

-----------------

vous pouvez simplifier ce code comme suit

if(Ma_1<Ma_2 && flag==0) {PlaySound("ok.wav") ; flag=1 }

en conséquence, le son devrait partir UNE fois. Et il émet un bip à chaque tic-tac ! !!

 
lottamer:


imprimé Print("flag=",flag, "flagg=",flagg) ;

imprime flag=1 flagg=0 AS ORDERED !

mais d'une manière ou d'une autre, le signal passe à CHAQUE TICK !

i.e. la condition if(Ma_1<Ma_2 && flag==0) le drapeau est ignoré FULL ! comment ça se fait ? le drapeau imprime flag=1 et passe immédiatement if(Ma_1<Ma_2 && flag==0) ->Sound

-----------------

vous pouvez simplifier ce code comme suit

if(Ma_1<Ma_2 && flag==0) {PlaySound("ok.wav") ; flag=1 }

en conséquence, le son devrait partir UNE fois. Et il émet un bip à chaque tic-tac ! !!


Avez-vous le drapeau comme une variable locale ?

P.S. Lorsque vous ne comprenez pas bien ce qui se passe, il est préférable d'imprimer les valeurs avant et après la fonction ou l'opérateur que vous voulez vérifier, pour voir comment elles changent exactement. Parfois, les valeurs d'entrée ne sont pas ce que nous attendons d'elles, et trouver où et pourquoi elles deviennent ce qu'elles sont est beaucoup plus facile en code que de deviner pourquoi le programme ne fonctionne pas correctement.