Çaydanlıktan gelen sorular - sayfa 38

 

Böyle. Bitti! Aradan bir yıl bile geçmedi. karar verdim! MQL5 belgelerine ciddi şekilde baktım. Küçük başladım: Yapısını ve işleyişini basitleştirmek ve anlamak için bazı göstergelerin bazı kodlarını küçülttüm. Ve uyuşmuş...

İlk önce Fraktalları açtım - beklenmedik bir şekilde küçük ve oldukça basit olduğu ortaya çıktı. Sonra mantıklı bir şekilde akıl yürüttü: bu kodu programdan programa sürüklemek mantıksız, sadece bu göstergeyi çağırmalı, kopyalayıp hazır hesaplanmış tampon değerlerini kullanmalısınız. Yönde yanılmıyorsam, yakındaki bozkıra taşındım ve örneğin iFractals ile getirildim ("Her şeyi doğru yaptım mı?" (c)). Kodu mümkün olduğunca azaltın, gereksiz ve şartlı olarak gereksiz her şeyi temizleyerek sadece özü bırakın. Ve ne keşfettim? Hacim ve okunabilirlik açısından, bu göstergeyi çağırma kodunun, göstergenin orijinal kodundan daha kompakt olmadığı ortaya çıktı.

Sorular.

1. iFractals'ın amacı nedir?

2. Benim sorunum ne?

Teşekkür ederim!

Not: Yoksa ikinci kodun miktarında herhangi bir fayda olmadığında sadece özel bir durum mu var?

 
x100intraday :

2. Benim sorunum ne?

burası psikiyatristler için değil, MQL programcıları için bir forumdur. Diğer insanların hamamböceklerini karıştırmak genellikle istemez.

Sorularınızda daha spesifik olun.
 

soru soru

yaşam ve ölüm...

zaman diliminin H1 çubuğunun açık değerini [15625] almanın cezai olmayan yolu nedir

ne kadar denersem deneyeyim, bana kritik bir hata yazıyor... Her şeyi denedim, kim bilir pliz... Biliyorum bu 3 satırlık kod... ama ne... aziz... doğru .. . böylece bir hata oluşmadı

 
BaTTLeBLooM :

soru soru

yaşam ve ölüm...

zaman diliminin H1 çubuğunun açık değerini [15625] almanın cezai olmayan yolu nedir

ne kadar denersem deneyeyim, bana kritik bir hata yazıyor... Her şeyi denedim, kim bilir pliz... Biliyorum bu 3 satırlık kod... ama ne... aziz... doğru .. . böylece bir hata oluşmadı


Lütfen kodunuzu sağlayın.

 
Renat :

Lütfen kodunuzu sağlayın.

getirmek

çift MTime ( int modu )
{

çift iOpen_min[], iOpen_hour[], iOpen_4hour[];

ArraySetAsSeries (iOpen_min, true);
ArraySetAsSeries (iOpen_hour, true);
ArraySetAsSeries (iOpen_4hour, true);
int Rates_open_min, Rates_open_hour, Rates_open_4hour;
int hata = 0;
yapmak
{
Rates_open_min = CopyOpen(NULL, PERIOD_M1, 0, 7501, iOpen_min);
Rates_open_hour = CopyOpen (NULL, PERIOD_H1, 0, 20000, iOpen_hour );
Rates_open_4hour = CopyOpen (NULL, PERIOD_H4 , 0, 10000, iOpen_4hour);
hata++;
}
while ( ( Rates_open_min <= 0 || Rate_open_hour <= 0 || Rate_open_4hour <= 0) && err < 10 );

double Minute2 = iOpen_min [ 0 ] - iOpen_min [ 2 ];
double Minute12 = iOpen_min [ 0 ] - iOpen_min [ 12 ];
çift Saat = iOpen_min [ 0 ] - iOpen_min [ 60 ]; // Saat
double Hour5 = iOpen_min [ 0 ] - iOpen_min [ 300 ]; // saat 5
çift Gün = iOpen_min [ 0 ] - iOpen_min [ 1500 ]; // Gün
çift Hafta = iOpen_min [ 0 ] - iOpen_min [ 7500 ]; // Bir hafta
double Ay = iOpen_hour [ 0 ] - iOpen_hour [ 625 ]; // Ay
double Ay5 = iOpen_hour [ 0 ] - iOpen_hour [ 3125 ]; // Yarım yıl

double Ay25 = iOpen_hour [ 0 ] - iOpen_hour [ 15625 ]; // 3 yıl

son operatördeki son satırda, hata her zaman eleştiriliyor ... danışman test cihazında ticarete bile başlayabilir ve ardından bir buçuk yıl sonra bir hata veriyor ve çöküyor

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков - Документация по MQL5
 
BaTTLeBLooM :

kritik hata - dizi sınırların dışında.

şöyle bir şey deneyebilirsin:

       do
         {    
            // if (err> 0 ) Sleep ( 10 );//желательно с паузой
            rates_open_min = CopyOpen ( NULL , PERIOD_M1 , 0 , 7501 , iOpen_min );
            rates_open_hour = CopyOpen ( NULL , PERIOD_H1 , 0 , 20000 , iOpen_hour );
            rates_open_4hour = CopyOpen ( NULL , PERIOD_H4 , 0 , 10000 , iOpen_4hour );           
            err ++;
         }
       while ( ( rates_open_min < 7501 || rates_open_hour < 20000 || rates_open_4hour < 10000 ) && err < 10 );   

   if (rates_open_min< 7501 || rates_open_hour< 20000 || rates_open_4hour< 10000 ) return (- 1 ); //Данные не скопированы
   else
      {
       double Minute2 = iOpen_min [ 0 ] - iOpen_min [ 2 ];
       double Minute12 = iOpen_min [ 0 ] - iOpen_min [ 12 ];
       double Hour = iOpen_min [ 0 ] - iOpen_min [ 60 ];   // Час
       double Hour5 = iOpen_min [ 0 ] - iOpen_min [ 300 ];     // 5 Часов
       double Day = iOpen_min [ 0 ] - iOpen_min [ 1500 ];   // День
       double Week = iOpen_min [ 0 ] - iOpen_min [ 7500 ];   // Неделя
       double Month = iOpen_hour [ 0 ] - iOpen_hour [ 625 ];   // Месяц
       double Month5 = iOpen_hour [ 0 ] - iOpen_hour [ 3125 ];   // Полугодие
       double Month25 = iOpen_hour [ 0 ] - iOpen_hour [ 15625 ];   // 3 года
      }
 
Swan :

kritik hata - dizi sınırların dışında.

şöyle bir şey deneyebilirsin:

bu, sorunun özünü değiştirmez... eğer verileri daha fazla kopyalamazsa... danışman yine ticaret yapmaz, sadece aptalca bir hata yapmaz...

sorun, tarih çok büyükse, böyle bir durumun neden ortaya çıktığıdır ... ve onu kullanamazsınız ...

 
Renat :

Lütfen kodunuzu sağlayın.

peki, eğer cevap yoksa, o zaman manuel olarak gireceğim)))) fayda sadece bir değerdir
 
BaTTLeBLooM :
peki, cevap olmadığı için manuel olarak gireceğim)))) fayda sadece bir değerdir

kodunuzda çek yok. O zaman ne istiyorsun?

 
BaTTLeBLooM :

bu, sorunun özünü değiştirmez... eğer verileri daha fazla kopyalamazsa... danışman yine ticaret yapmaz, sadece aptalca bir hata yapmaz...

sorun, tarih çok büyükse, böyle bir durumun neden ortaya çıktığıdır ... ve onu kullanamazsınız ...

hala değişiyor .. veriler kopyalanacak, ancak her zaman ilk denemede değil .. ve kritik bir hatadan sonra danışman aptalca çalışmayı durduruyor.

while( ... Rates_open_hour <= 0 //yalnızca o anda mevcut olan veri miktarı kopyalandı ve buna göre dizi 15625'ten az olabilir.


Ve durum, kılavuzların yetersiz içilmesi nedeniyle ortaya çıkıyor :)

Документация по MQL5: Программы MQL5 / Ошибки выполнения
Документация по MQL5: Программы MQL5 / Ошибки выполнения
  • www.mql5.com
Программы MQL5 / Ошибки выполнения - Документация по MQL5