KimIV'ten faydalı özellikler - sayfa 56

 
KimIV >> :

burada

Teşekkürler, dün yoktu ya da ben kaçırmışım.

 
beginner писал(а) >>

Teşekkürler, dün yoktu ya da ben kaçırdım.

sahip değil...

 

Evet, şimdi bu

#include "b-KimIV.mqh" // Ek fonksiyonlar kütüphanesi

 

Sevgili KimIV, e-SOTrailing'i şu şekilde değiştirmenizi rica ederiz: (Bu durumda tüm iş taktiği, en yakın fraktaldan belirli bir mesafede stop emirleri vermek ve bunları fiyattan sonra taşımaktır.) Anlayın, FindNearFractal işlevinizi kullanmak zor değil, belki de öyle?

void TrailingOrders() {

......

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

......

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

 
beginner писал(а) >>

Evet, şimdi bu

#include "b-KimIV.mqh" // Ek fonksiyonlar kütüphanesi

sonra getiririm...

 
KimIV >> :

İlk sayfada artık mümkün değil ...

Buraya göndereceğim... Güncelleme gönderisi bloke olursa tekrar paylaşacağım. O yüzden takipte kalın :-)

Teşekkürler - ihtiyacınız olan şey bu.

 

ArrayZ() işlevi.

Bu işlev, dizide geçen sayı serisinin Z-skorunu başvuruya göre hesaplar ve döndürür.

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

not. Ekli, ArrayZ() işlevini test etmek için bir komut dosyasıdır. Bu arada, bu komut dosyasında dizi, Ralph Vince'in "Para Yönetiminin Matematiği" kitabından alınan verilerle doldurulur.

ZZY. Web sitemdeki b-Array kitaplığını güncelledim.

Dosyalar:
 

ArrayDeleteInt() işlevi

Verilen dizindeki dizi öğesini siler. Yeni dizinin boyutunu veya hiçbir şey kaldırılamıyorsa -1'i döndürür. ArrayDeleteInt() işlevi, aşağıdaki gerekli parametreleri alır:

  • m - Bir dizi öğe.
  • i - Dizi öğesinin dizini.
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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 ) ;
}
not. Ekli, ArrayDeleteInt() işlevini test etmek için bir komut dosyasıdır.
Dosyalar:
 

ArrayDeleteDouble() işlevi

Verilen dizindeki dizi öğesini siler. Yeni dizinin boyutunu veya hiçbir şey kaldırılamıyorsa -1'i döndürür. ArrayDeleteDouble() işlevi, aşağıdaki gerekli parametreleri alır:

  • m - double türünde bir dizi öğe.
  • i - Dizi öğesinin dizini.
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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 ) ;
}
PS Ekli, ArrayDeleteDouble() işlevini test etmek için bir komut dosyasıdır.
Dosyalar:
 

ArrayDeleteString() işlevi

Verilen dizindeki dizi öğesini siler. Yeni dizinin boyutunu veya hiçbir şey kaldırılamıyorsa -1'i döndürür. ArrayDeleteString() işlevi, aşağıdaki gerekli parametreleri alır:

  • m - string türünde bir dizi eleman.
  • i - Dizi öğesinin dizini.
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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 ) ;
}
not. Ekli, ArrayDeleteString() işlevini test etmek için bir komut dosyasıdır.
Dosyalar:
Neden: