Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1201
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Her şeyi tek bir dosyada yazıyorum. Birkaç yapıyı tek bir dosyaya yazmak, ardından okumak iyidir.
Ancak dizi baştan sona okunur. Nasıl 3 parçaya bölersin? Yapıyı nasıl yazdınız ve aynı dosyaya bir dizi yazmayı nasıl başardınız? Kendi kendime öğrendim, pek çok şey bilmiyorum ama bir şekilde bunların farklı veri formatları olduğundan şüpheleniyorum.
Yazmak için bir dosya açarak , üç diziyi bir kez içine sıkıştırarak, bunu başarabileceğinizi ve beğenebileceğinizi kabul ediyorum, ancak onu sadece parçalar halinde okuyamazsınız.
Ancak dizi baştan sona okunur. Nasıl 3 parçaya bölersin? Yapıyı nasıl yazdınız ve aynı dosyaya bir dizi yazmayı nasıl başardınız? Kendi kendime öğrendim, pek çok şey bilmiyorum ama bir şekilde bunların farklı veri biçimleri olduğundan şüpheleniyorum.
Yazmak için bir dosya açarak , üç diziyi bir kez içine sıkıştırarak, bunu başarabileceğinizi ve beğenebileceğinizi kabul ediyorum, ancak onu sadece parçalar halinde okuyamazsınız.
Bir dosyaya sadece 1 yapı ve 3 dizi yazılırsa oradan okunabilir diyorum (dizileri okumak için her birinin boyutunu belirtmeniz şartıyla). Ancak bu tür birkaç diziyi kaydetme ve daha sonra okuma hilesi benim için işe yaramadı. Belki işaretçiyi hareket ettirmeniz gerekiyor, ancak bu zaten stresli ...
Bir dosyaya sadece 1 yapı ve 3 dizi yazılırsa, oradan okunabilir diyorum (dizileri okumak için her birinin boyutunu belirtmeniz şartıyla). Ancak bu tür birkaç diziyi kaydetme ve daha sonra okuma hilesi benim için işe yaramadı. Belki işaretçiyi hareket ettirmeniz gerekiyor, ancak bu zaten stresli ...
Bu ne kadar stresli? Yeterli beygir gücü yok mu? Ve kaydın başarılı olduğundan nasıl emin olabilirsiniz ve okuma başarısız olursa bunu nasıl varsayabilirsiniz? Bildiğim kadarıyla .bin dosyasına gözlerinizle bakamazsınız.
Artyom, bir örnek verir misin? Dizilerin boyutunun dinamik olduğunu dikkate alarak.
Hayır, hiç örnek kalmayana kadar - Henüz kendim yapmadım ve yaptığımda makalelerde anlatacağım. Ve yakında olmayacak. Gerçek şu ki, FileWriteStruct() kullanılarak bir dosyaya yalnızca POD yapıları yazılabilir. Onlar. - dizeler, dinamik diziler, sanal işlevler ve ayrıca nesnelere ve işlevlere işaretçiler içermeyen basit yapılar.
Bu da icat etmeniz ve test etmeniz gerektiği anlamına gelir. Ama yönü yazdım. Uygulamayı düşünmek gerekir.
Hayır, hiç örnek kalmayana kadar - Henüz kendim yapmadım ve yaptığımda makalelerde anlatacağım. Ve yakında olmayacak. Gerçek şu ki, FileWriteStruct() kullanılarak bir dosyaya yalnızca POD yapıları yazılabilir. Onlar. - bir dize, dinamik diziler , sanal işlevler ve ayrıca nesnelere ve işlevlere işaretçiler içermeyen basit yapılar.
Bu da icat etmeniz ve test etmeniz gerektiği anlamına gelir. Ama yönü yazdım. Uygulamayı düşünmek gerekir.
Görünen o ki, ne söylenirse söylensin, ancak sorun çözülemez. Sonuçta, örnekteki Sergey'in içinde üç dinamik dizi var. Bir yapı içinde bir yapıyı nasıl inşa ederseniz edin, dinamik bir dizi ile kalacaktır.
Ancak bir dizi yapı oluşturursanız, sorun bir dizi yazarak çözülür. FileWriteArray(). Bu zaten test edildi ve belgeler bir dizi yapı yazmakla ilgili açıkça belirtiyor.
Ancak dizi baştan sona okunur. Nasıl 3 parçaya bölersin? Yapıyı nasıl yazdınız ve aynı dosyaya bir dizi yazmayı nasıl başardınız? Kendi kendime öğrendim, pek çok şey bilmiyorum ama bir şekilde bunların farklı veri formatları olduğundan şüpheleniyorum.
Yazmak için bir dosya açarak , üç diziyi bir kez içine sıkıştırarak, bunu başarabileceğinizi ve beğenebileceğinizi kabul ediyorum, ancak onu sadece parçalar halinde okuyamazsınız.
herhangi bir yapıyı, diziyi, hatta bağımsız değişkenleri bir ikili dosyaya yazabilirsiniz - ve hepsini tek bir dosyada
AMA okurken, verileri aynı sırayla okumalısınız.
her şey işe yarayacak
FileWriteArray() kullanarak yazarken dosya dökümüne bakmadım, büyük olasılıkla dizinin ilk bayttaki boyutu yazılacak - ancak sadece bir test betiği yazmak daha kolay, yaklaşık bir düzine kod satırı var; )
Görünen o ki, ne söylenirse söylensin, ancak sorun çözülemez. Sonuçta, örnekteki Sergey'in içinde üç dinamik dizi var. Bir yapı içinde bir yapıyı nasıl inşa ederseniz edin, dinamik bir dizi ile kalacaktır.
Ancak bir dizi yapı oluşturursanız, diziyi yazarak sorun çözülür. FileWriteArray(). Bu zaten test edildi ve belgeler bir dizi yapı yazmakla ilgili açıkça belirtiyor.
Bir dizi yapı kaydedilir, ancak .. dizeler varsa, bunlar yapının içinde bir uchar dizisine paketlenebilir, bu başarıyla yapılır. Ancak çift dizi, uchar dizisine sığmaz. Üstelik dinamiktir. Ve üç diziyi ayrı ayrı dosyalara kaydetmek ve daha sonra bunları dosyadan açılmış yapıya itmek için ... Denemedim. Düşünmedim, bilmiyorum.
herhangi bir yapıyı, diziyi, hatta bağımsız değişkenleri bir ikili dosyaya yazabilirsiniz - ve hepsini tek bir dosyada
AMA okurken, verileri aynı sırayla okumalısınız.
her şey işe yarayacak
FileWriteArray() kullanarak yazarken dosya dökümüne bakmadım, büyük olasılıkla dizinin ilk bayttaki boyutu yazılacak - ancak sadece bir test betiği yazmak daha kolay, yaklaşık bir düzine kod satırı var; )
Bu sorunu nereden okudunuz bilmiyorum, her ihtimale karşı hatırlatayım: Bir dosyaya üç dinamik dizi içeren bir yapı yazmanız gerekiyor. Sonra dosyanın doğru okunmadığına dair bir soru vardı.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5
Sergey Tabolin , 2020.03.24 18:02
Soruyorum))))
Kendi yolumla yapmaya çalıştım.
İlk yapı ve 3 dizi normal olarak okunur (alıcı dizilerin dinamik olmaması şartıyla, aksi takdirde yapıdan sonra yazılan tüm veriler ilk diziye okunur).
Ancak, daha fazla kayıt varsa, o zaman
ne saçmalıyor...
Bu yüzden tartışıyorum: bir dosyadan yapı ve üç dizi nasıl okunabilir, nasıl yazıldığı bilinmiyor.
Bu yüzden kendimi yetiştirdim dedim, pek bir şey bilmiyorum ama bölüm bölüm okuyamıyorsunuz .
Ve .bin dosyasına herhangi bir şey eklemek için seçenekler olduğunu çok iyi anlıyorum, ancak onu okumak için neyin hangi sırayla yazıldığını bilmeniz gerekiyor. Ve bunun mql aracılığıyla olmaması da mümkündür.
Ama şunu hiç anlamıyorum...
Burada sorun ne?
Bu yüzden tartışıyorum: bir dosyadan yapı ve üç dizi nasıl okunabilir, nasıl yazıldığı bilinmiyor.
bu yüzden kontrol etmenin daha kolay olduğunu yazıyorum, 10 dakika içinde .... kontrol edildi, FileWriteArray() dizinin boyutunu başlığa veya ilk bayta yazmıyor, bu yüzden bu değerleri kendimiz yazıyoruz
2020.03.25 10:18:36.058 tst (EURUSD,H1) 1. d_arr
2020.03.25 10:18:36.058 tst (EURUSD,H1) 3.14159 3.14159 3.14159 3.14159 3.14159
2020.03.25 10:18:36.058 tst (EURUSD,H1) 2. i_arr
2020.03.25 10:18:36.058 tst (EURUSD,H1) 1234567890 1234567890 1234567890
2020.03.25 10:18:36.058 tst (EURUSD,H1) 2. c_arr
2020.03.25 10:18:36.058 tst (EURUSD,H1) 127 127 127 127 127 127 127
2020.03.25 10:18:36.058 tst (EURUSD,H1) mstruct.a = 666 , mstruct.b = 123.123000
onlar. dizinin boyutları dinamik ise yazarken dizinin boyutlarını kendimiz yazarız ve okurken dizi boyutunun değerini dosyadan okuruz ve yapının dizilerinin boyutlarını belirleriz
benim örneğimde 2 yapı var - biri başlatıldı ve yazıldı, ikincisi okundu, dosya verilerinden başlatma