MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 803

 
prom18 :

Belki örnekleri vardır. Görsel olarak daha anlaşılır olacaktır. Teşekkür ederim.

Belirli bir zaman aralığında çubuklara ihtiyacınız olduğunu doğru anlarsam, bunları iTime kullanarak seçebilirsiniz.
 
prom18 :

Merhaba. Bir ders kitabı okuyorum. Gösterge yazma örnekleri vardır. Ayrıwindow.mq4 göstergesi hakkında bir sorum var Orada hesaplanan çubukların sayısını ayarlayabilirsiniz. Ve hesaplamayı günün açılış fiyatından (veya sıfırdan) günün kapanış fiyatına ayarlamanız gerekirse? Nasıl yapılır? Çözüm aramaya çalıştım, bulamadım.

burada günün açılış fiyatını güncel TF üzerinden çizdim

 //+------------------------------------------------------------------+
//|                                                      DayOpen.mq4 |
//|                                            Copyright 2018, IgorM |
//|                              https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, IgorM"
#property link        "https://www.mql5.com/ru/users/igorm"
#property version    "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots    1
//--- plot Label1
#property indicator_label1    "Label1"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrRed
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
//--- indicator buffers
double          Label1Buffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,Label1Buffer);
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
   int i,limit;
   static double dayopen= 0.0 ;
   static int lastday= 0 ;
   if (prev_calculated== 0 )
     {
      limit=rates_total- 1 ;
      dayopen= 0.0 ;
      lastday= 0 ;
     }
   else limit=rates_total-prev_calculated;
   for (i=limit; i>= 0 ; i--)
     {
       if (TimeDay(time[i])!=lastday)
        {
         dayopen=open[i];
         lastday= TimeDay(time[i]);
        }
      Label1Buffer[i]=dayopen;
     }
   return (rates_total);
  }
 

Merhaba! Verilen çubuğun sağındaki geçmişinde istenen çubuğu koşula göre bulmak mümkün müdür? Teşekkür ederim.

 
Sfinks35 :

Merhaba! Verilen çubuğun sağındaki geçmişinde istenen çubuğu koşula göre bulmak mümkün müdür? Teşekkür ederim.

Yapabilir.

 
Artyom Trishkin :

Yapabilir.

Ama nasıl yapmalı? Lütfen bana söyle.
 
Sfinks35 :
Ama nasıl yapmalı? Lütfen bana söyle.

Belirli bir çubuğu nasıl buluyorsunuz?

 
Artyom Trishkin :

Belirli bir çubuğu nasıl buluyorsunuz?


Uzun süre acı çektim ama bu işlevi yazdım:

çift GetPatt5barsDN()
{
çift düşük3 = 0;
int dizin = 0;
for(int i=1; i<20; i++)
{
Eğer
((Kapat[i] > Aç[i]) &&
(Kapat[i+1] > Aç[i+1]) &&
(Kapat[i+2] > Aç[i+2]) && //Bu mumun Düşük[i+2] değerine ihtiyacı var
(Kapat[i+3] < Aç[i+3]) &&
(Kapat[i+4] < Aç[i+4]))

düşük3 = Düşük[i+2];
indeks = i+2;
}

dönüş(düşük3);
}

 
Igor Makanu :

burada günün açılış fiyatını güncel TF üzerinden çizdim

Teşekkürler Igor. Sadece gerekli olanı doğru formüle etmedim. Öğreticideki gösterge, belirli sayıda çubuk için (bu durumda 50) ve ayrı bir pencerede hesaplanır ve çizilir. MA-shku'yu çekmek için açılış fiyatından değil, günün ilk çubuğundan itibaren gereklidir. Yinede teşekkürler.

 
Igor Makanu :

burada günün açılış fiyatını güncel TF üzerinden çizdim

içinde ne yazdığını söyler misin

int i,limit=prev_hesaplanmış==0 ? oranları_toplam-1 : oranları_toplam-önceki_hesaplanmış;

"==" , "?" , ": "

?

 
Sfinks35 :


Uzun süre acı çektim ama bu işlevi yazdım:

Ayrıca referans tarafından geçirilen fonksiyon parametresindeki indeksi döndürür