Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1202

 
Igor Makanu :

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

Igor, bunun tamamen imkansız olduğunu söylemedim. Peki, sözlerimi biraz daha dikkatli oku.

Alexey Viktorov :

...

bir dosyadan yapıyı ve üç diziyi okumak nasıl mümkün oluyor, nasıl yazıldığı bilinmiyor .

...

Ayrıca bu örnekte dosya açma, yapı okuma, üç dizi okuma var ve dosya kapatma yok. Burada bir düşüneceksiniz, kayıttan sonra dosyayı kapatmanın bir yolu var mı?

Ve örneğinizde, FileReadStruct() değil, dizileri ve yapı öğelerini okumak.

Örnek için teşekkürler. Gerekirse, hatırlayın ve kullanın.

 
Alexey Viktorov :

Igor, bunun tamamen imkansız olduğunu söylemedim. Peki, sözlerimi biraz daha dikkatli oku.

Ayrıca bu örnekte dosya açma, yapı okuma, üç dizi okuma var ve dosya kapatma yok. Burada bir düşüneceksiniz, kayıttan sonra dosyayı kapatmanın bir yolu var mı?

Ve örneğinizde, FileReadStruct() değil, dizileri ve yapı öğelerini okumak.

Örnek için teşekkürler. Gerekirse, hatırlayın ve kullanın.

başka nasıl anlatılır bilmiyorum

Pekala, siz bir tür sihire inanıyorsunuz - üçüncü taraf programların ikili dosyaya kaydedilen verilerin biçimini bulabileceğini söylüyorlar - hiç kimse ikili dosyadan veri yapısını bilmeden veri okuyamaz!

ikili dosya, sırayla erişilen büyük bir bayt dizisidir - ve yazdığınız her şey? ne okudun - sadece sen biliyorsun, bilmiyorsan okuyacaksın ne olduğunu anlamayacaksın

)))

Not: Bir ArrayWrite komutuyla bir dizi ve aynı şekilde bir yapı yazmak (okumak) istediğiniz açıktır - evet mümkündür, ancak sabit bir veri boyutu kullanırsanız ve her yapıyı / diziyi ayrı bir dosyaya yazarsanız

 

Igor Makanu :

Peki, bir tür sihire inanıyor musunuz - üçüncü taraf programların ikili dosyaya kaydedilen verilerin biçimini bulabileceğini söylüyorlar - hiç kimse ikili dosyadaki verileri veri yapısını bilmeden okuyamaz!

Beni yanlış anladın. Aynı şeyi farklı kelimelerle söyledim. Nasıl yapılacağı sorusu değildi, ama... soru işareti olmadan bile...

 

Orada fon bulunan bir hisse senedi grafiği yüklemek istersem, lütfen MT5'te özel bir sembolün nasıl oluşturulacağını söyler misiniz? Komisyoncu Açılışı, varsa)

Aşağıdakileri yapmayı denedim:

1. csv'deki alıntıların geçmişini finam'dan indiriyorum

2. csv'yi json'a dönüştürün

{
     "root" : {
         "row" : [
            {
                 "TICKER" : "FXRU" ,
                 "PER" : "1" ,
                 "DATE" : "20190502" ,
                 "TIME" : "100100" ,
                 "OPEN" : "748.7000000" ,
                 "HIGH" : "749.7000000" ,
                 "LOW" : "747.7000000" ,
                 "CLOSE" : "749.7000000" ,
                 "VOL" : "115"
            },
               ]
           }
}

3. Yardımcı olmuyor.

 
Igor Makanu :

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

Teşekkürler, çok etkileyici.

Ve dosyaya 2 yapı yazılırsa, açıkçası aynı şekilde okunabilirler.


PS Basit bir yapı (herhangi bir miktarda) normal fonksiyon tarafından sorunsuz bir şekilde yazılır ve okunur.
 
Nazikçe, iki boyutlu bir dinamik dizinin ikinci boyutunun boyutu "anında" nasıl ayarlanır?
 
Сергей Таболин :
Nazikçe, iki boyutlu bir dinamik dizinin ikinci boyutunun boyutu "anında" nasıl ayarlanır?

veya tek boyutlu bir diziyi bir dizi yapı içine sarın

 struct Sarr
{
   double             y[];
};
struct Sarr2x2
{
   Sarr              x[];
};

void OnStart ()
{
   Sarr2x2 arr;
   ArrayResize (arr.x, 10 );
   for ( int i= 0 ; i< ArraySize (arr.x); i++)
   {
       ArrayResize (arr.x[i].y, 10 );
   }
   arr.x[ 0 ].y[ 0 ] = 5.0 ;
}
//+------------------------------------------------------------------+

veya bu işi yapacak bir sınıf kullanın - arama yapmak istemiyorum, zaten yüzlerce kez link verdim

https://www.mql5.com/ru/forum/6729/page3#comment_674794


evet, alglib sınıfında bir matris var

 #include <Math\Alglib\matrix.mqh>

void OnStart ()
  {
      CMatrixDouble d_arr;
      d_arr.Resize( 10 , 10 );
 

Ve ticaret beyanında zaman ölçeği ne anlama geliyor?

Ölçek X. Ölçekteki değerler neyi temsil ediyor?

 

MQL kullanarak bir .bmp görüntüsü nasıl oluşturulur ve onu bir grafiğe bağlamadan bir dosyaya nasıl kaydedilir - ör. önce grafikte bir Canvas veya CGraphic nesnesi vb. oluşturmayın

Makalelere göz gezdirdim böyle bir bilgi göremedim, nereden başlayacağım konusunda talimatlara ihtiyacım var, kodu kendim yazacağım

 
Igor Makanu :

MQL kullanarak bir .bmp görüntüsü nasıl oluşturulur ve onu bir grafiğe bağlamadan bir dosyaya nasıl kaydedilir - ör. önce grafikte bir Canvas veya CGraphic nesnesi vb. oluşturmayın

Makalelere göz gezdirdim böyle bir bilgi göremedim, nereden başlayacağım konusunda talimatlara ihtiyacım var, kodu kendim yazacağım

kaynaklarda