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
Eh, İngilizce isimler bir sebepten dolayı icat edildi.
Rus isimleri kodunuzu öldürdüğünde size başka bir örnek verebilirim:
Kodu, Kiril alfabesi olmayan bir müşteriye aktarıyorsunuz. Herşey. .... her şey kaybolur ..... :-)
Müşterinin koda mı yoksa çözüme mi ihtiyacı var?
Müşterinin koda mı yoksa çözüme mi ihtiyacı var?
bu yüzden amaca ve son kullanıcılara karar vermelisiniz.
Kendinizi kullanıcının yerine koyun ve yaptığınız her şeyi unutun: kullanıcı nasıl hissedecek?
her şeyi anlayacak mı?
bu yüzden amaca ve son kullanıcılara karar vermelisiniz.
Kendinizi kullanıcının yerine koyun ve yaptığınız her şeyi unutun: kullanıcı nasıl hissedecek?
her şeyi anlayacak mı?
Kabul ediyorum. İki dilde yazıyorum. Akıcı İngilizce konuşabiliyorum.
İngilizce konuşan biri olarak kararımı görmezden gelmekte özgürsün. Birkaç İngilizce kelime var.
Bu arada, İngilizce koduna çok aşina olduğunuz için Nikolai Semko tarafından önerilen kodu ayrıştırmama yardım edin:
Dürüst olmak gerekirse, nasıl çalıştığını anlamıyorum. Birçok kısa İngilizce hece var. Sadece sevdiğin şey.
İşin gerçeği şu ki, İngilizce'nin yaklaşık %30'unu biliyorum ve sadece teknik ama konuşma değil.
Programlamada sadece bir iki düzine kelime vardır ve bunları kelimenin tam anlamıyla 1-2 program yazarak hatırlayabilirsiniz.
PS Gönderdiğiniz kod, sadece 5 değişken var, bunlarla nasıl başa çıkamazsınız?
İşin gerçeği şu ki, İngilizce'nin yaklaşık %30'unu biliyorum ve sadece teknik ama konuşma değil.
Programlamada sadece bir iki düzine kelime vardır ve bunları kelimenin tam anlamıyla 1-2 program yazarak hatırlayabilirsiniz.
PS Gönderdiğiniz kod, sadece 5 değişken var, bunlarla nasıl başa çıkamazsınız?
Kodumda 30 değişken saydım (ana fonksiyonda). Ne kadar zamandır düşünüyorsun? (şaka).
%30 teknik İngilizce çok güçlüdür. Teknik İngilizcenin ne kadar zengin olduğunu biliyor musunuz?
Programlamada birkaç düzine kelime mi? Şimdi birbirimizi neden anlamadığımız açık.))
not Nikolai'nin kodunu kastediyorsanız, nasıl çalıştığını aydınlatın.
Bu arada, resme bakılırsa, buradaki renk ayrışması tam değil. Sadece yarısı. Aralık, belirli bir rengin tüm tonları boyunca mutlak beyazdan mutlak siyaha kadar uzanmalıdır.
Evet haklısın.
Onu uygulamaya ve kodunuzu analiz etmeye ve görselleştirmeye çalıştım.
Oradan şu çıktı:
senin seçeneğin
benim versiyonum:
Açıklamama izin ver:
Beyaz çizgi ton çizgisidir (R+B+G renklerinin toplamı) - ideal olarak kesinlikle düz çapraz bir çizgi olmalıdır. Ben uyguladım, sen uygulamıyorsun.
Kırmızı, mavi ve yeşil çizgiler renk oranı çizgileridir. Bunlara spektrumun harmonikleri diyelim. İdeal olarak dikey olmalıdır. Ancak bu, başlangıçtaki maksimum renk 255 olduktan sonra yapılamaz. Ancak diğer yandan, bükülme noktalarının (kırmızı oklarla işaretlenmiş) olmayacağı, ancak düz bir yay olacağı bir duruma ulaşmak mümkündür. Ardından gradyan "kümeler" olmadan görünecektir. Bu sorun senin ve benim algoritmalarımda var. Bu düzeltilebilir, ancak noktayı henüz göremiyorum, bu yüzden zamana yazık. Pratikte, bir renkten diğerine geçişe ihtiyacım var. Bu, spektrumun kesinlikle dikey harmonikleri ile kolayca uygulanabilir (üstteki harmoniğin kabarması normaldir, çünkü bu yuvarlamanın bir sonucudur). Bu problemde, gradyan üçüncü renk üzerinden siyahtan beyaza gider, dolayısıyla bu bükülmeler mevcuttur.
Garip, MQL5'te yazdığınızdan emindim. Ama bir 4-ki programının kendisi olmasının yanında bir de 4-ki programlama stiliniz var. Algoritmanızı 5-ku'ya aktarmaya çalıştım ve hiçbir şey olmadı çünkü. genellikle bazı renkli şeritler çizer. Bu büyük olasılıkla değişkenlerin kapsamıyla ilgili karışıklıktan kaynaklanıyor, ancak kodun hata ayıklanamaması nedeniyle düzeltmek son derece zor ve elimi salladım. Programlama tarzınıza alışkın olduğunuzu anlıyorum ve tarzım sizin için net değil. Karşılıklı çünkü Programı kitap gibi okumaya değil, programın yapısını görmeye alışkınım. Ve siz, bir değişken tanımının hangi noktasında hata ayıklama ve anlama imkansızlığının yanı sıra, uzun değişken isimleri program metninin %90'ını dolduruyor, bunun sonucunda program yapısı kayboluyor, bu uzun barbie renginde çözülüyor. değişken isimleri Genel olarak, şahsen benim için kodunuz bir tür sadomaso olarak algılanıyor.
Ayrıca algoritmanız on kat daha yavaş çıktı ve bunun nedeni MQL 4 bile değil. Bir türlü çözemedim. Sadece RGB olduğunda hangi teğetler, hangi üçgenler ?
Ve birliğe hakim olmaya çalış - çok faydalı bir şey.
Neden bahsettiğimi daha iyi anlamak için, hem sizin algoritmanızla (MQL4) hem de benimkiyle (MQL5) eklediğim komut dosyalarını çalıştırmaya değer.
Bunun gibi vakalarınız da var:
Henüz anlamadım, bu MT4 yavaşlığı sorunu ve algoritmanızın hatası.
1. Nikolay, getirdiğiniz ilk iki resmi karşılaştırsanız bile, sürümünüzün üzerinde gri bir sis asılı olduğunu hemen görebilirsiniz. Dikkatli bak. Ve benim versiyonumda renk çok daha parlak. Sürümünüzün rengi daha iyi aktardığını düşünüyor musunuz?
2. Standart için Windows renk paletini aldım. %99 renk uyumu sağladım. Renklerinizi Windows renkleriyle eşleşip eşleşmediğini kontrol edin. Benim yaptığım gibi gölgeli bir dizi yazdırın. Ardından grafik özelliklerini ve paletini açın. Orijinal rengin bileşenlerinin değerlerini kutulara girin ve ardından kaydırıcıyı yukarı ve aşağı hareket ettirin. Rakamlar değişecek. Çıktınızda bu sayıları arar ve nasıl eşleştiğini görürsünüz.
3. Özel uygulamanın değişebileceğini anlıyorum. Algoritmamı özellikle hız için kontrol etmedim ve hız uğruna optimize etmedim. Belki de çözümünüz daha fazla hız sağlar. inkar etmeyeceğim.
4. Optikte prizma kavramı vardır. Işığın kırılmaları. Bu tam olarak başladığım paradigma. 256*256 (0'dan 255'e kadar) çizdim. Daha sonra hatları kurdum. Rengin kırılma eksenini buldu. Grafiğin ortasındadır. Her bileşen, iki segmentten oluşan bir eğridir. Toplamda, rengin, her biri grafiğin merkezinde kırılan ve iki bölüme ayrılan üç eğri çizgisi vardır. Her segmentin kendi açısı vardır. Orijinal rengin grafikte bir koordinatı vardır. Gölgeleri arasında bulunabilir. Benim görevim orijinal rengi bulmak, altı parçanın hepsinin açılarını belirlemek ve çizgisi boyunca her bileşenin değerlerini almaktı.
5. Teğetler, bitişik bacakların karşıtlara oranlarıdır. Segmentlerin açılarını hesaplamak ve karşıt ayakların yüksekliğini hesaplamak için gereklidir (belirli bir renk tonunda bileşenin değeridir).
6. Programlama stillerine gelince, bunu tartışmamanızı öneririm. Konu ile alakası yok.
7. Olaylara gelince - belki de öyledir. Ama şimdiye kadar yakalanmadım. Bu nedenle, bilmiyorum.
Bu arada, bize sürümünüzde renk ayrıştırmasının nasıl çalıştığını söyleyin. tam olarak anlamadım.
Henüz çözemedim, bu MT4'teki yavaşlık sorunu ve algoritmanızın hatası.
Algoritmaların hızındaki fark hakkında:
1. Sizin algoritmanız uint dizisini, benimki ise dizi dizisini dolduruyor. (Gerekli bileşenleri gölgeden kolayca izole etmek ve onlarla çalışmak için tam olarak ipe ihtiyacım var). Aşağıdaki komut dosyasından her iki dizi türünü de doldurma hızındaki farkı görebilirsiniz.
2. Algoritmanız MT5'te, benimki ise MT4'te çalışıyor. Bu platformlarda dizi doldurma hızındaki fark benim tarafımdan burada tartışıldı - https://www.mql5.com/ru/forum/222333 . Aşağıdaki komut dosyasından farkı kendiniz göreceksiniz. Her iki platforma da koyun ve karşılaştırın.
MT4 ve MT5 platformlarında (ms) 30 bin hücre int ve string dizilerinin dolum hızının ölçülmesinin sonuçları:
Gördüğünüz gibi, algoritmam iki nedenden dolayı daha yavaş:
Algoritmaların hızındaki fark hakkında:
1. Sizin algoritmanız uint dizisini, benimki ise dizi dizisini dolduruyor. (Gerekli bileşenleri gölgeden kolayca izole etmek ve onlarla çalışmak için tam olarak ipe ihtiyacım var). Aşağıdaki komut dosyasından her iki dizi türünü de doldurma hızındaki farkı görebilirsiniz.
2. Algoritmanız MT5'te, benimki ise MT4'te çalışıyor. Bu platformlarda dizi doldurma hızındaki fark benim tarafımdan burada tartışıldı - https://www.mql5.com/ru/forum/222333 . Aşağıdaki komut dosyasından farkı kendiniz göreceksiniz. Her iki platforma da koyun ve karşılaştırın.
MT4 ve MT5 platformlarında (ms) 30 bin hücre int ve string dizilerinin dolum hızının ölçülmesinin sonuçları:
Gördüğünüz gibi, algoritmam iki nedenden dolayı daha yavaş: