Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 822

[Supprimé]  
nikelodeon:

Question sur le code....

Comment faire en sorte que la boucle soit exécutée tant que la variable num ????.

Avez-vous des idées ?

donc num change pendant que la boucle s'exécute. quelle valeur doit-on prendre pour le nombre de fois que la boucle se répète ?
[Supprimé]  

Si vous voulez que num soit égal à zéro, vous pouvez utiliser while.


num = 1;
while (num != 0){
 if(Close[z+1]<Close[z+3]) {num=num+1;
         
                           } else  {num=0;}
 }
 
OK, plus besoin de .... Je l'ai en quelque sorte bien compris.....
 
fedor9932:
Merci, je vais jeter un coup d'oeil.
 

comment passer un ordre au marché ?

void OnStart()
{
//---

// Ouverture BUY
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point) ;
retour ;

}


Une valeur de retour d'avertissement de 'OrderSend' doit être vérifiée.

 
sirurik:

Comment passer un ordre au marché ?


Une valeur de retour de 'OrderSend' doit être vérifiée.

Eh bien, vous devez le vérifier, au moins comme ça :

void OnStart()
  {
//---

                                          // Открытие BUY
      if(OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point)<1)
      Print("Попытка торговать завершилась ошибкой №", GetLastError());
   }
 

Je ne sais pas si c'est bien ou mal, mais le script fonctionne.

int OnStart()// Au lieu de Void int
{
//---

// Ouvrir BUY
int check =OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-150*Point,Bid+150*Point) ; //addition d'une variable int check= ; modification du stop loss et du teic de 15 à 150 parce que le courtier est à cinq chiffres
.retour(check) ;//renvoyer le contrôle ajouté

}

Je ne peux trouver nulle part ce qui a été réellement changé dans la construction de 600+. Je ne trouve pas non plus d'informations sur la manière de l'adapter au nouveau Metaeditor. Avez-vous des informations concernant l'adaptation de l'ancien MQL4 au nouveau ? Veuillez les partager)

 
sirurik:

Je ne sais pas si c'est bien ou mal, mais le script fonctionne.


Je ne peux trouver nulle part ce qui a été réellement changé dans la construction de 600+. Je ne sais pas non plus comment l'adapter au nouveau Metaeditor. Si vous avez des informations concernant l'adaptation de l'ancien MQL4 au nouveau, merci de les partager).

Ceci est également possible pour le script.

Ils ont vraiment ajouté les structures, les classes et autres OOP. Il existe également des fonctions spéciales de types distincts pour différents types de programmes. Auparavant, c'était int start() pour tous les types, maintenant void (peut être int) OnStart() - pour les scripts, void OnTick() - pour les Expert Advisors, int OnCalculate() - pour les indicateurs. Il y a aussi beaucoup d'autres petites choses dans la syntaxe, qui peuvent être utilisées ou non, et vous pouvez utiliser l'ancienne façon d'écrire.

La plupart du code bien écrit dans les nouvelles constructions n'a pas besoin d'être adapté. Chez les analphabètes, il est le plus souvent nécessaire de corriger les erreurs de dépassement de tableau, notamment dans les indicateurs.

[Deleted]  
Pouvez-vous me dire si MT4 supporte le mode double écran ?
 
Les gars, dites-moi pourquoi 4202 donne (L'objet n'existe pas). C'est vrai qu'il n'existe pas, je dois le créer, mais il (n'existe pas) ! Que peut-on en faire ? Ou j'ai merdé ailleurs ?
//+------------------------------------------------------------------+
 bool ArrowDownCreate()
 {
       if(!ObjectCreate(ChartID(),"Продажа",OBJ_ARROW_DOWN,0,SignalBarsTime,Hi2))
          {
            Print(__FUNCTION__,
                ": не удалось создать знак \"Стрелка вниз\"! Код ошибки = ",GetLastError());
              return(false);
          }
        ObjectSet("Продажа",OBJPROP_ANCHOR,ANCHOR_BOTTOM);
        ObjectSet("Продажа",OBJPROP_COLOR,Red);
        ObjectSet("Продажа",OBJPROP_WIDTH,5);

     return(true);
 }
//+------------------------------------------------------------------+
 bool ArrowUpCreate()
 {
       if(!ObjectCreate(ChartID(),"Покупка",OBJ_ARROW_UP,0,SignalBarsTime,Lo2))
          {
            Print(__FUNCTION__,
                ": не удалось создать знак \"Стрелка вверх\"! Код ошибки = ",GetLastError());
              return(false);
          }
        ObjectSet("Покупка",OBJPROP_ANCHOR,ANCHOR_TOP);

        ObjectSet("Покупка",OBJPROP_COLOR,Green);

        ObjectSet("Покупка",OBJPROP_WIDTH,5);

     return(true);
}
//+------------------------------------------------------------------+