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

 

Bonjour.

Pouvez-vous me dire quelles modifications je dois apporter au code pour que le trailing soit déclenché immédiatement et non après un profit.

Dossiers :
 
Pouvez-vous me dire comment obtenir le haut et le bas de la dernière barre ?
 
strongest:
Comment puis-je obtenir le haut et le bas de la dernière barre ?


Haut [0]

Bas [0]

est la dernière barre qui est encore dessinée. Si vous voulez qu'il soit terminé, ce sera 1 au lieu de 0.

 

Pouvez-vous me donner un indice ?

1. Comment appeler la fonction de Klimov GetTypeLastOpenPos() ? et

2. Comment obtenir son résultat ?

Quelque chose ne fonctionne pas, la compilation donne une erreur d'équilibre des parenthèses, bien que les parenthèses soient correctes. Merci !

 
yosuf:
Malheureusement, personne n'a répondu au sujet de l'erreur lors de l'installation de la 438e version https://www.mql5.com/ru/forum/138609/page425.

Je vais te répondre, Yusuf. C'est toujours du chamanisme avec moi avec ces mises à jour. Les terminaux se trouvent à la racine de mon lecteur D, dans des dossiers portant mes noms. Auparavant, lors de la mise à niveau, il était parfois utile de les déplacer temporairement vers C:³Program Files puis, après une mise à niveau réussie, de les ramener. Maintenant, comme vous, j'utilisais la version 432, j'ai reçu une notification pour installer la 438. D'accord, presque tout est chargé, le terminal a redémarré et rien, pas de mise à jour. Notification à nouveau, OK à nouveau, et ainsi quatre fois plus tard la 438ème construction est en place.

IMHO, ici le problème est lié à l'utilisation du registre du logiciel de mise à jour de Windows, et ses versions (Windows) ont des structures de registre différentes. Si vous avez 7 - essayez de copier le dossier terminal dans Programme ...(x86), si XP - juste dans programmes. Il va se mettre à jour, je vous l'assure, puis le remettre en place. Faites-moi savoir comment ça s'est passé !

 
borilunad:

Pouvez-vous me donner un indice ?

1. Comment appeler la fonction de Klimov GetTypeLastOpenPos() ? et

2. Comment obtenir son résultat ?

Quelque chose ne fonctionne pas, la compilation donne une erreur d'équilibre des parenthèses, bien que les parenthèses soient correctes. Merci !

int GetTypeLastOpenPos(string sy="", int mn=-1) 
{
  datetime t;
  int      i, k=OrdersTotal(), r=-1;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) 
  {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
    {
      if ((OrderSymbol()==sy || sy=="") && (mn<0 || OrderMagicNumber()==mn)) 
      {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) 
        {
          if (t<OrderOpenTime()) 
          {
            t=OrderOpenTime();
            r=OrderType();
          }
        }
      }
    }
  }
  return(r);
  Comment("Typ   ",r);
}
 
borilunad:

Pouvez-vous me donner un indice ?

1. Comment appeler la fonction de Klimov GetTypeLastOpenPos() ? et

2. Comment obtenir son résultat ?

Quelque chose ne fonctionne pas, la compilation donne une erreur d'équilibre des parenthèses, bien que les parenthèses soient ok. Merci !

Description.

Exemple, placer l'appel et obtenir le résultat dans la fonction de démarrage de l'expert, placer le corps de la fonction à l'extérieur de l'exp de démarrage :

int X = GetTypeLastOpenPos("",-1);

Je ne comprends pas - lisez l'ordre des fonctions.

 
Roman.:

Description.

Par exemple, placez l'appel et le résultat dans la fonction start de l'expert, placez le corps de la fonction en dehors de l'exp start :

Si ce n'est pas clair, lisez l 'ordre de travail des fonctions.



Merci, Roman ! Je vais réessayer à partir du four... :)

 
Roman.:

Description.

Par exemple, placez l'appel et le résultat dans la fonction start de l'expert, placez le corps de la fonction en dehors de l'exp start :

Vous ne comprenez pas - lisez l'ordre des fonctions.


Bonjour Roman ! Je me suis embrouillé (2-3-5). Pouvez-vous me dire à partir de quelle barre dans le passé il faut chercher une valeur non vide du tampon de l'indicateur (spécifiquement - fractal) ? j=Bars-CountedBars-1, et plus loin dans la boucle de zoom ne fonctionne pas.

Alternativement, il existe un indicateur qui dessine des fractales selon son propre algorithme, iFractals n'est pas utilisé. Supposons que les fractales soient dessinées de la même manière que les fractales standard. S'il vous plaît, donnez-moi le cycle pour trouver le précédent... !

 
snail09_1:... Supposons que les fractales soient dessinées de la même manière que les fractales standard. Veuillez donner le cycle de recherche du précédent... !

Essayez de danser d'ici : "Pouvez-vous me dire comment trouver le prix de la dernière fractale ?


sergeev: L'indicateur iFractals peut être utilisé pour cela. Il retourne 0 s'il n'y a pas de fractale sur la barre et la valeur du prix de la fractale s'il y en a une. Les fractales sont divisées en fractales supérieures et inférieures. Si vous avez besoin d'obtenir les plus élevés, MODE_UPPER est passé dans la fonction iFractals , et MODE_LOWER pour les plus bas. Par conséquent, pour trouver une fractale, vous devez parcourir les barres en boucle et la première valeur non nulle sera la fractale que vous recherchez.

exemple : "
Raison: