Optimizasyon sırasında tek seferlik dizi hesaplaması - sayfa 4

 

Beyler, verileri virgülle ayırarak tek satırda nasıl yazabilirim söyleyin)

Her seferinde yeni bir hattan alıyorum.

 int Qnt= FileWrite (Handle, Time [ 0 ]);
if (Qnt< 0 ) Alert ( "не получилась запись=" );
   return ( 0 );

Prensip olarak, tavsiye edildiği gibi tüm veriler bir diziye hemen girilirse daha hızlı çalışmalıdır:

 double arr[ 100500 ]={ 1 , 2 , 3 ....} 
 
forexman77 :

Beyler, verileri virgülle ayırarak tek satırda nasıl yazabilirim söyleyin)

Her seferinde yeni bir hattan alıyorum.

Prensip olarak, tavsiye edildiği gibi tüm veriler bir diziye hemen girilirse daha hızlı çalışmalıdır:

Dize işlevleri hakkında bir makale okudum, şöyle yaptım:

 string str1,str2;
   for ( int y=stroki- 1 ;y>= 0 ;y--)
   {
   str1=T[y];
   str2=str2+ "," +str1;
   }
   Print ( "str2=" ,str2);
 2016.09 . 15 21 : 42 : 58.649 запись данных GBPUSD,H4: str2=, 1452038400 , 1454022360 , 1454104980 , 1456788420 , 1457130840 , 1459205760 , 1459463580 , 1459814040 , 1461621600 , 1461710760
 
forexman77 :

Beyler, verileri virgülle ayırarak tek satırda nasıl yazabilirim söyleyin)

Her seferinde yeni bir hattan alıyorum.

Prensip olarak, tavsiye edildiği gibi tüm veriler bir diziye hemen girilirse daha hızlı çalışmalıdır:

Neden yaptın??? Dmitry, bir diziyi bir dosyaya okumak ve yazmak için belgelere bağlantılar verdi.

"Elmas Kol" filmindeki gibi... "Elin bir hareketiyle pantolon dönüyor..." Yalnız bu durumda teknik bir sorun yok. Sonuçta dizinin kayıt ve okumasının nasıl organize edildiğini bilerek sordum.
 
Numaraları olan normal bir dosyayı Bin'e dönüştürmek için talimatları olan var mı? Rakamların hangi ayırıcıya sahip olması gerektiğini çözemiyorum?
 
-Aleks- :
Numaraları olan normal bir dosyayı Bin'e dönüştürmek için talimatları olan var mı? Rakamların hangi ayırıcıya sahip olması gerektiğini çözemiyorum?
Sayıları okurken, onları bir diziye itin ve ardından diziyi ikili modda bir dosyaya yazın.
 
Dmitry Fedoseev :
Sayıları okurken, onları bir diziye itin ve ardından diziyi ikili modda bir dosyaya yazın.

Anlaşıldı, yani sayılar içeren bitmiş dosya bir dizide okunabilir (benim durumum), daha sonra bir ikili dosyaya yazılabilir ve sonra kullanılabilir.

Peki, bir dosyadan 10 diziden veri okumanız gerekiyorsa, o zaman dizinin sonunu özel bir sayı ile anlayacak ve bir sonraki diziyi dolduracak bir sıralayıcı yapmanız gerekir ... çünkü manuel olarak yazmak uygun değildir. her seferinde dizinin boyutu.

 
-Aleks- :

Anlaşıldı, yani sayılar içeren bitmiş dosya bir dizide okunabilir (benim durumum), daha sonra bir ikili dosyaya yazılabilir ve sonra kullanılabilir.

Peki, bir dosyadan 10 diziden veri okumanız gerekiyorsa, o zaman dizinin sonunu özel bir sayı ile anlayacak ve bir sonraki diziyi dolduracak bir sıralayıcı yapmanız gerekir ... çünkü manuel olarak yazmak uygun değildir. her seferinde dizinin boyutu.

Kafamda karışıklık.

