[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 409

 
Pouvez-vous me dire comment diviser toutes les commandes en deux groupes à l'ouverture pour que je puisse voir à quel groupe appartient chaque commande ? (La MAGIE ne fonctionne pas)
 

Bonjour.

Pouvez-vous me dire s'il est possible de créer un tableau ou son équivalent à partir de variables d'une manière ou d'une autre ? Ma variante est donnée ci-dessous, mais elle est, bien sûr, erronée.

Merci d'avance.

extern int F1=0;
extern int F2=0; 
extern int F3=0; 
extern int F4=0; 
extern int F5=0; 
extern int F6=0; 

*************************************

int NOrd[]={F1,F2,F3,F4,F5,F6};
 
nemo811:

Bonjour.

Pouvez-vous me dire s'il est possible de créer un tableau ou son analogue à partir de variables d'une certaine manière ? Ma variante est donnée ci-dessous, mais elle est, bien sûr, erronée.

Merci d'avance.

élément par élément

NOrd[0]=F1 ; NOrd[1]=F2;....

 
costy_:

élément par élément

NOrd[0]=F1 ; NOrd[1]=F2;....

Parfait ! Merci.
 

Veuillez expliquer le principe de l'action des drapeaux.

Si la condition 1 est remplie, alors Val_max=vrai et nous passons à la vérification de la condition 2 (sur les ticks suivants, la condition 1 n'est plus vérifiée jusqu'à ce que nous déclarions de force que Val_max=faux). Ou à chaque tick, la condition 1 sera vérifiée pour s'assurer qu'elle est vraie et si la condition n'est pas remplie, alors Val_max=false ?

Si la condition 2 est vraie, alors Cl_dn=vrai et nous procédons à la vérification de la condition 3 (sur les ticks suivants, la condition 2 ne sera pas vérifiée jusqu'à ce que nous déclarions de force Cl_dn=faux). Ou à chaque tick, la validité de la Condition1 et de la Condition2 sera vérifiée et si elles ne sont pas remplies, alors Val_max=false et Cl_dn=false ?

Si la condition 3 est remplie et que Cl_dn==vrai, alors Val_min=vrai et on passe à autre chose.

Comment vérifier que si la condition 1 est remplie, alors ne la vérifiez plus et qu'au prochain ticks, vous vérifierez la condition 2 et ainsi de suite ?

static bool Val_max, Cl_dn, Val_min; //static or global
                                        |
//+------------------------------------------------------------------+
int start()
  {
   int  j;
   double  bid;                                         
   bid=Bid;                                    // Текущая цена продажи
   string
   Symb=Symbol();                               // Название фин.инстр.
double Value_max=1.0000;
double Value_min=0.9980;
double Open_1=Open[1];
double Close_1=Close[1];
//----

//--------------------------------------------------------------- 4 --

double Val=iCustom(NULL, 0, "Название Польз. Индикатора",0,0);   // Присваиваем пер. Val значение польз. индикатора
if (Условие1)
{
 Val_max=true;                  // 
 Alert("Значение инд. >= V alue_max (исп. 1-е усл.)");
}
if (Условие2)
{
 Cl_dn=true;
 Alert("1 бар закрылся падением (исп. 2-е усл.)");
}
if (Условие3 && Cl_dn==true)
{
 Val_min=true;
 Alert("Значение инд. <= V alue_min (исп. 3-е усл.)");
}
if (Val_max==true && Cl_dn==true && Val_min==true)
  {
   for (j = 0; j < OrdersTotal(); j++)
    {
     OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol() == Symbol())
      {
      if (OrderType() == OP_SELL) return(0);
      }
    }
   
   OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),2,Bid+400*Point,Bid-400*Point,"",3,Red);  // Открытие SELL
   Val_max=false; Cl_dn=false; Val_min=false;
  }

//----
   return(0);
  }
 
costy_:

élément par élément

NOrd[0]=F1 ; NOrd[1]=F2;....

Non, j'ai essayé les deux méthodes - le compilateur génère des erreurs.
 
nemo811:
Non, j'ai essayé les deux façons - le compilateur génère des erreurs.


Ainsi, si NOrd[] n'est pas un indicateur et n'est pas situé dans un bloc global :

int NOrd[6];
NOrd[0]=F1; NOrd[1]=F2;....
 
DOCTORS:


Je les ai juste en fait en rouge (et il y en a 6) et après chaque test je dois colorer le graphique manuellement (je suis comme ça...). Je ne veux pas le réécrire.

Peut-être existe-t-il une commande standard ?

Ne jugez pas strictement, je suis juste en train d'apprendre...

cherchez #property indicator_color1 Red

 
nemo811:
Non, j'ai essayé les deux façons - le compilateur génère des erreurs.

Lire

définir d'abord la taille du tableau

buf[2] ; .

attribuer

buf[0]=x1 ; buf[1]=x2 ;

Il vous faudra 2 minutes pour lelire.

 
Mislaid:


Sinon, si NOrd[] n'est pas un indicateur :

Merci. Aucune erreur maintenant.
Raison: