MQL4 Gerçek Zamanlı Saat (saniye saniye)

 

Anladığım kadarıyla Start() işlevi tık tık çalışıyor.

Bilgisayar saatinden gerçek zamanlı verileri kullanmanın ve her saniye güncellemenin bir yolu var mı? Tık tık değil de her saniye?

Eğer öyleyse lütfen bana biraz yardım edin.

Teşekkürler

 

açıklamak

 

MQL4 , TimeLocal()'ı kullanır ; TimeCurrent(), iTime bile kene başına kene dayalıdır....

Gerçekten istediğim şey, muhtemelen bilgisayar saatimi veya uzak bir sunucuyu kullanarak, her saniye güncellenecek gerçek zamanlı bir saati grafiğimde gösterebilmek.

 

TimeCurrent() kene tabanlı değildir.

Ancak başlatma işlevi kene tabanlıdır. Uyku ile kombinasyonlarda sonsuz bir döngü kullanabilirsiniz. avantajları ve çözümleri açıklayan burada mql4.com'da yayınlanan bir makale var.

Tüm mt4 kene odaklı olduğundan, zamana duyarlı mantık uygulamaktan hoşlanmıyorum. Geçmişte bu ikisini Özel Zaman Çerçevesi göstergelerimde birleştirdim. Bu sadece basit bir iş ama bir fikir edinebilirsiniz. Her saniye güncellenen bir saat istiyorsanız, o zaman benim işim sizin için işe yaramaz. https://www.mql5.com/en/code/10080

//z

 

Buradaki fikir, programınız olarak yalnızca Start() içindeki işlevleri çağırmakla kalmayıp, her saniye güncellenecek bir saat elde etmektir.

if ( TimeCurrent () > ( t + TimeInSeconds ))

açıklamanızdan; init() işlevinde bir süre döngüsü kullanabilirim ve sonra onu start() işlevinde çağırdığımda ne olacak; yine tık tık olacak!

 

Başlatma işleviniz için böyle bir şeye ihtiyacınız olacak. Döngü, ilk onay işaretinde yürütülür. bundan sonra kene bağımsız olacak

 while (true){
 updateWatch();
 Sleep ( 1000 );
} 
 

zzuegg; bu sonsuz bir döngü olacak ve metatrader göstergesini tek bir şey yapmakla sınırlayacaktır... saymak.

Bu nedenle, uyku işlevini , her Uykuya bir saniye eklemek için bir işlevden çağrılan TimeCurrenet ile birlikte kullanmayı seçerseniz ( 1000 ); bu program başka bir şey yapamaz.

Sadece sayılacak....böylece kendinizi tek bir işlevle sınırlamış olacaksınız.

 

ve evet metatrader sonsuz döngüleri sevmez; şimdi yaşadığım gibi çöküyor lol bir yerde mola vermeli :)

 

Tek bir işlevle sınırlı değilsiniz. Döngü içinde istediğiniz her şeyi yapabilirsiniz. 1 saniyelik yürütme süresini garanti etmek için bazı yeniden hesaplamalara ihtiyacınız olabilir. ama genel olarak işe yarıyor.

Göstergelerle hiç yapmadım ama EA'da işe yarıyor.

Başka bir seçenek de, 1 saniyelik aralıklarla terminalinize sahte keneler göndermek için harici bir program kullanmaktır. bununla, başlatma fonksiyonunun en az saniyede bir çağrılmasını garanti etmiş olursunuz. Özel Zaman Çerçevesi Mumlarındaki kodumla birlikte sonucunuzu almalısınız.

 
while ( !(IsTesting() || IsStopped ()) ){
    updateWatch();
    RefreshRates();
     if (...)  doTrading();
     Sleep ( 1000 );
} 


ve evet metatrader sonsuz döngüleri sevmez; şimdi yaşadığım gibi çöküyor lol bir yerde mola vermeli :)
Göstergelerde sonsuz döngü yok. Komut dosyaları ve EA'lar için, önce dahili bilgileri güncellerseniz sorun olmaz (yukarıdaki gibi).
 

MQL5 kullanın