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

 
Georgiy Merts :

Size bir kereden fazla, kodunuzu anlamanın çok zor olduğu söylendi. Çok fazla deneyime sahip olanlar için bile. Tüm olasılıkları kullanmak daha da zordur (çünkü her şey küresel kapsamda her yerde mevcuttur). Programlama konusunda yetersiz bilgili kişiler bunu yapamazlar.

Kodum burada nerede?

Görünüşe göre, halk bunun ne hakkında olduğunu "anlamıyor". Bir örnek vermeliyiz.

Böyle. Basit bir pencere motoru yapacağım ve ona bir bağlantı dosyası ve talimatlar vereceğim.

İlgilenenler için motora bir test danışmanı bağlanacaktır.

Bundan sonra, başka bir karşılıklı anlayış düzeyinde iletişim kurmaya devam edeceğiz.

 
Реter Konow :

Manuel ticaret var. Algoritmik bir tane var. Yarı otomatik ticaret neredeyse yoktur.

Yarı otomatik ticaret yaratırsak, bize ait olacak. Yani, - algoritmik ticaretin nişine ait olacaktır.

Bazı platformlarda manuel ticaret yapan kullanıcılar için bazı firmalar tarafından yarı otomatik ticaret oluşturulursa, manuel ticaretten yarı otomatik ticarete geçiş orada yapılacaktır.

Kısacası, görev, yarı otomatik ticarette tüm dünyada manuel olarak ticaret yapan tüccarların ilgisini çekmektir.

Ve hepimiz bundan para kazanıyoruz.

Onlar. GUI'niz geliştiriciler içindir, değil mi?
 
Реter Konow :

Görünüşe göre, seyirci bunun ne hakkında olduğunu "anlamıyor". Bir örnek vermeliyiz.

bu sayfa 30.

100. sayfaya kadar yapıcı muhtemelen başlayacaktır)

 

İşte en basit GUI, test EA dosyası ve bağlantı dosyalarını taşıyan motor.

1. Dış Bağlantı ve Bağlantı özellikleri dosyalarını içerme klasörüne yerleştirin. TestApp v1.0.mq4 dosyasını Uzmanlar klasörüne yerleştirin.

2. Motoru göstergeler klasörüne yerleştirin.

3. TestApp v1.0.mq4 test danışmanı dosyasını açın   .

4. Harici Bağlantı dosyasını açın.

5. Motoru tabloya atın.

6. Test EA'sını derleyin ve kaydedin. O zaman onu da tabloya koy.

//----------------------------------------------------------

Büyük düğmeli bir pencere görünecektir. Üzerine tıkladığınızda, bir Uyarı görünecektir.

Uyarı, Harici Bağlantı dosyasında bulunur. İçinde, metni değiştirebilirsiniz. Basma/bırakma etkinliklerinde özel bir işlev çağırmak mümkündür.

 //=====================================================================================================================
//WINDOW:   Simple button | element: BUTTON  | name: Hello world!  |  Location: Window's Main Frame
//=====================================================================================================================
case BUTTON3___Hello_world_:
               //------------------------------------------------------------------------------------------------------
               //What to do when button pressed or released?
               //------------------------------------------------------------------------------------------------------
               switch (( int )action)
               {
                 case pressed:   Alert ( "Button pressed!" );   break ;  <------ Здесь можно установить любой польз.код, который сработает на событии нажатия.
  
                 case released: Alert ( "Button released!" );   break ;  <------ Здесь можно установить любой польз.код, который сработает на событии отжатия.
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break ;
  
   }

Bağlantı özellikleri dosyası değiştirilemez. Açılış isteğe bağlıdır.

 

Böyle bir pencere görünmelidir.

Görev çubuğundaki düğmelerin hiçbir işlevi yoktur ve yalnızca bir dekorasyondur.

Ayrıca bir bağlam menüsü penceresi vardır. Çift tıklama ile açılır. Ondan düğmeli bir pencere çağrılır.

Test danışmanı, kullanıcı uygulamasını sembolize eder. Motor, takılabilir bir GUI'dir.

 

Buna "danışmanınıza hazır bir GUI eklemenin basit bir yolu" denir:

 void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {

   //******************************************************************************************************
   //------------------------------------------------------------------------------------
   if (id == CHARTEVENT_CUSTOM + DRIVE_IS_READY) EventChartCustom ( 0 , INIT_GUI,   0 , 0 , NULL );
   //------------------------------------------------------------------------------------
   if (id == CHARTEVENT_CUSTOM + SYNC_P_CORE)
     {
      
      P_CORE[lparam][_NEW_VALUE]      = sparam;
      P_CORE[lparam][_LAST_VALUE]     = P_CORE[lparam][_CURRENT_VALUE];
      P_CORE[lparam][_CURRENT_VALUE]  = sparam;
       //------------------------------------ 
      On_Gui_Event(lparam,sparam);
       //------------------------------------
     } 
   //******************************************************************************************************
}

====

Genel olarak, GUI'yi uzmandan ayırmak sorun değildir. Ama gerçekten yaparsanız, bunu gayet normal bir şekilde yapabilirsiniz - OnChartEvent() içinde yalnızca kullanıcı olaylarını yakalar, başka bir şey değil. Yani, tüm bu yüzlerce ip dosyasına ihtiyaç yoktur. Ve bu arada, bu çok dolaylı olarak GUI ile ilgilidir, daha çok terminalin yetenekleri ile ilgilidir. Bir GUI özellikle gösterilmemiştir. Nasıl yaratıldığını hiç göstermez.

 
Dmitry Fedoseev :

Buna "danışmanınıza hazır bir GUI eklemenin basit bir yolu" denir:

====

Genel olarak, GUI'yi uzmandan ayırmak sorun değildir. Ama gerçekten yaparsanız, bunu gayet normal bir şekilde yapabilirsiniz - OnChartEvent() içinde yalnızca kullanıcı olaylarını yakalar, başka bir şey değil.

Biliyor musun, şaşırdım. Bir çeşit anaokulu. Manuel ticaret alanını fethetme fırsatından bahsediyorum ve bunun için oluşturulan aracı kullanmayı teklif ediyorum ve halk, programlamada kötü olduğumu ve kötü grafiklere ve kötü kararlar aldığımı bana kanıtlama amacını sürdürüyor.

Yetişkinlere benziyor, ancak anlayış hiç de yetişkin değil.

Talimatlara göre kurun ve deneyin. Daha sonra GUI ve işlevsellik genişletmek ve eklemek mümkündür.

 
Dmitry Fedoseev :

... Yani, tüm bu yüzlerce ip dosyasına ihtiyaç yok.

Yani teknoloji hakkında hiçbir şey bilmeden ve denemeden, neyin gerekli neyin gerekli olmadığını hemen beyan ediyorsunuz... Zekice.

 
Dmitry Fedoseev :

... Ve bu arada, bu çok dolaylı olarak GUI ile ilgilidir, daha çok terminalin yetenekleri ile ilgilidir. Bir GUI özellikle gösterilmemiştir. Nasıl yaratıldığını hiç göstermez.

GUI, yapıcımda oluşturuldu. EA ile nasıl bağlantı kurduğunu ve etkileşime girdiğini göstermek istedim.

 
Реter Konow :

Biliyor musun, şaşırdım. Bir çeşit anaokulu. Manuel ticaret alanını fethetme fırsatından bahsediyorum ve bunun için oluşturulan aracı kullanmayı teklif ediyorum ve halk, programlamada kötü olduğumu ve kötü grafiklere ve kötü kararlar aldığımı bana kanıtlama amacını sürdürüyor.

Yetişkinler gibi görünüyor, ancak anlayış hiç de yetişkin değil.

Talimatlara göre kurun ve deneyin. Daha sonra GUI ve işlevsellik genişletmek ve eklemek mümkündür.

İşte mesele bu, bir anaokulu. Böyle bir yemle burada tek bir balık yakalayamazsınız.

nasıl programlıyorsunuz. Kendi sonucunuzu çizin - hala OOP'nin berbat olduğunu kanıtlamaya çalışıyorsunuz ve dizilerim dünyanın avangardı ... kim burada anaokulundan bahsediyor olabilir.

Genel olarak, mucize henüz gerçekleşmedi.

Neden: