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

 
Seric29 :

Sorun şu ki, şablonları dizileri kabul eden tüm işlevlere uyguluyorum ve şablon işlevlerinin dışa ve içe aktarılması mümkün değil, bu her tür için işlevleri çoğaltmak zorunda kalacak, mql boyutuyla aynı durum onları vermek istemiyor sadece böyle ve yine onları boyuta göre çoğaltmanız gerekiyor, bu bir tür aşırı yükleme oluyor, ancak ek argümanlar eklemenize gerek yok; yine de, bu aynı zamanda ekstra bir koddur,fonksiyon argümanlarını arttırmak için mql de kazanır' Verileri aynen bu şekilde geri verin, aşırı yükleme yapmak için fonksiyonları çoğaltmanız gerekiyor, ayrıca c++ tarafından renklerin ve tarihlerin nasıl işlendiği ile ilgili sorunu çözmedim, ayrıca c++ da stand yok -yalnızca diziler ve diğer veriler hakkında veri döndüren işlevler burada kendi işlevlerinizi yazmanız gerekir, hiçbir yere ulaşamayacağınız ve bunları yazamayacağınız açık, ancak bir yıl sürecek, kütüphaneler aramanız gerektiğinde kalibrasyonu da zorlaştıracak yazdırma işlevi ve oraya 20 parametre girin ve günler boyunca her şeyi manuel olarak sayın ve kitaplıkların varlığı Dosyaların doğruluğunu izlemek zorundayım, bilmediğim tuzaklardan bahsetmiyorum bile, sonunda, tüm bunları göz önünde bulundurarak, ya mql'nin tüm özelliklerini kullanarak sorunu çözmeye ya da daha sonra gereksiz kontroller yapmaya değer. kaydeder, ancak kod basit olacaktır. Bu yüzden buna değmediğini düşünüyorum, kendi dilimi yazmayı düşündüm ama sonra yine robotumun %15'ini yazdım ve her şeyi kalibre etmek ve mümkün olduğunca evrensel hale getirmek ve hızlı performans sağlamak için bir yıldan fazla zaman harcadım ve 3 yıl boyunca hesaplamalar. Sadece kendi dilimi yazacak kadar ömrüm yok. Bunun gibi bir şey.

Dilin harika!

Ama belki önce MQL'yi öğrenmelisin.

Ve sonra, olasılıklarının şimdi bile küçük olmadığını göreceksiniz.

Ve C ++ öğrenirseniz, programlamada hiç sorun yaşamayacaksınız.

Evet, C++ kodunuza baktım ve çok az şey bildiğinizi açıkça görebiliyorum.

 
Koldun Zloy :

Evet, C++ kodunuza baktım ve çok az şey bildiğinizi açıkça görebiliyorum.

4 yaşından itibaren programlamayı öğrenmek daha iyidir ve ben zaten 26 yaşındayım, havalı bir programcı olma olasılığı çok düşük, Elon Musk gibi insanları ve 9 yaşında programlamayı bilen diğerlerini hatırlayın, ben yapardım en azından ana görevi tamamla.

 

bir işlevi var

 ArrayCopy

Ancak belirli bir sütunun kopyalanmasına izin vermez. Sonraki fonksiyon

 ArrayInitialize

ve yine aynı saçmalık, sonra bir işlev var

 ArrayFill

ancak burada da bir sütun belirtemezsiniz. Kendinizinkini yazmanız gerekiyorsa, bu işlevlerin kullanımı nedir.

 
Seric29 :

4 yaşımdan itibaren daha iyi programlamayı öğrenin ve ben zaten 26 yaşındayım

oh ve zaboristoe, ne içiyorsun! ))))))

4 yaşından itibaren bir çocuğa programlamayı öğretemezsiniz, çünkü sadece oyuncakları yere atarak oynamak istemez, çocuk henüz okumayı öğrenmemiştir, saymayı zaten bilir. en fazla on (100'e kadar meraklılar!))))

26 yaşında öğrenebileceğin bir şey var mı? Evet, sorununuzu yazdığınız üç ay içinde okumaya ve okumaya başlasaydınız çoktan çözmüş olurdunuz, MQL forumu 1-2 saat içinde sorunuza cevap alabileceğiniz birkaç forumdan biri, gerçekten havalı! ama kullanmıyorsun ((... genel olarak, bu senin yaşam yolun. Onu buldum, senin sorunun için daha iyisini söyleyemezsin:

https://www.mql5.com/ru/forum/3457/page4494#comment_12804114

 
Seric29 :

4 yaşından itibaren programlamayı öğrenmek daha iyidir ve ben zaten 26 yaşındayım, havalı bir programcı olma olasılığı çok düşük, Elon Musk gibi insanları ve 9 yaşında programlamayı bilen diğerlerini hatırlayın, ben yapardım en azından ana görevi tamamla.

4'te, hatta 9'da başlamadım.

26'dan başlayarak havalı bir programcı olma olasılığı çok yüksektir.

 

Arkadaşlar size bir sorum var gülmeyin bu kod neden çalışmıyor

 #property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
#define Mkarr(q,w,e,r) switch (ArrayDimension(q)){ case 3 :q[w][e][r]= 15 ; break ; case 2 :q[w][e]= 15 ; break ;}
int Mas[ 7 ], //#else
    Mas2[ 2 ][ 2 ]={{ 3 , 8 },{ 4 , 17 }},
    Mas22[ 2 ][ 2 ]={{ 31 , 128 },{ 94 , 107 }},
    Mas3[ 2 ][ 2 ][ 2 ];

int OnInit ()
  { int Perem=ArrayDimension(Mas); 
   Mkarr(Mas2, 0 , 0 , 0 );
   return ( INIT_SUCCEEDED );
  }

Diziye yanlış bir erişim yazıyor, tüm case seçenekleri kontrol edilmediyse, denenmediyse ve hiçbir şey kontrol edilmezse bunu nasıl biliyor ve hata veriyorsa, derleme sırasında kodu atlamak mümkün mü yoksa bu işe yaramaz mı?

 
Seric29 :

Arkadaşlar size bir sorum var gülmeyin bu kod neden çalışmıyor

Diziye yanlış bir erişim yazıyor, tüm case seçenekleri kontrol edilmediyse, denenmediyse ve hiçbir şey kontrol edilmezse bunu nasıl biliyor ve hata veriyorsa, derleme sırasında kodu atlamak mümkün mü yoksa bu işe yaramaz mı?

komik değil ama ağlamak istiyorum

Nasıl kullanacağınızı bilmiyorsanız neden makro İkameler kullanıyorsunuz? makroyu genişletin (sadece kopyalayıp yapıştırın!) ve hatanın nerede olduğunu görmelisiniz

Not: ..... "Fareler ağladı, iğneledi ama kaktüsü kemirmeye devam etti" ((((

 
Igor Makanu :

komik değil ama ağlamak istiyorum

Nasıl kullanacağınızı bilmiyorsanız neden makro İkameler kullanıyorsunuz? makroyu genişletin (sadece kopyalayıp yapıştırın!) ve hatanın nerede olduğunu görmelisiniz

Not: ..... "Fareler ağladı, iğneledi ama kaktüsü kemirmeye devam etti" ((((

Bu kadar anlamıyorum makro herhangi bir elementi alıyor ve derleyicide işlendiğinde aynı elementin hem biri hem de diğeri olamayacağına dair bir koruma var, böyle düşüncelerim var. teorik olarak fikir doğru ama pratikte değil. Böyle bir fikri uygulamak mümkün mü?

 
Seric29 :

Bu kadar anlamıyorum makro herhangi bir elementi alıyor ve derleyicide işlendiğinde aynı elementin hem biri hem de diğeri olamayacağına dair bir koruma var, böyle düşüncelerim var. teorik olarak fikir doğru ama pratikte değil. Böyle bir fikri uygulamak mümkün mü?

bir kez daha ... makro ikamenizi ME'de (evet, bir not defterinde bile!) ellerinizle alın ve kullanmak yerine "çubuk" yapın, parantez içindeki tüm parametreleri kendi numaralarınızla değiştirin

Bunu daha basit bir şekilde nasıl açıklayacağımı bile bilmiyorum... peki, MQL yardımı yeterli değilse Wiki'yi okuyun

makro

C ön işlemcisi

 
Igor Makanu :

bir kez daha ... makro ikamenizi ME'de (evet, bir not defterinde bile!) ellerinizle alın ve kullanmak yerine "çubuk" yapın, parantez içindeki tüm parametreleri kendi numaralarınızla değiştirin

sizin için değiştirildi, işte makro ikamesi olmayan kod

 //+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
//#define Mkarr(q,w,e,r) switch(ArrayDimension(q)){case 3:q[w][e][r]=15;break;case 2:q[w][e]=15;break;}
int Mas[ 7 ], //#else
Mas2[ 2 ][ 2 ]={{ 3 , 8 },{ 4 , 17 }},
Mas22[ 2 ][ 2 ]={{ 31 , 128 },{ 94 , 107 }},
Mas3[ 2 ][ 2 ][ 2 ];
int OnInit ()
  {
   int Perem=ArrayDimension(Mas);
//   Mkarr(Mas2,0,0,0);
   switch (ArrayDimension(Mas2))
     {
       case 3 : Mas2 [ 0 ][ 0 ][ 0 ]= 15 ;
       break ;
       case 2 : Mas2 [ 0 ][ 0 ]= 15 ;
       break ;
     }
   return ( INIT_SUCCEEDED );
  }

C++ / MQL'nin sözdizimini ve temellerini anlayamıyorsanız, tek boyutla tanımlanmış dizileriniz var ve bunları farklı bir boyutla kullanmaya çalışıyorsanız neden çok boyutlu dizilerle çalışmak için bu kadar zaman harcadığınızı bilmiyorum. boyut, elbette yanılıyor olabilirim, ancak Python'da bile böyle bir numara çalışmamalı, IMHO