Fonctions utiles de KimIV - page 56

 
KimIV >> :

ici

Merci, il n'était pas là hier ou je l'ai raté.

 
beginner писал(а) >>

Merci, il n'était pas là hier ou je l'ai raté.

>> Ce n'était pas le cas.

 

Oui, maintenant celui-là.

#include "b-KimIV.mqh" // Bibliothèque de fonctions supplémentaires

 

Cher KimIV, je voudrais vous demander de modifier e-SOTrailing de la manière suivante : (La tactique dans ce cas est de placer les ordres stop à une certaine distance de la fractale la plus proche et de les déplacer après le prix). Je suppose que ce n'est pas si difficile en utilisant votre fonction FindNearFractal, peut-être ?

void TrailingOrders() {

......

pa=FindNearFractal(OrderSymbol(), 0, MODE_UPPER) ; //MarketInfo(OrderSymbol(), MODE_ASK) ;

......

pb=FindNearFractal(OrderSymbol(), 0, MODE_LOWER);//MarketInfo(OrderSymbol(), MODE_BID) ;

 
beginner писал(а) >>

Oui, maintenant celui-là.

#include "b-KimIV.mqh" // Bibliothèque de fonctions supplémentaires

>> plus tard.

 
KimIV >> :

C'est déjà impossible en première page...

Je vais le poster ici... Si le message à mettre à jour est bloqué, je le reposterai. Gardez donc un œil sur le fil de discussion :-)

Merci - c'est la bonne.

 

La fonction ArrayZ().

Cette fonction calcule et retourne le Z-count de la série de nombres passée dans le tableau par référence.

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 27.10.2008                                                     |
//|  Описание : Возвращает Z-счёт числового ряда.                              |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    arr - массив значений числового ряда                                    |
//+----------------------------------------------------------------------------+
double ArrayZ(double& arr[]) {
  double x, z;
  int    i, l=0, n=ArraySize( arr), r=1, w=0;

  for ( i=0; i< n; i++) {
    if ( i==0) r=1;
    else {
      if ( arr[ i-1]* arr[ i]<0) r++;
    }
    if ( arr[ i]>0) w++; else l++;
  }

  if ( n>2) {
    if ( w>0 && l>0) {
      x=2* w* l;
      if ( x!= n) z=( n*( r-0.5)- x)/MathSqrt( x*( x- n)/( n-1));
    } else {
      if ( l==0) z=100; else z=-100;
      Print("ArrayZ(): Нет чередования серий!");
    }
    return( z);
  } else {
    Print("ArrayZ(): В массиве недостаточно элементов!");
    return(0);
  }
}

ZS. Vous trouverez ci-joint un script pour tester la fonction ArrayZ(). Au fait, ce script remplit le tableau avec des données provenant du livre de Ralph Vince "The Mathematics of Capital Management".

ZZZ. J'ai mis à jour la bibliothèque b-Array sur mon site web.

Dossiers :
 

La fonction ArrayDeleteInt()

Exécute la suppression d'un élément du tableau avec l'index donné. Retourne la taille du nouveau tableau ou -1 si rien n'a été supprimé. La fonction ArrayDeleteInt() accepte les paramètres obligatoires suivants :

  • m - Tableau d'éléments.
  • i - Index de l'élément du tableau.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 31.10.2008                                                     |
//|  Описание : Выполняет удаление элемента массива с заданным индексом.       |
//|             Возвращает размер нового массива или -1,                       |
//|             если не удалось ничего удалить.                                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    m - массив элементов                                                    |
//|    i - индекс элемента                                                     |
//+----------------------------------------------------------------------------+
int ArrayDeleteInt(int& m[], int i) {
  int j, k=ArraySize( m);

  if ( i>=0 && i< k) {
    for ( j= i; j< k; j++) m[ j]= m[ j+1];
    k=ArrayResize( m, k-1);
    return( k);
  } else Print("ArrayDeleteInt(): Неверный индекс элемента массива! i=", i);

  return(-1);
}
ZS. Vous trouverez ci-joint un script pour tester la fonction ArrayDeleteInt().
Dossiers :
 

Fonction ArrayDeleteDouble()

Effectue la suppression d'un élément du tableau avec un index donné. Retourne la taille du nouveau tableau ou -1 si rien n'a été supprimé. La fonction ArrayDeleteDouble() accepte les paramètres obligatoires suivants :

  • m - Tableau d'éléments de type double.
  • i - Index de l'élément du tableau.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 31.10.2008                                                     |
//|  Описание : Выполняет удаление элемента массива с заданным индексом.       |
//|             Возвращает размер нового массива или -1,                       |
//|             если не удалось ничего удалить.                                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    m - массив элементов                                                    |
//|    i - индекс элемента                                                     |
//+----------------------------------------------------------------------------+
int ArrayDeleteDouble(double& m[], int i) {
  int j, k=ArraySize( m);

  if ( i>=0 && i< k) {
    for ( j= i; j< k; j++) m[ j]= m[ j+1];
    k=ArrayResize( m, k-1);
    return( k);
  } else Print("ArrayDeleteDouble(): Неверный индекс элемента массива! i=", i);

  return(-1);
}
P.S. Vous trouverez ci-joint un script pour tester la fonction ArrayDeleteDouble().
Dossiers :
 

La fonction ArrayDeleteString()

Exécute la suppression d'un élément du tableau avec l'index donné. Retourne la taille du nouveau tableau ou -1 si rien n'a pu être enlevé. La fonction ArrayDeleteString() accepte les paramètres obligatoires suivants :

  • m - Tableau d'éléments de type chaîne de caractères.
  • i - Index de l'élément du tableau.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 31.10.2008                                                     |
//|  Описание : Выполняет удаление элемента массива с заданным индексом.       |
//|             Возвращает размер нового массива или -1,                       |
//|             если не удалось ничего удалить.                                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    m - массив элементов                                                    |
//|    i - индекс элемента                                                     |
//+----------------------------------------------------------------------------+
int ArrayDeleteString(string& m[], int i) {
  int j, k=ArraySize( m);

  if ( i>=0 && i< k) {
    for ( j= i; j< k; j++) m[ j]= m[ j+1];
    k=ArrayResize( m, k-1);
    return( k);
  } else Print("ArrayDeleteString(): Неверный индекс элемента массива! i=", i);

  return(-1);
}
ZS. Vous trouverez ci-joint un script pour tester la fonction ArrayDeleteString().
Dossiers :
Raison: