Benim yaklaşımım. Çekirdek - Motor. - sayfa 171

 
Vasiliy Sokolov :

...

3) Evet, isimle arayın, tüm parametreleri belirtmeniz gerekiyor. Ama en önemlisi de bu, tek bir monolitik olay modeli yok. Modelinizi ister misiniz - lütfen. İlkel yap. Gerçekten bir zamanlayıcı olmadan yapamazsınız.

Olay kuyruğu, olayların güvenilir şekilde ele alınması için genelleştirilmiş bir algoritmadır. Kullanıcı hiçbir şey oluşturmaz, kendisi tarafından oluşturulan olaylar kuyruğa girer. Kuyruğun kendisi zamanın %99,9'u yalnızca bir olaydan oluşur.

Uygulama benimkine benziyor ama benimki kullanıcı için çok daha basit.


  • E_Window_Element(değer); Bir öğeye bir değer iletmek:
  • E_Window_Element(); Öğenin değerini alın:

  • E_Window_Element(M_COLOR, değer); Temel rengi ayarlayın.
  • E_Window_Element(T_COLOR, değer); Metin rengini ayarlayın.
  • E_Window_Element(F_COLOR, değer); Kenarlık rengini ayarlayın.


  • E_Window_Element(STATE, ON); Basılı durumu ayarlayın.
  • E_Window_Element(DURUM, KAPALI); Basılan durumu ayarlayın.
  • E_Window_Element(STATE, LOCKED_ON); Basılan kilit durumunu ayarlayın.
  • E_Window_Element(STATE, LOCKED_OFF); Basılan durumu ayarlayın.
  • E_Window_Element(STATE, ON_H); Odakta basılan durumu ayarlayın.
  • E_Window_Element(STATE, OFF_H); Basılan durumu odakta ayarladık.


  • W_Window_name() Bir pencere açın.
  • W_Window_name(kapat) Pencereyi kapatın.


Form öğesi sarmalayıcılarının adları bağlantı dosyasında otomatik olarak yazdırılır ve anında zekaya geçer.

Vasily, bir MQL programında element ve pencere isimlerinin zekasını kullanabilir misin?


not. Vasily, bir öğenin bir sarmalayıcısının kaç eylem gerçekleştirdiğine dikkat edin. Ve sadece İKİ parametreden MAKSİMUM alır. Ya da hiçbiri.

 
Igor Makanu :

... dataGridView tam bir fiyasko olsa da - ona 3-5 saniyeden daha sık yazamazsınız) tablolu form ayrı bir iş parçacığında çalışsa bile 10 x 11 tablo zaten kritiktir

Not: Yaklaşık 5 yıl önce Delphi'de, StringGrid'i 2 saat içinde MT4'e vidaladım, orada her şeyin nasıl çalıştığı konusunda hiç endişelenmedim, ancak Microsoft dataGridView ile her şey uçtu, ancak bugün bir deneme yapmaya çalışacağım. üçüncü taraf SourceGrid, incelemelere göre dataGridView daha hızlı

Ayrıca infragistics ultragrid'i deneyin. En havalı şey. GUI, ticaretin performansını iyileştirebilirse, bu tablo budur.

 
Dmitry Fedoseev :

...

Dmitry, MVC diye bir mimari model var. Benim yaklaşımım tam olarak bununla ilgili. Bu nedenle eleştiri yaptığınızda öncelikle MVC'yi eleştirirsiniz ve size göre "jo ..." üzerinden yapılan Angular, ASP Net MVC, Ruby on Rails ve uzman dikkatinize layık olmayan diğer ürünler gibi çözümler. Bu nedenle, sizinle neden tartışmak ve kararımın geçerliliğini kanıtlamak istemediğimi açıklığa kavuşturmak gerektiğini düşünüyorum - bu sadece anlamsız.

 

Benim durumumda, kaydın bir analogu

GuiController::SendEvent( "AskLabel" , TextChange, 0 , 0.0 , DoubleToString (ask, Digits ()));

bir rekor olacak

E_Trade_panel__AskLabel( DoubleToString (ask, Digits ()));

Aynı zamanda, bunun veya o öğenin ne dendiğini hatırlamama gerek yok. E_ yazıyorum ve bir eleman listesi çıkıyor, pencere adının ilk harflerini yazıp belirli bir pencerenin eleman listesine giriyorum, sonra listeden istenilen elemanı seçiyorum.

 

Merak ediyorum, zeka olmadan en az 100 hücreli bir tabloyu nasıl bağlayabilirsiniz? Sonuçta, tüm hücrelerin adlarını hatırlamanız gerekir.

Benim için her hücre otomatik olarak satır ve sütun adına göre isimlendirilir ve seçimi zeka ile yapılır. Senin versiyonunda, Vasily, 100 hücrenin her birinin tam olarak ne dendiğini bilmen gerekiyor.

Ve çok sayıda eleman ve büyük tablo içeren 10 karmaşık pencerem varsa, çağrılarda eleman adlarını yazmam ne kadar sürer? Buhar yapabilirsiniz...)


Peki ya farklı pencereler arasında adlar aynıysa?

 
Реter Konow :

Merak ediyorum, zeka olmadan en az 100 hücreli bir tabloyu nasıl bağlayabilirsiniz?

Peter'ı tanımıyorum çünkü MetaEditor'daki zeka, diziler, yapılar, temel türler, yöntemler ve hatta sınıflar dahil olmak üzere C#'daki tüm değişkenlerle harika çalışıyor.

 
Vasiliy Sokolov :

Peter'ı tanımıyorum çünkü MetaEditor'daki zeka, diziler, yapılar, temel türler, yöntemler ve hatta sınıflar dahil olmak üzere C#'daki tüm değişkenlerle harika çalışıyor.

Elementlerin isimlerini gösteriyor mu?

 
Реter Konow :

Elementlerin isimlerini gösteriyor mu?

Ayrıca, prototiplerle:

:))

 
Vasiliy Sokolov :

Ayrıca, prototiplerle:

:))

Basil, anlamıyorsun.

GuiController::SendEvent( "AskLabel" , TextChange, 0 , 0.0 , DoubleToString (ask, Digits ()));

Bir öğenin değerini ayarlamak için adını gönderirsiniz. "Sor" alanı "AskLabel" olarak adlandırılır. Zeka elementin adını nerede gösterir?

 
Реter Konow :

Basil, anlamıyorsun.

Bir öğenin değerini ayarlamak için adını gönderirsiniz. "Sor" alanı "AskLabel" olarak adlandırılır. Zeka elementin adını nerede gösterir?

Peter, görünüşe göre şikayet edecek bir şey arıyorsun.

Cevap veriyorum: hayır, bir metin öğesiyle hiç çalışmadım ve çalışmayacağım. Ama eğer tek soru buysa, aynı tanımlar üzerinde zeka yapmak hiç de sorun değil.

ps Bu arada, senin için de işe yaramaz:

__, EDIT, "Set lot" , W, 150 ,_,H, 60 ,_,V_CURRENT, "1.00" ,