Hatalar, hatalar, sorular - sayfa 2995

 
   datetime a = D'2021.04.08 10:00:00' ;
   int       handle;
   double    Buffer[];
   

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
{

   handle = iCustom ( _Symbol , PERIOD_CURRENT , "Examples\\ATR.ex5" , 14 );
   :: Print ( __FUNCTION__ + "| PERIOD_CURRENT = " , EnumToString ( _Period ));

   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[])
{

   if (handle != INVALID_HANDLE )
   {
      :: CopyBuffer (handle, 0 , a, 1 , Buffer);
      
       double BS = :: NormalizeDouble (Buffer[ 0 ], _Digits );
      
      :: Print ( __FUNCTION__ + "| a = " , a);
      :: Print ( __FUNCTION__ + "| BS " , BS);
      
      handle = INVALID_HANDLE ;
   }
   
   // return value of prev_calculated for next call
   return (rates_total);
}


Bu kodun neden sadece dakikalarca doğru çalıştığını kimse cevaplayabilir mi?

Bu bir göstergedir.


not

Dakika dışında diğer zaman dilimlerinde yanlış değerler gösteriyor.

 
Francuz :


Bu kodun neden sadece dakikalarca doğru çalıştığını kimse cevaplayabilir mi?

Bu bir göstergedir.

not

Dakika dışında diğer zaman dilimlerinde yanlış değerler gösteriyor.

çünkü prev_calculated = 0 olduğunda OnCalculate 'e ilk girdiğinizde yalnızca tek bir yineleme yaparsınız. Bu noktada, çubuklar henüz oluşmamış olabilir. Ve tüm TF'ler 1M TF'lerden oluşur.
Kontrole yapıştırın:

 if ( prev_calculated> 0 && handle != INVALID_HANDLE )

ve her şey işe yarayacak.

 

ME'de iki Expert Advisor'ın sekmeleri açık, her ikisinde de kaydedilmemiş değişiklikler var, bunlardan birinin derleme düğmesine basıyoruz ve ME'nin her iki Expert Advisor'da da değişiklikleri kaydettiğini görüyoruz. Ne için? Bunu ona kim sordu?

ME, derlemeden önce bağlantılı dosyalardaki değişiklikleri kaydetmiş olsaydı, bu mantıklı bir davranış olurdu, aksi takdirde .... Tabii ki, bu şekilde çok daha kolay, neden hangi dosyaların kime ait olduğunu bulmak? - tüm açık dosyaları kaydetmek ve onunla yapılır....

 
Andrey Dik :
ME'de iki Expert Advisor'ın sekmeleri açık, her ikisinde de kaydedilmemiş değişiklikler var, bunlardan birinin derleme düğmesine basıyoruz ve ME'nin her iki Expert Advisor'da da değişiklikleri kaydettiğini görüyoruz. Ne için? Bunu ona kim sordu?
Başka nasıl?
Tek yol.
Tüm IDE'ler bunu yapar.
 
Nikolai Semko :
Başka nasıl?
Tek yol.
Tüm IDE'ler bunu yapar.

hepsinde doğru mu

şimdi VS'de denedim, evet davranış aynı. ancak, ürünün aptalca davranışı, hatta en bilineni bile, bir standart olarak kabul edilmeli mi? o zaman VS'nin tüm hatalarını ve yanlış anlamalarını kopyalayalım ve ne.

))

 
Andrey Dik :

hepsinde doğru mu

şimdi VS'de denedim, evet davranış aynı. ancak, ürünün aptalca davranışı, hatta en bilineni bile, bir standart olarak kabul edilmeli mi? o zaman VS'nin tüm hatalarını ve yanlış anlamalarını kopyalayalım ve ne.

))

Geçen yıl en az 9 farklı IDE kullandım. Her yerde öyle.
Peki, bir dosyanın birbirinin değişikliklerini görmeyen birkaç sahibi varsa, ne kadar çok sorun olabileceğini mantıklı bir şekilde düşünün. Biri bir kodla, diğeri başka bir kodla derlenmişse, aynı ada sahip iki ex5 dosyası oluşturmanız gerekir, vb.
 

Ve neden Gezgin'i Piyasa İzleme penceresi gibi bir tablo şeklinde yapmıyorsunuz? Piyasa İzleme'de sıralama uygulandı, Saygılar! - uzun süredir soruluyor.

Artık yeni hayallerimizin çağı, Navigator içeriğini görüntülemek ve sütunlara göre sıralamak için mega en havalı kolaylık seçenekleri hakkında geldi: Başlık, Yazar, Derleme Tarihi, Son Çalıştırma Tarihi, Kaynak Kullanılabilirliği, Program Türü (ve sıralamayı devre dışı bırakma ve geri dönme şimdi olduğu gibi görünüm)

 
Nikolai Semko :
Geçen yıl en az 9 farklı IDE kullandım. Her yerde öyle.
Peki, bir dosyanın birbirinin değişikliklerini görmeyen birkaç sahibi varsa, ne kadar çok sorun olabileceğini mantıklı bir şekilde düşünün. Biri bir kodla, diğeri başka bir kodla derlenmişse, aynı ada sahip iki ex5 dosyası oluşturmanız gerekir, vb.

iki farklı danışman açık, aralarında nasıl bir bağlantı olabilir? sadece baykuşlarda bulunan içerikleri kaydetmeniz gerekir ve bu içeriklerin başka kime ait olduğunun bir önemi yoktur.

örneğin, başka bir *txt dosyası açık, kaydedilmemiş, genellikle derlenmiş dosyanın ve/veya projenin hiçbir tarafı yok, neden kaydedelim? ama hayır, kurtulacak.

 
Nikolai Semko :

çünkü prev_calculated = 0 olduğunda OnCalculate 'e ilk girdiğinizde yalnızca tek bir yineleme yaparsınız. Bu noktada, çubuklar henüz oluşmamış olabilir. Ve tüm TF'ler 1M TF'lerden oluşur.
Kontrole yapıştırın:

ve her şey işe yarayacak.

Konunun aslını anlamamışsınız. Kod yalnızca bir kez çalışmalıdır. Görevi, çağrılan göstergenin çalışmadığını açıkça göstermektir. Sorun şu ki, herhangi bir yazma varyasyonunda, çağrılan gösterge (ve çağıran gösterge) bir dakikadan farklı bir TimeFrame'e sahipse çalışmayacaktır. Ve öğrendiğim gibi, bu sadece koltuk değneği ile atlanabilen bir MetaTrader cant. Ve bu sorun zaten oldukça eski. "Eski TF 123'ten gösterge verisi alamıyorum" detaylarını okuyabilirsiniz.

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

Konunun aslını anlamamışsınız. Kod yalnızca bir kez çalışmalıdır. Görevi, çağrılan göstergenin çalışmadığını açıkça göstermektir. Sorun şu ki, herhangi bir yazma varyasyonunda, çağrılan gösterge (ve çağıran gösterge) bir dakikadan farklı bir TimeFrame'e sahipse çalışmayacaktır. Ve öğrendiğim gibi, bu sadece koltuk değneği ile atlanabilen bir MetaTrader cant. Ve bu sorun zaten oldukça eski. "Eski TF 123'ten gösterge verisi alamıyorum" detaylarını okuyabilirsiniz.

Bu uzun zaman önceydi. Sorun uzun zaman önce çözüldü. Yerel olmayan bir zaman dilimi/sembolün verilerine en az iki dakikada bir erişmeniz gerekir. Ana döngüde, istenen zaman diliminden henüz veri yoksa, döngüden çıkmanız gerekir - bir sonraki onay işaretini beklemek için sıfıra dönmeniz yeterlidir ve aynı zamanda gösterge, geçmiş verilerin henüz hesaplanmadığını bilir. .