Mt4 End desteği. - sayfa 31

 
Vladimir Pastushak :

4 döngü harika değil, değil mi? piyasadaki 600 karakterde her dakika izle terminal ölecek ....

Neden bahsediyorsun? Zamanlayıcıda döngü dakikada 1 kez gerçekleştirilir. Hiçbir şey değil.

Ve kullanıcı istediği zaman New_bar() işlevine erişir.

 
Alexey Viktorov :
Kod yorumuna gelince: Peki programda sadece cari dönemin ve sadece bir sembolün açılışını belirlemek gerekirse? Tüm bu yapı tüm döngüleri bükecek mi? mantıksız.

Kodu hiç anlamadım.

Sembollerle yeni bir çubuğun olayları, dakikada bir döngüde sabitlenir. Otomatik olarak. Geçerli çubuk sayısı dizide yazılana eşit değilse, o zaman New_bar_Events[][] dizisinde yeni çubuk olay bayrağını ayarlayın.

 

Alexey Viktorov :


not; Ve neden bir milisaniye zamanlayıcı çalıştırıyorsunuz? Bir saniye yeterli değil mi?

Ayrıca saniye ayarlayabilirsiniz. Ardından "Frequency_timer = 1000" yazmanız gerekiyor.

 

Yüklendi, kontrol edildi, çalışmıyor

 //+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   if (Новый_бар( Symbol (), PERIOD_M1 )) Print ( "M1 = " , Time [ 0 ]);
   if (Новый_бар( "EURUSD" , PERIOD_M5 )) Print ( "M5 = " , Time [ 0 ]);
  }
her zaman false verir
 
Vladimir Pastushak :

4 döngü harika değil, değil mi? Market saatinde 600 karakter ile terminal her dakika ölecek....

Merak ediyorum, gerçekten bu kadar değerli olan var mı?

Şimdi 16 tane var - ve şimdiden düşünüyorum, çok fazla iş yükü değil mi?

Doğru, minimum M15 zaman dilimim var ... Ama yine de terminaldeki yükün ne zaman kritik olmaya başladığını merak ediyorum?

 
Реter Konow :

Neden bahsediyorsun? Zamanlayıcıda döngü dakikada 1 kez gerçekleştirilir. Hiçbir şey değil.

Ve kullanıcı istediği zaman New_bar() işlevine erişir.


"Yeni çubuk" işlevi genellikle her tıklamada yürütülür... Her tıklamada bu çağrı, kaynakları korumak için yapılır. İşlevinizin kaynakları nasıl "koruduğunu" anlayın, onları yok eder.

 
George Merts :
... Ama yine de terminaldeki yük kritik olmaya başladığında merak ediyorum?

işlemci dizlerinin üzerine çöktüğünde ve yükselemediğinde.

Samimi olarak.

 
Реter Konow :

Kodu tamamen yanlış anladım.

Sembollerle yeni bir çubuğun olayları, dakikada bir döngüde sabitlenir. Otomatik olarak. Geçerli çubuk sayısı dizide yazılana eşit değilse, o zaman New_bar_Events[][] dizisinde yeni çubuk olay bayrağını ayarlayın.

OOP kullanmanın başka bir örneğini daha iyi tartışalım.

OOP kullanılabilirliğinin ilkel bir örneğini buldum. İşte bir diziyi belirtilen bir değerle doldurmak için bir fonksiyon. Dizinin türüne bağlı olarak sekiz çeşidi vardır.

Bir parametre setini, sonra bir diğerini, sonra üçüncüsünü iletmeniz gereken bir fonksiyon yazmanız gerektiğini hayal edin... Algoritmik yaklaşımla, N farklı fonksiyon ismi alırsınız. Sorun değil gibi görünüyor, ArrayInitialize Int() A rrayInitializeDouble() ve benzeri gibi 8 yazabilirsiniz. Ama sonuçta, bir dizinin türünü düşünmeden her durumda bir işlevi basitçe uygulamak ne kadar güzel ve oraya hangi diziyi koyduğunuzu karıştırmak ne kadar güvenli ...


Документация по MQL5: Операции с массивами / ArrayInitialize
Документация по MQL5: Операции с массивами / ArrayInitialize
  • www.mql5.com
Операции с массивами / ArrayInitialize - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko :

Yüklendi, kontrol edildi, çalışmıyor

her zaman false verir

1. EA'yı M1'de çalıştırın.

2. Mevcut bar tamamen bitene kadar beklemeniz gerekir. İlk çubukta bir olay sabitlenmez. Bilerek yaptı. Ardından fonksiyona gönderdiğiniz zaman aralığının önerdiği kadar beklemeniz gerekiyor.

Sadece bir dakika denedim ve işe yaradı.

 
Dmitry Fedoseev :

"Yeni çubuk" işlevi genellikle her tıklamada yürütülür... Her tıklamada bu çağrı, kaynakları korumak için yapılır. İşlevinizin kaynakları nasıl "koruduğunu" anlayın, onları yok eder.

Okumayı unuttuğunuz kodları görebilirsiniz. )) Onları nerede yiyor?