[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 - 2. - page 93

 
coronel:

Voici un conseil.

Il y a un truc sympa dans l'éditeur - l'indice F1.

Mettez en surbrillance la fonction que vous voulez annuler et appuyez sur F1.

L'aide s'ouvre, et vous devez étudier attentivement les paramètres de la fonction.

Ne manquez pas la quantité et la qualité des paramètres introduits dans la fonction.


Merci !
 
100yan:

Comment clôturer correctement une commande en plusieurs fois et en une seule fois ? J'ai lutté pendant des jours...

https://www.mql5.com/ru/forum/131277/page69

Si le lot de la position après une fermeture partielle est plus petit qu'avant la fermeture, et que la barre à laquelle la fermeture partielle a eu lieu n'a pas changé, alors ne procédez pas à une nouvelle fermeture. C'est l'une des nombreuses façons de fermer une partie d'une position "une fois" sur la barre actuelle.

Vous définissez vos propres critères de clôture d'une position (ou d'une partie de position), et nous vous aiderons si vous n'êtes pas sûr.

 

Bonjour.

Pouvez-vous me dire comment faire apparaître une alerte après un nombre donné de minutes ?

J'aimerais utiliser Time[], mais je n'y arrive pas, alors j'ai fait ce qui suit : Sleep(60000*step) ;.

Cadre de travail M1

extern int  step = 3;   // периодичность появления алерта мин.

static int        prevtime = 0;
//-------------------------------------------
int start()
  {
   if (Time[0] == prevtime) return(0);
   // Запомним текущий бар
   prevtime = Time[0];
//-------------------------------------

   Alert ("прошло ",step," мин.");
   
   //Sleep(60000*step);

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


 
Zar:

Bonjour.

Pouvez-vous me dire comment faire apparaître une alerte après un nombre donné de minutes dans l'expo ?

J'aimerais utiliser Time[], mais je n'y arrive pas, alors j'ai fait ceci : Sleep(60000*step) ;.

Cadre de travail M1

 extern int  step = 3;     // периодичность появления алерта в мин.
 datetime  LastAlertTime;

//-------------------------------------
 int start()
  {
//-------------------------------------
       if(TimeCurrent() - LastAlertTime > step*60)
        {    
          Alert ("прошло ",step," мин.");
          LastAlertTime=TimeCurrent();  
        }
//--------------------------------------
   return(0);
  }
 
coronel:

Merci, ça marche.
 
artmedia70:

Si le lot de la position après la fermeture partielle est plus petit qu'avant la fermeture, et que la barre sur laquelle la fermeture partielle a eu lieu n'a pas changé, alors ne procédez pas à une nouvelle fermeture. C'est l'une des nombreuses façons de fermer une partie d'une position "une fois" sur la barre actuelle.

Si vous définissez les critères pour clôturer la position (sa partie), nous vous aiderons si vous n'êtes pas sûr.


+ sergeev - Merci pour vos commentaires !

Le problème est décrit ici https://www.mql5.com/ru/forum/131277/page69 En bref, l'idée est d'ouvrir un ordre et de le fermer partiellement lorsque certains niveaux TP sont atteints. Le problème est que nous effectuons des transactions sur M5 - M30 et que l'ordre est clôturé non pas sur les barres, mais sur une période beaucoup plus longue (D1, etc.). Lorsque TP1 est atteint, le paramètre de fermeture de la 1ère partie est déclenché, etc. Je ne trouve pas de solution pour identifier les pièces afin de ne pas fermer toute la commande. (Ma première pensée était de mettre TR1, mais par la suite le prix a marché et a donné des signaux de fermeture pour d'autres pièces...)

Merci d'avance !

 
100yan:


+ sergeev - Merci pour vos commentaires !

Le problème est décrit ici https://www.mql5.com/ru/forum/131277/page69 En bref, l'idée est d'ouvrir un ordre, et de le fermer en partie lorsque certains niveaux TP sont atteints. Le problème est que nous négocions sur M5 - M30 et que l'ordre n'est pas fermé sur les barres, mais sur une période beaucoup plus longue (D1, etc.). En atteignant TP1, le paramètre de fermeture de la 1ère partie est déclenché, etc. Je ne trouve pas de solution pour identifier les pièces afin de ne pas fermer toute la commande. (Ma première pensée était de mettre TR1, mais par la suite le prix a marché et a donné des signaux de fermeture pour d'autres pièces...)

Merci d'avance !

Créer des drapeaux, par exemple

Pour TP1 - bool TP1, pour TP2 - bool TP2, etc. ...

Initialement, leurs valeurs sont fausses.

Avant une autre fermeture, vous faites un contrôle :

if (!TP1) {code pour fermeture partielle de la première partie, après une fermeture réussie écrire TP1=true}

if (!TP2) {code pour fermer partiellement la deuxième partie, après une fermeture réussie écrire TP2=true}

... et ainsi de suite pour toutes les pièces...

ainsi les drapeaux signaleront que chaque partie a déjà été fermée une fois...

 
Comment puis-je obtenir la valeur de clôture de la barre 3 à partir de zéro ?
 
ScioMe:
Comment puis-je obtenir la valeur de clôture de la barre 3 à partir de zéro ?
  double Bar3Close = iClose(NULL,0,3);   
 
Merci, pouvez-vous faire ceci : Close[3] ?