[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 174

 
tpg_k156 :
Herkese iyi günler. Metatrader 4'te alım satımları nasıl kopyalayacağımı söyleyebilir misiniz? Böylece bir terminalde alım satım açarak diğerinde açık alım satım yapabilirsiniz.

Bir fotokopi makinesi için CodeBase'i arayın. Elbette en iyisi değil, ancak serbestçe kullanılabilirler
 
Hour(), Minute() ve Seconds() global değişkenleri yaparak, DailyPivotPoints göstergesindeki değişikliği gece yarısında (0.00) EA'dan yeni PP seviyelerine ve diğer satırlara kontrol etmenin mümkün olup olmadığını kim bilebilir? Bunu göstergede Hour(), Minute(), Seconds() ile yapardım ve her gece derlemek zorunda kalmadan çalıştı. Ve son zamanlarda kendini değiştirmeyi bıraktı, belki yapıyı değiştirmekten? Teşekkür ederim!
 
borilunad :
Hour(), Minute() ve Seconds() global değişkenleri yaparak, DailyPivotPoints göstergesindeki değişikliği gece yarısında (0.00) EA'dan yeni PP seviyelerine ve diğer satırlara kontrol etmenin mümkün olup olmadığını kim bilebilir? Bunu göstergede Hour(), Minute(), Seconds() ile yapardım ve her gece derlemek zorunda kalmadan çalıştı. Ve son zamanlarda kendini değiştirmeyi bıraktı, belki yapıyı değiştirmekten? Teşekkür ederim!

Yeni bir günün ilk tikinde tetiklenmelidir.
 
borilunad :

Teşekkürler Victor! Kısa versiyonumu beğendin mi?


Evet, Boris , bu arada, çok geldi! Teşekkür ederim. Ben de bunu istiyordum. Bükülmüş .. bükülmüş .. ama görmek için bükmedi. Henüz çok fazla deneyim yok ve beyin bir profesyonel gibi düşünmüyor. Maviden küntler var .. :(

Hemen sormak istemiyordum ama mecburdum. Çünkü en kesimde işe yaramadı.

 
Fraktallardan geçen, ancak 0 bar ile sınırlı bir kanalın nasıl oluşturulacağını söyle, yeni bir çubuk göründüğünde, daha da yeniden çizildi. Sorun sınırlamada.
 
beginner :
Fraktallardan geçen, ancak 0 bar ile sınırlı olan bir kanalın nasıl oluşturulacağını söyle, yeni bir çubuk göründüğünde, daha fazla yeniden çizilir. Sorun sınırlamada.

"0 bar ile sınırlı" kavramını genişletin
 

İşte fonksiyon:

 bool IsUpFractal( int index)
{
   double centerHigh = High[index + g_center];     // За точку отсчета берется средний..
                                                   // ..бар на участке из i_fractalPeriod
                                                   // ..баров
// - 1 - == Поиск максимумов справа от центрального бара ================================
   int cnt = 0 , i = index + g_center - 1 ;
   for (; i >= 0 && cnt < g_center; i--)           // Справа от центрального бара должно
   {                                               // ..быть g_center-1 баров с низшим..
       if (centerHigh <= High[i])                   // ..максимумом. Не позволяется..
         return ( false );                           // ..наличие баров с большим или..
      cnt++;                                       // ..равным максимумом.
   }
   
   if (i < 0 )                                       // g_center-1 низших максимумов не..
       return ( false );                               // ..найдено. Фрактала нет
// - 1 - == Окончание блока =============================================================

// - 2 - == Поиск максимумов слева от центрального бара =================================
   cnt = 0 ;
   i = index + g_center + 1 ;
   int total = Bars - 1 ;
   for (; i < total && cnt < g_center; i++)         // Слева от центрального бара должно
   {                                               // ..быть g_center-1 баров с низшим..
       if (centerHigh == High[i])                   // ..максимумом. Не позволяется..
         continue ;                                 // ..наличие баров с большим..
       if (centerHigh < High[i])                     // ..максимумом. Равный - позволяется
         return ( false );
      cnt++;                                    
   }
   
   if (i >= total)                                 // g_center-1 низших максимумов не..
       return ( false );                               // ..найдено. Фрактала нет
// - 2 - == Окончание блока =============================================================
                                                   
   return ( true );                                   // Фрактал найден                 
}
//+-------------------------------------------------------------------------------------+
//| Определение наличия нижнего фрактала на указанном баре                              |
//+-------------------------------------------------------------------------------------+
bool IsDnFractal( int index)
{
   double centerLow = Low[index + g_center];       // За точку отсчета берется средний..
                                                   // ..бар на участке из i_fractalPeriod
                                                   // ..баров
// - 1 - == Поиск минимумов справа от центрального бара =================================
   int cnt = 0 , i = index + g_center - 1 ;
   for (; i >= 0 && cnt < g_center; i--)           // Справа от центрального бара должно
   {                                               // ..быть g_center-1 баров с большим..
       if (centerLow >= Low[i])                     // ..минимумом. Не позволяется..
         return ( false );                           // ..наличие баров с меньшим или..
      cnt++;                                       // .. равным минимумом
   }
   
   if (i < 0 )                                       // g_center-1 больших минимумов не..
       return ( false );                               // ..найдено. Фрактала нет
// - 1 - == Окончание блока =============================================================

// - 2 - == Поиск минимумов слева от центрального бара ==================================
   cnt = 0 ;
   i = index + g_center + 1 ;
   int total = Bars - 1 ;
   for (; i < total && cnt < g_center; i++)         // Слева от центрального бара должно
   {                                               // ..быть g_center-1 баров с большим..
       if (centerLow == Low[i])                     // ..минимумом. Не позволяется..
         continue ;                                 // ..наличие баров с меньшим минимумом
       if (centerLow > Low[i])                       // ..Равный минимум - разрешается
         return ( false );
      cnt++;   
   }
   
   if (i >= total)                                 // g_center-1 больших минимумов не..
       return ( false );                               // ..найдено. Фрактала нет
// - 2 - == Окончание блока =============================================================
                                                   
   return ( true );                                   // Фрактал найден                 
}

İşlev, 0 veya 1 hesaplaması için çubuğun değerine sahip olan indeks değerini alır. Döngü ilginç bir şekilde yazılır:

 for (; i >= 0 && cnt < g_center; i--)

Onlar. hesaplamanın başlatılacağı değişken bir değer yoktur. Makinenin mantığına göre bu durumda hesaplama hangi çubuktan başlayacak? Bir azalma varsa i-- maksimumdan anlamına mı geliyor?

Yine, i = indeks + g_center - 1 var, ama işte an. Buradaki indeksin ilk değeri ne olacak ? Maksimum veya minimum?

 
hoz :

Onlar. hesaplamanın başlatılacağı değişken bir değer yoktur. Makinenin mantığına göre bu durumda hesaplama hangi çubuktan başlayacak? Bir azalma varsa i-- maksimumdan anlamına mı geliyor?


Hayır, döngüden önce sahip olduğum tek değişkenden. Kayıt

   int cnt = 0 , i = index + g_center - 1 ;
   for (; i >= 0 && cnt < g_center; i--)

özdeş

   int cnt,i;
   for (cnt = 0 , i = index + g_center - 1 ; i >= 0 && cnt < g_center; i--)
 
Yani for döngüsündeki ilk ifade hem yerine hem de döngüden önce yazılabilir, sonuç bundan değişmez.
 
hoz :

Yine, i = indeks + g_center - 1 var ve işte o an. Buradaki indeksin ilk değeri ne olacak ? Maksimum veya minimum?


index, işleve parametre olarak iletilen dizin olacaktır.