MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1428

 
ANDREY :

Genel fikri anladım ... bana göründüğü gibi. Bahşiş için teşekkürler. Zor değilse, $ dizisi[] dizisinin adından ve $ var değerinden önce dolar işaretinin ne anlama geldiğini söyleyin

Nedense bana öyle geliyor ki bu mql4'ten değil.

evet bu mql'den değil ama kaynak tüketiminin anlamı aynı

 
Aleksei Stepanenko :
Sizin durumunuzda, ana sorunun cevabı ilginç: Neden her dakikayı sıralamak gerekiyor? Fikrinizi daha ekonomik bir şekilde nasıl gerçekleştirebilirsiniz?

Gönderdiğim kod, çözemediğim bir problemin sadece bir örneği. Ve gerçek kodda, boyutu 20 ila 30 öğe arasında değişen bir sütundaki her bir işarette sıralama yapılması gerekecektir. Dört çekirdekli bir işlemcim var ve bu nedenle test ederken henüz herhangi bir gecikme hissetmiyorum. Ayrıca, gerçek kod çok büyük değil. Ancak fikrimi henüz bir kod biçiminde tam olarak sunmadım. Tamamen kodladığımda, performans açısından nasıl geliştireceğimi zaten düşüneceğim.

Mql'de bir döngüdeki 1000 değeri sıralamanın 1000 dizi öğesini veya dizilerle diğer bazı işlemleri sıralamaktan daha az zaman aldığını doğru anladım mı? Bu arada, lütfen söyle bana..... ama genel olarak, mql4'teki hangi işlemler çok zaman alır?

yardım için teşekkürler

 
Vitaly Muzichenko :

evet bu mql'den değil ama kaynak tüketiminin anlamı aynı

Bu hangi dildir ve bu dilin bazı yapılarının mql'de kullanılabileceğini doğru anlıyor muyum? Bu bilgilerin ileride işime yarayacağını düşünüyorum.
Yardım için teşekkürler.

 
ANDREY :

Bu hangi dildir ve bu dilin bazı yapılarının mql'de kullanılabileceğini doğru anlıyor muyum? Bu bilgilerin ileride işime yarayacağını düşünüyorum.
Yardım için teşekkürler.

Bu php, ama bence bakmana gerek yok, bu forumda yeterince mql cevabı var.

 
Vitaly Muzichenko :

Bu php, ama bence bakmana gerek yok, bu forumda yeterince mql cevabı var.

Anladım. Teşekkür ederim.

 
ANDREY :

Anladım. Teşekkür ederim.

Mantığı, çıktı olarak ne elde etmek istediğinizi doğru düşünmeniz ve ancak bundan sonra yazmaya başlamanız gerekir. Her tikte sayılması gerekmeyen, ancak durum değiştiğinde sayılması gereken pek çok şey vardır.

Bunu yapmak için her tikte ihtiyaç duymadan yapmak yerine, sadece durumdaki değişikliği izlemek ve sonrasında ağır hesaplamalar yapmak yeterlidir .

 
Vitaly Muzichenko :

Mantığı, çıktı olarak ne elde etmek istediğinizi doğru düşünmeniz ve ancak bundan sonra yazmaya başlamanız gerekir. Her tikte sayılması gerekmeyen, ancak durum değiştiğinde sayılması gereken pek çok şey vardır.

Bunu yapmak için her tikte ihtiyaç duymadan yapmak yerine, sadece durumdaki değişikliği izlemek ve sonrasında ağır hesaplamalar yapmak yeterlidir .

Mantığı çoktan düşündüm ve çıktıda ne elde etmek istediğimi açıkça anladım. Mql4 (ve biraz Mql5) zaten o kadar çok anlamaya başladı ki, El Kitabında yazılanlardan ihtiyacım olanın çoğunu (hepsini değil) kendi başıma anlıyorum. Ve en önemlisi bu forumda bana anlatılan hemen hemen her şeyi anlıyorum.Şimdi fikrimi kodlamaya çalışıyorum. Ancak rastgele değil, kodun yürütülmesi minimum zaman alacak şekilde, çünkü onu birçok araç üzerinde ve uzun zaman dilimlerinde test etmem gerekecek. Ve genel olarak .... Prensipte tasarruf etmeyi severim :-). Yani şimdi birçok yönden deneme yanılma yoluyla (çok az kodlama tecrübem var) fikrimi en iyi şekilde kodlamaya çalışıyorum ve aynı zamanda gelecekteki girişimler için yeni ve faydalı bir şeyler öğreniyorum.

 
ANDREY :

Ancak gelişigüzel değil, ancak kodun yürütülmesi minimum zaman alacak şekilde

Öyleyse bana sıralamanın neden gerekli olduğunu söyleyin, belki başka bir uygulama fikrini ortaya atalım.

 
Aleksei Stepanenko :

Öyleyse bana sıralamanın neden gerekli olduğunu söyleyin, belki başka bir uygulama fikrini ortaya atalım.

Yardım için teşekkürler. İlgimi çekti ..... 1-2 gün içinde aklıma (diğer açılardan sıralama ile ilgili olmayan) gerçek kodun bir kısmını sıralama ile getirmeyi düşünüyorum ve daha sonra fikrini öğrenmek için buraya göndereceğim. yüzünüzde bir profesyonel.

Ayrıca Maxim Kuznetsov'un bu gönderide bana verdiği bilgilerle ilgili bir sorum var Bana göre o burada senden çok daha az sıklıkta bulunuyor, bu yüzden bana onun kodu hakkında bir şeyler açıklarsan minnettar olurum.

void Convert_7x2_2x7 (const double &src[7][2],double &dst[2][7]) {

for(int i=0;i<7;i++)

for(int j=0;j<2;j++) {

dst[j][i]=src[i][j];

}

}

Dikkatlice ve uzun süre inceledim ve aklıma bu geldi...

1.Bu özel bir işlevdir

2. Yukarıda olmayan kodda ona atıfta bulunmak. Void OnTick() içindeki ana kodda ima edilir.

3.Bu kodda sadece dizi indeksleri değiştirilir. Ve dizi elemanlarının değerlerine ne olur, sadece tahmin edebilirim.

Bunu anlamıyorum...

1. Bu fonksiyonun son olarak yürütülmesinin bir sonucu olarak, dst[j][i], dst[7][2] dizinlerinin yeni değerlerini alacaksa, bunun için döngüleri döndürmek neden gerekliydi? ? Bu dizin değerlerini dst[j][i]'ye hemen ve açıkça atamak mümkün değil miydi?

2. Doğru anladım, bu koddaki indekslerin değerlerini değiştirirseniz, dizi elemanlarının istenen değerleri otomatik olarak gerekli yeni hücrelere kendiliğinden gidecek mi?

3. Bu özel işleve yapılan çağrının nasıl göründüğünü yazarsanız minnettar olurum.

Diziler konusu benim için nispeten yeni ve bu bilgi şu anki kodum için geçerli olmasa da, gelecekte bana faydalı olacağına eminim. Ve doğam gereği, gelecek için rezerv yapmayı gerçekten seviyorum. :-)
Yardım için teşekkürler.

 

hayır profesyonellikten uzak

 double LoY[ 31 ][ 2 ], Mirror[ 2 ][ 31 ];

//вызывается так:
ConvertArray(LoY,Mirror);

//все значения строк из массива LoY запишутся в столбцы Mirror,
//условно сказать, массив повернётся
void ConvertArray( const double &src[ 31 ][ 2 ], double &dst[ 2 ][ 31 ])
   {
   for ( int i= 0 ; i< 31 ; i++) for ( int j= 0 ; j< 2 ; j++) dst[j][i]=src[i][j];
   }

Neden: