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

 

Ici : https://docs.mql4.com/ru/dateandtime/DayOfWeek

J'ai vu cela, cela renvoie le jour de la semaine, mais j'ai besoin de savoir quel jour de la semaine est le dernier jour de la semaine prochaine. Parce qu'il y a des jours où le dernier jour ouvrable n'est pas le vendredi.

 
Pouvez-vous me dire si vous pouvez modifier le modèle du graphique qui s'ouvre après le test ? Pour rendre les marques de deal visibles, mais quand j'applique mon propre modèle, toutes les marques sont là...
 
alexhammer:


Vos codes ne fonctionnent pas.... :( J'ai juste besoin d'ouvrir un ordre en même temps que le stop..... est déclenché. Aucun indicateur... juste en fermant le lot.... Je ne pensais pas que c'était une tâche si difficile !

AIDEZ-MOI ! !! C'est urgent ! :(

 
ScioMe:
Pouvez-vous modifier le modèle de graphique qui sera ouvert après le test ? J'utilise mon propre modèle et toutes les marques sont là...

Démarrez le testeur en cochant la case "Visualisation".

Lorsque le testeur charge l'historique et commence à travailler, appuyez sur le bouton de pause et placez votre modèle sur le graphique,

appuyez sur le bouton pause pour continuer le test. Vous pouvez sauter la visualisation si vous le souhaitez (bouton Sauter à).

Lorsque le testeur aura terminé, vous verrez toutes les flèches du tableau avec votre motif.

 
PariaH:


Vos codes ne correspondent pas.... :( J'ai juste besoin d'ouvrir un ordre en même temps que le stop..... est déclenché. Aucun indicateur... juste en fermant le lot.... Je ne pensais pas que c'était une tâche si difficile !

S'il vous plaît, aidez-moi ! !! C'est urgent ! !! :(

Je pense que l'on peut résoudre ce problème en comptabilisant le nombre de lots suspendus. La fonction CalculateOrders() de l'Expert Advisor MovingAverage intégré.

Vous avez passé une commande->calculer le nombre de commandes actives->le mémoriser dans une variable->.

vérifier à chaque itération dans la fonction Start-> si le nombre de commandes a diminué-> s'il a diminué, réagir si nécessaire.

 
PariaH:


Vos codes ne correspondent pas.... :( Il suffit d'ouvrir un ordre en même temps que le stop..... est déclenché. Aucun indicateur... juste en fermant le lot.... Je ne pensais pas que c'était une tâche si difficile !

AIDEZ-MOI ! !! C'est urgent ! :(

La fonction F renvoie le drapeau pour fermer la dernière position sur l'arrêt :

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия последней позиции по стопу.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   ocp, osl;
  int      dg, i, j=-1, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
              }
            }
          }
        }
      }
    }
  }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo(sy, MODE_DIGITS);
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
    ocp=NormalizeDouble(OrderClosePrice(), dg);
    osl=NormalizeDouble(OrderStopLoss(), dg);
    if (ocp==osl) return(True);
  }
  return(False);
}

... sur la prise :

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия последней позиции по тейку.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByTake(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   ocp, otp;
  int      dg, i, j=-1, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
              }
            }
          }
        }
      }
    }
  }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo(sy, MODE_DIGITS);
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
    ocp=NormalizeDouble(OrderClosePrice(), dg);
    otp=NormalizeDouble(OrderTakeProfit(), dg);
    if (ocp==otp) return(True);
  }
  return(False);
}

Vérifiez par vous-même ici. Ensuite, vous pouvez écrire votre propre...

 

Bonjour.

Je travaille sur un conseiller expert, je n'arrive pas à comprendre comment la ligne suivante doit être exécutée :

si (profitbuy<=0)mtpb=tpb ;

La condition est claire, il n'est pas clair à quel résultat la variable mtpb prend la valeur de la variable tpb.

 
paibolit:

Bonjour.

Je travaille sur un EA, je n'arrive pas à comprendre comment la ligne suivante doit être exécutée :

si (profitbuy<=0)mtpb=tpb ;

La condition est claire, il n'est pas clair à quel résultat la variable mtpb prend la valeur de la variable tpb.

Si le bénéfice des positions de la baie n'est pas supérieur à zéro, alors mtpb=tpb.
 
ZZZEROXXX:

Ici : https://docs.mql4.com/ru/dateandtime/DayOfWeek

J'ai vu cela, cela renvoie le jour de la semaine, mais j'ai besoin de savoir quel jour de la semaine est le dernier jour de la semaine prochaine. Parce qu'il y a des jours où le dernier jour de la semaine n'est pas le vendredi.

La fin ne justifie pas les moyens.

Pour clarifier, voici une question : vous-même, lorsque vous voulez déterminer "quel jour de la semaine sera le dernier de la semaine prochaine", que faites-vous ? Il s'agit de consulter le calendrier de l'année en cours, de voir quels jours fériés tombent spécifiquement dans votre pays, de savoir si le week-end a été transféré d'un jour à l'autre (par exemple du dimanche au jeudi, pour cela chaque année le parlement, c'est-à-dire la Douma d'État, adopte un document séparé), etc. Pensez-vous que quelqu'un prendrait la peine de créer un programme dans MQL à cette fin ? Personnellement, c'est plus facile pour moi de regarder le calendrier...

 

Bonsoir ! Désolé, je veux comprendre le principe, quoi, une telle construction n'est pas possible ?

int u ; u=0-10 ; for( u;u<30;u++) {Alert("u",u) ; } Ecriture d'une erreur ';' - affectation attendue C:\Òãîðóìa MF Trader 4\documents\experts\cycle.mq4 (33, 31)
Il montre un point-virgule entre u ; u Je l'ai vérifié une fois avec l'aide, s'il vous plaît expliquer !

Raison: