Gösterge bozuluyor

 

Herşey,

İlk 16 saat boyunca sorunsuz çalışan, sonrasında bozulan ve grafiğin her yerine çizgiler çizmeye başlayan bir gösterge geliştirdim. Ayrıca IndicatorCounted() değerini kontrol ediyorum ve bozuk satırları aldığımda değeri negatif olmuyor. 'Geçerli hareketler/çizgiler' geçmişi kaybolacağı için gösterge arabelleklerini yeniden başlatmak istemiyorum. Sorunu çözmek için herhangi bir öneriniz var mı?

Ekli zip dosyasında bulunan normal ve bozuk gösterge resimleri.

Dosyalar:
images.zip  61 kb
 
Burada akıl okuyucu yok - kod yok = yardım yok
 
WHRoeder :
Burada akıl okuyucu yok - kod yok = yardım yok

Bir ton teşekkürler.
 

canlar,

Birisi bana metaEditor 4'ü indirmem için link gönderebilir mi?

teşekkür ederim.

 
tiger961 :

canlar,

Birisi bana metaEditor 4'ü indirmem için link gönderebilir mi?

teşekkür ederim.


Tiger, diğer ipliklere yığmak yerine yeni bir iplik başlatmanız gerekir.

Editör, herhangi bir komisyoncudan ücretsiz MT4 terminali indirilebilir.

 

Biraz daha bilgi -

a) Göstergelerin bozulması yalnızca Windows 64 bit platformunda olur

b) Bozulmadan önce ve bozulmadan sonra gösterge dizisinin bir dökümünü aldım - aynısı ekteki xls dosyasında yorumlarla birlikte mevcuttur.

c) "Grafikte Maksimum Çubuk" ayarı sadece grafiği açtığınızda mı geçerli? Çubuk sayısı ve ilgili gösterge sayısı, eklenen her ek çubukla birlikte büyür.

d) Kod kullanımı aşağıdaki gibidir

beyannameler

<kod>

#özellik göstergesi_chart_window

#özellik göstergesi_tamponları 8

#özellik göstergesi_renk1 Kırmızı

#özellik göstergesi_width1 2

</code>

Gösterge başlatma için -

<kod>

SetIndexBuffer(0, Down1);

SetIndexStyle(0, DRAW_LINE);

SetIndexEmptyValue(0, EMPTY_VALUE);

</code>

Hat verilerinin eklenmesi için

<kod>

void DrawMoveEx(double& serie[], int başlangıç, int bitiş, çift başlangıç düzeyi, çift bitiş düzeyi) {

double a = (bitiş seviyesi - başlangıç seviyesi) / (başlangıç - bitiş);

çift y;

int çubuğu;


for(int x = 0; x <= başlangıç - bitiş; x++) {

y = bir * x;

çubuk = başlangıç - x;

seri[bar] = başlangıç seviyesi + y;

}

}

</code>

 
AnkaSoftware :
a) Göstergelerin bozulması yalnızca Windows 64 bit platformunda olur
int \program dosyalarını* Vista/Win7'ye yüklemeyin
 
WHRoeder :
int \program dosyalarını* Vista/Win7'ye yüklemeyin
Doğru, kurulum C:/metatrader4/< terminal dir > dizininde. Bu sorunun yol sorunlarından değil, bellek bozulmasından kaynaklandığına inanıyorum. Gösterge ilk 3-4 saat düzgün çalışır ve ardından bozulma başlar.
 

Öyle bir şey olmadığından şüpheleniyorum. . .

Grafiği sağa kaydırarak grafiğe yeni geçmiş veriler eklendiğinde benzer bir şey olmuş gibi görünüyor.

 
RaptorUK :

Öyle bir şey olmadığından şüpheleniyorum. . .

Grafiği sağa kaydırarak grafiğe yeni geçmiş veriler eklendiğinde benzer bir şey oldu gibi görünüyor.

Hmm, "grafiğe yeni tarihsel veriler eklendi", nasıl? Gösterge başlatılır ve rahatsız edilmeden bırakılır. 1000 barlık sabit bir geriye dönük incelememiz var. Gösterge herhangi bir geçmiş veri yüklemiyor.

Geliştirme ekibinden biri buna bakabilir mi?

 
AnkaSoftware :

Hmm, "grafiğe yeni tarihsel veriler eklendi", nasıl? Gösterge başlatılır ve rahatsız edilmeden bırakılır. 1000 barlık sabit bir geriye dönük incelememiz var. Gösterge herhangi bir geçmiş veri yüklemiyor.

Geliştirme ekibinden biri buna bakabilir mi?

Bu konuda RaptorUK'a katılıyorum: Bunun sizin kodunuzdan ziyade MT4'teki bir hata olması veya 64-bit Windows ile ilgili herhangi bir şey olması çok olası değil. MT4 ile ilgili olarak sağlam temellere sahip olduğu ortaya çıkan performans ve kararlılık sorunları raporları gördüm (örn. https://www.mql5.com/en/forum/135355 ) ancak hiç bir MT4 dili raporu görmedim doğru olduğu ortaya çıkan hata.

"Normal Taşı" ve "Hatayı Taşı" ekran görüntüleriniz arasındaki bir farkı belirtmeme izin verin. "Normal Taşı" seçeneğinde görünürde hiçbir eksik çubuk yoktur. "Taşıma Hatası"nda ise eksik grafik verileri var gibi görünüyor. X eksenindeki işaretçilerin çoğu 16 dakika aralıklıdır, ancak ikinci ve üçüncü işaretçiler arasındaki boşluk 21 dakikadır (06:08 - 06:29). Sorun bu olabilir veya olmayabilir, ancak sürekli bir dizi çubuk olacağını varsayan yerler için kodunuzu aramaya başlardım. Örneğin, şu anda sabah 8 ise, kodda (a) sabah 7 çubuğunun 60 çubuk önce olduğunu veya hatta (b) 07:00 için bir çubuğun var olduğunu varsayan herhangi bir şey.

Neden: