KimIV'ten faydalı özellikler - sayfa 43

 
Tsyrus писал (а) >>

BU KADAR!!!!!

TEŞEKKÜR ETMEK !

 

Igor, birkaç mumu bir araya getirebilecek iyi bir gösterge var. Ancak yalnızca saatlik grafikte çalışır. Evrensel hale getirilebilir mi?

Teşekkür ederim.

 

GetNearestDownFractal() işlevi.

Bu fonksiyon en yakın aşağı fraktalını arar ve fiyat seviyesini döndürür. Bu işlevin bir özelliği, keyfi bir fraktal formül ayarlama yeteneğidir. Standart, genel olarak kabul edilen fraktal formül bu 2-2'ye benziyor. Bu, solda 2 çubuk ve sağda 2 çubuk anlamına gelir. Ve bu işlevi kullanarak, 8-2 (solda 8 çubuk ve sağda 2 çubuk), 5-3 (solda 5 çubuk ve sağda 3 çubuk), vb. gibi çok egzotik fraktallar bile ayarlayabilirsiniz. . İşlev, aşağıdaki isteğe bağlı parametreleri kabul eder:

  • sy - Araç adı. "" veya NULL geçerli karakterdir. Varsayılan değer NULL'dur .
  • tf - Zaman çerçevesi. Varsayılan değer 0 , geçerli karakterdir.
  • nl - Soldaki çubuk sayısı. Varsayılan değer 2'dir .
  • nr - Sağdaki çubuk sayısı. Varsayılan değer 2'dir .
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,   http://www.kimiv.ru                    |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Возвращает ценовой уровень ближайшего нижнего фрактала         |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    nl - количество баров слева                                             |
//|    nr - количество баров справа                                            |
//+----------------------------------------------------------------------------+
double GetNearestDownFractal ( string sy = " 0 " , int tf = 0 , int nl = 2 , int nr = 2 ) {
   bool f ;
   int    fb , i , nb =- 1 ;

   if ( sy == "" || sy == " 0 " ) sy = Symbol () ;
   if ( nl < 1 ) nl = 1 ;
   if ( nr < 1 ) nr = 1 ;

   fb = nr ;
   while ( nb < 0 ) {
     fb ++;
     f = True ;
     for ( i = fb ; i > fb - nr ; i -- ) {
       if ( iLow ( sy , tf , i ) > iLow ( sy , tf , i - 1 )) { f = False ; break ; }
     }
     if ( f ) {
       for ( i = fb ; i < fb + nl ; i ++ ) {
         if ( iLow ( sy , tf , i ) > iLow ( sy , tf , i + 1 )) { f = False ; break ; }
       }
       if ( f ) { nb = fb ; break ; }
     }
   }

   return ( iLow ( sy , tf , nb )) ;
}
 

GetNearestDownFractal() işlevini kullanma örnekleri.

  • Mevcut grafikte en yakın alt fraktalın fiyat seviyesi. Fraktal formül 2-2 (standart).
     Message ( GetNearestDownFractal ()) ;
  • USDCAD H1 grafiğindeki en yakın alt fraktalın fiyat seviyesi. Fraktal formül 4-2.
     Message ( GetNearestDownFractal ( " USDCAD " , PERIOD_H1 , 4 )) ;
  • Mevcut grafikte en yakın 5-3 aşağı fraktalın fiyat seviyesi boyunca yatay bir çizgi çizin.
     double p = GetNearestDownFractal ( NULL , 0 , 5 , 3 ) ;
    SetHLine ( Red , "" , p ) ; 

not. GetNearestDownFractal() işlevini test etmek için bir komut dosyası ektedir.

 
KimIV писал (а) >>

GetNearestDownFractal() işlevini kullanma örnekleri.

  • Mevcut grafikte en yakın alt fraktalın fiyat seviyesi. Fraktal formül 2-2 (standart).
  • USDCAD H1 grafiğindeki en yakın alt fraktalın fiyat seviyesi. Fraktal formül 4-2.
  • Mevcut grafikte en yakın 5-3 aşağı fraktalın fiyat seviyesi boyunca yatay bir çizgi çizin.

not. GetNearestDownFractal() işlevini test etmek için bir komut dosyası ektedir.

Keşke son fraktaldan daha fazlasını aramak mümkün olsaydı...................WOW!!! ...

 
Tsyrus писал (а) >>

Keşke son fraktaldan daha fazlasını aramak mümkün olsaydı...................WOW!!! ...

Evet. Örneğin, >= 1 değeri olan tüm fraktalları (son 9 çubuk boyunca) yeni oluşturulan fraktalın koordinatına göre (dikey bir çizgi ile) işaretleyin ve bu değeri fraktalın üzerinde görüntüleyin. Yardım etmek için (sormaya bile cesaret edemiyorum) ....

 

Genel olarak böyle yazma yeteneğinize hayranım. Kendisi - yamasız lamer. MQL öğrenmeye yeni başlıyorum.

Konudan saptığım için özür dilerim!

Nasıl yazacağımı anlamıyorum:

1. 1 ve 2 bar için Stokastik doğrunun karşılaştırılması ve yeni bir 0 bar oluşturulduğunda sinyal fonksiyonu.

(kabaca söylemek gerekirse, çizginin yukarı ve aşağı hareket yönünü ve bunların kesişimini tahmin edin)

2. Saatte bir / yarım saat / 15 dakikada bir nasıl yapılır.

Lütfen bana basit bir örnek gösterin!

Veya benzer bir şeye bir bağlantı verin.

Görmezden gelseniz bile şimdiden teşekkürler!!!

 
Domynus писал (а) >>

1. 1 ve 2 bar için Stokastik doğrunun karşılaştırılması ve yeni bir 0 bar oluşturulduğunda sinyal fonksiyonu.

(kabaca söylemek gerekirse, çizginin yukarı ve aşağı hareket yönünü ve bunların kesişimini tahmin edin)

2. Saatte bir / yarım saat / 15 dakikada bir nasıl yapılır.

Lütfen bana basit bir örnek gösterin!

Veya benzer bir şeye bir bağlantı verin.

https://book.mql4.com/ru/samples/indicators
https://book.mql4.com/ru/build/conditions

 

Stokastik için teşekkürler.

Sadece yapabileceğim başka bir şey olduğunu düşündüm.

Ve belirli bir zaman diliminde sadece bir kez nasıl ticaret yapılır?

(örneğin, her 15.30 veya 60 dakikada bir sinyal çalışması gerçekleşir)

İşlevin kendisiyle ilgileniyor.

 

GetNearestUpFractal() işlevi.

Bu fonksiyon en yakın yukarı fraktal arar ve fiyat seviyesini döndürür. Bu işlevin bir özelliği, keyfi bir fraktal formül ayarlama yeteneğidir. Standart, genel olarak kabul edilen fraktal formül bu 2-2'ye benziyor. Bu, solda 2 çubuk ve sağda 2 çubuk anlamına gelir. Ve bu işlevi kullanarak, 8-2 (solda 8 çubuk ve sağda 2 çubuk), 5-3 (solda 5 çubuk ve sağda 3 çubuk), vb. gibi çok egzotik fraktallar bile ayarlayabilirsiniz. . İşlev, aşağıdaki isteğe bağlı parametreleri kabul eder:

  • sy - Araç adı. "" veya NULL geçerli karakterdir. Varsayılan değer NULL'dur .
  • tf - Zaman çerçevesi. Varsayılan değer 0 , geçerli karakterdir.
  • nl - Soldaki çubuk sayısı. Varsayılan değer 2'dir .
  • nr - Sağdaki çubuk sayısı. Varsayılan değer 2'dir .
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,   http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Возвращает ближайший верхний фрактал                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (NULL - текущий символ)                 |
//|    tf - таймфрейм                  ( 0 - текущий таймфрейм)                |
//|    nl - количество баров слева                                             |
//|    nr - количество баров справа                                            |
//+----------------------------------------------------------------------------+
double GetNearestUpFractal ( string sy = " 0 " , int tf = 0 , int nl = 2 , int nr = 2 ) {
   bool f ;
   int    fb , i , nb =- 1 ;

   if ( sy == "" || sy == " 0 " ) sy = Symbol () ;
   if ( nl < 1 ) nl = 1 ;
   if ( nr < 1 ) nr = 1 ;

   fb = nr ;
   while ( nb < 0 ) {
     fb ++;
     f = True ;
     for ( i = fb ; i > fb - nr ; i -- ) {
       if ( iHigh ( sy , tf , i ) < iHigh ( sy , tf , i - 1 )) { f = False ; break ; }
     }
     if ( f ) {
       for ( i = fb ; i < fb + nl ; i ++ ) {
         if ( iHigh ( sy , tf , i ) < iHigh ( sy , tf , i + 1 )) { f = False ; break ; }
       }
       if ( f ) { nb = fb ; break ; }
     }
   }

   return ( iHigh ( sy , tf , nb )) ;
}