Lütfen bu gizemi çözmeme yardım edin!! - sayfa 2

 
WHRoeder :
Test cihazında görsel modu kullanmadığınız sürece, dergide asla hiçbir şey olmayacaktır.
Bu doğru değil. Optimizasyon sırasında günlüğe hiçbir şey gönderilmez, ancak günlüğe çıkış, Görsel mod işaretli DEĞİLSE gayet iyi çalışır. (Derleme 445'te yeni test edildi)
 

Her durumda Görsel Modu kullanıyorum!

Çok garip olan bir şey daha var. AYNI EA'yı AYNI parametrelerle bir kereden fazla çalıştırdığımda, görüntülenen Görsel Modda farklı işlemler alıyorum!

Çoğu zaman %90'ı aynıdır - ancak belirli yerlerde birden fazla çalışma ile farklı sonuçlar vardır!

Her çalıştırmadan sonra başlatılması veya temizlenmesi gereken bazı arabellekler (örn. değişkenler) var mı? Bildirim bölümünde tüm değişkenleri başlatmaya çalışıyorum.

Belki bilgisayarım bozuldu? Şu anda pipet alıyorum.

 
ernest02 :

Her durumda Görsel Modu kullanıyorum!

Çok garip olan bir şey daha var. AYNI EA'yı AYNI parametrelerle bir kereden fazla çalıştırdığımda, görüntülenen Görsel Modda farklı işlemler alıyorum!

Çoğu zaman %90'ı aynıdır - ancak belirli yerlerde birden fazla çalışma ile farklı sonuçlar vardır!

Her çalıştırmadan sonra başlatılması veya temizlenmesi gereken bazı arabellekler (örn. değişkenler) var mı? Bildirim bölümünde tüm değişkenleri başlatmaya çalışıyorum.

Belki bilgisayarım bozuldu? Şu anda pipet alıyorum.

Her koşu için Yayılma nedir?
 

Tamam arkadaşlar! Bunu çöz!

Gönderdiğim daha büyük kod parçasına bakın.

İlk satır bir "if" ifadesidir ve eğer true ise sonraki satırları işleyecektir.

Gerçekleşmesi gereken işlemlerden biri, açık olan Satın Alma siparişlerinin kapatılmasıdır.

Şimdi, EA'yı Test Cihazında çalıştırdığımda, aslında tüm Satın Alma siparişlerini kapatıyor AMA...

Kodun ortasındaki Print deyimini atlar - ve bu, Journal'a kaydedilmez!

Bu yüzden kodun işlendiğini biliyorum, ancak Journal'a yalnızca BELİRLİ Print ifadeleri kaydediliyor - ancak diğerleri DEĞİL!

Bu yüzden lütfen bana bunu açıklayın!

 
ernest02 :

Şimdi, EA'yı Test Cihazında çalıştırdığımda, aslında tüm Satın Alma siparişlerini kapatıyor AMA...

Kodun ortasındaki Print deyimini atlar - ve bu, Journal'a kaydedilmez!

Bu yüzden kodun işlendiğini biliyorum, ancak Journal'a yalnızca BELİRLİ Print ifadeleri kaydediliyor - ancak diğerleri DEĞİL!

Bu yüzden lütfen bana bunu açıklayın!

Aşağıdakiler dergiye yazdırılacaktır. . .

   Print ( "SellTicket is " ,SellTicket);     // <----- this will print

   if (SellTicket >= 0 ) 
      {
       PlaySound ( "news.wav" );
      SellTime = OrderOpenTime();
      SellSignal = false ;

      }
   Print ( "SellSignal2 is " , SellSignal);   // <----- this will print

yazdırmıyorlarsa, görebildiğim kadarıyla olasılıklar aşağıdaki gibidir:

 

SellTicket sıfıra eşitse, cidden mi?

 if (SellTicket >= 0 ) // ???

Günlüğe sağ tıklayın, aç'ı seçin ve günlük günlüğünü not defteri ile açın.

Günlük sekmesi her zaman tüm günlükleri göstermez.

 

Günlük dosyasına baktım ve orada kayıtlı herhangi bir Sat veya Al işlemi veya diğer "Yazdır" komutlarından herhangi biri yok.

Çok demotive oldum! 2 haftadır bu işin içindeyim ve hiçbir ilerleme kaydedemedim ve sorunun ne olabileceğine dair fikirlerim tükendi.

(Bilgisayarımda Metatrader 5'in yüklü olduğunu ve Kullanıcılar altında Sanal Mağaza'da bazı verileri ve günlük dosyalarını depolayan Windows 7'yi çalıştırdığıma değdiğini söylemek istiyorum)

 
ernest02 :

Günlük dosyasına baktım ve orada kayıtlı herhangi bir Sat veya Al işlemi veya diğer "Yazdır" komutlarından herhangi biri yok.

Çok demotive oldum! 2 haftadır bu işin içindeyim ve hiçbir ilerleme kaydedemedim ve sorunun ne olabileceğine dair fikirlerim tükendi.

(Bilgisayarımda Metatrader 5'in yüklü olduğunu ve Kullanıcılar altında Sanal Mağaza'da bazı verileri ve günlük dosyalarını depolayan Windows 7'yi çalıştırdığıma değdiğini söylemek istiyorum)

Ah, MT4'ü nerede kurdunuz, Program Dosyalarında mı? eğer yaparsanız, belki bir UAC sorununuz var. Program Files olmayan bir dizine yeni bir MT4 yüklemesi deneyebilir, örneğin C:\MT4-Installs\ ve EA'nızı deneyebilirsiniz.
 

C:/ altında MT4'ü yüklediğim bir klasör oluşturdum, ancak Program Dosyaları (x86) altında yüklenen iki kopyam (bir canlı ve bir demo) daha var.

Son ikisiyle herhangi bir günlük dosyam yok ama MT4 kökü altında günlük dosyalarım var. (Bu yüzden Günlük dosyasında ne olduğunu rapor edebilirim)

Şimdi başka bir anormallik fark ettim. (Aynı iki çalışmadan farklı sonuçlar aldığımdan bahsetmiştim)

Al/Sat işlem kararları vermek için CCİ endeksini izlemek için iCCI kullanıyorum . CCİ koşulu doğru olmadığında bile işlemlerin gerçekleştiğini keşfettim!

Bu tam bir karmaşa! Sistemimin çok daha basit ve kararlı göründüğü XP günlerime çok geri döndüm!

Havlu atmaya hazırım!

 
@ernest02 : Kodu yeniden yazmanız yeterli. Kodlarınızda hata ayıklamak için Yazdır/Uyarı/Yorum işlevlerini kullanın. OrderSend'in neden yürütüldüğü konusunda kafanız karıştıysa, onu tetikleyen değişkenlerin değerlerini [Sipariş Gönderinin Sağ Üstü] yazdırın. Neden CCI == true olduğu konusunda kafanız karıştıysa, CCI çağrısını [CCI çağrısından önce] tetikleyen değişkenlerin değerlerini yazdırın. Suçluyu bulana kadar Yazdır Bildirimini bu şekilde geriye doğru hareket ettirmeye devam edin.