Bir dosyaya dizi yazmak, bu diziyi EA yeniden yüklemesi süresince kaydetmek için gereklidir. Çıkıştan önce yazın ve girerken okuyun.

Expert Advisor 10 diziye sahipse 10 dosya olur ama dizi (dizi) okunmadan önce oluşturulmalı ve yazılmalıdır...

 
Alexey Viktorov :

Kafamda karışıklık.

Bir dosyaya dizi yazmak, bu diziyi EA yeniden yüklemesi süresince kaydetmek için gereklidir. Çıkıştan önce yazın ve girerken okuyun.

Expert Advisor 10 diziye sahipse 10 dosya olur ama dizi (dizi) okunmadan önce oluşturulmalı ve yazılmalıdır...

Ne kadar körsün sen, ben çözümlerden bahsediyorum ve sen sorunu övüyorsun. Gönderim, konu başlatma sorununu çözmekle ilgili değil.

Dikkatsizlik ve saldırganlık - görünüşe göre ilgisizlik, sonbahar ...

 
Alexey Viktorov :

Neden yaptın??? Dmitry, bir diziyi bir dosyaya okumak ve yazmak için belgelere bağlantılar verdi.

"Elmas Kol" filmindeki gibi... "Elin bir hareketiyle pantolon dönüyor..." Yalnız bu durumda teknik bir sorun yok. Sonuçta dizinin kayıt ve okumasının nasıl organize edildiğini bilerek sordum.

Bir bin dosyasıyla daha hızlı olması oldukça olasıdır.

Dün bir kerede bir dizi ilan etmeye çalıştım. Sonuçta, dizi optimizasyondan önce benim için önceden biliniyor.

Örneğin (bazı satırları kaldırdım):

 datetime T[ 411 ]=
   {
   1262731020 , 1262735700 , 1262821920 , 1262903400 , 1262989740 , 1263247200 , 1263339060 , 1263420000 , 1263507480 , 1263595500 ,
   1265324700 , 1265407200 , 1265752980 , 1265926500 , 1265930820 , 1267657200 , 1267740300 , 1267826460 , 1268175840 , 1268346360 ,
   1270504920 , 1270684140 , 1270768500 , 1272924180 , 1273011720 , 1273097100 , 1273272240 , 1273528800 , 1273617180 , 1275344100 ,
   1275516000 , 1275602400 , 1275689160 , 1276034400 , 1276124580 , 1276208700 , 1276211640 , 1278027960 , 1278369780 , 1278373920 ,
   1278456660 , 1278540000 , 1278626400 , 1278712800 , 1280447880 , 1280527200 , 1280789220 , 1280959200 , 1281045720 , 1283292000 ,
   1283378400 , 1283812200 , 1285626300 , 1285887060 , 1286229600 , 1286316000 , 1286404740 , 1288133220 , 1288216860 , 1288305120 ,
   1288392420 , 1288648860 , 1288735200 , 1288741980 , 1288822080 , 1288994400 , 1290722460 , 1290809040 , 1291069320 , 1291329540 ,
   1293228420 , 1293577020 , 1293666300 , 1293746400 , 1295992800 , 1296079320 , 1296253680 , 1296514200 , 1296686940 , 1296770400 ,
   1298503260 , 1298592000 , 1298672280 , 1298931060 , 1300831920 , 1300917600 , 1301609160 , 1301696460 , 1303512420 , 1303768920
   };

Şu ana kadar çok başarılı değil. Şimdi terminaller optimizasyonla meşgul, o zaman bunu farklı şekilde yapmaya çalışacağım. Tarihte bir satırdan dönüştürme yapılması gerektiğini varsayıyorum.

 
öyle yaparım. Tek seferlik bir test yapıyorum. Bu testte dizileri bir . Sonra aynı bölümde optimizasyon yapıyorum, ancak şimdi diziler her bir çubuğun veya işaretin görünümünde yeniden hesaplanmıyor, dosyadan okunuyor. Haftalık periyotlarda açılış fiyatları ile optimizasyon anında gerçekleşir. Ve dosya işlemleri olmadan saatlerce sürer.