Questions des débutants MQL5 MT5 MetaTrader 5 - page 1356

 
Vladimir Je connais la règle de la comparaison. Il n'est donc pas possible de le faire sans conditions supplémentaires ?
 
Oleg Kolesov #:
Vladimir, je connais la règle de la comparaison. Vous ne pouvez donc pas le faire sans conditions ?

Quels sont les extras ?


Pouvez-vous faire encore mieux que ça, sans comparaison :

      //---------------------------------------------+
      levelcol1[i]=1.0;
      if(level1[i]>level1[i+PeriodSh])
        {
         levelcol1[i]=0.0;
         continue;
        }
      /*if(CompareDoubles(level1[i],level1[i+PeriodSh]))
        {
         levelcol1[i]=1.0;
         continue;
        }*/
      if(level1[i]<level1[i+PeriodSh])
        {
         levelcol1[i]=2.0;
         continue;
        }
     }  //--- Возвращаемое значение prev_calculated для следующего вызова
 
Merci pour votre aide.
 
Vladimir Karputov #:

Quels sont les extras ?


Et vous pouvez faire encore mieux, sans comparaison :

Il en va de même si l'on compare sur une base égale sans normalisation.

 
La question principale n'est pas résolue. Comment colorer le tampon avec deux couleurs. >= Bleu à <= Rouge.
 
Oleg Kolesov #:
La question principale n'est toujours pas résolue. Comment colorer le tampon avec deux couleurs. >= Bleu à <= Rouge.

Et dans le cas de l'égalité, comment savoir si c'est plus ou égal ou moins ou égal ? C'est le défi, n'est-ce pas ?)

 
Oleg Kolesov #:
Quelle est la tâche ? Loop ?ArrayBsearch? ArraySort ? Par quels moyens ?

Hussards, silence !

C'est l'apocalypse.

L'esprit doit être traité.

 
Je vais faire une pause. Merci.
 

Veuillez m'aider à supprimer un indicateur de la fenêtre principale.

Par exemple, plusieurs indicateurs MA personnalisés sont placés, chacun est appelé par iCustom(handleMA,...,...).

Ainsi, une douzaine de moyennes mobiles sont affichées sur le graphique.

Ensuite, ces indicateurs doivent être recalculés à l'aide d'une minuterie.

L'ordre est le suivant : le minuteur se déclenche, les anciens indicateurs sont supprimés, le calcul et le dessin de nouvelles moyennes mobiles ont lieu.

Maintenant, le problème même : les anciennes lignes restent sur le graphique à chaque nouvelle itération.

J'ai essayé de les supprimer de deux manières :

Graph_MA[i] = iCustom(_Symbol,Timeframe,"MA", /*параметры индикатора*/);   
for(int i=0; i < kol_Lines; i++) 
     {
      res = IndicatorRelease(Graph_MA[i]);
     }

Dans ce cas, la variable res est égale à True à chaque fois, mais les indicateurs supplémentaires ne sont pas supprimés du graphique.

La deuxième voie :

name_MA[i]=StringFormat("MA_Line # %d", i);
IndicatorSetString(INDICATOR_SHORTNAME,name_MA[i]);
res = ChartIndicatorDelete(0, 0, name_MA[i]);

En vain : res est toujours faux.

 
qadexys #:

Veuillez m'aider à supprimer un indicateur de la fenêtre principale.

Par exemple, plusieurs indicateurs MA personnalisés sont placés, chacun est appelé par iCustom(handleMA,...,...).

Ainsi, une douzaine de moyennes mobiles sont affichées sur le graphique.

Ensuite, ces indicateurs doivent être recalculés à l'aide d'une minuterie.

L'ordre est le suivant : le minuteur se déclenche, les anciens indicateurs sont supprimés, le calcul et le dessin de nouvelles moyennes mobiles ont lieu.

Maintenant, le problème même : les anciennes lignes restent sur le graphique à chaque nouvelle itération.

J'ai essayé de les supprimer de deux manières :

Dans ce cas, la variable res est égale à True à chaque fois, mais les indicateurs supplémentaires ne sont pas supprimés du graphique.

La deuxième voie :

En vain : res est toujours faux.

Ce sont les caractéristiques de IndicatorRelease() - il ne s'agit pas de la suppression d'un indicateur, mais de la notification au terminal que l'indicateur n'est plus nécessaire. En outre, le terminal décide lui-même du moment où il doit le retirer. En général, il le fait après quelques secondes.

Il y a peut-être des astuces - je ne sais pas. Essayez peut-être d'échanger le tableau.