[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 928

 
Techno:

quelles sont les erreurs qu'il donne lorsqu'il n'ouvre pas une position ? Vous pouvez essayer ceci

Il ne donne aucune erreur. C'est le but.
Ok, je vais essayer, merci.
 
Vinin:

Si au moins une position est ouverte (n'importe laquelle - à la main, par un autre EA), cet EA ne fonctionnera pas.


Je le sais, je ne suis pas un imbécile, alors je n'aurais pas mis total<1, j'essaie de le programmer moi-même,

J'essaie naturellement de comprendre ce que j'écris dans l'EA, mais merci pour ça)

 
Roman.:

Peut-être que votre société de courtage ne permet pas de définir explicitement des positions de prise et d'arrêt.

Ce n'est pas une mauvaise idée non plus, je vais vérifier, merci.
 

C'est ce que dit la documentation :

double OrderClosePrice( )
Elle renvoie le prix de clôture de l'ordre sélectionné.
La commande doit être présélectionnée à l'aide de la fonction OrderSelect().

Exemple :
  if(OrderSelect(10,SELECT_BY_POS,MODE_HISTORY)==true) { datetime ctm=OrderOpenTime() ; if(ctm>0) Print("Open time for the order 10 ", ctm ;
     ctm=OrderCloseTime() ; if(ctm>0) Print("Heure de clôture de l'ordre 10 ", ctm) ; } else Print("Le code d'erreur de l'échec de la sélection de l'ordre est",GetLastError() ;

Mais il n'y a pas d'exemple de "OrderClosePrice()" lui-même ?

Supposons qu'il renvoie la valeur de clôture d'un ordre sélectionné, mais comment savoir s'il s'agissait d'une position d'arrêt ou de profit ?

 
gheka:

C'est ce que dit la documentation :

double OrderClosePrice( )
Elle renvoie le prix de clôture de l'ordre sélectionné.
La commande doit être présélectionnée à l'aide de la fonction OrderSelect().
Exemple :

Mais il n'y a pas d'exemple de "OrderClosePrice()" lui-même ?

Supposons qu'il renvoie les valeurs de clôture pour un ordre sélectionné, mais comment savoir s'il s'agissait d'une position d'arrêt ou de profit ?

Voici la réponse à plusieurs de vos questions http://www.vedikhin.ru/2006/06/expert-advisors-overview.html.

La bande-annonce est la même, mais en format Word.

Dossiers :
 
gheka:

C'est ce que dit la documentation :

double OrderClosePrice( )
Renvoie le prix de clôture de l'ordre sélectionné.
La commande doit être présélectionnée à l'aide de OrderSelect().
Exemple :

Mais il n'y a pas d'exemple de "OrderClosePrice()" lui-même ?

Disons qu'il renvoie les valeurs de clôture d'un ordre sélectionné, mais comment savoir s'il s'agissait d'une position stop ou de profit ?

C'est un désordre ! !! Je suis désolé, mais c'est la première fois que je vois une telle inattention monstrueuse, une telle paresse à réfléchir et un manque total de pensée logique. Je ne pense pas que tu devrais faire de la programmation... IMHO bien sûr. Ne le prenez pas mal, mais sur la page précédente, au tout début de celle-ci, j'ai inséré le code que vous avez demandé, qui renvoie le drapeau de fermeture de la dernière position par un stop. Anticipant votre question sur ce qu'est la page précédente, je vais vous la donner ici :

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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);
}

Si vous le pouvez, vous pouvez trouver une solution. Il y a une recherche d'un ordre et sa sélection, et une comparaison du prix de clôture avec sa valeur StopLoss...

Bien que... Je ne pense pas que ça va aider...

 
artmedia70:

C'est un putain de désordre total ! !! Pardonnez-moi, mais c'est la première fois que je vois une inattention aussi monstrueuse, une paresse de penser et un manque total de logique. Je ne pense pas que tu devrais faire de la programmation... IMHO bien sûr. Ne le prenez pas mal, mais sur la page précédente, au tout début de celle-ci, j'ai inséré le code que vous avez demandé, qui renvoie le drapeau de fermeture de la dernière position par un stop. Anticipant votre question sur ce qu'est la page précédente, je vais vous la donner ici :

Si vous le pouvez, vous pouvez trouver une solution. Il y a une recherche d'un ordre et sa sélection, et une comparaison du prix de clôture avec sa valeur StopLoss...

Bien que... Je suppose - ça n'aide pas...


Tout le monde a commencé une fois et n'a pas encore été aussi stupide, le compagnon n'est peut-être pas encore réveillé...

Bien que vous ayez oublié d'ajouter qu'il renvoie un drapeau, mais pas celui qui flotte sur les bâtiments et les navires... :-)

 

Nous y voilà.... Je ferais mieux de l'enlever avant que vous ne fassiez huit pages.

 

Je serais toujours intéressé de savoir quels sont les remerciements pour l'aide apportée. Je l'ai certainement reçu plusieurs fois, peut-être plus. Qui sait quel genre de remerciements il y a ?

 

Une phrase classique : Ma gratitude sera illimitée dans la limite du raisonnable.

Bonjour, les amis.

J'ai cherché et je n'ai rien trouvé. Je demande de l'aide.

Il faut calculer la moyenne des bougies de la période et la moyenne des oscillations en zigzag.

J'ai besoin d'un lien. J'ai cherché... C'est le seul que j'ai pu trouver.

J'aimerais avoir des dindes...

Dossiers :
elu.zip  3101 kb