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

 
Aleksey Vyazmikin :

Tamam, düşüncelerin görselleştirilmesine geçelim :)

Beyaz renkte, istekte bulunduğumuz yeri, sarı renkte, almamız gereken çubuğun zamanını gösterdi.

Bu daha net mi? Değilse, lütfen açıklayıcı sorular sorun.

Alexey, yukarıdaki gönderide İNVERSE sorunu ile ilgili bir istekte bulunmuşsun..

" Üst zaman çerçevesinin seçili çubuğuna ait olan geçerli zaman çerçevesinin son çubuğunun tarihine ihtiyacım var.

Şimdi açık mı? "

Bu nedenle, gerçekten neye ihtiyacınız olduğunu anlamak zordur.

Önceki istek üzerine - yanıtladım - https://www.mql5.com/ru/forum/6343/page869#comment_7537714 .

İkincisine göre "düşüncelerin görselleştirilmesi ile", o zaman sadece 0 kayması ile üst TF çubuğunun açılış süresini talep edin.

Sorunun ne olduğu belli değil mi?

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2018.05.23
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Kirill Belousov :

Alexey, yukarıdaki gönderide İNVERSE problemi ile ilgili bir istekte bulunmuşsun..

" Üst zaman çerçevesinin seçili çubuğuna ait olan geçerli zaman çerçevesinin son çubuğunun tarihine ihtiyacım var.

Şimdi açık mı? "

Bu nedenle, gerçekten neye ihtiyacınız olduğunu anlamak zordur.

Önceki istek üzerine - yanıtladım - https://www.mql5.com/ru/forum/6343/page869#comment_7537714 .

İkincisine göre "düşüncelerin görselleştirilmesi ile", o zaman sadece 0 kayması ile üst TF çubuğunun açılış süresini talep edin.

Sorunun ne olduğu belli değil mi?

Üzgünüm, cevabınızı kaçırdım.

Kirill Belousov :

İsteğinizi doğru anlarsam, o zaman:

1. Üst TF'nin gerekli çubuğunun kapanma süresini belirleyin.

Yapamadığım şey bu!

Kirill Belousov :

İkincisine göre "düşüncelerin görselleştirilmesi ile", o zaman sadece 0 kayması ile üst TF çubuğunun açılış süresini talep edin.

Sorunun ne olduğu belli değil mi?

Böyle sorarsam 10:00 alırım ve 23:49 saatini almam gerekir!

 
Aleksey Vyazmikin :

Tamam, düşüncelerin görselleştirilmesine geçelim :)

Beyaz renkte, istekte bulunduğumuz yeri, sarı renkte, almamız gereken çubuğun zamanını gösterdi.

Bu daha net mi? Değilse, lütfen açıklayıcı sorular sorun.

Soru:

Saat 10:30'da, M5 tablosunda 23:45 olan H1 periyodunun bar numarasını almanız gerekiyor.

doğru mu anladım

 
Alexey Viktorov :

Soru:

Saat 10:30'da, M5 tablosunda 23:45 olan H1 periyodunun bar numarasını almanız gerekiyor.

doğru mu anladım

Bu durumda 23:45 saatini almam gerekiyor (aslında, M5'im yok, ancak M1 mevcut TF'dir, ancak önemli değil) - bu, mevcut TF'nin son çubuğunun zamanıdır. Yukarıdaki önceki TF çubuğunun yapısı. Grafikteki kayma H1 için 1 bar ama başka bir kayma olabilir, diyelim ki saat 11'de bilgi almam gerekiyor yani. vardiya 2 olacak.

 
Aleksey Vyazmikin :

Üzgünüm, cevabınızı kaçırdım.

Yapamadığım şey bu!

Böyle sorarsam 10:00 alırım ve 23:49 saatini almam gerekir!

1. Daha yüksek zaman dilimi için ihtiyacınız olan vardiyayı (bar) belirleyin. - bu çubuğun açılması ve kapanması arasındaki süre (sizi anladığım kadarıyla) daha genç zaman diliminden içindeki çubukların varlığını analiz ediyorsunuz.

2. Açılış saatini öğrenin

3. Açılış zamanına bu zaman aralığı için zaman aralığı süresini saniye cinsinden ekleyin. - yani bu şekilde daha yüksek TF'nin çıtasının kapanma zamanını alacaksınız.

4. Junior zaman çerçevesinin süresini çıkarın (eğer M1 ise, o zaman 60 saniye) - bu, kıdemli zaman çerçevesinin yapısındaki genç zaman çerçevesinin son çubuğunun açılış zamanıdır. Hesaplanan süreye göre bu çubuğun kaymasını bulun. (Eski TF'nin çıtasının kapanma saatinden 2-3 saniye çıkarabilir ve bu zamanın ait olduğu genç TF'nin çıtasını bulabilirsiniz). İstek katı DEĞİLSE, alt TF'de aniden son çubuk kalmazsa, soldaki (istenen zamandan itibaren) en yakın kullanılabilir çubuğu alın.

 
Kirill Belousov :

1. Daha yüksek zaman dilimi için ihtiyacınız olan vardiyayı (bar) belirleyin. - bu çubuğun açılması ve kapanması arasındaki süre (sizi anladığım kadarıyla) daha genç zaman diliminden içindeki çubukların varlığını analiz ediyorsunuz.

2. Açılış saatini öğrenin

3. Açılış zamanına bu zaman aralığı için zaman aralığı süresini saniye cinsinden ekleyin. - yani bu şekilde daha yüksek TF'nin çıtasının kapanma zamanını alacaksınız.

4. Junior zaman çerçevesinin süresini çıkarın (eğer M1 ise, o zaman 60 saniye) - bu, kıdemli zaman çerçevesinin yapısındaki genç zaman çerçevesinin son çubuğunun açılış zamanıdır. Hesaplanan süreye göre bu çubuğun kaymasını bulun. (Eski TF'nin çıtasının kapanma saatinden 2-3 saniye çıkarabilir ve bu zamanın ait olduğu genç TF'nin çıtasını bulabilirsiniz). İstek katı DEĞİLSE, alt TF'de aniden son çubuk kalmazsa, soldaki (istenen zamandan itibaren) en yakın kullanılabilir çubuğu alın.

İster inanın ister inanmayın ama bir saat önce benzer bir algoritmayı kağıda yazdım! Sadece bu bir şekilde kasvetli, daha kolay bir yol olduğunu düşündüm.

Sadece 4. nokta çalışmayabilir, aksine çubuğun sınırların ötesine geçtiğine dair bir kontrolüm var, yani. durum standart değilse, o zaman aralığın ötesine geçene kadar bir döngüdeki zamanı seçmemiz gerekecek.

 
Bu konuyla ilgili olmayan yorumlar " MQL4 MT4 MetaTrader 4 Yeni Başlayanlardan Sorular " bölümüne taşındı.
 

Bir dizi yapı ilan etmek istiyorum - bir yerde bir yapının yapıcısı olabileceğini görene kadar sorun yok gibi görünüyor ...

yapıcısı olan bir dizi yapı nasıl ilan edilir? (Bu tasarımı nasıl aşacağımı biliyorum)

İşler:

 struct MyStruct
  {
   int                arr[];
   int                size;
                     MyStruct( int sz){ if ( ArrayResize (arr,sz)> 0 ) size=sz; else Print ( __FUNCTION__ , "Ошибка инициализации массива" ); }
                    ~MyStruct(){ ArrayFree(arr); size = -1; }
  };
//+------------------------------------------------------------------+
MyStruct cluster( 100 );

çalışmıyor, ama şunu istiyorum:

 struct MyStruct
  {
   int                arr[];
   int                size;
                     MyStruct( int sz){ if ( ArrayResize (arr,sz)> 0 ) size=sz; else Print ( __FUNCTION__ , "Ошибка инициализации массива" ); }
                    ~MyStruct(){ ArrayFree(arr); size = -1; }
  };
//+------------------------------------------------------------------+
MyStruct cluster( 100 )[ 47 ];
 

Kötü bir karar. Yapı yerine sınıfları kullanmak daha iyidir. Her şey aynı, ancak işaretçiler aracılığıyla çalışabilirsiniz.

 class MyClass : 
  {
   public :
   int                arr[];
   int                size;
                     MyStruct( int sz){ if ( ArrayResize (arr,sz)> 0 ) size=sz; else Print ( __FUNCTION__ , "Ошибка инициализации массива" ); }
                    ~MyStruct(){ ArrayFree (arr); size = - 1 ; } // этого не надо
  };
//+------------------------------------------------------------------+
MyClass * cluster[ 47 ];

for ( int n = 0 ; n < 47 ; n++)
        cluster[n] = new MyClass;

Tarayıcıda yazdım, batırmış gibi görünmüyorum. Bir saatliğine kaçtım.

 
Biliyorum, değişkenleri herkese açık hale getirmenin kötü bir şey olmadığını biliyorum, ama zaman yok.