Hatalar, hatalar, sorular - sayfa 1562

 

Test cihazında, "gerçek keneler" modunda aynı anda iki sembolden geçiş yapıyorum. ms'ye kadar senkronizasyon. Yani bazen kene dizilerinde bir tutarsızlık var gibi görünüyor. 1 ms içinde, aynı anda iki sembol üzerinde birkaç onay işareti olabilir. Söyle bana, bu gibi durumlarda kene verme algoritması nedir?

Ve IndicatorRelease olmadan, aynı anda birkaç sembol geçirilirken test cihazındaki her bir onay işaretini (1 ms'lik bir zamanlayıcı keneleri atlar) yakalayabilmek nasıl optimal olur?

 
Anton Zverev :

Test cihazında, "gerçek keneler" modunda aynı anda iki sembolden geçiş yapıyorum. ms'ye kadar senkronizasyon. Yani bazen kene dizilerinde bir tutarsızlık var gibi görünüyor. 1 ms içinde, aynı anda iki sembol üzerinde birkaç onay işareti olabilir. Söyle bana, bu gibi durumlarda kene verme algoritması nedir?

Ve IndicatorRelease olmadan, aynı anda birkaç sembol geçirilirken test cihazındaki her bir onay işaretini (1 ms'lik bir zamanlayıcı keneleri atlar) yakalayabilmek nasıl optimal olur?

Test cihazında minimum zaman kuantumu 1 saniyedir. Bu yüzden zamanlayıcıyı 1ms için başlatmak işe yaramaz.

Aynı saniyede birkaç kene olabilir. Hem de farklı enstrümanlarla. İşaret verme algoritması, test edilmekte olan alet için işaret verildiğinde, aynı saniye için diğer aletlerin tüm işaretlerinin zaten gönderilmiş olduğu şekildedir.

 
Slawa :

Test cihazında minimum zaman kuantumu 1 saniyedir. Bu yüzden 1ms için bir zamanlayıcı başlatmak işe yaramaz.

Aynı saniyede birkaç kene olabilir. Hem de farklı enstrümanlarla. İşaret verme algoritması, test edilmekte olan alet için işaret verildiğinde, aynı saniye için diğer aletlerin tüm işaretlerinin zaten gönderilmiş olduğu şekildedir.

Test cihazındaki her işarette bir Uzman Danışman çağırmak için normal bir çözüm düşünecek misiniz?
 
Anton Zverev :
Test cihazındaki her işarette Expert Advisor'ı aramak için normal bir çözüm düşünecek misiniz?
Test cihazında danışman, test edilen cihazın her tikinde çağrılır.
 
Slawa :
Test cihazında danışman, test edilen cihazın her tikinde çağrılır.

Ne sorduğumu çok iyi anlıyorsun. İki sembol fırlatıyorum, ikincisinin tiklerini yakalayamıyorum. İnsanlar uzun süredir tek çözümü - IndicatorRelease aracılığıyla sunuyorlar. Ama kendi içinde bir koltuk değneği gibi görünüyor.

Farklı çok karakterli test cihazları gördüm. Böyle bir sorunla sadece ilk beşte birden karşılaştım. Nasıl oldu da bunu öngörememişsiniz, bu bir muamma.

Sizden, bu zayıf halkanın ortadan kalkması ve ürünün kullanışlılığında gerçekten eksiksiz hale gelmesi için MQL'yi nasıl geliştireceğinizi düşünmenizi rica ediyorum. Ben kendi versiyonumu önerdim , ancak %100'ünüz daha düşünceli olacaktır.

 
Anton Zverev :

Ne sorduğumu çok iyi anlıyorsun. İki sembol fırlatıyorum, ikincisinin onay işaretlerini yakalayamıyorum. İnsanlar uzun süredir tek çözümü - IndicatorRelease aracılığıyla sunuyorlar. Ama kendi içinde bir koltuk değneği gibi görünüyor.

Farklı çok karakterli test cihazları gördüm. Böyle bir sorunla sadece ilk beşte birden karşılaştım. Nasıl oldu da bunu öngörememişsiniz, bu bir muamma.

Sizden, bu zayıf halkanın ortadan kalkması ve ürünün kullanışlılığında gerçekten eksiksiz hale gelmesi için MQL'yi nasıl geliştireceğinizi düşünmenizi rica ediyorum. Ben kendi versiyonumu önerdim , ancak %100'ünüz daha düşünceli olacaktır.

Bu başka bir soru.

"Tiki saniyesini yakala" nedir?

Bir Expert Advisor'ın normal lansmanı sırasında ikinci enstrümanın işaretlerini nasıl yakalarsınız?

 
Slawa :

Bu başka bir soru.

"Tiki saniyesini yakala" nedir?

Danışmanın ikinci sembolün her işaretinde aranması için.

Bir Expert Advisor'ın normal lansmanı sırasında ikinci enstrümanın işaretlerini nasıl yakalarsınız?

Göstergeyi ikinci sembole IndicatorRelease aracılığıyla asıyorum. Bu, sembolünün her işaretinde bir ChartEvent olayı yaratır . Buna göre Expert Advisor bu olayı yakalar.

Bu çarpık çözüm, araştırmalara bakılırsa, yıllar önce önerildi. Başka çalışan bir çözüm bulamadım. Testin 10 karakter için yapılması gerekiyorsa, 9 adede kadar gösterge başlatılır.

Her tikte sayacı artıran bir danışmanımız olduğunu düşünelim.

Test cihazında 1 milyon kene bulunan bir sembol üzerinde çalıştırıyorum. Sayaç 1 milyonu gösteriyor.

Ayrıca başka bir sembol üzerinde çalıştırıyorum - benzer şekilde: 1 milyon.

Aynı anda iki karaktere koştum. 2 milyon çıktı.

Şimdi net?

 
Anton Zverev :

Sizden, bu zayıf halkanın ortadan kalkması ve ürünün kullanışlılığında gerçekten eksiksiz hale gelmesi için MQL'yi nasıl geliştireceğinizi düşünmenizi rica ediyorum. Ben kendi versiyonumu önerdim , ancak %100'ünüz daha düşünceli olacaktır.

Aslında yapılması gereken değişiklik oldukça basittir - OnBookEvent olayını sadece sipariş defteri değiştiğinde değil, aynı zamanda imzalanan enstrümana yeni bir onay işareti geldiğinde de çağırmanız gerekir. Bu etkinlik sayesinde FORTS (bir bardağın olduğu yerde) artık diğer enstrümanlardan yeni tiklerin gelişini yakalayabilir.

Forex'teysek ve DOM yoksa, yeni bir tick geldiğinde OnBookEvent çağrılır. Borsadaysak - sipariş defteri değiştiğinde OnBookEvent çağrılır. Herşey.

 

Terminalin her sembol için bir onay sayacı tutması (bağlantı anından itibaren) çok daha uygun olacaktır. Ve her EA, çağrıldığında, çağrıldığı tik numarasını alırdı.

Bu, kaçırılan kenelerin değerlendirilmesini mümkün kılacaktır.

Artık her Uzman Danışman grafikte başlatılmalıdır. BookEvent, Expert Advisor'ları başlatmak için herhangi bir çizelgeye gerek olmadığının ilk işaretidir.

 
Anton Zverev :

Danışmanın ikinci sembolün her işaretinde aranması için.

Göstergeyi ikinci sembole IndicatorRelease aracılığıyla asıyorum. Bu, sembolünün her işaretinde bir ChartEvent olayı yaratır . Buna göre Expert Advisor bu olayı yakalar.

Bu çarpık çözüm, araştırmalara bakılırsa, yıllar önce önerildi. Başka çalışan bir çözüm bulamadım. Testin 10 karakter için yapılması gerekiyorsa, 9 adede kadar gösterge başlatılır.

Her tikte sayacı artıran bir danışmanımız olduğunu düşünelim.

Test cihazında 1 milyon kene bulunan bir sembol üzerinde çalıştırıyorum. Sayaç 1 milyonu gösteriyor.

Ayrıca başka bir sembol üzerinde çalıştırıyorum - benzer şekilde: 1 milyon.

Aynı anda iki karaktere koştum. 2 milyon çıktı.

Şimdi net?

Normal çalışma sırasında, Uzman Danışman, ikinci sembolün her işaretinde yalnızca bu Uzman Danışman bu ikinci sembolün çizelgesine eklenmişse çağrılır.

Ve herhangi bir grafik olayı yapmaya gerek yoktur. Her şey sizin için zaten yapıldı, bakmanız yeterli

1. Örneğin, 1 saniyelik bir zamanlayıcı yapın.

2. OnTimer'da Sleep(10) ile sıfırdan 100'e kadar bir döngü düzenleyin ve döngünün 1 saniyeden uzun çalışmadığını kontrol edin.

3. SymbolInfoTick sorgularıyla istediğiniz enstrümanı analiz edin

Bu yapı test cihazında da çalışacaktır.

PS , zamanlayıcıyı daha uzun bir süre, örneğin 3600 saniye yapmak daha iyidir

Ve döngü bir saniye için değil, bir saatten biraz daha az bir süre için düzenlenir. Zorunlu kontrol ile IsStopped()

Bu arada, uyku gereklidir. Aksi takdirde test cihazını kapatın. Peki, danışmanın normal çalışması sırasında sistemin kaynakları tüketilecek