zaman damgalarında milisaniye sağlayan yeni mql4 ....

 

Şu anda, mql4, gelen keneler için yalnızca en yakın saniyeye kadar zaman sağlayabilir. Aşağıdaki işlevi kullanıyoruz:

MarketInfo(Symbol(), MODE_TIME)

1) Platforma gelen tik verileri için milisaniye zaman damgası sağlayabilecek veya milisaniyeyi belirleyebilecek farklı bir fonksiyon var mı?

2) mql5 fonksiyonlarını birleştiren yeni mql4, gelen tikler için milisaniye (veya saniye altı) zaman damgası talep edebilecek veya alabilecek mi?

Peki mt4 (ve mt5) platformunun 'aynı anda' gelen onay işaretlerini nasıl düzgün bir şekilde ayırt etmesi gerekiyor?

 
4evermaat :

Şu anda, mql4, gelen keneler için yalnızca en yakın saniyeye kadar zaman sağlayabilir. Aşağıdaki işlevi kullanıyoruz:

MarketInfo(Symbol(), MODE_TIME)

1) Platforma gelen tik verileri için milisaniye zaman damgası sağlayabilecek veya milisaniyeyi belirleyebilecek farklı bir fonksiyon var mı?

2) mql5 fonksiyonlarını birleştiren yeni mql4, gelen tikler için milisaniye (veya saniye altı) zaman damgası talep edebilecek veya alabilecek mi?

Peki mt4 (ve mt5) platformunun 'aynı anda' gelen onay işaretlerini nasıl düzgün bir şekilde ayırt etmesi gerekiyor?

1) GetTickCount(), Canlı çalışmalıdır. Tarihsel veriler üzerinde anlamsız.

2) mt5_data bile milisaniye cinsinden kaydedilmez. Ancak, no_problem Live.

3) Bununla nereye varacağınızı anlamıyorum. Milisaniye cinsinden aynı zamansa, milisaniyeye sahip olmak yardımcı olmaz. Milisaniye cinsinden farklı zamanlar ise GetTickCount() yardımcı olabilir. Kodunuzun geçerli onay işaretini bir milisaniyeden daha kısa sürede işlemesi anlamında yardımcı olun. Her şeyin ne kadar önemli olduğu, neyi başarmaya çalıştığınıza bağlıdır... sanırım.

 

En az iki seçeneğiniz var.

1. Onayları, 16 ms hassasiyete sahip MQL'nin GetTickCount() ile ayırt edin.

2. Kernell32 .dll'den GetLocalTime ()'ı kullanarak nanosaniye hassasiyetinde PC zamanına erişin (bu, linux'taki öykünücülerle çalışmaz, yine de 16 ms hassasiyet döndürürler).

 

4evermaat: Bence keneler Hacim ile ayırt edilir. Broker tarafından her yeni bir onay işareti gönderildiğinde, Hacim bir artacaktır. Örneğin, bir M1 grafiğine bakıyorsanız, belirli bir çubuğun hacmi, o dakika içinde kaç tik gönderildiğini gösterir.

Aslında dün zamanı milisaniyelerle kaydeden bir fonksiyon yapmaya çalıştım. TimeCurrent() ve GetTickCount() kullandı. Matematiksel olarak doğruydu ama GetTickCount() yeterince doğru değil. Olay sürelerini son saniyeye yuvarlamanın (yani yalnızca TimeCurrent() kullanarak) işlevimden daha küçük hatalara sahip olduğunu buldum... :/

Başka bir gün tekrar deneyeceğim ama görebildiğim kadarıyla, bir saniye içinde doğruluğa ihtiyacınız varsa GetTickCount()'a güvenemezsiniz.

Belki C++ uzmanları GetTickCount()'un daha doğru eşdeğerlerine erişebilir..?

 
Ovo :

En az iki seçeneğiniz var.

1. Onayları, 16 ms hassasiyete sahip MQL'nin GetTickCount() ile ayırt edin.

2. Kernell32.dll'den GetLocalTime() kullanarak nanosaniye hassasiyetinde PC zamanına erişin (bu, linux'taki öykünücülerle çalışmaz, yine de 16 ms hassasiyet döndürürler).


1) Testlerime göre GetTickCount() öğesinin 16ms hassasiyete sahip olduğuna inanmıyorum. Doğru, 16ms aldığım küçük değer (0 dışında), ancak 16ms ile ilgili değerlerin en yakın 16ms'ye kesin olduğunu düşünmüyorum. :/

2) Ah bu harika bir fikir. Bunu bir deneyeceğim.

 
alladir :


1) Testlerime göre GetTickCount() öğesinin 16ms hassasiyete sahip olduğuna inanmıyorum. Doğru, 16ms aldığım küçük değer (0 dışında), ancak 16ms ile ilgili değerlerin en yakın 16ms'ye kesin olduğunu düşünmüyorum. :/

2) Ah bu harika bir fikir. Bunu bir deneyeceğim.


Üzgünüm, genellikle doğruluğu kesinlikle karıştırırım, hangisinin hangisi olduğundan bile emin değilim.
 
Ovo :

Üzgünüm, genellikle doğruluğu kesinlikle karıştırırım, hangisinin hangisi olduğundan bile emin değilim.

Ben de, tek bildiğim matematiksel olarak çalışması gereken bir formülüm olduğu ama gerçek hayatta çalışmadığı... bu yüzden GetTickCount()'u suçluyorum :)
 
alladir :

4evermaat: Bence keneler Hacim ile ayırt edilir. Broker tarafından her yeni bir onay işareti gönderildiğinde, Hacim bir artacaktır. Örneğin, bir M1 grafiğine bakıyorsanız, belirli bir çubuğun hacmi, o dakika içinde kaç tik gönderildiğini gösterir.


Bunu daha önce birçok kez gördüm ama bundan emin misin? Bunu birkaç kez ECN brokerimde kontrol ettim ve hacim her tikte oldukça farklı bir şekilde artıyor, muhtemelen o brokerden akan gerçek işlem gören lotlardır. Örneğin 10 lot sattığımda bir sonraki tik lotu +1 değil +10 olacak.

 

10 lot işlem yaptığınızda hacim 10 artar mı?!? Ben bunu yaşamadım. Her keneyi kaydeden bir kene toplayıcısı çalıştırıyorum. Bazen hacim 2 veya 3 artar, ancak komisyoncunun göndermediği veya kene toplayıcımın Başlat işlevi hala çalışırken geldiği çok hızlı keneler olduğunu tahmin ettim.

Evet, sadece Hacim = Google'dan gelen işaretler olduğunu düşünüyorum, ancak gördüğüm verilere uyuyor gibi görünüyor

 
szgy74 :

Bunu daha önce birçok kez gördüm ama bundan emin misin? Bunu birkaç kez ECN brokerimde kontrol ettim ve hacim her tikte oldukça farklı bir şekilde artıyor, muhtemelen o brokerden akan gerçek işlem gören lotlardır. Örneğin 10 lot sattığımda bir sonraki tik lotu +1 değil +10 olacak.

Hacim, aslında "Tick count" için kötü bir isimdir. . . işlem hacmi/lotları ile ilgisi yok. . . 1'den fazla değişebilmesinin nedeni, keneleri kaçırabilmenizdir.
 
4evermaat :

Şu anda, mql4, gelen keneler için yalnızca en yakın saniyeye kadar zaman sağlayabilir. Aşağıdaki işlevi kullanıyoruz:

MarketInfo(Symbol(), MODE_TIME)

1) Platforma gelen tik verileri için milisaniye zaman damgası sağlayabilecek veya milisaniyeyi belirleyebilecek farklı bir fonksiyon var mı?

2) mql5 fonksiyonlarını birleştiren yeni mql4, gelen tikler için milisaniye (veya saniye altı) zaman damgası talep edebilecek veya alabilecek mi?

Peki mt4 (ve mt5) platformunun 'aynı anda' gelen onay işaretlerini nasıl düzgün bir şekilde ayırt etmesi gerekiyor?

Mql5'te de böyle bir bilgi yok. Ancak, bu özelliğin yeni mql4 ile mevcut olup olmayacağını bilmesem de, milisaniye hassasiyetinde kullanılabilecek Zamanlayıcı olayları var.