Piyasa Kaydı - sayfa 31

 
Vladislav Andruschenko :

Muhtemelen bir şirkette çalışmadığım için. Ve OOP yerine prosedürel programlamayı kullanmayı daha kolay buluyorum.

Bu konuda elbette çok tartışmalar oldu.

Geçen hafta, TS Ligim için ticaretin kalitesini değerlendirmek için algoritmayı biraz değiştirdiğim gerçeğiyle meşguldüm. Ve her şeyin sanal arayüzler üzerine kurulmuş olmasına çok sevindim.

Sonuç olarak, maksimum düşüşten önce yalnızca bakiye tarafından tahmin edildi. Ve bunu Özkaynak ile hesaplamak istedim. Ancak bunun için, geçmişi analiz ederken, her işlem için zaman serisi talep etmeniz ve o zamanki fiyatlara göre işlemdeki maksimum düşüşün ne olduğunu görmeniz gerekir.

Ve şimdi, kodumun taşınabilir olduğunu, yani aynı arabirime dayalı olduğunu unutmayın - hem MT4 hem de MT5'te çalışır. Buna göre, her platform için, önemli ölçüde farklılık gösteren işlevleriyle ilgili sınıf çağrılır. Ve böylece, kodu sonlandırırken - muhtemelen bir düzine kez gerekli verilere doğrudan erişemediğim bir durum oldu - arayüzler buna izin vermedi. Ve her şeyin doğru olduğuna, arayüzlerin beni sınırladığına her ikna olduğumda - bu verilere doğrudan "girersem" bu, programın diğer bölümlerinde hatalara yol açardı. İhtiyacım olan verilere, başka hiçbir parçanın etkilenmediğinden emin olmamı sağlayan ek istekler yoluyla farklı şekilde erişmem gerekiyordu.

Özetle: Bir kez daha "kullanıcının her yerde yalnızca şimdi ihtiyaç duyduğu yapılara erişmesi gerekir ve daha fazla değil - hayır" ilkesinin kesinlikle doğru olduğuna ikna oldum. Kullanıcının her zaman herhangi bir şeye erişmesine izin vermek imkansızdır - bu, değişiklik sırasında hatalarla doludur.

Ancak öte yandan, prosedürel stile alışmış insanlar, bu gibi durumlarda hangi verilerin belirli bir yerden değiştirilebileceğini ve hangilerinin değiştirilemeyeceğini hatırlayarak kendilerini sınırlarlar.

 
Georgiy Merts :

Geçen hafta, TS Ligim için ticaretin kalitesini değerlendirmek için algoritmayı biraz değiştirdiğim gerçeğiyle meşguldüm. Ve her şeyin sanal arayüzler üzerine kurulmuş olmasına çok sevindim.

Sonuç olarak, maksimum düşüşten önce yalnızca bakiye tarafından tahmin edildi. Ve bunu Özkaynak ile hesaplamak istedim. Ancak bunun için, geçmişi analiz ederken, her işlem için zaman serisi talep etmeniz ve o zamanki fiyatlara göre işlemdeki maksimum düşüşün ne olduğunu görmeniz gerekir.

Ve şimdi, kodumun taşınabilir olduğunu, yani aynı arabirime dayalı olduğunu unutmayın - hem MT4 hem de MT5'te çalışır. Buna göre, her platform için, önemli ölçüde farklılık gösteren işlevleriyle ilgili sınıf çağrılır. Ve böylece, kodu sonlandırırken - muhtemelen bir düzine kez gerekli verilere doğrudan erişemediğim bir durum oldu - arayüzler buna izin vermedi. Ve her şeyin doğru olduğuna, arayüzlerin beni sınırladığına her ikna olduğumda - bu verilere doğrudan "girersem" bu, programın diğer bölümlerinde hatalara yol açardı. İhtiyacım olan verilere, başka hiçbir parçanın etkilenmediğinden emin olmamı sağlayan ek istekler yoluyla farklı şekilde erişmem gerekiyordu.

Özetle: Bir kez daha "kullanıcının her yerde yalnızca şimdi ihtiyaç duyduğu yapılara erişmesi gerekir ve daha fazla değil - hayır" ilkesinin kesinlikle doğru olduğuna ikna oldum. Kullanıcının her zaman herhangi bir şeye erişmesine izin vermek imkansızdır - bu, değişiklik sırasında hatalarla doludur.

Ancak öte yandan, prosedürel stile alışmış insanlar, bu gibi durumlarda hangi verilerin belirli bir yerden değiştirilebileceğini ve hangilerinin değiştirilemeyeceğini hatırlayarak kendilerini sınırlarlar.

Evet, MT5 ve MT4'te aynı şekilde çalışan kendi kitaplıklarım da var. Ben sadece 1 kod yazıyorum gerisini kütüphane hallediyor.
Ve kodlar, hepsini OOP'ye dönüştürmek için çok büyük değil.
Bu arada, öz sermaye ile düşüş hakkında, bunu göstergemde kullandım.
Ama birçok nüans var. Özellikle, belirli bir çubuğun tik geçmişini almak imkansızdır. Bu nedenle, veriler yaklaşık olmaktan uzaktır.
 
Реter Konow :

Eh, rekabet budur. Yapacak bir şey yok. Sadece pes etme. İlerlemeye devam edin ve kazanın. Aksi takdirde, geride kalın.

OOP'ye gelince, unut gitsin. Bu soru sizi rahatsız ediyorsa, programlamada sadece onsuz yapamayacağınız şeyleri kullanmanız gerektiğini söyleyeceğim. Prosedürel bir tarzla idare edebiliyorsanız, bunun için gidin.

Prensibim: " Bir sorunu çözmede bir şey olmadan yapabiliyorsanız, o zaman kesinlikle onsuz yapmalısınız."

Bir köpeğin beşinci bacağa ihtiyacı var mı? :)

Aynen öyle.

Bu tür rekabete ihtiyaç var.

 
Vladislav Andruschenko :

Şaşıracaksınız, ama hala prosedürel programlamadan muzdaripim.

14 yaşında Pascal'a böyle katıldım ve kendimi değiştiremiyorum. Ve dersleri uzun zaman önce “öğrendim” ama kendimi ikna edemiyorum ...

Muhtemelen bir şirkette çalışmadığım için. Ve OOP yerine prosedürel programlamayı kullanmayı daha kolay buluyorum.

OOP ilkeleri prosedürel programlamadan çok farklı değildir, özellikle MQL programları oldukça özel görevleri çözdüğünden ve bir sınıfın iç yapısını geliştirmenin çoğu zaman bir anlamı yoktur. Kod tabanında, sınıfları kullanan örneklerin %90'ından fazlası "sınıf sarmalı" prosedürel programlamadan başka bir şey değildir, çünkü sınıfın çözdüğü görevler tek seferlik yapılır ve kalıtım ve polimorfizm kullanılmaz (çünkü gerek yoktur).

Ve OOP olmadan mümkün olmayan ciddi görevler - bu grafikler, bu görev zaten tamamlandı ve ücretsiz olarak kullanılabilir ve sadece onu kullanabilmeniz veya değiştirebilmeniz (MQL'de grafikler) (ayrıca kalıtım uygulamak) .

PS MT'nin OOP tarzında standart sunumu çok hoş, her şey hazır ve minimum değişiklik - görev sadece onu nasıl kullanacağınızı ve onu sınıfınızdan veya "alt rutinlerinizden", IMHO'dan nereden arayacağınızı öğrenmek. , zevk meselesidir.

ZYZY: ALGLIB kullanımı açısından kolaylık hakkında söylemeyeceğim şey bu - kesinlikle normal bir sınıfta "sarılması" gerekir!

 

Igor Makanu :

...

Ve OOP olmadan mümkün olmayan ciddi görevler grafiklerdir ...

Çok tartışılır.))

 
Реter Konow :

Çok tartışılır.))

Igor Makanu :

OOP ilkeleri prosedürel programlamadan çok farklı değildir, özellikle MQL programları oldukça özel görevleri çözdüğünden ve bir sınıfın iç yapısını geliştirmenin çoğu zaman bir anlamı yoktur. Kod tabanında, sınıfları kullanan örneklerin %90'ından fazlası "sınıf sarmalı" prosedürel programlamadan başka bir şey değildir, çünkü sınıfın çözdüğü görevler tek seferlik yapılır ve kalıtım ve polimorfizm kullanılmaz (çünkü gerek yoktur).

Ve OOP olmadan mümkün olmayan ciddi görevler - bu grafikler, bu görev zaten tamamlandı ve ücretsiz olarak kullanılabilir ve sadece onu kullanabilmeniz veya değiştirebilmeniz (MQL'de grafikler) (ayrıca kalıtım uygulamak) .

PS MT'nin OOP tarzında standart sunumu çok hoş, her şey hazır ve minimum değişiklik - görev sadece onu nasıl kullanacağınızı ve onu sınıfınızdan veya "alt rutinlerinizden", IMHO'dan nereden arayacağınızı öğrenmek. , zevk meselesidir.

ZYZY: ALGLIB kullanımı açısından kolaylık hakkında söylemeyeceğim şey bu - kesinlikle normal bir sınıfta "sarılması" gerekir!


Neyi arıyorum.

Diğer kullanıcılar tarafından kullanım kolaylığı için mi?

Belki evet.

Böylece kullanıcıların "tırmanma" ve zarar verme arzusu yoktur.


Grafiklerim için 5 çizim işlevi kullanıyorum (metin, düğme, onay kutusu, alan, arka plan)! Tümü :-)

Benim için her şey açık. Diğerlerinin görmesine gerek yok.

 
Vladislav Andruschenko :

Aynen öyle.

Bu tür rekabete ihtiyaç var.

Böyle bir rekabetin Pazarımızda büyüyeceğini hayal ediyorum. Sadece Piyasanın düzene konması gerekiyor.

Yüzmede yarışmak için önce havuzu temizlemeniz, ardından suyla doldurmanız gerekir. Kısacası, doğru koşullara ihtiyaç var.

