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

 
Oleg :

Meslektaşlarım, lütfen bana mumun istenen hacmine ulaşıldığında sesin çalmasının neden durduğunu söyleyin.

Ses dosyası SOUNDS klasöründedir, bir uyarı ayarlandığında dosya normal şekilde çalar ve göstergede sessizlik olur.

Yoksa göstergeler için sesleri olan özel bir klasöre mi ihtiyacınız var?


/---- Göstergeyi hesaplamak için ana döngü

for(bar=limit; bar>=0 && !IsStopped(); bar--)
{
Aralık=(yüksek[bar]-düşük[bar])/_Point;
IndBuffer[bar]=Aralık;

if(Aralık<5)
{
if (önceki_hesaplanan > 0 && Bayrak==0)
{
bayrak=1;
}
}
if(Aralık>=Eşik){
clr=0;
if (prev_calculated > 0 && Flag==1 )
{
bayrak=0;

PlaySound("buzzer");


}
}

 for (bar=limit; bar>= 0 && ! IsStopped (); bar--)
{
  Range=(high[bar]-low[bar])/ _Point ;
  IndBuffer[bar]=Range;

   if (Range< 5 )
  {
     if (prev_calculated > 0 && Flag== 0 )
    {
      Flag= 1 ;
    }
  }

   if (Range>=Threshold) {
    clr= 0 ;
     if (prev_calculated > 0 && Flag== 1 )
    {
      Flag= 0 ;
       ResetLastError ();
       PlaySound ( "zummer" );
       Print ( __FUNCTION__ , " Error #" , GetLastError () );
    }
  }
}



Ve hangi hatayı verdiğini buraya yazın.

 
Иван :
Herkese iyi eğlenceler. Soru: MT4'te, test cihazında haçlarla (dolarsız çiftler) çalışırken, testin test edildiği hesap dolar cinsinden ise, test cihazı kapalı pozisyonların sonuçlarını nasıl hesaplar? Toplam pozisyonu dolara dönüştürmek için test cihazı, mevcut anda veya incelenen aralık anında dolar karşısında çaprazın temel para biriminin döviz kurunu alıyor mu? Şu anda bundan şiddetle şüpheleniyorum. Eğer öyleyse, aralık zamanında saymaya zorlamak mümkün mü?

Taras Slobodyanik :

her tik için MODE_TICKVALUE'nin kendisini hesaplayın.

Diyelim ki saydım. Ve test cihazı, eğri hesaplamasını değil de benim tarafımdan hesaplanan değeri "Sonuçlar" tablosunda görüntülemesini nasıl "isteyebilir"?
 
Mihail Matkovskij :

https://www.mql5.com/ru/forum/160683/page1208#comment_17279150 örneğe dikkatlice bakın. Orada bir şey bulamadınız mı?

İşte o fonksiyon:

Biraz daha dikkatli olmalısın!

Belki birbirimizi anlamadık veya soruyu tam olarak formüle etmedim, ama...MQL4 Reference ve MQL5 Reference'daki tüm fonksiyonların listesine dikkatlice baktım.

Hiçbirinin işlevi yok

searshValue( double & array2D[ 2 ][], const int _len, const int _index, const double _value)

Bulamadım. Verdiğiniz linkteki örneği inceledim. Bana attığın ve benim bilmediğim bir fonksiyonun olduğu kodu gördüm. Ancak sorumun cevabını bulamadım - bu işlev hangi dilden geliyor. Sonuçta, MQL4'ten olsaydı ve   MQL5, bana bu dillerin Referanslarındaki işlevler listesinde bulunacak gibi görünüyor.

Sonra bunun kullanıcı tanımlı bir fonksiyon olduğunu varsaydım. Ancak Kovalev, kullanıcı tanımlı fonksiyonun hesaplamalarının start() fonksiyonunun alt limitleri dışında yapıldığını söylüyor.
Ayrıca MT'de kod yazarken sadece MQL4 ve MQL5 değil, diğer dillerdeki işlevlerin de kullanılabileceğini okudum.

CONST tanımlayıcılarına sahip değişkenler, bu işlevin parametreleri olarak listelenir. Onlarla da henüz tanışmadım.   MQL4 ve aynı zamanda beni bir sersemliğe soktu.
Programlamadaki yeterlilik seviyenizin benimkinden çok farklı olduğunu anlıyorum. Bir şeyi yeni anlamaya başladım. Bu nedenle, beni katı bir şekilde yargılamamanızı ve eğer aptalsam ve sizin bakış açınızdan aptalca sorular soruyorsam beni olabildiğince küçümsemenizi rica ediyorum.Sizin için temel olan şeyleri açıklamanın sizin için çok külfetli olabileceğini anlıyorum. Bu nedenle, bana ihtiyacım olan bilgilere bağlantılar gönderirseniz veya neyi ve nerede okuyacağımı söylerseniz size minnettar olacağım.

Ve bir şey daha... Yeni bir Expert Advisor oluşturup bana gönderdiğiniz ilk kodu içine kopyaladım, kodu hatasız derledim. Üzerinde herhangi bir değişiklik yapmadım ... ve Test Cihazında Expert Advisor'ı çalıştırdıktan sonra Journal'da Print () işleviyle ilgili hiçbir kayıt olmamasına çok şaşırdım. Expert Advisor'da ise tekrar tekrar yürütülür.
Bilgi desteği ve benim için değerli bilgiler için tekrar teşekkür ederim.

 
ANDREY :

Belki birbirimizi yanlış anladık ya da soruyu tam olarak formüle etmedim ama....El Kitabındaki tüm fonksiyonların listesine dikkatlice baktım ...

Andrey, seni katı bir şekilde yargıladığımı sanma. Bu veya bu işlevin nereden geldiği belli değilse, üzerine sağ tıklayın ve "Tanıma git Alt + G" komutunu seçin. Ve bir şey bilmiyorsanız karmaşık yapmayın. Bu iyi.

Programlama nasıl öğrenilir. Bunu yapmak için, neden buna ihtiyacınız var sorusuna cevap vermelisiniz?... Ticaret robotları ve teknik analiz programları oluşturmak içinse, bunlar sadece MQL ile ilgili örnekler, dersler ve makalelerdir. Belki kitaplar bile. Ancak, MQL ile tanıştığımdan beri, kodu zaten oldukça iyi biliyordum ve herhangi bir kitap okumadım, ancak belgeleri okudum. Yeni başlayanlar için bir programın ne olduğunu anlamanızı tavsiye ederim. Bunu yapmak için MQL olay modelini inceleyerek başlayın: https://docs.mql4.com/en/basis/function/events . Bu temeldir. Eğer ustalaşırsanız, kolayca ilerleyebilirsiniz. Belki bu size yardımcı olacaktır: MQL5'e Giriş: basit bir Uzman Danışman ve gösterge yazma (aramayı kullandım). Daha fazla: Dil Temelleri . Özellikle: Bir işlevi çağırmak ve Parametreleri iletmek (sorularınız burada). Çalışma sırasında sorularınız varsa (ve soracaklar), Google aramasını veya YouTube'u kullanabilirsiniz. Veya buradan soru sorun. İdeal olarak, C++ öğrenmek iyi olurdu. Google'da sözdizimi hakkında herhangi bir şey ararsanız, " C++" da ekleyebilirsiniz.

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
В языке MQL4 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL4: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Mihail Matkovskij :

Andrey, seni katı bir şekilde yargıladığımı sanma. Bu veya bu işlevin nereden geldiği belli değilse, üzerine sağ tıklayın ve "Tanıma git Alt + G" komutunu seçin. Ve bir şey bilmiyorsanız karmaşık yapmayın. Bu iyi.

Programlama nasıl öğrenilir. Bunu yapmak için, neden buna ihtiyacınız var sorusuna cevap vermelisiniz?... Ticaret robotları ve teknik analiz programları oluşturmak içinse, bunlar sadece MQL ile ilgili örnekler, dersler ve makalelerdir. Belki kitaplar bile. Ancak, MQL ile tanıştığımdan beri, kodu zaten oldukça iyi biliyordum ve herhangi bir kitap okumadım, ancak belgeleri okudum. Yeni başlayanlar için bir programın ne olduğunu anlamanızı tavsiye ederim. Bunu yapmak için MQL olay modelini inceleyerek başlayın: https://docs.mql4.com/en/basis/function/events . Bu temeldir. Eğer ustalaşırsanız, kolayca ilerleyebilirsiniz. Belki bu size yardımcı olacaktır: MQL5'e Giriş: basit bir Uzman Danışman ve gösterge yazma (aramayı kullandım). Daha fazla: Dil Temelleri . Özellikle: Bir işlevi çağırma ve Parametreleri iletme (sorularınız burada). Çalışma sırasında sorularınız varsa (ve soracaklar), Google aramasını veya YouTube'u kullanabilirsiniz. Veya buradan soru sorun. İdeal olarak, C++ öğrenmek iyi olurdu. Google'da sözdizimi hakkında herhangi bir şey ararsanız, " C++" da ekleyebilirsiniz.

Tavsiye ve ipuçları için teşekkürler. Benim için her şey, birkaç yıl önce, yapacak hiçbir şeyim olmadığından ve bir yere bedava para ekleme arzusundan, Moskova'daki Teletrade'de ücretsiz bir forex kursu almamla başladı. Ancak kursu tamamladıktan sonra, sistematik olmayan ticaretin garantili bir para kaybı olduğu fikri hemen kafama yerleşti ... tek galibiyetlere rağmen. Bu yüzden hemen kesin bir karar verdim - bir sistemim olana kadar kendi paramla oynamama ve kursları bitirmeden önce bilgisayarım bile yoktu. Ve genel olarak matematiksel olmayan bir zihniyete sahip bir insanım. Ve beni bilgisayar almaya iten de derslerdi ve bir bilgisayar aldığım andan itibaren derslerde MT-4 yüklendiğim andan itibaren kendimi bilgisayardan ve MT'den bu güne kadar koparamadım. Kendimi yandan izliyorum ve bu dayanılmaz ve mantıksız özlemin nereden geldiğini anlayamıyorum. Sadece para için olduğunu düşünmüyorum. Ben parayla iyiyim. Çalışmıyorum ve tüm zamanım boş. Ve onu meşgul edecek bir şeye ihtiyacım var, böylece çok uzun sürmez. Kendimi genel olarak forex çalışmasına ve şimdi programlamaya daldığımda fark ettim - zaman fark edilmeden ve hızlı bir şekilde uçuyor.Böylece, kursları tamamladıktan sonra bilgisayarda uzun süre ustalaştım ve aynı zamanda MT'deki tablolara baktım ve denedim fiyatın nasıl ve neden bir yönde hareket ettiğini anlamak için. Programın beni büyülediğini ve beynimde güçlü bir baskın yarattığını söyleyebiliriz. Bilgisayarın, internetin ve forex'in yapısını anlamada ilerledikçe, algoritmik ticareti öğrendim ve okumaya karar verdim. Ayrıca beni o kadar sürükledi ki Kovalev'in ders kitabından biraz kodlamayı bile öğrendim. Ve ders kitabından ne kadar çok malzeme anlarsam ve kodlama yaparken uygulamaya çalışırsam, kodlamaya çalıştığım o kadar farklı düşünceler aklıma geldi. Ancak birkaç ay önce, beklenmedik bir şekilde ve tesadüfen, EURO-DOLLAR ve Pound-DOLLAR çiftinde çok açık bir şekilde tezahür eden bir model gördüm. Bu kalıbı kodlamayı başardım. Ve Expert Advisor bu kod ile 2008'den bu yana test cihazında ve bugüne kadar benim için kabul edilebilir düşüşlerle sürekli yükselen bir denge tablosu çiziyor. Bu, MQL4'te programlama çalışmasına daha da büyük bir hevesle dalmam için ek ve güçlü bir teşvik oldu. Şimdiye kadar, MQL5 çalışmaya başlamak için henüz yeterince ustalaşmadım.

Ve bağlantılar için ve bana doğru yolu gösterdiğiniz için tekrar teşekkür ederim.

bu bilanço

Bu programı nasıl daha optimal hale getirebileceğime dair düşüncelerim var. Ancak şu ana kadar tüm bu düşünceleri kodlamak için yeterli deneyim yok.

 
ANDREY :

MQL4'ü öğrenip MQL5'e geçtiğinizde sizi daha da içine çeker... :)

 
Mihail Matkovskij :

MQL4'ü öğrenip MQL5'e geçtiğinizde sizi daha da içine çeker... :)

Bakalım bu ne kadar hızlı olacak...

 
Mihail Matkovskij :

Bu veya bu işlevin nereden geldiği belli değilse, üzerine sağ tıklayın ve "Alt + G tanımına git" komutunu seçin. Ve bir şey bilmiyorsanız karmaşık yapmayın. Bu iyi.

Bu benim için değerli bir menü öğesi. Bunu ve işlevselliğini sizden öğrendiğimde çok mutlu oldum. Ama nedense bu öğe benim için çalışmıyor. Farklı seçenekler denedim.

Fonksiyonun üzerine geldi (parantezlerin önündeki yerine) ve farenin sağ tuşuna bastı. Bağlam menüsünde "Tanıma Git Alt+G" menüsü aktiftir. Üzerine tıklıyorum ama hiçbir şey olmuyor. İngilizce düzende ve büyük harfle Alt + G tuşlarına basıyorum - hiçbir şey olmuyor.

Tıkladıktan sonra Dizine veya daha doğrusu sağ tıkladığım işlevin tanımlandığı yere aktarılmam gerektiğini doğru anlıyor muyum?
MT-4 yapı 1260'ım var
Meta Düzenleyici Yardımını okudum ama bu özellik hakkında hiçbir şey bulamadım. Ve bu eşya benim için çok değerli. Belki MetaEditor'daki bazı ayarlar eksiktir?
Bu öğenin neden benim için işe yaramadığına dair düşüncelerinizi paylaşırsanız minnettar olurum.

Bu benim MetaEditor'umun araç çubuğu. Birçok düğme aktif değil. Bu düğmelerden biri olabilir mi?


 
ANDREY :

Tavsiye ve ipuçları için teşekkürler. Benim için her şey, birkaç yıl önce, yapacak hiçbir şeyim olmadığından ve bir yere bedava para ekleme arzusundan, Moskova'daki Teletrade'de ücretsiz bir forex kursu almamla başladı. Ancak kursu tamamladıktan sonra, sistematik olmayan ticaretin garantili bir para kaybı olduğu fikri hemen kafama yerleşti ... tek galibiyetlere rağmen. Bu yüzden hemen kesin bir karar verdim - bir sistemim olana kadar kendi paramla oynamama ve kursları bitirmeden önce bilgisayarım bile yoktu. Ve genel olarak matematiksel olmayan bir zihniyete sahip bir insanım . Ve beni bilgisayar almaya iten de derslerdi ve bir bilgisayar aldığım andan itibaren derslerde MT-4 yüklendiğim andan itibaren kendimi bilgisayardan ve MT'den bu güne kadar koparamadım. Kendimi yandan izliyorum ve bu dayanılmaz ve mantıksız özlemin nereden geldiğini anlayamıyorum. Bunun sadece para için olduğunu düşünmüyorum. Ben parayla iyiyim. Çalışmıyorum ve tüm zamanım boş. Ve onu meşgul edecek bir şeye ihtiyacım var, böylece çok uzun sürmez. Kendimi genel olarak forex çalışmasına ve şimdi programlamaya daldığımda fark ettim - zaman fark edilmeden ve hızlı bir şekilde uçuyor.Böylece, kursları tamamladıktan sonra bilgisayarda uzun süre ustalaştım ve aynı zamanda MT'deki tablolara baktım ve denedim fiyatın nasıl ve neden bir yönde hareket ettiğini anlamak için. Programın beni büyülediğini ve beynimde güçlü bir baskın yarattığını söyleyebiliriz. Bilgisayarın, internetin ve forex'in yapısını anlamada ilerledikçe, algoritmik ticareti öğrendim ve okumaya karar verdim. Ayrıca beni o kadar sürükledi ki Kovalev'in ders kitabından biraz kodlamayı bile öğrendim. Ve ders kitabından ne kadar çok malzeme anladıysam ve kodlama yaparken uygulamaya çalıştımsa, kodlamaya çalıştığım o kadar farklı düşünceler geldi aklıma. Ancak birkaç ay önce, beklenmedik bir şekilde ve tesadüfen, EURO-DOLLAR ve Pound-DOLLAR çiftinde çok açık bir şekilde tezahür eden bir model gördüm. Bu kalıbı kodlamayı başardım. Ve Expert Advisor bu kod ile 2008'den bu yana test cihazında ve bugüne kadar benim için kabul edilebilir düşüşlerle sürekli yükselen bir denge tablosu çiziyor. Bu, MQL4'te programlama çalışmasına daha da büyük bir hevesle dalmam için ek ve güçlü bir teşvik oldu. Şimdiye kadar, MQL5 çalışmaya başlamak için henüz yeterince ustalaşmadım.

Ve bağlantılar için ve bana doğru yolu gösterdiğiniz için tekrar teşekkür ederim.

bu bilanço

Bu programı nasıl daha optimal hale getirebileceğime dair düşüncelerim var. Ancak şu ana kadar tüm bu düşünceleri kodlamak için yeterli deneyim yok.

Bir programcı için en önemli şey, bir problem belirleyebilmek ve onu çözmenin yollarını bulabilmektir. Ve matematiksel zihniyeti belirleyen de budur. Zihniyetinizi yeniden oluşturmayı başarırsanız... Tanrı sizi korusun.

Ve eğer mql4'te yazmaya çalışıyorsanız ve oradaki dil benzerliklerini bulmak için sürekli olarak mql5 belgelerine bakacaksanız, o zaman mql4 ile uğraşmışsanız, mql5 ile zaten uğraşmış olduğunuzu düşünün. Diller o kadar benzerdir ki, farklılıkları sıralamak benzerlikleri sıralamaktan daha kolaydır.

Kovalev'in ders kitabı o kadar uzun zaman önce yazılmıştır ki, çoğu durumda, bir şey yazmadan önce, ders kitabı örneklerinde kullanılanların bir süre işe yarayacak olmasına rağmen, modern yöntemler bulmanız gerekir.

Bu makale yalnızca mql5'e geçmek için değil, aynı zamanda Sergey Kovalev tarafından açıklanan mql4 ile modern mql4 arasındaki farkı anlamak için de çok yardımcı olabilir.
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
Alexey Viktorov :

Bir programcı için en önemli şey, bir problem belirleyebilmek ve onu çözmenin yollarını bulabilmektir. Ve matematiksel zihniyeti belirleyen de budur. Zihniyetinizi yeniden oluşturmayı başarırsanız... Tanrı sizi korusun.

Ve eğer mql4'te yazmaya çalışıyorsanız ve oradaki dil benzerliklerini bulmak için sürekli olarak mql5 belgelerine bakacaksanız, o zaman mql4 ile uğraşmışsanız, mql5 ile zaten uğraşmış olduğunuzu düşünün. Diller o kadar benzerdir ki, farklılıkları sıralamak benzerlikleri sıralamaktan daha kolaydır.

Kovalev'in ders kitabı o kadar uzun zaman önce yazılmıştır ki, çoğu durumda, bir şey yazmadan önce, ders kitabı örneklerinde kullanılanların bir süre işe yarayacak olmasına rağmen, modern yöntemler bulmanız gerekir.

Değerli bilgi için teşekkürler.

Matematiksel zihniyet hakkında. Sıfırdan olduğum için .... çok uzun süre de olsa .... Kovalev'in ders kitabında bir dereceye kadar ustalaştım ve hatta hatasız derlenen ilkel kodların nasıl yazılacağını ve hatta "kase" ye benzer bir şey kodladığını bile öğrendim. .... bu, zihniyetimin ihtiyacım olan yönde değiştiği anlamına geliyor ..... bana öyle geliyor.
Lütfen zor değilse söyleyin... MQL5 işlevleri MetaEditor 4'te yürütülüyor mu?

teşekkürler

Neden: