İşlev - Bir dizi yapıyı sıralama yöntemi. Ödül 10$ - sayfa 4

 
Sergey Dzyublik :

Sorun ne???

bu nedenle, işlevin kendisine ek olarak, işlevi parametre olarak iletmek için üzerinde bir typedef yapmak ve bir değişken oluşturmak gerekir. bu aslında lambda makrosu altında yapılır.

 
fxsaber :

Çalıştığını kontrol etti.

Ne yazık ki hayır (((


 
Vladimir Pastushak :

Ne yazık ki hayır (((

MT4'te sıralama sizin için çalışmıyor.
Burası, MT4 için önerilen sıralama çağrısını koşullu derlemeye ekleyeceğiniz ve MT5 koduna dokunmayacağınız yerdir.

 
Vladimir Pastushak :

Ne yazık ki hayır (((


MT4'ü güncelleyin.

 

MT4'teki kodu kontrol ettim , her şey çalışıyor

2020.04.21 23:27:35.728 Komut dosyası t EURUSD,H1: kaldırıldı

2020.04.21 23:27:35.726 t EURUSD,H1: uninit neden 0

2020.04.21 23:27:35.726 t EURUSD,H1: 1.08685 1.087231.085271.08542020.04.21 18:00:001.08518 1.087021.084561.086842020.04.21 19:00:001.0843 1.085271.084291.085172020.04.21 20:00:001.08503 1.085061.08411.084292020.04.21 21:00:001.08535 1.08551.084972020 04.21 22:00:00

2020.04.21 23:27:35.726 t EURUSD,H1:

Zamana göre sıralayın.

2020.04.21 23:27:35.726 t EURUSD,H1: 1.08503 1.085061.08411.084292020.04.21 21:00:001.0843 1.085271.084291.085172020.04.21 20:00:001.08535 1.08551.084971.085022020.04.21 22:00:001.08518 1.087021.084561.086842020.04.21 19:00:001.08685 1.87231.0852020 04.21 18:00:00

2020.04.21 23:27:35.726 t EURUSD,H1:

Yüksek fiyata göre sıralayın.

2020.04.21 23:27:35.726 t EURUSD,H1: 1.08503 1.085061.08411.084292020.04.21 21:00:001.08535 1.08551.084971.085022020.04.21 22:00:001.0843 1.085271.084291.085172020.04.21 20:00:001.08685 1.087231.085271.08542020.04.21 18:00:001.08518 1.087021.084562020 04.21 19:00:00

2020.04.21 23:27:35.726 t EURUSD,H1:

Açık fiyata göre sıralayın.

2020.04.21 23:27:35.726 t EURUSD,H1: 1.08685 1.087231.085271.08542020.04.21 18:00:001.08518 1.087021.084561.086842020.04.21 19:00:001.0843 1.085271.084291.085172020.04.21 20:00:001.08503 1.085061.08411.084292020.04.21 21:00:001.08535 1.08551.084972020 04.21 22:00:00

2020.04.21 23:27:35.726 t EURUSD,H1:

Sıralamasız çubuklar - alındığı gibi.

2020.04.21 23:27:35.726 t EURUSD,H1: başlatıldı

2020.04.21 23:27:34.279 Komut dosyası t EURUSD,H1: başarıyla yüklendi

MT4 yapı 1262

şu şekilde yazdırılır:

 string MqlRatesToStr( MqlRates &arr[])
{
   string result = "" ;
   for ( int i = 0 ; i < ArraySize (arr); ++i)
   {
      result += ( string )(arr[i].close) + " " + ( string )(arr[i].high) +( string )(arr[i].low) +( string )(arr[i].open) +( string )(arr[i].time);
   }
   return result;
}
 
Vladimir Pastushak :

Sağlanan kodda , sıralama alanının belirtilebilmesi için ana ArraySortStruct işlevini bir makroya geri sarmayı unuttum.
Ancak konunun yazarı inatla sessiz, görünüşe göre yalnız ihtiyacım var ...

 

algoritma:

1. Yapı = Dize. İlk döngü.

2. Dize dizisini sıralayın . İkinci döngü (karmaşık, kabarcık).

3. Dize = Yapı. Üçüncü döngü.

Neredeyse daha hızlı.

Sebeb olmak:

1. Yapılar sistemde dizeler olarak gösterilir, yalnızca hizalamayı (bayt bayt) dikkate almanız gerekir.

2. Dizeleri işleme hızı, diğer veri türlerini işleme hızından çok daha yüksektir.

3. Döngüde yalnızca iki diziyi karşılaştırma işlemi gerçekleştirilir. Alan değerlerinin karşılaştırılmasına gerek yoktur.

Bunu 90'ların başında Clarion'da yaptım. Uçtu.

Документация по MQL5: Операции с массивами / ArraySort
Документация по MQL5: Операции с массивами / ArraySort
  • www.mql5.com
//| Получение значений границ для тиковых объемов                    | //| Custom indicator initialization function                         | //| Custom indicator iteration function                              | //
 
Sergey Dzyublik :

Sağlanan kodda , sıralama alanının belirtilebilmesi için ana ArraySortStruct işlevini bir makroya geri sarmayı unuttum.
Ancak konunun yazarı inatla sessiz, görünüşe göre yalnız ihtiyacım var ...

Henüz bakmadım. Makrolardan anlamıyorum. Tam kod için minnettar olurum.
 
Алексей Тарабанов :

Bunu 90'ların başında Clarion'da yaptım. Uçtu.

göz yaşlarına! )))

1. yılın ilk dönemini ve algoritma ve programlamadaki ilk uygulama çiftlerini hatırladım .... Ne öğrettiklerini bile hatırlamıyorum, ilk başta Pascal gibi görünüyor, ANCAK terminal sınıflarında dersler bilgisayardaydı, 15-20 satırlık bir program derlemek ... ilk önce 2-3 dakika, daha sonra insanlar kodu toplu olarak yazdırdığında ve sözdizimi hatalarını ortadan kaldırdığında 20 dakikaya kadar

ikinci yarıyıldan itibaren 486'da okuyorlardı


uçtu! ))))


Not: Yanılmıyorsam EU-1035'ti .... uçtu!

 
Igor Makanu :

göz yaşlarına! )))

1. yılın ilk dönemini ve algoritma ve programlamadaki ilk uygulama çiftlerini hatırladım .... Ne öğrettiklerini bile hatırlamıyorum, ilk başta Pascal gibi görünüyor, ANCAK terminal sınıflarında dersler bilgisayardaydı, 15-20 satırlık bir program derlemek ... ilk önce 2-3 dakika, daha sonra insanlar kodu toplu olarak yazdırdığında ve sözdizimi hatalarını ortadan kaldırdığında 20 dakikaya kadar

ikinci yarıyıldan itibaren 486'da okuyorlardı


uçtu! ))))


Not: Yanılmıyorsam EU-1035'ti .... uçtu!

1976'da dünyanın ilk kişisel elektronik dijital bilgisayarına başladım. MIR (mühendislik çalışanları için makine), Ukrayna SSR Bilimler Akademisi'nin Kiev Sibernetik Enstitüsü'nün gelişimi olarak adlandırıldı. Minsk-32'den sonra, peki, o zaman - AB.