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

 
Seric29 :

Böyle başarısızlıklar var mı?

Bilmiyorum, hiç yaşamadım, en fazla Expert Advisor derlerken terminal donuyorsa - kodda bir hata varsa, bu oldu

burada, genel olarak, her şeyin nasıl "döndüğünü" anlamaya bağlıdır:

1. MT4 32-bit'tir, 3 GB'den büyük işletim sistemi ona bellek ayıramaz, eğer grafikteki çubuk sayısının ayarı yasak ise, o zaman bir uzmanla ticaret yapmak için tüm belleği zamanla tüketebilirsiniz. az sayıda çubuk yeterlidir, her şeyi 1000 çubuk (veya daha az) koyarım

2. PBX için ayrı bir terminal kurmanız ve oraya kurcalamamanız gerekir!

3. Çizelgelerden renklendirme yapmanıza gerek yok, uzman pek umursamıyor ama kaynakları yiyor, ikinci terminalde renklendirme (grafik nesneler, kullanıcı göstergeleri ) yapılabilir ve elleriniz kaşınıyorsa oraya dürtme yapılabilir.

IMHO, genel olarak, makul minimalizm ilkesi işe yarar ve "ona dokunmayın!"

 
Igor Makanu :

Bilmiyorum, hiç yaşamadım, en fazla Expert Advisor derlerken terminal donuyorsa - kodda bir hata varsa, bu oldu

burada, genel olarak, her şeyin nasıl "döndüğünü" anlamaya bağlıdır:

1. MT4 32-bit'tir, 3 GB'den büyük işletim sistemi ona bellek ayıramaz, eğer grafikteki çubuk sayısının ayarı yasak ise, o zaman bir uzmanla ticaret yapmak için tüm belleği zamanla tüketebilirsiniz. az sayıda çubuk yeterlidir, her şeyi 1000 çubuk (veya daha az) koyarım

2. PBX için ayrı bir terminal kurmanız ve oraya kurcalamamanız gerekir!

3. Çizelgelerden boyama yapmanıza gerek yok, uzmanın pek umurunda değil ama kaynakları yiyor, ikinci terminalde boyama yapabilir ve elleriniz kaşınıyorsa oraya dürtebilirsiniz.

IMHO, genel olarak, makul minimalizm ilkesi işe yarar ve "ona dokunmayın!"

Bende de yoktu, robotla ticaret yapmasam da sık sık takılıyor, sık sık derliyorum, keneler 5 dakikaya geldiğinde nasıl tepki verdiğini sık sık izliyorum böylece robot acı çekiyor, bazen terminal donuyor, kilitleniyor, ölüyor, ancak bu durumda robotun kendisinin doğru çalışması gerekiyor ve sizin yazdığınız gibi kilitlenmiyor. Ayrıca Deinit işlevi hataları döndürür, örneğin parametreler değişti, çalıştı, robot silindi, çalıştı, terminal kapandı, tekrar çalıştı. Ve böylece, aslında, yazılımın hatası nedeniyle robotun kendisi uçup gidiyorsa, o zaman robotun grafikte çalışıp çalışmadığını izleyecek bir program yazmaktan başka bir şey yapamazsınız, peki, yine, o programı kontrol etmeniz gerekiyor, soru elbette ilginç ve yapılabilecek tek şey kodu kullanmak ve programlamak için yetkin bir şekilde nasıl yazdığınız.

 
Seric29 :

kodu akıllıca kullanmak ve programlamak için böyle yazarsınız.

sorun genellikle EA'dan çağrılan göstergelerdedir, forumlarda o kadar harika göstergelerle karşılaşıyorsunuz ki EA'yı test etmek bile gerçekçi değil, genellikle bu tür göstergeler ya grafik nesneler kullanır (eğer varsa terminal yavaşlamaya başlayacaktır) grafikte bin nesne) veya her bir işarette tüm geçmişi yeniden hesaplayın - terminal takılacak ve her şey doğru yazılırsa, bence terminali dondurmak mümkün değil .... ile zor olabilir bağlantı kopuyor, terminal geçmişi senkronize etmeye başlayacak ve kullanılan tüm göstergeler tüm geçmişi yeniden hesaplayacak, ancak beşi 1000 bara mal olursa hiçbir şey olmayacak, MT4 çok verimli bir terminal, birkaç kez test ettim, MT5, hesaplamaları 4-5 kat daha yavaş yapar ve MT5, performans olarak C++ civarındadır.

onlar. geliştiriciler oldukça yüksek kaliteli bir terminal yaptılar ve mesele genellikle MT'de değil, onu kimin kullandığında)))

 
Seric29 :

Bende de yoktu, robotla ticaret yapmasam da sık sık takılıyor, sık sık derliyorum, keneler 5 dakikaya geldiğinde nasıl tepki verdiğini sık sık izliyorum böylece robot acı çekiyor, bazen terminal donuyor, kilitleniyor, ölüyor, ancak bu durumda robotun kendisinin doğru çalışması gerekiyor ve sizin yazdığınız gibi kilitlenmiyor. Ayrıca Deinit işlevi hataları döndürür, örneğin parametreler değişti, çalıştı, robot silindi, çalıştı, terminal kapandı, tekrar çalıştı. Ve böylece, aslında, yazılımın hatası nedeniyle robotun kendisi uçup gidiyorsa, o zaman robotun grafikte çalışıp çalışmadığını izleyecek bir program yazmaktan başka bir şey yapamazsınız, peki, yine, o programı kontrol etmeniz gerekiyor, soru elbette ilginç ve yapılabilecek tek şey kodu kullanmak ve programlamak için yetkin bir şekilde nasıl yazdığınız.

Teneke. Öldürmek affedilmez...

 
Seric29 :

Ve neden böyle hatalar yaşadınız ki, ayarlar yanlış gitti, ama robotun kendisi bir terminal arızası nedeniyle grafikten uçup gitti mi?

Evet, her şey öyleydi ve her şey öyleydi. Sadece balon yüklendiğinde, profili herkesle yükleyerek, ancak TS'ler tarafından robotlardan sonra setleri sırayla yüklemeyerek hızlı bir şekilde yanıt vermeniz gerekir. Evet, öyle görünüyor - çalışıyor, profili yüklediğinizde robotların tüm ayarlarıyla yükleniyor. Henüz kontrol etmedim.

Aynı isimli robot grafiğe yüklendiğinde - tekrar derlersiniz - giriş parametrelerinin değerleri kodda (ME) ayarlananlara uçmaz - Düğme akordeonunun sadece bilgi amaçlı olduğunu biliyorum.

Her ne kadar harici parametrelerde düzenlemeler yapıldığında, ME'deki kodu derledikten sonra terminalde yapılan ayarların orada kaybolduğu görülüyor.

 
Seric29 :

Kişi oldukça ilginç bir soru sormuş, bir arıza oluştuğunda tüm ayarlar kaybolmuş ve her şey nasıl geri yüklenmiş olsa da aslında bu hiçbir şekilde yapılamaz. Bu tür sonuçlara yol açacak bir arızayı nasıl simüle edebileceğiniz ve sonuçlarının ne olacağı, hangi ayarların yanlış gidebileceği ilginçtir. Böyle başarısızlıklar var mı?

Şimdi nasıl olduğunu bilmiyorum - eskiden ... taklit etmeyeceğim ... :-)

Her zaman her şeyi profilime kaydederim.

Şablonlar da var - ama uzun ve kasvetli...

 
Igor Makanu :

Bilmiyorum, hiç yaşamadım, en fazla Expert Advisor derlerken terminal donuyorsa - kodda bir hata varsa, bu oldu

burada, genel olarak, her şeyin nasıl "döndüğünü" anlamaya bağlıdır:

1. MT4 32-bit'tir, 3 GB'den büyük işletim sistemi ona bellek ayıramaz, eğer grafikteki çubuk sayısının ayarı yasak ise, o zaman bir uzmanla ticaret yapmak için tüm belleği zamanla tüketebilirsiniz. az sayıda çubuk yeterlidir, her şeyi 1000 çubuk (veya daha az) koyarım

2. PBX için ayrı bir terminal kurmanız ve oraya kurcalamamanız gerekir!

3. Çizelgelerden renklendirme yapmanıza gerek yok, uzman pek umursamıyor ama kaynakları yiyor, ikinci terminalde renklendirme (grafik nesneler, kullanıcı göstergeleri ) yapılabilir ve elleriniz kaşınıyorsa oraya dürtme yapılabilir.

IMHO, genel olarak, makul minimalizm ilkesi işe yarar ve "ona dokunmayın!"

evet ... vızıltıdan çok uzak ... :-)

Her şeyi savaş terminalinin ekranına yerleştirmek gerekir - bilgilerin hızlı bir şekilde izlenmesi ve karar verilmesi için Aksi takdirde, neden hepsi gerekli - bu MT 4 ve MT 5 !!! Tüm terminallerin fatihleri :-) Özellikle her şey gerçek ve çok zor olduğunda, burada yarım önlemler uygun değildir.

1,2,3 - genellikle saçma ... :-)

 
Roman Shiredchenko :

1,2,3 - genellikle saçma ... :-)

saçmalık değil, kullanıcıların ne sorduğunu biliyorum, ekranda bugünün, dünün, haftanın kârını gösterdiğinizden ve ayrıca sanal bir kâr alma çizgisi çizdiğinizden ve ayrıca grafikte aynı göstergelere sahip bir şablon çalıştırdığımdan emin olun. , o zaman benim için her şey yavaşlar !

geçti, ticaret için ihtiyaç duymadığı şeyi yaparak terminali nasıl şaşırtabileceğinizi hayal edebiliyorum.

;)

 

Hepinize iyi günler!

Beyler, söyleyin bana, sadece referans kitabına atıfta bulunmayın, orada açıkça tanımlanmadı ve örnekler olmadan, bazen şu girişi görüyorum:

void NameFunction (void); veya double NameFunction(double); değişken yok

nasıl çalışır? Hangi parametreler ve nereden geçirilir?

 

Symbol() ve _Symbol kullanmanın özellikleri nelerdir? Bunu veya bu Sembolü kullanmak ne zaman daha iyidir?

Mevcut enstrüman için sipariş olup olmadığını kontrol etmek için aşağıdaki kod doğru çalışacak mı:

      int ordersTotal= OrdersTotal ();
       bool isOrdersExist= false ;
       for ( int i= 0 ; i<ordersTotal; i++){
         if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== true ){
             if (OrderSymbol()== Symbol ()){
               isOrdersExist= true ;
               break ;
            }
         }
      }