Logique d'apprentissage - page 2

 
Désormais, l'absence de bureau et de fermeture éclair n'est plus le signe d'un manque de logique :)
 
Integer:

Vous savez, et nous n'avons pas de problème. Surtout pour VOUS en format texte. Vous avez manifestement un fichier zip.


D'après ce que j'ai lu : "...... et erreurs dues à une mauvaise expression verbale de la pensée."

J'ai oublié de mettre un smiley à la toute fin de mon premier message.

 
DDFedor:

Pourquoi avez-vous besoin d'un smiley ? Pensez-vous que le fil de discussion est une blague ?

Non ... les smileys sont différents (il y en a de très tristes).
 
age_nt:
Victor ! Si je comprends bien, vous êtes prêt à aider.... je ne comprends pas où je n'ai "aucune logique".


On commence ?

C'est la partie où cela n'a pas de sens pour moi dans le contexte du code :

bool showEUR, showUSD, showGBP, showCHF, showJPY, showRAVI;
   if ( StringFind(Symbol(), "EUR", 0) != -1) showEUR = TRUE;
   if ( StringFind(Symbol(), "USD", 0) != -1) showUSD = TRUE;
   if ( StringFind(Symbol(), "GBP", 0) != -1) showGBP = TRUE;
   if ( StringFind(Symbol(), "CHF", 0) != -1) showCHF = TRUE;
   if ( StringFind(Symbol(), "JPY", 0) != -1) showJPY = TRUE;

Il n'y a pas d'initialisation explicite, bien qu'il y en ait une ailleurs. Les expressions booléennes ne sont pas utilisées. Une variable a carrément abandonné. Formatage non standard.

Je suis prêt à écouter les objections.

 
gip:


Formatage non standard.


expliquer
 

j'ai essayé d'écrire un indicateur qui, au départ, colorerait les barres dans la couleur désirée. je n'arrive pas à comprendre la logique du code, je l'ai construit à partir du code tout fait d'un autre indicateur, mais je ne le trouve pas :(

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Red

#property indicator_width1 2
#property indicator_width2 2

extern int NumBars   =  100;

double upbuf[];
double dnbuf[];

int init() {
   IndicatorBuffers(2);
   SetIndexBuffer(0, upbuf);
   SetIndexBuffer(1, dnbuf);
   SetIndexStyle(0, DRAW_HISTOGRAM,STYLE_SOLID);
   SetIndexStyle(1, DRAW_HISTOGRAM,STYLE_SOLID);
   IndicatorShortName("Bars");
   return (0);
}

int deinit() {
   return (0);
}



int start() {
   int counted = IndicatorCounted();
   if (counted < 0) return (-1);
   int draw  = Bars - counted + NumBars + 1;
   int i;
   if (draw > Bars) i = Bars;
   for (i = draw; i >=0 ; i--) {
   if (Low[i] < Open[i]) {
         upbuf[i] = Open[i];
         dnbuf[i] = Low[i];
      } else {
             upbuf[i] =High[i];
             dnbuf[i] =Open[i]; 
         }
    }
   return (0);
}

j'ai besoin d'une clarification sur la façon de colorer les 100 dernières barres en deux couleurs, selon le principe suivant : si la barre ouverte est supérieure au prix minimum - une couleur, si c'est le contraire - une autre couleur.

La tâche est simple - le but est d'apprendre à travailler correctement avec le type de lignes DRAW_HISTOGRAM et de calculer correctement le nombre de barres qui ont changé depuis le dernier appel de l'indicateur.

 
sanyooooook:
expliquer

Son style de mise en forme n'autorise pas les espaces dans les expressions. Et il y a des espaces dans cet endroit. Il serait logique de s'en tenir à un seul style.
 

D'un point de vue fonctionnel, c'est pour la commodité de l'affichage sur le graphique et cela n'affecte pas la précision du calcul (d'après ce que je comprends).

Dans d'autres indexeurs, cela fonctionne, mais il est possible de ne pas supprimer le bloc du tout, afin de ne pas gêner l'œil..... quitter

int init()
  {
//---- indicators

   IndicatorBuffers(5);

   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

//---- indicator line
   SetIndexBuffer(0,EUR_Buffer);
   SetIndexBuffer(1,USD_Buffer);
   SetIndexBuffer(2,GBP_Buffer);
   SetIndexBuffer(3,CHF_Buffer);
   SetIndexBuffer(4,JPY_Buffer);

   SetIndexLabel(0,"EUR");
   SetIndexLabel(1,"USD");
   SetIndexLabel(2,"GBP");
   SetIndexLabel(3,"CHF");
   SetIndexLabel(4,"JPY");

   
   SetIndexDrawBegin(0,0);
   SetIndexDrawBegin(1,0);
   SetIndexDrawBegin(2,0);
   SetIndexDrawBegin(3,0);
   SetIndexDrawBegin(4,0);

   
   IndicatorShortName("all1");

//----
   return(0);
  }
 
age_nt:
Victor ! Si je comprends bien, vous êtes prêt à aider.... je ne comprends pas où je n'ai "aucune logique".


Connaissez-vous la syntaxe et la morphologie russes ?

Relisez le premier message.

 
rid:

Oui, un cas utile sera fait !

//---------------

p/s - Victor, joyeux anniversaire (demain) !

Appuyé par !!!!!!!!!!!
Raison: