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
Yedelkin :
Açıklama. Uzman Danışman, bağlı olduğu sembol için onay işaretlerinin işlenmesini sağlamazsa, bu sembol için sürekli olarak NewTick olaylarının oluşturulması, bu Uzman Danışman tarafından işlenen olaylar kuyruğunun aşırı taşmasına yol açar.
Ne?
EA'da OnTick() yoktur, ancak NewTick olayları sıraya alınır mı?
Kuyruğun neyle analiz edildiğini nasıl anladınız? )
Expert Advisor'ın grafiğe eklendiği sembol için gerekirse tick akışını ( NewTick olayları) devre dışı bırakmanın bir yolunu bulamadım.
Pazardan cumaya dinlenmeden çalışmış gibi... :))
Ne?
Nasıl bildin...?
Evet, iki şekilde öğrendim. İlk olarak, diğer insanların sembollerinden bir EA tarafından basit bir gösterge sinyalleri koleksiyonu örneğini kullanarak EventChartCustom - OnChartEvent bağlantısıyla tanıştım. Aynı zamanda Expert Advisor, sembolünün tikleriyle çalışmadı, Expert Advisor kodundaki Ontick() işlevi yorumlandı. Expert Advisor'ı test cihazında başlattığımda, Expert Advisor'ın hangi sembole bağlı olduğuna bağlı olarak geçiş süresinin değiştiği ortaya çıktı. Örneğin, aşağıdaki örneğe bakın. Aynı optimizasyon parametreleriyle, geçiş süreleri önemli ölçüde farklılık gösterir.
EA'da OnTick() yoktur, ancak NewTick olayları sıraya alınır mı?
Bu sorunun cevabını kontrol etmek için (ikinci yol), EA kodunu şu şekilde değiştirdim:
onlar. sembol için yeni kenelerin alındığı gerçeğini belirlemek için sarı bir arka planla vurgulanan bir satır ekledi. Expert Advisor'ın bağlı olduğu sembolün üzerindeki işaretlerin düzenli olarak geldiği sonuçlardan görülebilir:Kılavuz, " Uzman Danışmanın eklendiği sembol için yeni bir onay işareti geldiğinde NewTick olayı oluşturulur " dediği için, yeni onay işaretlerinin gelmesi, NewTick olaylarının oluşturulmasına yol açmalıdır.
Soruya bakılırsa, OnTick () devre dışı bırakıldığında NewTick olaylarının oluşturulmadığını düşünüyor musunuz? Ancak kılavuzda böyle bir bilgi bulamadım.
Pazardan cumaya dinlenmeden çalışmış gibi... :))
onlar. sembol için yeni kenelerin alındığı gerçeğini belirlemek için sarı bir arka planla vurgulanan bir satır ekledi. Sonuçlardan anlaşılacağı üzere keneler
uzmanın bağlı olduğu sembol düzenli olarak alınır:
Özel olanı çağırmadan önce hangi olayın OnChartEvent'in çağrılmasına neden olduğunu kontrol ettiniz mi?
-------------
Eğer
basit bir Uzman Danışmana takılır ve test cihazına takılırsa, etkinleştirilmeyecektir.
OnChartEvent'i çağıran başka işlevleriniz var mı?
OnChartEvent'i çağıran başka işlevleriniz var mı?
Tabiiki. Expert Advisor, EventChartCustom - OnChartEvent bağlantısını kullanarak yabancı sembollerden gösterge sinyallerini topladığı için, bu tür göstergelerin her biri kendi EventChartCustom() işlevinin örneğine sahiptir. EventChartCustom() işlevinin her örneğinin ilk parametresi, Uzman Danışmanımızın eklendiği grafiğin tanımlayıcısıdır; ikinci parametre sıfırdır.
Herhangi bir Expert Advisor'a takılırsa, etkinleştirilmeyecektir.
Kodun yalnızca bir kısmı gösterilir - diğer insanların sembollerinden gösterge sinyallerini toplayan bir EA'dan. Gösterge yoksa, kodun bu kısmı ( OnChartEvent işlevi), yoklukları nedeniyle kullanıcı olaylarını işlemeyecektir.
Özel olanı çağırmadan önce hangi olayın OnChartEvent'in çağrılmasına neden olduğunu kontrol ettiniz mi?
Hayır, biraz farklı. OnChartEvent() işlevi diğer sembollerden gelen göstergelerden gelen kullanıcı olaylarını işlerken, Expert Advisor'ın eklendiği sembolde keneler olup olmadığını görmek istedim. EURGBP kenelerinin geldiği görülüyor. Referansa dayanarak, bir sembol için yeni keneler geldiğinde NewTick olayının da oluşturulduğu sonucuna varıyorum.
Kullandığınız işlevlerden hangisinin farklı geçici sonuçlara yol açtığını anlamak mümkün değildir. Tam bir kod olmadan, bu bir tahmindir.
NewTick, hiçbir şekilde OnChartEvent ile doğrudan ilişkili değildir. Bu nedenle önerdiğiniz sıra izleme mekanizması biraz yapay. Ve doğru olduğundan emin değilim.
Bu versiyonda, test gecikmelerinin NewTick tarafından yaratıldığını iddia etmem. Ve bence suçlanacak olan bağlarınızın mekanizmalarıdır, olayın kendisi değil.
Kullandığınız işlevlerden hangisinin farklı geçici sonuçlara yol açtığını anlamak mümkün değildir. Tam bir kod olmadan, bu bir tahmindir.
NewTick - OnChartEvent ile hiçbir şekilde doğrudan ilişkili değildir. Bu nedenle önerdiğiniz sıra takip mekanizması biraz yapay. Ve doğru olduğundan emin değilim.
Bu versiyonda, test gecikmelerinin NewTick tarafından yaratıldığını iddia etmem. Ve bence suçlanacak olan bağlarınızın mekanizmalarıdır, olayın kendisi değil.
Başlangıçta başka bir şey hakkındaydı. İlk mesajımda "Uzman Danışmanın bağlı olduğu sembol için gerekirse kene akışını ( NewTick olayları) devre dışı bırakmanın bir yolunu bulamadım" diye belirtmiştim. Bu ifadeye yanıt verdiniz, ancak gerekirse istenen sembol için kene akışını kapatmanın bir yolunu belirtmediniz. Sadece benim değil, sizin de böyle bir yolu bilmediğiniz sonucuna varıyorum. Bu nedenle, önerim geçerliliğini koruyor: EA'nın grafiğe eklendiği sembol için NewTick olayının oluşturulmasını programlı olarak devre dışı bırakmanıza izin veren bir anahtar işlevi tanıtmak .
"Kalın falcılık" ve "sıra izleme mekanizmalarının yapaylığı" ile ilgili açıklamalara gelince, başlangıçta kodu anlamayı ve "bu neden oluyor?" Sorusuna cevap aramayı teklif etmedim. Teklifimden de görebileceğiniz gibi, cevabı kendim için zaten buldum. Ancak, belirli bir Uzman Danışmanın koduna dikkatimizi dağıtmadan soruna daha soyut bir bakış açısıyla bakalım.
NewTick - OnChartEvent ile hiçbir şekilde doğrudan ilişkili değildir.
Tamam, öyle olsun. Yani NewTick doğrudan OnChartEvent ile ilgili değil , ama öyle. Bunu zaten açıklamada söyledim, ama tekrar edeceğim. Önceden tanımlanmış ve kullanıcı tanımlı tüm ortaya çıkan olayların eklendiği bir tür "genel olay kuyruğu" olduğunu benden daha iyi bilirsiniz. Bu olaylar, alındıkları sıraya göre tek tek işlenir. Kuyruk belirli bir sınırlı boyuta sahip olduğundan, taştığında eski olaylar işlenmeden silinir. Doğru şekilde?
Daha sonra, EA NewTick olaylarının işlenmesini sağlamazsa ve bu olayların oluşturulması devam ederse, o zaman genel olay kuyruğum basitçe gereksiz NewTick olaylarıyla tıkanır ve artık kullanılmayan kullanıcı olaylarını işlememe riski vardır. EA tarafından işlenecektir. Umarım siz de bu sonuca katılırsınız. Bu yüzden yukarıdaki teklif ortaya çıktı.
Tabii ki, olay kuyruğunun ve NewTick olayının nasıl çalıştığına dair tüm ayrıntıları bilmiyorum. Bu nedenle, bazı sonuçlarda yanılabilirim ve herhangi bir açıklamayı ilgiyle dikkate alacağım.
Bu versiyonda, test gecikmelerinin NewTick tarafından yaratıldığını iddia etmem. Ve bence suçlanacak olan bağlarınızın mekanizmaları , olayın kendisi değil.
Referans için. Expert Advisor aynı göstergenin örneklerini aynı parametrelere ve aynı "bağlantı mekanizmasına" sahip komşu sembollere aynı zaman aralığında ekler. Bağlantı aynı: EventChartCustom - OnChartEvent.
"Uzman Danışmanda OnTick() yoksa, NewTick olayları hiç sıraya alınmaz" ifadesine katıldığınızı doğru anladım mı?
neden tahmin edip hipotezler üretelim?
"Uzmanın çizelgeye eklendiği sembol için NewTick olayının oluşturulmasını programlı olarak devre dışı bırakmanıza izin veren bir anahtar işlevi tanıtma " isteğiniz açıktır.
Servis masasına yazın .
diğer her şey yel değirmenleriyle savaşıyor.
neden tahmin edip hipotezler üretelim?
diğer her şey yel değirmenleriyle savaşıyor.
Bana söyleme :) Biri körü körüne çalışmaya alışmışken, biri frenlenmesi gereken fenomen hakkında daha fazla şey öğrenmek istiyor. Hipotezler, şu veya bu bilginin yokluğunun arka planında ortaya çıkar. Tartışmaya katıldığınız için teşekkür ederiz.
SD'ye yazdım. Orada öneri gönderebileceğinizi bilmiyordum.