Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
En kolay yol:
statik tarihsaat tlastbar=0;
tarihsaat tnewbar=iTime(NULL,PERIOD_CURRENT,0);
bool isnewbar=tnewbar!=tlastbar;
tlastbar=tnewbar;
İşte benim son versiyonum .
Aslında biraz endişeliyim çünkü çok kolay.
Alain: Kutsamayı yayınlarsan iyi olur.
// -----------------------------------------------------------------------
if(MathMod(TimeCurrent(),PeriodSeconds()) < currPeriodProgress) iNewBar = true;bool NewBar(void)
{
bool iNewBar = false;
static double currPeriodProgress = 0;
currPeriodProgress = MathMod(TimeCurrent(),PeriodSeconds());
return(iNewBar);
}
// ------------------------------------------------------------------------
void OnTick()
{
if(NewBar()) PlaySound("tick.wav");
Köln'den selamlar
Willbur
Sorun şu ki, yalnızca OnTick()'ten kullanılabilir. Diğer olay işleyicilerinden TimeCurrent()'in istediğiniz sembolle ilişkili olup olmadığından asla emin olamazsınız.
Ve aynı hesaplamayı asla iki kez yapmamanızı öneririm:
Konu mql5 için bildiğim kadarıyla. Kodunuz yalnızca mql4'tür.
Bunları MQL4'te kullandım
Bununla ne demek istiyorsun? Bu sadece bir alıntıdır ve istenildiği yere dahil edilebilir, örneğin NewBar() işlevine. Ve imo, en basit ve en hızlı, güvenilir çözümdür. Bunu, tüm zaman dilimleri için ayrı ayrı CSymbolInfo sınıfının bir türevine dahil ettim ve mükemmel çalışıyor.
mql5'te iTime() işlevi yoktur.
MT5, gerçekten mi? Ama MQL5 sadece MT5 değil, en azından ben hep öyle anladım, çünkü MT4 MQL5 derleyicisini kullanıyor. Ama aslında bunu bilmiyordum, ağırlıklı olarak MT4 kullanıyorum. Neyse, kısıtlama hakkında bilgi için teşekkürler.
MQL4 iTime(), diğer MQL4 İşlevlerinin çoğunda olduğu gibi, tüccarlar için kolay ve anlaşılırdır.
MQL5 farklıdır, bunu kodlamak için bilgisayar bilimi diplomasına ihtiyacınız vardır ve çoğu insanı hayal kırıklığına uğratan da budur.
İşte geçen hafta MT4 EA'larımı MT5'e başlatmak ve dönüştürmek istediğimde karşılaştığım bir örnek ve bulduğum çözüm.
Hayır, mql4, MT4, mql5, MT5 içindir. Ortak bir işlev alt kümeleri vardır, ancak bu 2 farklı dildir.
Dil aynı ama ortak olmayan küçük bir işlev alt kümesine sahipler ;) Her neyse, muhtemelen bu tanımda haklısın. MQ bu noktada kafa karışıklığı yaratmak için çok şey yaptı.
MT5, gerçekten mi? Ama MQL5 sadece MT5 değil, en azından ben hep öyle anladım, çünkü MT4 MQL5 derleyicisini kullanıyor. Ama aslında bunu bilmiyordum, ağırlıklı olarak MT4 kullanıyorum. Neyse, kısıtlama hakkında bilgi için teşekkürler.