Fonctions utiles de KimIV - page 48

 

C'est-à-dire que l'ajout d'une constante n'affecte pas le résultat.

Je voulais faire un indicateur rapide, mais ça n'a pas marché (

 
Prival писал (а) >>

La méfiance est une bonne règle de base. Vérifiez-le dans n'importe quel paquet de maths. Nous publierons les résultats. Je vais le faire dans MathCade tout de suite.

Bien, mais vous devez vérifier avant d'exprimer votre incrédulité. >> Excusez-moi.

 
TheXpert писал (а) >>

Elle est bonne, mais il faut vérifier avant d'exprimer son incrédulité. Je vous demande pardon.

Si vous avez des doutes, exprimez-les et assurez-vous de le faire. Après tout, vous ne voulez pas y revenir, vous ne voulez pas y chercher des erreurs. Vous devez être sûr que tout a été fait correctement. Mais il n'y a aucune garantie http://www.citforum.ru/programming/digest/scofdebug/.

 

Bonjour ! Il s'avère que les fonctions fractales ont été disjointes sur toute la branche.

Nous en avons trouvé deux :

on retourne le nombre de barres entre les dernières fractales (BarsBetweenLastFractals(string sy="", int tf=0)),

l'autre, le niveau de prix de la dernière fractale (p.37).

Afin de clore le sujet fractal de manière harmonieuse, nous avons besoin d'une fonction supplémentaire. Il renvoie le numéro de barre du sommet de la dernière fractale !

Igor ! Si ce n'est pas trop difficile pour toi. Pourriez-vous produire et afficher une telle fonction ?

 

Fonction ExistOrdersByPrice().

Renvoie un indicateur de l'existence d'un ordre au prix fixé donné. Vrai - l'ordre existe (fixé), Faux - l'ordre n'existe pas (non fixé). Vous pouvez limiter la liste des ordres à vérifier à l'aide des paramètres de la fonction :

  • sy - Nom de l'instrument de marché. Si ce paramètre est donné, la fonction ne vérifiera que les ordres de l'instrument spécifié. NULL signifie l'instrument actuel, et "" (par défaut) signifie n'importe quel instrument.
  • op - Type de transaction, type d'ordre en attente. Valeurs valides : OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP ou -1. La valeur par défaut de -1 indique tout type de commande.
  • mn - Identifiant de l'ordre (MagicNumber). La valeur par défaut de -1 signifie n'importe quel MagicNumber.
  • pp - Le niveau de prix auquel l'ordre est fixé. La valeur par défaut de -1 correspond à n'importe quel prix.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.07.2008                                                     |
//|  Описание : Возвращает флаг существования ордеров по цене установки        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    pp - цена                       (-1   - любая цена)                     |
//+----------------------------------------------------------------------------+
bool ExistOrdersByPrice(string sy="", int op=-1, int mn=-1, double pp=-1) {
  int d, i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()>1 && OrderType()<6) {
          d=MarketInfo(OrderSymbol(), MODE_DIGITS);
          pp=NormalizeDouble(pp, d);
          if (pp<0 || pp==NormalizeDouble(OrderOpenPrice(), d)) {
            if (mn<0 || OrderMagicNumber()==mn) return(True);
          }
        }
      }
    }
  }
  return(False);
}
 

Exemples d'utilisation de la fonction ExistOrdersByPrice().

  • Vérifier la disponibilité d'une commande au prix d'établissement 1.4
    Message(IIFs(ExistOrdersByPrice("", -1, -1, 1.4), "Есть", "Нет"));
  • Vérifier tout ordre au prix d'établissement 1.5 pour l'instrument graphique actuel.
    Message(IIFs(ExistOrdersByPrice(NULL, -1, -1, 1.5), "Есть", "Нет"));
  • Vérifier s'il existe un ordre d'achat limite au prix d'établissement 1.5 pour un instrument quelconque.
    Message(IIFs(ExistOrdersByPrice("", OP_BUYLIMIT, -1, 1.5), "Есть", "Нет"));
  • Vérifier la présence de l'ordre SellStop au prix d'établissement 1.4 avec le numéro magique 123456 sur EURUSD.
    Message(IIFs(ExistOrdersByPrice("EURUSD", OP_SELLSTOP, 123456, 1.4), "Есть", "Нет"));
  • Vérifier la présence d'un ordre au setup price 106 avec le numéro magique 987 sur USDJPY
    Message(IIFs(ExistOrdersByPrice("USDJPY", -1, 987, 106), "Есть", "Нет"));

P.S. Vous trouverez ci-joint un script permettant de tester la fonction ExistOrdersByPrice().

Dossiers :
 
rid писал (а) >>
Pour "fermer" le thème fractal de manière harmonieuse, une autre fonction est nécessaire. Renvoie le numéro de barre du sommet de la dernière fractale !

Le 13 août 2008, j'ai publié la fonction GetFractalBar (p.41).

 

La bibliothèque b-Orders a été mise en ligne.

 
KimIV писал (а) >>

Le 13 août 2008, j'ai publié la fonction GetFractalBar (page 41).

Oui, en effet ! >> Merci !

 
KimIV писал (а) >>

La bibliothèque b-Orders a été mise en ligne.

Une bibliothèque très utile ! Au nom de tout le monde ici, "merci beaucoup !"

Raison: