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

 
hoz:


Eh bien, l'essentiel est ceci :

Dans les paramètres externes, siUseFiltrMa = TRUE, la condition A > B doit être prise en compte, et siUseFiltrMa = False, la condition n'est pas prise en compte. Cette condition(A > B) n'apparaît pas ailleurs dans le code. J'ai mis ce filtre à l'intérieur de la boucle puisqu'il était aussi dans la boucle avant. Après tout, nous avons un tableau de tranches. La boucle sélectionne le numéro de séquence d'un wagon (son index).

A > B, selon mon code, ressemble à ceci :

Vous voyez, tout se met en place ici, et vous pouvez voir la raison de cette boucle.

Je n'ai jamais vu une condition de boucle qui change la condition : if (A > B).

Il peut TOUJOURS y avoir plusieurs solutions, et vous avez besoin de celle que vous avez trouvée...

 
TarasBY:

Je ne vois toujours pas de conditions de boucle qui modifient la condition : if (A > B).

Il peut TOUJOURS y avoir plusieurs solutions, et vous voulez que la façon dont vous pensez à...


Vous n'avez pas besoin de cette boucle... N'y prêtez pas attention. Il suffit d'insérer une condition comme je l'ai écrit ci-dessus :

hoz:

Dans les paramètres externes, siUseFiltrMa = TRUE, la condition A > B doit être prise en compte, et siUseFiltrMa = False, la condition n'est pas prise en compte.

SiUseFiltrMa = False, alors la conditionA > B est ignorée ! C'est tout. Vous n'avez besoin de rien d'autre ! Ne faites pas attention aux boucles,... c'est une longue histoire, ce qui vient d'où. Il n'y a qu'un seul bloc. Et j'ai décrit la tâche.
 
hoz:


L'essentiel est le suivant :

Dans les paramètres externes, siUseFiltrMa = TRUE, la condition A > B doit être prise en compte, et siUseFiltrMa = False, la condition n'est pas prise en compte. Cette condition(A > B) n'apparaît pas ailleurs dans le code. J'ai mis ce filtre à l'intérieur de la boucle puisqu'il était aussi dans la boucle avant. Après tout, nous avons un tableau de tranches. La boucle sélectionne un numéro de séquence d'un masque (son index).

A > B, selon mon code, ressemble à ceci :

Vous voyez, tout se met en place ici, et nous pouvons voir la raison de cette boucle.

if(UseFiltrMa == TRUE&& А > B )

  {

     //  

   }

else

  {
   //

  } 
 

pako:

if(UseFiltrMa == TRUE&& А > B )

  {

     //  

   }

else

  {
   //
  }


C'est comme ça que je le vois. Vous ne pourriez pas faire plus court ? Il peut être mis en œuvre en une seule ligne. Sinon, nous devrons étirer le code.

Par exemple, je fais souvent une insertion comme celle-ci avant la fonction d'ordre sans perte :

if (UseBU)
{
  // Код функции перевода в БУ
}

Mais dans ce cas, lorsque la variableUseBU a la valeur False, il n'est pas nécessaire de poursuivre l'exécution de la fonction. C'est pourquoi c'est plus facile et plus court là-bas. Mais c'est différent ici. Autres conditions par code obligatoirement. C'est pourquoi je pense.

 
hoz:


C'est comme ça que je le comprends. Vous ne pourriez pas faire plus court ? Il peut être mis en œuvre en une seule ligne. Si ce n'est pas le cas, vous devrez étirer le code.

Par exemple, je fais souvent une insertion comme celle-ci avant la fonction d'ordre sans perte :

Mais dans ce cas, lorsque la variableUseBU a la valeur False, il n'est pas nécessaire de poursuivre l'exécution de la fonction. C'est pourquoi c'est plus facile et plus court là-bas. Mais c'est différent ici. Autres conditions par code obligatoirement. C'est pourquoi je pense.

En bref, comme ça :

if((UseFiltrMa == TRUE && А > B) || UseFiltrMa == FALSE)
{
  if(..........................
 
borilunad:
Qui sait, est-il possible avec les variables globales Hour(), Minute(), Seconds() de contrôler à minuit (0.00) le changement dans l'indicateur DailyPivotPoints vers de nouveaux niveaux RR et d'autres lignes de l'EA ? J'ai fait avant directement dans l'indicateur avec Hour(), Minute(), Seconds(), et cela a fonctionné sans besoin de compiler chaque nuit. Et récemment il s'est arrêté, peut-être à cause du changement de bild ? Merci !

Boris, essayez de poser cette question dans le fil pro.
 
hoz:

Boris, essayez de poser cette question dans le fil pro.

Merci, Victor ! Est-ce que ma version courte est apparue pour vous ?

if((UseFiltrMa == TRUE && А > B) || UseFiltrMa == FALSE)
{
  if(..........................
 
granit77:
Essayez de décocher l'option "Désactiver l'EA lors du changement de profil" dans les paramètres pour voir si cela aide.

Merci. - Je vais essayer. Malheureusement, j'ai remarqué la réponse tardivement - les marchés sont fermés pour le week-end. Et je ne peux pas réinitialiser mes paramètres via init() de toute façon. Bien que, en théorie, ils devraient.

Je ne sais pas pourquoi MT réinitialise ses paramètres. L'horizon temporel n'a pas d'importance ; si je définis les paramètres dans les réglages, ils devraient (en théorie) être enregistrés dans n'importe quelle TF.

 
Bon après-midi à tous. Pouvez-vous me dire comment copier des transactions dans Metatrader 4. Ainsi, en ouvrant une transaction sur un terminal, vous pouvez obtenir une transaction ouverte sur un autre.
 
tpg_k156:
Bon après-midi à tous. Pouvez-vous me dire comment copier des transactions dans Metatrader 4. Ainsi, en ouvrant une transaction sur un terminal, vous pouvez obtenir une transaction ouverte sur un autre.

Cherchez dans CodeBase un copieur. Pas les meilleurs, bien sûr, mais ils sont disponibles gratuitement.