Geliştiriciler! Oluşturduğunuz şeyi hiç test ediyor musunuz? - sayfa 10
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
İşte o zamanlar! Tarihte doğru mu?
papaklass, muhtemelen, OnTradeTransaction'ın hata döndürdüğü anlamına mı geliyordu?
OnTradeTransaction'daki bilgiler güvenilir olmayabilirse, bilgilerin güvenilir olduğundan emin olmak için geçmişten alınması gerekir.
Bilgiler her zaman OnTradeTransaction'a gelmiyorsa, tüm bilgilerin işlendiğinden emin olmak için bilgilerin geçmişten alınması gerekir.
Soru şu ki, o zaman neden OnTradeTransaction önemli değilse, her halükarda tarihten bilgi alınması gerekiyor? - Yalnızca hata kontrolü içinse. Bir sipariş verilmiş gibi - komisyoncu bunu reddetti, OnTradeTransaction'da siparişin neden reddedildiğinin cevabını yakaladılar ve analiz ettiler.
neden 9 sayfada salya akıyor?
Lütfen kaba olmayın! Bu arada, zaten 10!
Ve burada yazılanları okumama hakkınız var!
C-4 elbette işlenecek, ama neden OnRefresh() gerekli?
Birçok olay -> bir işleyici.
Tüm açılardan hatalar tek bir yığında! :)
Hatalar değil, veriler gönderilir. Hatalar işleyicide olabilir, ancak yalnızca bir işleyici olduğu için düzeltilmesi kolaydır.
Ben, tam olarak bu konuda. Olayların ayrılması gereklidir.
Hatalar değil, veriler gönderilir. Hatalar işleyicide olabilir, ancak yalnızca bir işleyici olduğu için düzeltilmesi kolaydır.
Olayların ayrılmasına değil, işleyicilerin ayrılmasına ihtiyacımız var. Olaylar veri üretir. Her veri türünün kendi işleyicisi vardır. Verileri tam olarak kimin aldığı önemli değildir, her veri türünün kendine özgü işleyicisi olması önemlidir.Burada paylaşılmayan nedir?
Ama dahası var
Burada paylaşılmayan nedir?
Sunduğunuz şey (veri türlerinin yönetimi) de şu anda MK'da. OnTradeTransaction işleyicisi, belirli bir MqlTradeTransaction veri türünü işler. Doğru, bu veri türüne pek çok şey dolduruldu, yani. farklı olaylara karşılık gelen veri türleri.
Her olayın kendi verisine ve kendi işleyicisine sahip olduğunu öneriyorum. Kaç olay, çok işleyici. TAM OLARAK olayların ayrılması (pozisyon açma, pozisyon kapatma, emir verme, emir değiştirme, pozisyon değiştirme vb.). Ve hangi veri türlerinin hangi olaya atfedileceğine geliştiricilerin karar vermesine izin verin.
"İşleyici" kelimesiyle, şu veya bu olayın geldiği bir sistem işlevini değil, bu olayı analiz eden belirli bir EA modülünü kastediyorum. Özellikle gerekli miktarda özel işleyiciler oluşturmak temel olduğundan, her biri kendi olayı için birçok On... işlevi üretmek anlamsızdır. İşte benim için nasıl yapıldığı:
Aynı Event sınıfının, tamamen farklı veri türlerine ihtiyaç duyan tamamen farklı işleyicilere geçirilmesi garip görünebilir. Örneğin, OnMouseMove, fare ve koordinatları üzerinde basılan tuşların bir maskesini, OnKeyDown(), basılan tuşun kodunu ve OnOrderChange, değişen bir sipariş biletini ve muhtemelen hangi değişikliğin meydana geldiğini açıklayan bir numaralandırmayı gerektirir. Event sınıfının tüm olası olaylar için alanlar içerdiğini düşünebilirsiniz. Ancak öyle değil. Aslında, olay sınıfının bir nesnesi var olamaz, çünkü yapıcısı korumalı kapsamda gizlidir. Ancak onun soyundan gelenler bolca bulunur - her soyundan yalnızca kendi olayını işlemek için. Ancak, herhangi bir olay için, hangi türe ait olduğunu gösteren bir tanımlayıcı vardır. Bu tanımlayıcıyı bilerek, büyükten küçüğe güvenli bir tür dönüşümü gerçekleştirebilirsiniz. Bu tür çocuk için, işleyici geçildiği anda örtük bir dönüşüm gerçekleşir. Olay işleyicilerimizin gerçekte nasıl gördüklerini görelim:
Güzellik ... Görünüşe göre sadece bir olay var - olay, ama aslında onlarca olabilir. Olay, türü dışında pratikte herhangi bir bilgi içermiyor gibi görünüyor, ancak aslında işleyiciler yalnızca kendileri tarafından bilinen yöntemlere özgürce atıfta bulunuyorlar."Dış" ve "iç" olaylar yoktur, sadece olaylar vardır. Ve bu olayların sayısı potansiyel olarak sonsuz olabilir. Her şey bir olay olabilir. Bir olay herhangi bir veri içerebilir. Bu felsefeyi takip ederek, yeni, daha yüksek bir veri soyutlama düzeyi elde ederiz. Neden kafanızda sınırlamalar yaratıyorsunuz, neden sınırlayıcı bir soyutlamaya bir sınıflandırma dayatıyorsunuz!?
İç ve dış olaylar arasındaki temel fark, yürütme süresidir. Dahili olanlar için pratik olarak sıfıra eşittir, harici olanlar için ise yüzlerce milisaniyeden saniyeye kadar ölçülür.
Olayların yürütme süresi yoktur. Etkinlik geldiyse, zaten yerine getirilmiştir. Asenkron mod bu şekilde çalışır. Bu nedenle olayları iç ve dış olarak sınıflandırmak ne kadar hızlı yanlış yürütüldükleri için yanlıştır. Hiçbir şekilde sınıflandırmamak, ancak belirli bir uygulamadan son derece soyutlanmış düşünmek doğrudur.