[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 197

 

Expliquer. Je ne comprends pas. Pourquoi la condition

int Takeprofit = 62 ;

pp = MarketInfo(OrderSymbol(), MODE_POINT) ;

if(OrderTakeProfit() - OrderOpenPrice() < Takeprofit*pp )

cela fonctionne comme vrai ? Bien que les deux parties soient égales ! !! Comme vous pouvez le voir ci-dessous.

2009.08.22 18:50:31 1999.10.11 23:43 Delta EURUSD,M1 : OrderTakeProfit() - OrderOpenPrice() = 0.0062 Takeprofit*pp = 0.0062

Merci !

 

Comme vous travaillez avec des nombres réels, vous devriez savoir que 0,0062 peut en fait être 0,0061999 ou 0,0062001.

Utilisez la normalisation.

 
OneDepo писал(а) >>

Comme vous travaillez avec des nombres réels, vous devriez savoir que 0,0062 peut en fait être 0,0061999 ou 0,0062001.

Utilisez la normalisation.

J'ai essayé de normaliser Takeprofit*pp - rien n'a fonctionné. Peut-être que les deux côtés de l'équation devraient être normalisés ?

 
001 >> :

J'ai essayé de normaliser Takeprofit*pp - rien n'a fonctionné. Peut-être les deux côtés de l'équation (l'inégalité) doivent-ils être normalisés ?

Oui.

La deuxième option consiste à travailler avec le type int, par exemple :

int temp = 0.5 + (OrderTakeProfit() - OrderOpenPrice())/ pp;
if ( temp < Takeprofit)
 
OneDepo писал(а) >>

Oui.

La deuxième option consiste à travailler avec le type int, par exemple :

>> Merci !

 

Bonjour !

Comment puis-je changer la couleur de la ligne de l'indicateur en fonction de la condition - par exemple, pour que différentes plages de barres aient des couleurs différentes ?

La fonction SetIndexStyle, qui est censée faire cela, ne fonctionne pas en définissant la couleur ou l'épaisseur de la ligne - voir figure

Voir l'exemple de code ci-dessous.

Chaque barre devrait être d'une couleur et d'une épaisseur différentes, mais elles sont toutes rouges et d'une épaisseur de 2.

//+------------------------------------------------------------------+
//|                                                       MinMax.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Gray

//---- buffers
double ExtMapBuffer1[];
double Val;
int ExtCountedBars=0;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2,Brown);
   SetIndexBuffer(0, ExtMapBuffer1);
   Val=Close[Bars-1];
  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   

   if(Bars<=100) return(0);
   ExtCountedBars=IndicatorCounted();

   //---- check for possible errors
   if ( ExtCountedBars<0) return(-1);
   if ( ExtCountedBars>0) ExtCountedBars--;
   int    i, pos=Bars- ExtCountedBars-1; 
   Comment(Bars," ", ExtCountedBars, " ", pos); 
//---- last counted bar will be recounted
   
//----

   while( pos>=0) {
        
         if ( pos<100 && pos>0)   { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2,Red); Val=1.45; }
         if ( pos<200 && pos>100) { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3,Blue); Val=1.44; }
         if ( pos<300 && pos>200) { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,4,Yellow); Val=1.43; }
         if ( pos<400 && pos>300) { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,5,Magenta); Val=1.42; }
             
      ExtMapBuffer1[ pos]= Val;
    
    pos--;
     }
  return(0);
  }
//+------------------------------------------------------------------+
 
stera писал(а) >>

Bonjour !

Comment puis-je changer la couleur de la ligne de l'indicateur en fonction de la condition - par exemple, pour que différentes plages de barres aient des couleurs différentes ?

La fonction SetIndexStyle, qui est censée faire cela, ne fonctionne pas en définissant la couleur ou l'épaisseur de la ligne - voir figure

Voir l'exemple de code ci-dessous.

Chaque étape devrait être d'une couleur et d'une épaisseur différentes, mais elles sont toutes rouges et d'épaisseur 2.

Utiliser des tampons supplémentaires, chacun avec son propre style et sa propre couleur

 
Vinin >> :

Utiliser des tampons supplémentaires, chacun avec son propre style et sa propre couleur

Une fois, j'ai posé une question similaire, et ensemble, nous avons trouvé ce qui aurait dû être clair :))))

SetIndexStyle, lorsqu'il est utilisé au début, change honnêtement la couleur, mais tout le tampon en même temps. Autrement dit, dans le graphique actuel, le tampon (ligne) aura la couleur correspondant à la dernière application SetIndexStyle déclenchée.

 
stera писал(а) >>

Bonjour !

Comment changer la couleur de la ligne indicatrice...

Regardez ici .

 
granit77 писал(а) >>

Une fois, j'ai posé une question similaire, et ensemble nous avons trouvé ce qui aurait dû être clair :))

SetIndexStyle, lorsqu'il est utilisé au début, change honnêtement la couleur, mais tout le tampon en même temps. Autrement dit, dans le graphique actuel, le tampon (ligne) aura la couleur correspondant à la couleur de la dernière application SetIndexStyle déclenchée .

Merci beaucoup, granit77.

C'est une réponse complète.
Je m'en doutais, mais je n'arrivais pas à croire qu'une idée aussi étrange était intégrée à cette fonction.

Il peut s'avérer nécessaire de changer la couleur de l'ensemble du tampon pour certaines raisons, mais il est plus pratique de changer la couleur de l'ensemble du tampon.

Mais le mécanisme de coloration (et de changement d'autres attributs) de certaines parties de l'indicateur.

EasyLang, par exemple, l'a.

Je vais écrire aux développeurs.

Existe-t-il une description plus détaillée des fonctions MQL quelque part ?

Avec les exemples de certains ou d'autres paramètres ?

Tous les paramètres doivent être soit testés par moi-même, soit tirés d'exemples de tiers.

Raison: