"Fiyat Histogramı (Piyasa Profili) ve MQL5'te uygulanması" makalesi için tartışma - sayfa 10

 
Merhaba, Haftalık veya Aylık piyasa profili oluşturmak için 'ClassExpert' kodunun nasıl değiştirileceğini bilen var mı? Yardım rica ediyorum
 
Merhaba, ekli dosyaları bulamıyorum! Sadece fiyat histogramı.
 
Thiago Duarte:

"Delete()" komutunukaldırdığınızda çalışacaktır.

Aslında, delete işlevi bir tür olmadan bildirilmiştir; "void" olarak ayarlandığında tekrar doğru şekilde çalışacaktır.
 

Hey millet, bu göstergeyi gerçekten beğendim, bir süredir piyasa profili hakkında bir şeyler öğreniyorum ve bu bulduğum en iyisi.


Profili hesaplama yönteminde bir değişiklik yaptım, sadece fiyatın o noktada geçip geçmediğini doğrulamak yerine hacim işaretini kullandım. Bunu yaptım çünkü görürseniz, esnaf ve farklı zamanların farklı poundları var, bunu hacim histogramında görebilirsiniz. Yani fiyat orada bir tane eklerse sayamayız.


Katılıyor musunuz?


Yaptığım değişiklik iki metot arasındaki farkları gösterdi

 
Merhaba POC'nin sadece bu satırlarında bir robot ihaneti yapmanın mümkün olup olmadığını bilen var mı? eğer öyleyse, bunu nasıl yapabilirim? çünkü ClassPriceHistogram dosyasındaki tüm değişkenleri test ediyorum ve değerlerin hepsi sıfır, biri bana yardımcı olabilir mi?
 
Merhaba Luiz @ Luiz Vinicius Pereira Rocha - yani dostum, programlamada yeniyim ve sadece POC'leri, yüksek ve düşük değerlemeleri izleyen bir EA üzerinde çalışıyordum ve sonunda bu göstergeyi buldum. Ancak, Poc noktalarını depoladığı yeri bulamadım, yazarın bazı değişkenlerinde yazdırma işlevini kullandığımda: Poc_value, sıfır değerler görünüyor. bana yardım edebilir misin?
 

Merhaba Dmitry,

Her şeyden önce: Harika makaleniz ve çalışmanız için teşekkür ederim!

Uzun zaman önce yayınlamış olmanıza rağmen, iyi çalışıyor.

Burada sizin ve topluluk için sahip olduğum şey bir güncellemedir, böylece histogram tickvolume kullanır, çünkü hacmin neredeyse sıfır olduğu zaman alanlarında yalnızca fiyat eylemini kullanmak pek yardımcı olmaz.

ClassPriceHistogram.mqh dosyasındaki ilgili kodu değiştirin


bool CPriceHistogram::calculationPOCs()
  {
   int rates_total,rates_high,rates_time,rates_tv,index;
   double iHigh[],iLow[];
   long iTV[];
   datetime iTime[];
// Ïîëó÷àåì äàííûå çà ïåðèîä ñ time_start äî time_end / Verileri time_start'tan time_end'e kadar elde ediyoruz
   int err=0;
   do
     {
      rates_time=CopyTime(NULL,PERIOD_M1,time_start,time_end,iTime);
      rates_high=CopyHigh(NULL,PERIOD_M1,time_start,time_end,iHigh);
      rates_total=CopyLow(NULL,PERIOD_M1,time_start,time_end,iLow);
      
      rates_tv=CopyTickVolume(NULL,PERIOD_M1,time_start,time_end,iTV);
      
      err++;
     }
   while((rates_time<=0 || (rates_total!=rates_high || rates_total!=rates_time || rates_tv!=rates_time)) && err<AMOUNT_OF_ATTEMPTS);
   if(err>=AMOUNT_OF_ATTEMPTS)
     {
      return(false);
     }
   poc_start_time=iTime[0];
   high_day=iHigh[ArrayMaximum(iHigh,0,rates_total)];
   low_day=iLow[ArrayMinimum(iLow,0,rates_total)];
   int count=int((high_day-low_day)/_Point)+1;
// Ïîäñ÷åò äëèòåëüíîñòè íàõîæäåíèÿ öåíû íà êàæäîì óðîâíå / Her seviyede fiyat bulma süresinin sayısı
   int ThicknessOfLevel[];    // ñîçäàåì ìàññèâ äëÿ ïîäñ÷åòà òèêîâ / tik sayısı için bir dizi oluşturuyoruz
   ArrayResize(ThicknessOfLevel,count);
   ArrayInitialize(ThicknessOfLevel,0);
   for(int i=0;i<rates_total;i++)
     {
      double C=iLow[i];
      long CTV=iTV[i];
      // Dakika çubuğunun tik hacmini çubuktaki tüm olası noktalara dağıtın
      // Yani nokta başına artış şu şekilde olacaktır ...
      int CInc=int(((iHigh[i]-iLow[i])/_Point));  
      while(C<iHigh[i])
        {
         int Index=int((C-low_day)/_Point);
         ThicknessOfLevel[Index]+=CInc;
         C+=_Point;
        }
     }


Bunun hızlı bir hack olduğunu ve her kod parçasını test etmediğimi kabul ediyorum, ancak şu ana kadar iyi çalışıyor.

İşte SP500 Endeksi ile bir örnek:


Sol taraf orijinal kod. Tickvolume ile sağ taraf

 

Sayın Dmitry

Umarım iyisinizdir.

Çizgiler için tamponlar uygulamanız mümkün olabilir mi?

Her POC için belki bir Vwap ve Medyan?


Şimdiden çok teşekkür ederim

 
Sadece bir uyarı... Tüm dosyaları uygun dizinlerine indirdim, derledim ve ClassPriceHistogram.mqh ile ilgili hatalar aldım. 375. satırda,
CPriceHistogram::Delete()
adresini basitçe değiştirdim

ile

void CPriceHistogram::Delete()

AMP Futures'ın MT5 Sürüm 5.00 Build 3661'de şimdi iyi çalışıyor.

Oleksandr, bu "gösterge" teknik olarak bir Uzman. Gösterge tamponları Uzmanlarda mevcut değildir. Tamponlar, Experts'teki diziler kullanılarak etkili bir şekilde yeniden oluşturulabilir, ancak yalnızca gerçek gösterge tamponları iCustom tarafından çağrılabilir, bu nedenle bu amaçla yeni bir özel göstergenin sıfırdan kodlanması gerekir. Ne yazık ki, her iki seçenek de benim kodlama becerimin ötesinde. Daha iyi bir yardım bulma konusunda size iyi şanslar.

 
mevcut görüşün grafiğini çizmenin herhangi bir yolu var mı?


TEŞEKKÜRLER