MQL5'te birlikte öğrenme ve yazma - sayfa 26

 

El Kitabından:

Все возникающие события клиентский терминал складывает в общую очередь.

...Olay kuyruğunun sınırlı bir boyutu vardır.

Birkaç kez zaten olay sırası hakkında bir konuşma yapıldı, ancak tam boyutu hakkında - bulamadım. Etkinlik kuyruğu ne kadar derin? 64? 256? ... Etkinlikler?
 

Yani, biri bana yardım edebilir mi, edemez mi? 25. sayfada 2 danışman var...

azarladı - azarladı. Şimdi anlamama yardım et. Beni sorunu analiz etmek için yeterli veriyi vermemekle suçladılar. Daha ne kadar. Ne istersen, kontrol et.

Muhtemelen herkes robotlarımı test ediyor ... peki, bekleyeceğim. Muhtemelen hatayı bulmanıza yardımcı olması için para için bir programcı kiralamanız gerekir.

Bu arada, konunun başlığının ne olduğunu hatırlayan var mı....?

 
Yedelkin :

El Kitabından:

Birkaç kez zaten olay sırası hakkında bir konuşma yapıldı, ancak tam boyutu hakkında - bulamadım. Etkinlik kuyruğu ne kadar derin? 64? 256? ... Etkinlikler?
Ben de dilimden çıkardım, bir de sormak istedim olaylar dizisi birikip tıkanmaya başlarsa ne olacak? yeni olaylar yoksayılacak mı yoksa zaten sırada olanlar sıfırlanacak mı? Ve elbette, bu ne zaman olacak (sırasıyla hangi olayda)?
 
Urain :
Ben de dilimden çıkardım, bir de sormak istedim olaylar dizisi birikip tıkanmaya başlarsa ne olacak? yeni olaylar yoksayılacak mı yoksa zaten sırada olanlar sıfırlanacak mı? Ve elbette, bu ne zaman olacak (sırasıyla hangi olayda)?

zaten cevaplandı

https://www.mql5.com/en/forum/1621/43941#comment_43941

Таймер
Таймер
  • www.mql5.com
Предпосылки очень просты -- таймер обычно используется для синхронизации (ждем расчета данных) или обсервинга (зацикленный таймером эксперт, имхо, будет гораздо более адекватным).
 

Hala açıklamalara ihtiyaç olduğunu düşünüyorum, orada bir cevap var, ama bulaşıyor, sorularıma dair bir ipucu bile yok.

Kuyruğun uzunluğuna veya hangi olayların atlanacağına dair kesin bir gösterge yok ("bazı olaylar atlanacak" ne anlama geliyor?) Hangi kısım?, yeni olanlar mı yoksa zaten sırada olanlar mı? mantık burada güçsüzdür, çünkü belki yeni olaylar kuyruktakilerden daha önemli olabilir veya belki de tam tersi.

Bu nedenle, bu noktayı açıklığa kavuşturmak daha iyidir.

 
Khomtchenko :

Yani, biri bana yardım edebilir mi, edemez mi? 25. sayfada 2 danışman var...

azarladı - azarladı. Şimdi anlamama yardım et. Beni sorunu analiz etmek için yeterli veriyi vermemekle suçladılar. Daha ne kadar. Ne istersen, kontrol et.

Muhtemelen herkes robotlarımı test ediyor ... peki, bekleyeceğim. Muhtemelen hatayı bulmanıza yardımcı olması için para için bir programcı kiralamanız gerekir.

Bu arada, konunun başlığının ne olduğunu hatırlayan var mı....?

mql4'te 50 ve mql5'te 10 kaymanız var.Aynı kaymayı ayarlamaya çalışın, belki durum düzelir, çünkü bu tür kaymaya sahip birçok sipariş kolayca yeniden fiyatlandırılabilir.

Tehdit Ve her iki durumda da daha iyisi, kaymayı yayılmanın boyutuna koyun.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
molotkovsm :

Soruyu tekrar edeceğim:

Belirli bir sihirle tüm siparişler nasıl silinir?

...

Siparişler listesini yukarıdan aşağıya doğru tekrarlamak gerekir, örneğin:

Dediğiniz gibi yapmaya çalıştım ama sorun devam ediyor - önce bekleyen sipariş siliniyor, ardından aynı emrin silinmesi için başka bir istek gönderiliyor. İşte günlükten bir satır örneği:

2011.05.12 16:42:57 İşlemler '726238' : siparişi iptal #4388299 al stop 0.02 EURUSD 1.41700'de yapıldı - sipariş başarıyla silindi
2011.05.12 16:42:57 İşlemler '726238' : #4388299 siparişi iptal et 0.02 EURUSD'yi 1.41700'de durdur - başka bir istek gönder
2011.05.12 16:42:58 İşlemler '726238' : başarısız sipariş iptal #4388299 0,00000'de 0,00 satın al [Geçersiz istek] - zaten bir nedenle satın al, ancak satın alma durduruldu

Bu her zaman olmaz, bazen olur ve Uzman Danışmanın çalışmasını etkilemez. Ben sadece her şeyi doğru yapmak istiyorum, ticaret sunucusunu boş isteklerle yüklememek ve sorunu çözmek.

Cevaplar ve yardım etme isteğiniz için teşekkürler.

-----------------
Fikrimi ifade etmeye çalışacağım. Belirli bir sihirle veya başka bir şeyle bir sırayı silmek, meselenin özünü değiştirmez, ayrıca sıralar boyunca veya arasında sıralamayı değiştirmez. Siparişi genel olarak hatırlayabilir ve ardından biletle silebilirsiniz, hata periyodik olarak açılır.

Tahmin ettiğim gibi, sunucu, günlükteki mesajda ve sunucu yanıtının ret kodunda kanıtlandığı gibi, siparişi gerçekten sildi. Ancak terminal henüz bunu bilmiyor, yani. onun için, sipariş hala yürürlüktedir (veya bilir, ancak danışmana eski bilgileri verir, ancak o zaman silme emri kontrolü geçemez) ve danışman bir sonraki onay işaretinde tekrar bir silme talebi gönderir ve mantıksal olarak bir hata alır. sunucu.

Sunucunun al stop emrini sadece al olarak yeniden nitelendirmesi, görünüşe göre bir sunucu hatasıdır, bir request hatası durumunda bu emirler arasında ayrım yapmaz. Bu, geliştiriciler için bir nottur.

Tekrarlanan isteklerden nasıl kaçınabilirsiniz? Bence sadece iki yol var:

1. Başarılı bir silme işleminden sonra, son geçmişi analiz edin, silinen siparişin içinde görünmesini bekleyin, ardından devam edin.

2. Silme işlemi tamamlandıktan sonra sadece iki saniye gibi bir gecikme girin. Bir kişi yeterli olmayabilir.

Benzer bir durumun sadece bekleyen emirlerde değil, piyasa emirlerinde olduğu gibi pozisyonlar değiştiğinde de ortaya çıktığını da eklemek isterim. Bu çok nadiren olur ve bunu yalnızca bir demo hesabında uzun vadeli işlemler sırasında fark edebilirsiniz; doğal olarak test cihazında görünmez. Ayrıca, bir pozisyonu değiştirdikten sonra, değiştirilmeden önce var olan marj seviyesi döndürülür, belki de diğer hesap parametreleri kontrol edilmez.

 

У вас в mql4 стоит проскальзывание 50, а в mql5 10. Попробуйте поставить одинаковое проскальзывание возможно ситуация выровняется тк много приказов с таким слипажем может просто попадать на реквот.

Tehdit Her iki durumda da daha iyisi, kaymayı yayılmanın boyutuna koyun.

Deneyeceğim, ancak durumun zaman zaman iyileşmesi olası değil.

Programlama ile ilgili sorunlarım mı var yoksa her şey yolunda mı?

 
Urain :

Hala açıklamalara ihtiyaç olduğunu düşünüyorum, orada bir cevap var, ama bulaşıyor, sorularıma dair bir ipucu bile yok.

Kuyruğun uzunluğuna veya hangi olayların atlanacağına dair kesin bir gösterge yok ("bazı olaylar atlanacak" ne anlama geliyor?) Hangi kısım?, yeni olanlar mı yoksa zaten sırada olanlar mı? mantık burada güçsüzdür, çünkü belki yeni olaylar kuyruktakilerden daha önemli olabilir veya belki de tam tersi.

Bu nedenle, bu noktayı açıklığa kavuşturmak daha iyidir.

1) " ortak bir kuyruğa ekler " - belgelerde bir hata. Aslında çok fazla satır var. Şu anda her mql5 programı ve her çizelge kendi sıralarına sahiptir. Kuyrukların boyutları farklıdır ve genellikle küçük değildir, doğru yazılmış bir program için kuyruğun taşması olası değildir. Her kuyruğun tam boyutunu, sayılarını ve dahili uygulamanın diğer ayrıntılı açıklamalarını belgelemeyeceğiz. Buradaki sebep oldukça açık - dahili uygulama değişebilir.

2) Bu özel kuyrukta yeterli alan olmayan tüm yeni etkinlikler atlanacaktır.

Yeni tick ve chart change olaylarının mql5 programının gelen olay kuyruğunda sadece tek bir örnekte bulunabileceğini hatırlatırım. Bir grafik üzerinde grafik nesneleri oluşturmak ve silmek için olayların oluşturulması etkinleştirilebilir/devre dışı bırakılabilir.

 

Alttaki bu yeşil çizgilerin ne anlama geldiğini söyle. MT4'te partinin hacmini kastediyorlardı ve parti değiştiğinde çekildiler. Neden o zaman? Yoksa kaderim mi değişiyor? Değiştiriyor gibi görünmüyorum.