Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1229

 
Elena Baranova :

Sevgili profesyoneller, lütfen bana danışman kodunda haftalık zaman dilimi için RSI değerlerini bir şekilde almanın mümkün olup olmadığını söyleyin, ancak böylece değerler Pazartesi'den değil, örneğin Çarşamba'dan başlayarak hafta için hesaplanır ( yani, Çarşamba'dan sonraki Çarşamba'ya kadar olan hafta için). Anladığım kadarıyla iRSI'nin yardımıyla bu işe yaramayacak mı?

Şimdiye kadar, hesaplama kodunu kendim yazmanın sadece bir yolunu görüyorum. Daha basit veya hazır bir çözüm var mı?

W1 zaman çerçevesinde bir gösterge tutamacı oluşturursanız , bu göstergenin W1 çubuklarında hesaplanacağı anlamına gelir: bir çubuk, ardından bir hafta.

Ayrıca D1 zaman diliminde (günlük zaman dilimi) gösterge tutamacı oluşturmanız gerekir.


Genel olarak, "(yani, Çarşambadan sonraki Çarşambaya bir hafta)" ifadesinin anlamı hiç açık değildir. Haftanın hangi günden başladığına dair bir fark yoktur - gösterge çubuklar üzerinde hesaplanır.

 
Vladimir Karputov :

W1 zaman çerçevesinde bir gösterge tutamacı oluşturursanız , bu göstergenin W1 çubuklarında hesaplanacağı anlamına gelir: bir çubuk, ardından bir hafta.

Ayrıca D1 zaman diliminde (günlük zaman dilimi) gösterge tutamacı oluşturmanız gerekir.


Genel olarak, "(yani, Çarşambadan sonraki Çarşambaya bir hafta)" ifadesinin anlamı hiç açık değildir. Haftanın hangi günden başladığına dair bir fark yoktur - gösterge çubuklar üzerinde hesaplanır.

Evet, barlar hakkında her şeyi biliyorum. Ancak tüm haftalık barlar Pazartesi günü başlar. Bu nedenle, örneğin Çarşambadan Çarşambaya bir hafta almak için, görünüşe göre kodu günlük çubuklara göre kendiniz yazmanız gerekiyor.

Ben de bu hesabın anlamını tam olarak anlamadım ama müşteri sormuş.

 
Elena Baranova :

Evet, barlar hakkında her şeyi biliyorum. Ancak tüm haftalık barlar Pazartesi günü başlar. Bu nedenle, örneğin Çarşambadan Çarşambaya bir hafta almak için, görünüşe göre kodu günlük çubuklara göre kendiniz yazmanız gerekiyor.

Ben de bu hesabın anlamını tam olarak anlamadım ama müşteri sormuş.

Uzman Danışmanı, RSI göstergelerine dayalı anlaşmalar açar. Ve haftalık zaman dilimi için, yeni bir haftalık barın açılmasıyla anlaşmaların sadece Pazartesi günleri açıldığı ortaya çıktı ve bu görünüşe göre ona uygun değil.

 
Elena Baranova :

Evet, barlar hakkında her şeyi biliyorum. Ancak tüm haftalık barlar Pazartesi günü başlar. Bu nedenle, örneğin Çarşambadan Çarşambaya bir hafta almak için, görünüşe göre kodu günlük çubuklara göre kendiniz yazmanız gerekiyor.

Ben de bu hesabın anlamını tam olarak anlamadım ama müşteri sormuş.

Fiziksel anlamını anlayamıyorum. Bu yüzden ayrılıyorum.

 

MT5'te çizelgeleri görüntüleyerek sorunu çözmeye yardımcı olun. Grafik sürekli güncellenir ve sola sürüklenir. Ve bu tüm enstrümanlar için geçerlidir.

Ardından maksimum geçmişe kaymaya devam eder. Genel olarak, normalde geçen haftaya ait bilgileri görüntüleyemez. son günün mumları sürekli yok oluyor, yanıp sönüyor ve sola doğru hareket ediyor. Nasıl düzeltilir?

 
Александр :

MT5'te çizelgeleri görüntüleyerek sorunu çözmeye yardımcı olun. Grafik sürekli güncellenir ve sola sürüklenir. Ve bu tüm enstrümanlar için geçerlidir.

Ardından maksimum geçmişe kaymaya devam eder. Genel olarak, normalde geçen haftaya ait bilgileri görüntüleyemez. son günün mumları sürekli yok oluyor, yanıp sönüyor ve sola doğru hareket ediyor. Nasıl düzeltilir?

Bu sadece bir zaman makinesi :)

Belki çalışan bazı komut dosyalarınız/danışmanlarınız/göstergeleriniz vardır - çizelgeyi değiştirebilirler.

 
Александр :

MT5'te çizelgeleri görüntüleyerek sorunu çözmeye yardımcı olun. Grafik sürekli güncellenir ve sola sürüklenir. Ve bu tüm enstrümanlar için geçerlidir.

Ardından maksimum geçmişe kaymaya devam eder. Genel olarak, normalde geçen haftaya ait bilgileri görüntüleyemez. son günün mumları sürekli yok oluyor, yanıp sönüyor ve sola doğru hareket ediyor. Nasıl düzeltilir?

Çalışan göstergeleri ve danışmanları silin. Kediyi klavyeden çıkarın. Klavyenize dökülen kahveyi temizleyin.

 
Vladimir Karputov :

Çalışan göstergeleri ve danışmanları silin. Kediyi klavyeden çıkarın. Klavyenize dökülen kahveyi temizleyin.

Tavsiye için teşekkürler. Sorun çözüldü, sadece büyük ping'li bir sunucu seçmek gerekiyordu.

 

Mavi alanın neden gölgeli olmadığını açıklayabilir misiniz? Ve nasıl düzeltilir?
Bir göstergede iki histogram görüntülemek bile mümkün mü?

 #property indicator_chart_window                    
#property indicator_buffers    8                     
#property indicator_plots      8                     

#property indicator_color1      clrRed                 
#property indicator_style1      STYLE_SOLID           
#property indicator_color2      clrRed                
#property indicator_style2      STYLE_SOLID           
#property indicator_color3      clrRed                
#property indicator_style3      STYLE_DOT             

#property indicator_color5      clrDodgerBlue         
#property indicator_style5      STYLE_SOLID           
#property indicator_color6      clrDodgerBlue         
#property indicator_style6      STYLE_SOLID           
#property indicator_color7      clrDodgerBlue         
#property indicator_style7      STYLE_DOT             

double
   Line_High_Up[], Line_High_Dn[], Hist_High_Up[], Hist_High_Dn[],
   Line_Low_Up[],  Line_Low_Dn[],  Hist_Low_Up[],  Hist_Low_Dn[];
   

void OnInit () 
   { 
   SetIndexBuffer      ( 0 , Line_High_Up,       INDICATOR_DATA ); 
   PlotIndexSetInteger ( 0 , PLOT_DRAW_TYPE ,     DRAW_LINE );      
   SetIndexBuffer      ( 1 , Line_High_Dn,       INDICATOR_DATA ); 
   PlotIndexSetInteger ( 1 , PLOT_DRAW_TYPE ,     DRAW_LINE );      
   SetIndexBuffer      ( 2 , Hist_High_Up,       INDICATOR_DATA ); 
   PlotIndexSetInteger ( 2 , PLOT_DRAW_TYPE ,     DRAW_HISTOGRAM2 );
   SetIndexBuffer      ( 3 , Hist_High_Dn,       INDICATOR_DATA );

   SetIndexBuffer      ( 4 , Line_Low_Up,       INDICATOR_DATA );
   PlotIndexSetInteger ( 4 , PLOT_DRAW_TYPE ,     DRAW_LINE );     
   SetIndexBuffer      ( 5 , Line_Low_Dn,       INDICATOR_DATA );
   PlotIndexSetInteger ( 5 , PLOT_DRAW_TYPE ,     DRAW_LINE );     
   SetIndexBuffer      ( 6 , Hist_Low_Up,       INDICATOR_DATA );
   PlotIndexSetInteger ( 6 , PLOT_DRAW_TYPE ,     DRAW_HISTOGRAM2 );
   SetIndexBuffer      ( 7 , Hist_Low_Dn,       INDICATOR_DATA );
   }


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;
   for (i=prev_calculated; i<=rates_total- 1 ; i++)      
      {
      Line_High_Dn[i] = Hist_High_Dn[i] = high[i];
      Line_High_Up[i] = Hist_High_Up[i] = Line_High_Dn[i] + 20 * _Point ;

      Line_Low_Up[i]  = Hist_Low_Up[i]  = low[i];
      Line_Low_Dn[i]  = Hist_Low_Dn[i]  = Line_Low_Up[i] - 20 * _Point ;
      }
   return (i- 1 );
   }           
 
User_mt5 :

Mavi alanın neden gölgeli olmadığını açıklayabilir misiniz? Ve nasıl düzeltilir?
Bir göstergede iki histogram görüntülemek bile mümkün mü?

her iki histogramın kalınlığı '3' olarak ayarlanmışsa

 //+------------------------------------------------------------------+
//|                                                            2.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots    2
//--- plot Hist_High
#property indicator_label1    "Hist_High"
#property indicator_type1    DRAW_HISTOGRAM2
#property indicator_color1    clrRed
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
//--- plot Hist_Low
#property indicator_label2    "Hist_Low"
#property indicator_type2    DRAW_HISTOGRAM2
#property indicator_color2    clrBlue
#property indicator_style2    STYLE_SOLID
#property indicator_width2    1
//--- input parameters
input int       Input1= 9 ;
//--- indicator buffers
double          Hist_HighBuffer1[];
double          Hist_HighBuffer2[];
double          Hist_LowBuffer1[];
double          Hist_LowBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,Hist_HighBuffer1, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,Hist_HighBuffer2, INDICATOR_DATA );
   SetIndexBuffer ( 2 ,Hist_LowBuffer1, INDICATOR_DATA );
   SetIndexBuffer ( 3 ,Hist_LowBuffer2, INDICATOR_DATA );
//---
   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 limit=prev_calculated- 1 ;
   if (prev_calculated== 0 )
      limit= 0 ;
   for ( int i=limit; i<rates_total; i++)
     {
      Hist_HighBuffer1[i]=high[i]+ 20.0 * Point ();
      Hist_HighBuffer2[i]=high[i];
      Hist_LowBuffer1[i]=low[i];
      Hist_LowBuffer2[i]=low[i]- 20.0 * Point ();
     }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+



Dosyalar:
2.mq5  3 kb