Havuzda kirli olacak, kimse rekabet etmek istemeyecek. :)
 
Georgiy Merts :

Geçen hafta, TS Ligim için ticaretin kalitesini değerlendirmek için algoritmayı biraz değiştirdiğim gerçeğiyle meşguldüm. Ve her şeyin sanal arayüzler üzerine kurulmuş olmasına çok sevindim.

Sonuç olarak, maksimum düşüşten önce yalnızca bakiye tarafından tahmin edildi. Ve bunu Öz Sermaye ile hesaplamak istedim. Ancak bunun için, geçmişi analiz ederken, her işlem için zaman serisi talep etmeniz ve o zamanki fiyatlara göre işlemdeki maksimum düşüşün ne olduğunu görmeniz gerekir.

Ve şimdi, kodumun taşınabilir olduğunu, yani aynı arabirime dayalı olduğunu unutmayın - hem MT4 hem de MT5'te çalışır. Buna göre, her platform için, önemli ölçüde farklılık gösteren işlevleriyle ilgili sınıf çağrılır. Ve böylece, kodu sonlandırırken - muhtemelen bir düzine kez gerekli verilere doğrudan erişemediğim bir durum oldu - arayüzler buna izin vermedi. Ve her şeyin doğru olduğuna, arayüzlerin beni sınırladığına her ikna olduğumda - bu verilere doğrudan "girersem" bu, programın diğer bölümlerinde hatalara yol açardı. İhtiyacım olan verilere, başka hiçbir parçanın etkilenmediğinden emin olmamı sağlayan ek istekler yoluyla farklı şekilde erişmem gerekiyordu.

Özetle: Bir kez daha "kullanıcının her yerde yalnızca şimdi ihtiyaç duyduğu yapılara erişmesi gerekir ve daha fazla değil - hayır" ilkesinin kesinlikle doğru olduğuna ikna oldum. Kullanıcının her zaman herhangi bir şeye erişmesine izin vermek imkansızdır - bu, değişiklik sırasında hatalarla doludur.

Ancak öte yandan, prosedürel stile alışmış insanlar, bu gibi durumlarda hangi verilerin belirli bir yerden değiştirilebileceğini ve hangilerinin değiştirilemeyeceğini hatırlayarak kendilerini sınırlarlar.

Tüm saygımla, argümanınız, dayandığı asanın gerekliliğini açıklayan ve kanıtlayan çok yaşlı bir adamın argümanına benziyor. Mesela, onsuz, kesinlikle düşeceğim. Ve orada. Ama herkes için değil.

 
Реter Konow :

Çok tartışılır.))

belki, ama aynı zamanda "90'ların sonlarından bir dinozorum" da Turbo Pascal'ı ve grafiklerin başlangıçlarını, ne derse desin, hala Norton Commander'ı alacağınız kitaplıklar biçiminde gördüm))))

ve Delphi'ye gelişiyle (ve benim geçişimle), dedikleri gibi, hayat daha yeni başladı .... Şimdi nasıl aktif pencereler, onay kutuları vb. yapabileceğiniz hakkında kötü bir fikrim var. OOP olmadan, muhtemelen teoride mümkündür, ancak OOP olmadan nasıl uygulanabileceğine dair bir plan bile görmüyorum, dedikleri gibi, hızla iyiye alışırsınız!

 
Реter Konow :

Tüm saygımla, argümanınız, dayandığı asanın gerekliliğini açıklayan ve kanıtlayan çok yaşlı bir adamın argümanına benziyor. Mesela, onsuz, kesinlikle düşeceğim. Ve orada. Ama herkes için değil.

Siz, hatırladığım kadarıyla, devasa veri dizinizde yatan her şeyi mükemmel bir şekilde hatırlıyorsunuz. Küçükken bile böyle şeyler hatırlamıyordum. Şimdi, zaten yaşlı bir osuruk olduğumda, şu ya da bu bloğu yazarken aklımdan geçen her şeyi hatırlayamıyorum bile. Bu "asa" gerçekten bana çok yardımcı oluyor. Ancak, biri ihtiyacınız olan her şeyi hafızasında tutabiliyorsa, onsuz da yapabileceğinize katılıyorum.

Yine de, kendisinin bana tam olarak nasıl çalıştığını söyleyemediği saygın fxsaber kodunu birkaç kez alıntıladım. Sadece, hatırlanması gerçekten zor olan çok zor ve açık olmayan kontroller var. Ve kişi hatırlamıyor. "Bu kod birçok kez test edildi, bu yüzden güvenilir olabilir" konusunda anlaştık. Ancak bazı çalışma protokolleri değişirse ne olur? Kod hemen geçersiz hale gelir ve aynı zamanda - neyin değiştiğini düzeltmek yerine - bu en çok değişen yer bulunana kadar yeniden incelenmesi gerekecektir.

Bu "çubuklar" bunun için var. Yazılım ürünleri artık o kadar karmaşıktır ki, tüm inceliklerini akılda tutmak gerçekçi olmaktan uzaktır. Bunun için çeşitli teknikler kullanılır (OOP bunlardan sadece biridir).