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

 
Comment attacher correctement un indicateur à un autre via iCustom() ?
J'ai un indicateur dans lequel les 8 tableaux d'indicateurs sont occupés. Comment créer un deuxième indicateur, pour qu'il dessine la courbe du premier indicateur dans 1 tableau d'indicateurs ?
Les deux indicateurs #property indicator_chart_window.
L'explication la plus évidente est l'analogie sous la forme du code des deux indicateurs liés.
Merci d'avance ! !!
 
Leo59:
Comment attacher un indicateur à un autre via iCustom() ?
J'ai un indicateur dans lequel les 8 tableaux d'indicateurs sont occupés. Comment créer un deuxième indicateur, pour qu'il dessine la courbe du premier indicateur dans 1 tableau d'indicateurs ?
Les deux indicateurs #property indicator_chart_window.
L'explication la plus claire est l'analogie sous forme de code des deux indicateurs liés.
Merci d'avance ! !!

Avez-vous besoin de quelqu'un pour l'écrire à votre place ?

Lire dans le deuxième indicateur le tampon du premier par iCustom(). Placez le deuxième indicateur sur le graphique - il tracera la ligne nécessaire.

Si ce n'est pas clair, commencez à écrire le code et postez ici tout ce qui n'est pas clair - ils vous expliqueront, vous aideront et vous conseilleront.

 
artmedia70:
Si (4<5) est vrai, alors la ligne suivante est exécutée : if(5<6), mais... si (4<5) est faux, alors le prochain if () ainsi que son impression ne sont pas traités, mais passent à la parenthèse fermante de if (2<3).


Je pense toujours que vous avez tort. Tout groupe IF est exécuté séquentiellement tant qu'il n'est pas séparé par des crochets {}.

par exemple

int start

{

if (...)print (1)

if (...) print(2)

if (...) print (3)

}

retour ;

=======================================================

Les impressions fonctionneront SI les conditions sont remplies. Mais si la première condition n'est pas remplie, la seconde ne s'en soucie pas. Il fonctionne tout seul, sans obéir.

Eh bien, je pense que RIEN ne change si ce groupe IF se trouve à l'intérieur d'autres sous-conditions, l'essentiel est qu'il n'y a PAS de parenthèses entre ces trois conditions et qu'elles s'exécutent en série indépendamment les unes des autres, et que seules leurs déclarations (après if ) dépendront de la valeur de if lui-même (en utilisant princes comme exemple).

donc votre code3>4>5>5>6 est indépendant les uns des autres et fonctionnera N'IMPORTE OÙ si2>3

//+----------------------------------------------------------------------------+
if (1<2) {                                // Если один меньше два и ...
   if(2<3) {                              // ... два меньше три, ...
      if (3<4) PlaySound("alert.wav");    // Если три меньше четыре - врежем рок в этой дыре ... (С), 
                                          // Далее пойдём проверять остальные условия:
      if (4<5)                            // Если четыре меньше пять и ...
      if (5<6) Print("Истина");           // ... пять меньше шесть - верно, блин...
      }
   }
//+----------------------------------------------------------------------------+
 
lottamer:


Je pense toujours que vous avez tort. Tout groupe IF est exécuté séquentiellement tant qu'il n'est pas séparé par des crochets {}.

comme ceci

int start

{

if (...) print (1)

if (...) print(2)

if (...) print (3)

}

retour ;

=======================================================

Les impressions fonctionneront SI les conditions sont remplies. Mais si la première condition n'est pas remplie, la seconde ne s'en soucie pas. Il fonctionne tout seul, sans obéir.

Eh bien, je pense que RIEN ne change si ce groupe IF se trouve à l'intérieur d'autres sous-conditions, l'essentiel est qu'il n'y a PAS de parenthèses entre ces trois conditions et qu'elles s'exécutent en série indépendamment les unes des autres, et que seules leurs déclarations (après if ) dépendront de la valeur de if lui-même (en utilisant princes comme exemple).

Il suffit d'écrire un script avec mon code et de remplacer les signes plus par moins dans les ifs - voyez par vous-même :)

Je ne pense pas qu'il soit nécessaire d'argumenter.

 

Comparez ces deux constructions, quelle est la différence ?

Comme ça :

//+----------------------------------------------------------------------------+
if (1<2) {                                // Если один меньше два и ...
   if(2<3) {                              // ... два меньше три, ...
      if (3<4) PlaySound("alert.wav");    // Если три меньше четыре - врежем рок в этой дыре ... (С), 
                                          // Далее пойдём проверять остальные условия:
      if (4<5)                            // Если четыре меньше пять и ...
      if (5<6) Print("Истина");           // ... пять меньше шесть - верно, блин...
      }
   }
//+----------------------------------------------------------------------------+

Et comme ça :

//+----------------------------------------------------------------------------+
   if (1<2)                               // Если один меньше два и ...
   if(2<3) {                              // ... два меньше три, ...
      if (3<4) PlaySound("alert.wav");    // Если три меньше четыре - врежем рок в этой дыре ... (С), 
                                          // Далее пойдём проверять остальные условия:
      if (4<5)                            // Если четыре меньше пять и ...
      if (5<6) Print("Истина");           // ... пять меньше шесть - верно, блин...
      }
//+----------------------------------------------------------------------------+

Et justifiez vos conclusions.

 

Je vais vous donner un conseil :

Quel est un opérateur pour la condition if(4<5) ?

 
pu6ka:

Afin de ne pas ouvrir à chaque tick et d'optimiser l'EA plus rapidement, j'utilise souvent ce design :

De cette façon, lorsqu'une nouvelle barre apparaît, le code sera exécuté une fois.

Lisez comment utiliser MagicNumber dans les ordres et ensuite utiliser total < 1 permettra à l'EA d'ouvrir un ordre pour chaque paire de devises et pour une paire de devises mais ouvert dans des fenêtres différentes. Vous pouvez voir un échantillon ici.


Merci beaucoup, j'ai suivi votre conseil (en le chronométrant), très utile, tout fonctionne comme il se doit !!!
 

Bon après-midi,

Est-il acceptable d'utiliser des conditions composées complexes, telles que :

if(condition1 || (condition2 && condition3)){...} ;

?

Merci.

 
artmedia70:

Je vais vous donner un conseil :

Quel est un opérateur pour la condition if(4<5) ?


C'est une bonne question ! :)))

Si le compilateur ne lance pas une erreur à cet endroit, alors vous avez raison :))

 

Pouvez-vous me dire à quoi devrait ressembler le code avec les conditions suivantes : si la couleur de l'indicateur passe du rouge au bleu, mettre un ordre en attente buystop, si au contraire, la couleur de l'indicateur passe du bleu au rouge, alors sellstop ?

Raison: