
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Bildiğim kadarıyla, dosya işlevleri (örneğin, FileWrite()) kullanılarak dosyada herhangi bir değişiklik yapılmadıysa, kapatmaya gerek yoktur. FileOpen() işlevi yalnızca yeni bir dosya oluşturur ve bu işlem dosyanın kapatılmasını gerektirmez (bu işlevin belgeleri ayrıca dosyanın oluşturulduktan sonra kapatılması gerektiğini söylemez).
Hata! Hikaye anlatıcısı https://docs.mql4.com/ru/files/fileopen
//--- "dosya sanal alanında" çalışmanın doğru yolu
resetLastError ();
filehandle= FileOpen ( "fraktals.csv" , FILE_WRITE | FILE_CSV );
if (filehandle!= INVALID_HANDLE )
{
FileWrite (dosya tanıtıcısı, TimeCurrent (), Symbol (), EnumToString ( ENUM_TIMEFRAMES ( _Period ));
FileClose (dosya tanıtıcı);
Yazdır ( "FileOpen OK" );
}
başka özel
Hata! Hikaye anlatıcısı https://docs.mql4.com/en/files/fileopen
Benim söylediğimin tersi nedir?
Söyledim, -
Peter Konow'un fotoğrafı.
Bildiğim kadarıyla, dosya işlevleri (örneğin, FileWrite()) kullanılarak dosyada herhangi bir değişiklik yapılmadıysa, kapatmaya gerek yoktur. FileOpen() işlevi yalnızca yeni bir dosya oluşturur ve bu işlem dosyanın kapatılmasını gerektirmez (bu işlevin belgeleri ayrıca dosyanın oluşturulduktan sonra kapatılması gerektiğini söylemez).
Ve örneğinizde, dosya oluşturulduktan hemen sonra FileWrite() işlevi kullanılır. Ve sonra kullanıldı FileClose (dosya tanıtıcı);
Ayrıca yukarıdaki script koduna açık bir kapatma ekledim ama bu hiçbir şeyi çözmedi...
Aynen öyle. Halihazırda alt klasörler ve dosyalar içeren bir klasörü silmeye çalıştığımda, önce dosyaları siliyorum. Yalnızca alt klasörler kalır. Bunları FolderClean() ile temizlemeye çalışıyorum ve ardından FolderDelete()'i çağırıyorum. Bununla birlikte, sonuç olarak, boş olan alt klasörler iyi bir şekilde silinir, ancak alt klasörlerin içinde daha fazla alt klasör varsa bunlar silinmez. Bundan sonra, MetaEditor'daki dosya gezgininden klasörleri manuel olarak silmeye çalışıyorum, ancak terminal onları silmiyor ve şu pencereyi açıyor:
"Devam"a tıklıyorum, değişiklikleri kabul ediyorum, ancak klasör hala silinmedi. Terminali tamamen kapatıp yeniden açtıktan sonra, silinmesi gereken klasörler ya kendiliğinden kaybolur ya da kaybolmaz, ancak yukarıdaki pencere olmadan manuel olarak zaten silinebilirler.
İşte bazı tuhaflıklar...
Bu tür şeyleri birçok kez gördüm. Bir noktada, tüm alt klasörleri ve dosyaları içeren Dosyalar klasörünün salt okunur özniteliği aldığını öğrendim. Bu bayrağı elle kaldırmak yardımcı olmuyor. Ancak terminali yeniden başlatmak her zaman yardımcı olur. Oynatmayı başaramadım (denemedim), bu yüzden SD'ye bildirmedim.
Hata (5022) yalnızca FILE_COMMON öğesini ayarlarsanız oluşur.
Klasör temizlenir ancak silinmez.
Bu bayrağı ayarlamanız gerekmez, aksi takdirde dosya paylaşılan klasörde aranır ve hata yanlış dizin adının belirtildiğini söyler.
Dosya yolu
"\\MQL4\\Files" ;
bu bayrağın ayarlanmasını gerektirmez. Yani her şey doğru.
Bu tür şeyleri birçok kez gördüm. Bir noktada, tüm alt klasörleri ve dosyaları içeren Dosyalar klasörünün salt okunur özniteliği aldığını öğrendim. Bu bayrağı elle kaldırmak yardımcı olmuyor. Ancak terminali yeniden başlatmak her zaman yardımcı olur. Oynatmayı başaramadım (denemedim), bu yüzden SD'ye bildirmedim.
Bu bayrağı ayarlamanız gerekmez, aksi takdirde dosya paylaşılan klasörde aranır ve hata yanlış dizin adının belirtildiğini söyler.
ve FILE_COMMON ile ve olmadan - çalışır (başlangıçta, kontrol ederken, bu bayrağı son if'ye koymayı unuttum). FILE_COMMON ile tüm işlemlerde olduğu ima edildi
Bu bayrağı ayarlamanız gerekmez, aksi takdirde dosya paylaşılan klasörde aranır ve hata yanlış dizin adının belirtildiğini söyler.
Dosya yolu
bu bayrağın ayarlanmasını gerektirmez. Yani her şey doğru.
Bütün bunlar garip. MQL4 klasörlerine giden yolda kodu .ex4 olarak yeniden derledim ve garip bir şekilde kodun hatasız çalıştığını fark ettim. Kapatılan dosyayı kaldırdı ve
Ardından, düzeltmeler olmadan MT5'te başlattım ve garip bir şekilde MQL4 klasöründen bahsedilmedi. Klasörler ve dosya MQL5 klasöründe oluşturulmuştur. Ayrıca, her şey MT4'te kontrol etmeye benzer. Kapatılmamış dosya silinmez...
Bütün bunlar garip. MQL4 klasörlerine giden yolda kodu .ex4 olarak yeniden derledim ve garip bir şekilde kodun hatasız çalıştığını fark ettim. Kapatılan dosyayı kaldırdı ve
Ardından, düzeltmeler olmadan MT5'te başlattım ve garip bir şekilde MQL4 klasöründen bahsedilmedi. Klasörler ve dosya MQL5 klasöründe oluşturulmuştur. Ayrıca, her şey MT4'te kontrol etmeye benzer. Kapatılmamış dosya silinmez...
Yani, bir senaryodan danışman yaptın ve onu çalıştırmayı denedin mi?
Ama kapatıyorum ama sorun devam ediyor ... Ne yazık ki ... (