Hatalar, hatalar, sorular - sayfa 1335

 

Fractals.mq5 göstergesinin kaynak kodu, fraktalları hesaplamak için aşağıdaki girdileri içerir (satır 74 ve 79):

 //---- Upper Fractal
if (high[i]>high[i+ 1 ] && high[i]>high[i+ 2 ] && high[i]> = high[i- 1 ] && high[i]> = high[i- 2 ])

//---- Lower Fractal
if (low[i]<low[i+ 1 ] && low[i]<low[i+ 2 ] && low[i]< = low[i- 1 ] && low[i]< = low[i- 2 ])

Bu hesaplamalarda kafamı karıştıran, >= ve <= (kırmızı ile) içindeki eşittir işaretleridir.

Her zaman , en az beş çubuğun bir kombinasyonunda, orta çubuk en büyük maksimuma sahip olduğunda, yani. her zaman sol ve sağ taraflarda iki bitişik maksimumdan daha yüksek (daha yüksek veya eşit değil). Sırasıyla bir fraktal aşağı ile. Yukarıdaki kodda eşitliğe izin verildiğini görebilirsiniz. Lütfen Fractals.mq5 kodunda bir hata olup olmadığını kontrol edin.

 

Bir sinyalim var, izlemede yüzde 100 kesinti var, hesapta her şey yolunda, üçüncü gün servis masasını ve şirket çalışanlarını çalıyorum. Cevapsız...

Sorun daha fazla nasıl çözülür....?

 
Stanislav Olhovsky :

Bir sinyalim var, izlemede yüzde 100 kesinti var, hesapta her şey yolunda, üçüncü gün servis masasını ve şirket çalışanlarını çalıyorum. Cevapsız...

Sorun daha fazla nasıl çözülür....?

Kazanılandan fazlasını çekmeniz gerekmez, o zaman bakiye eğrisi sıfıra gitmez.
 

"Sık Kullanılanlarda Yenilikler" yazdım - sessizlik var. buraya yazacağım:

Windows 10 x64, Mozilla Firefox 39.0. Ekli resimler, dosyalar kişisel olarak gönderilmez ...

 
Karputov Vladimir :
Kazanılandan fazlasını çekmeniz gerekmez, o zaman bakiye eğrisi sıfıra gitmez.

Sinyal neredeyse 4 aydır çalışıyor, sadece bir indirim eklendi, kimse orada hiçbir şey çekmedi, her şey yolundaydı, istikrarlı büyüme... terminalde, veriler normal ve diğer çevrimiçi izlemelerde....

Maybook'tan bir ekran görüntüsü ekliyorum, orada her şey yolunda.

Aracının cevabı, geçmiş 1 ay boyunca saklanır, ancak iki veya üç ay önce sinyaller aynı olurdu...

Dosyalar:
Error.png  36 kb
 
Ve yine "Lichka" hakkında. Sürüler devam ediyor ...
 

Sevgili geliştiriciler!

Bantlar ve iBands göstergesinin farklı okumaları. Bantlar göstergesinde, standart sapma StdDev_Func işlevinde ve GetData yönteminde iBands'de hesaplanır. Grafikteki çizimi karşılaştırırken, sapma seviyelerinden sorumlu tamponların durumunda büyük bir fark görebilirsiniz. MQL4'te bununla karşılaştım, belki MQL5'te de aynıdır.

 

Her nasılsa daha önce dikkat etmedim, ama şimdi, büyük sınıf nesneleri dizileriyle çalışırken, aşırı büyük bir bellek tüketimi fark ettim. Sizeof () üzerinde kontrol edildi - kesinlikle boş sınıf 16 bayt kaplar. Ve buradaki sınıfların yönetildiği göz önüne alındığında, işaretçiye 8 bayt daha ekliyoruz. Toplam 24 bayt. Nedense çok zor.

Belgelere baktım ve orada bulduğum şey buydu:

объекты классов всегда имеют таблицу виртуальных функций , даже если в классе не объявлено ни одной виртуальной функции .

Soru şudur: neden basit sınıflar (mirasa katılmayan) bir sanal işlevler tablosuna ihtiyaç duyarlar? Sonuçta derleme aşamasında bu sınıflar hakkında her şey biliniyor.

İçlerindeki yöntemlerin sanal yöntemlerle tam olarak aynı şekilde çağrıldığı ortaya çıktı, yani. tabloda ek bir erişim yeniden yönlendirmesi var. Ve övülen derleyici optimizasyonu nerede? Daha sonra C++ ile bir tür performans karşılaştırmasını nasıl talep edebilirsiniz?

 

haklı değilsin

Yöntem sanal olarak bildirilmezse, doğrudan çağrılır. Ek olarak, sanallığı kaldırmak için optimizasyonlar var. Yıkıcımız her zaman sanaldır, bu da sanal bir tablonun varlığına yol açar.

24 bayt hakkında garip bir ifade var - nesneye yapılan referans boyut için geçerli değil.

Yönetilen/güvenli dillerdeki sınıflar her zaman meta bilgiler içerir, bu nedenle mantıklıdır. Temiz bir boyut istiyorsanız, yapıları kullanın.

 
Renat Fatkhullin :

Yıkıcımız her zaman sanaldır, bu da sanal bir tablonun varlığına yol açar.

Öyleyse neden yıkıcıyı optimize etmiyorsunuz? Sadece onun yüzünden saklanacak ekstra 8 bayt ...

24 bayt hakkında garip bir ifade var - nesneye yapılan referans boyut için geçerli değil.

Şey, orada her şeyi nasıl uyguladığınızı bilmiyorum. Diyelim ki bir dizi nesne varsa:

CObj array[];

Her öğe için sistemde bağlantılar (işaretçiler) depolanıyor mu?

Temiz bir boyut istiyorsanız, yapıları kullanın.

Bu anlaşılabilir bir durumdur, ancak bir yapıya işaretçi alamazsınız ve bu, onu kullanma rahatlığını azaltır. Bu nedenle, burada bazen acı verici bir seçim yapmak zorunda kalıyorsunuz... Şimdi, sınıfın büyüklüğü azaltılabilseydi, o zaman harika olurdu. Ve yapıya bir işaretçi de ortaya çıkarsa, o zaman genel güzellikte)