Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1358
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
Merhaba!
Belki bilen biri vardır... WebRequest kullanılarak alınan bir ZIP dosyasının bayt dizisini bir ZIP arşivine dönüştürmek ve MQL5 kullanarak diske açmak için bir çözüm arıyorum.
Bir çözüm arayışı beni 2015'ten "Üçüncü taraf kitaplıkları kullanmadan MQL5 kullanarak ZIP arşivleriyle çalışma" makalesine götürdü ( https://www.mql5.com/en/articles/1971 ). Burada yazar çözümü gösterdi ve ZIP arşivleriyle çalışmak için CZip sınıfını yayınladı. Ancak bu çözüm başarısız olur - derleme sırasında MetaEditor yürütülebilir dosyayı CZip sınıf kitaplığındaki hatalara atıfta bulunarak derleyemez.
Sorumun özü şuna indirgenebilir: - CZip sınıfının yöntemlerini, özellikle de CreateFromCharArray() ve UnpackZipArchive() yöntemlerini doğrudan komut dosyası kodunda nasıl ayrı ayrı kullanabilirim?
Periyodik olarak dosya oluşturan bir servis var ( FileClose ile her şeyi doğru kapatıyorum).
Başlattıktan sonra, genellikle ilk dosya normal olarak oluşturulur, ardından FileOpen 5001 hatasını döndürmeye başlar.
Ancak tüm bunlar rastgele - bazen işe yarıyor, bazen çalışmıyor. Aynı zamanda bir scriptte veya Expert Advisor'da aynı kodu çalıştırdığımda problemin farkına varmadım.
Bu yasak nasıl aşılır?
Soruyu tekrar edeceğim.
Periyodik olarak dosya oluşturan bir servis var ( FileClose ile her şeyi doğru kapatıyorum).
Başlattıktan sonra, genellikle ilk dosya normal olarak oluşturulur, ardından FileOpen 5001 hatasını döndürmeye başlar.
Ancak tüm bunlar rastgele - bazen işe yarıyor, bazen çalışmıyor. Aynı zamanda bir scriptte veya Expert Advisor'da aynı kodu çalıştırdığımda problemin farkına varmadım.
Bu yasak nasıl aşılır?
Birinin sizinkiyle aynı hatalarla benzer bir hizmet yazmasını ve neyin düzeltilmesi gerektiğini size söylemesini ister misiniz?
Birinin sizinkiyle aynı hatalarla benzer bir hizmet yazmasını ve neyin düzeltilmesi gerektiğini size söylemesini ister misiniz?
Dosya arama fonksiyonunda, arama FileFindClose() ile kapatılmadı.
Her durumda, cevap için teşekkürler.
Kodu düzenleyebilmem için fazlalığı kesmeye başladım ve hepsi işe yaradı))
Dosya arama fonksiyonunda, arama FileFindClose() ile kapatılmadı.
Her durumda, cevap için teşekkürler.
Evet, dosyayı kullanan her şey onu açar (dosyaya erişimi açar)))) Ve dosyanın (erişim) kapatılması gerekir.
Fazladan bir kapatma, sonuçsuz olarak -1 döndürür ve unutulmuş bir açık dosya birçok sorun yaratabilir)
Giriş bloğunda robotun parametrelerinde bir yorum göstermemenin mümkün olduğunu hatırlat?
böylece MagicNumber, parametrelerde - Sihirli sayı yerine açılır (bu sadece bir örnektir)
Giriş bloğunda robotun parametrelerinde bir yorum göstermemenin mümkün olduğunu hatırlat?
böylece parametrelerde - Sihirli sayı yerine MagicNumber'ı alırsınız (bu sadece bir örnektir)
'sinput' bir parametre çıktısı verir, ancak onu optimizasyona dahil edemezsiniz.
Sinput değiştiricili değişkenler #
Değiştirici Değişkenler giriş programları başlatırken yalnızca harici parametrelerin değerlerini ayarlamanıza izin vermekle kalmaz, aynı zamanda test cihazında ticaret stratejilerini optimize etmede önemli bir rol oynar. Dize türü dışında Expert Advisor'da bildirilen her giriş değişkeni optimizasyona katılabilir.
Bazı durumlarda, test cihazında olası tüm geçişlerin alanının oluşumundan programın bazı harici parametrelerinin çıkarılması gerekebilir. Bu tür durumlar için özel olarak bir bellek değiştirici vardır. giriş . sinput, statik harici değişken bildiriminin kısaltmasıdır: sinput = statik girdi. Yani, danışman kodunda böyle bir beyan
tam bir beyana eşdeğer olacaktır
Sinput değiştiricisi ile bildirilen bir değişken, bir MQL5 programının giriş parametresidir, bu parametrenin değeri başlatıldığında değiştirilebilir. Ancak aynı zamanda, bu değişken girdi parametrelerini optimize etme sürecine katılmaz, yani belirli bir kritere göre en iyi parametre kümesini ararken değerlerini numaralandırmaz.
Şekil, Expert Advisor'ın "Katman sayısı" parametresi olarak bildirildiği 5 harici parametreye sahip olduğunu göstermektedir. giriş ve eşittir 6. Bu parametre, bir ticaret stratejisini optimize etme prosedüründe değiştirilemez, bunun için kullanılacak olan istenen değeri ayarlamak mümkündür. Böyle bir değişken için Başlat, Adım ve Durdur alanları, değerlerin ayarlanması için kullanılamaz.
Böylece, bir değişken için bir giriş değiştirici ayarlayarak, kullanıcının bu parametreyi optimize etmesini engelleriz. Bu, strateji test cihazında, terminal kullanıcısının optimizasyon işlemi sırasında belirtilen aralıkta otomatik numaralandırma için ilk ve son değerleri ayarlamasının imkansız hale geldiği anlamına gelir.
Ancak aynı zamanda, bu kuralın bir istisnası vardır - giriş değişkenleri, fonksiyon kullanılarak optimizasyon problemlerinde değiştirilebilir. ParameterSetRange() . Bu işlev, herhangi biri için mevcut değerlerin alanının programlı kontrolü için özel olarak oluşturulmuştur. olarak bildirilenler de dahil olmak üzere girdi değişkenleri statik giriş (sinput). Diğer işlev ParametreGetRange() optimizasyonu başlatırken izin verir (işleyicide OnTesterInit() ) giriş değişkenlerinin değerlerini alır ve gerekirse değişiklik adımını ve optimize edilen parametrenin değerinin yineleneceği aralığı geçersiz kılar.
Bu nedenle, giriş parametreleriyle çalışmak için giriş değiştiricisi ve iki işlevin birleşimi, diğer giriş değişkenlerinin değerine bağlı olarak bazı giriş değişkenleri için optimizasyon aralıklarını ayarlamak için esnek kurallar oluşturmanıza olanak tanır.
sinput hatırlıyorum, soru yorumun ekranında, danışmanın parametrelerinde yorum yerine değişkenin adını görüntülemek mümkün mü?
örneğin yanlışlıkla yakalanan sinput ile ps satırı)
sinput hatırlıyorum, soru yorumun ekranında, danışmanın parametrelerinde yorum yerine değişkenin adını görüntülemek mümkün mü?
örneğin yanlışlıkla yakalanan sinput ile ps satırı)
';' den sonra hiçbir şey yazmayın.
Örnek - açıklama :
ve şimdi açıklamayı kaldırın:
ve değişken adını görün
';' den sonra hiçbir şey yazmayın.
soru buydu, bir yorum var ve parametrelerde değişkenin adını görüntülemeniz gerekiyor,
belki bunun bir hilesi vardır...