Hatalar, hatalar, sorular - sayfa 1904
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
birkaç örnek varsa, o zaman neden aynı hesaplamayı aynı sınıfın diğer örneklerinde tekrarlasın?
Ve hesaplama bir ise, neden bu diğer örnekler?
Andrey, biraz daha detaylı olabilir misin? Tam olarak anlama.
Sorunun daha ayrıntılı bir tanımını verseniz iyi olur, o zaman cevap daha spesifik olacaktır.
Hesaplama benzersiz değil - eğer sınıfın tek bir örneği varsa, o zaman hesaplama olmalıdır, eğer birkaç örnek varsa, o zaman neden aynı hesaplamayı aynı sınıfın diğer örneklerinde tekrarlasın? Kaynakları alır.
Aynı zamanda, bu aynı verileri hesaplamak için üst sınıfta başka bir uzun döngü daha yapmak da optimal değildir (zaten iki uzun döngü) ve bu durumda alt sınıf artık kendi kendine yeterli olmayacaktır.
Güzel gün!
4 yıl sonra bir Danışmana geri döndü (2013'te aldım ve unuttum). Tekrar denemeye karar verdi. Ama şimdi sistem kod satırlarından birinde hata veriyor. Görünüşe göre, Metatrader'da son 4 yılda bir şeyler değişti, çünkü daha önce kesinlikle işe yaradı. Ben kendim programlamada "sıfırım", bu yüzden Danışmanı aldım))) Hatanın ne olabileceğini söyle.
İşte kodun bir parçası
extern int Periyot = 20; // Ana gösterge çizgisinin ortalama periyodu.
extern int Bsapma = 2; // Ana hattan sapma.
dış int Bshift = 0; // Fiyat grafiğine göre gösterge kayması .
harici int Baprice = 0; // KAPALI=0, AÇIK=1, YÜKSEK=2, DÜŞÜK=3, ORTALAMA=4, TİPİK=5, AĞIRLIKLI=6 .
dış dize _6 = "=========";
extern bool UseAutoDig = true; // If=true->noktalardaki harici değişkenler 10 ile çarpılır.
harici bool UseECN\NDD = doğru; // If=true->siparişler duraksız verilirse değiştirilirler.
Hata, komuttaki son satıra atılıyor
UseECN\NDD bu komut EA'da birçok kez tekrarlanır ve bulunduğu her satırda bir hata oluşur
Hata örnekleri
'\' - geçersiz kaçış dizisi e_plat2.mq4 49 22
'UseECN' - bildirilmemiş tanımlayıcı e_plat2.mq4 144 6
'NDD' - bildirilmemiş tanımlayıcı e_plat2.mq4 144 on üç
'4206' - büyük/küçük harf değeri zaten kullanılmış e_plat2.mq4 643 sekiz
Zor değilse söyle sebebi ne olabilir?
UseECN\NDD bu komut EA'da birçok kez tekrarlanır ve bulunduğu her satırda bir hata oluşur
Kod boyunca "UseECN\NDD"yi "UseECN_NDD" ile değiştirin (Ctrl+H)
Kod boyunca "UseECN\NDD"yi "UseECN_NDD" ile değiştirin (Ctrl+H)
Çok teşekkürler! Derlenmiş gibi görünüyor!
test edeceğim...
Ve hesaplama bir ise, neden bu diğer örnekler?
Sorunun daha ayrıntılı bir tanımını verseniz iyi olur, o zaman cevap daha spesifik olacaktır.
Sınıfın, 1) hesaptaki tüm emirler ve pozisyonlar hakkında ve 2) yalnızca m_symbol ve m_magic filtreleriyle eşleşenler hakkında veri toplayan bir döngüsü vardır.
Sonuç olarak, döngünün sonunda, 1) tüm hesap için ve 2) sadece danışmana ait emirler ve pozisyonlar için verilerimiz var.
Ancak EA birkaç sembol veya büyü kullanıyorsa, her bir sembol/sihir için istatistik toplamak için sınıfın örneklerini oluşturmanız gerekir. İşte burada soru ortaya çıkıyor: sınıfın ilk örneğinde zaten toplanmış olan bu yeni örneklerde neden istatistikler (1) topluyorsunuz?
Bu nedenle soru şuydu - örneğinin tek olduğunu sınıf içinde nasıl öğrenebilirim, bu, istatistik 1 toplamanız gerektiği anlamına gelir veya örnek tek değilse, istatistik 1 toplamayın, ancak yayınlayın ilk örnekten itibaren (burada, tek örnek değilse, sınıfın içinde, istatistik 1 yayınlamak için isteği sınıfın ilk örneğine nasıl yönlendirdiği de açık değildir)
Sınıfın, 1) hesaptaki tüm emirler ve pozisyonlar hakkında ve 2) yalnızca m_symbol ve m_magic filtreleriyle eşleşenler hakkında veri toplayan bir döngüsü vardır.
Sonuç olarak, döngünün sonunda, 1) tüm hesap için ve 2) sadece danışmana ait emirler ve pozisyonlar için verilerimiz var.
Ancak EA birkaç sembol veya büyü kullanıyorsa, her bir sembol/sihir için istatistik toplamak için sınıfın örneklerini oluşturmanız gerekir. İşte burada soru ortaya çıkıyor: sınıfın ilk örneğinde zaten toplanmış olan bu yeni örneklerde neden istatistikler (1) topluyorsunuz?
Bu nedenle soru şuydu - örneğinin tek olduğunu sınıf içinde nasıl öğrenebilirim, bu, istatistik 1 toplamanız gerektiği anlamına gelir veya örnek tek değilse, istatistik 1 toplamayın, ancak yayınlayın ilk örnekten itibaren (burada, tek örnek değilse, sınıfın içinde, istatistik 1 yayınlamak için isteği sınıfın ilk örneğine nasıl yönlendirdiği de açık değildir)
1) Aynı sınıftaki tüm büyüler/araçlar için istatistikleri toplayın. Başlatma sırasında sihirbazların listesini bir diziye koyun.
2) Daha önce tavsiye edildiği gibi, 1 numaralı istatistiğin sonuçlarını statik yapın ve varsa, yeniden hesaplamaya başlamayın.
Sınıfın, 1) hesaptaki tüm emirler ve pozisyonlar hakkında ve 2) yalnızca m_symbol ve m_magic filtreleriyle eşleşenler hakkında veri toplayan bir döngüsü vardır.
Sonuç olarak, döngünün sonunda, 1) tüm hesap için ve 2) sadece danışmana ait emirler ve pozisyonlar için verilerimiz var.
Ancak EA birkaç sembol veya büyü kullanıyorsa, her bir sembol/sihir için istatistik toplamak için sınıfın örneklerini oluşturmanız gerekir. İşte burada soru ortaya çıkıyor: sınıfın ilk örneğinde zaten toplanmış olan bu yeni örneklerde neden istatistikler (1) topluyorsunuz?
Bu nedenle soru şuydu - örneğinin tek olduğunu sınıf içinde nasıl öğrenebilirim, bu, istatistik 1 toplamanız gerektiği anlamına gelir veya örnek tek değilse, istatistik 1 toplamayın, ancak yayınlayın ilk örnekten itibaren (burada, tek örnek değilse, sınıfın içinde, istatistik 1 yayınlamak için isteği sınıfın ilk örneğine nasıl yönlendirdiği de açık değildir)
Bu nedenle soru şuydu - örneğinin benzersiz olduğunu sınıf içinde nasıl öğrenebilirim , bu, istatistik 1 toplamanız gerektiği anlamına gelir veya örnek tek değilse, o zaman istatistik 1 toplamayın, ancak bunu çok ilk örnek
Size zaten cevap verildi:
Tüm benzersiz hesaplamaları ayrı bir sınıfa koymak ve onu tek bir ton yapmak daha da iyidir.
Geliştiriciler, lütfen 8.6e + 18'den daha fazla seçenek sayısını optimize ederken tipik OnTesterPass olayının neden yalnızca yeni bir nesil oluşturulduğunda çağrıldığını açıklayın?
Ve neden yardımdaki açıklamada bu özellik hakkında tek bir kelime yok?
Neden bir cevap aramak için Expert Advisor'ın zeminini kürek çekmek zorundayım, bu fonksiyon neden bir Expert Advisor'da olması gerektiği gibi çalışıyor ve optimizasyon sonuçlarını bir dosyaya sadece yeni nesilde yazarken?
Bu sınırlama nasıl aşılır?